← Zurück zur "Fedora nutzen"-Hauptseite.

Steve, Informationssicherheits-Analyst

Steve Milner ist ein Informationssicherheits-Analyst aus North Carolina. Er nutzt Fedora um Web-Applikationen auf Sicherheitslücken hin zu überprüfen. Steve stellt uns einige tolle Applikationen für Sicherheitsanalysen vor und gibt einige Tipps um auch Ihr System sicher zu halten!

Steve Milner

Wo lebst du?

Überall in den USA. Derzeit lebe ich in Raleigh.

Was bist du von Beruf?

Sicherheitsanalytiker/Entwickler

Was ist dein IRC Spitzname? Was bedeutet er?

Ashcrow. Als ich zur Mittelschule ging mochte ich The Crow. Ich benutzte viele verschiedene Anspielungen auf Crow in meinen IRC Nicknamen, aber Ashcrow hat sich am Ende gehalten.

Wann hast du das erste mal von Fedora gehört?

Mein erster Kontakt mit Fedora war Fedora Core 2. Zu dieser Zeit war ich eingefleischter Debian-Nutzer. Da ich Red Hat Linux in der Vergangenheit eingesetzt hatte, entschied ich mich Fedora Core 2 eine Chance zu geben. Ehrlicherweise dachte ich aber damals, dass Fedora Core 2 nur "OK" sei, aber Fedora Core 3 beeindruckte mich dann so sehr, dass ich mich entschied, es auf die Maschine meiner Eltern zu installieren. Meine Mutter mochte es wirklich!

Wie wurdest du Entwickler?

Durch Code lesen. Während der Highschool war ich sehr an Code interessiert, aber die meisten Programmierbücher waren viel zu teuer für mich. Ich erinnere mich daran, dass ich Mitte der 90er Jahre eine Kopie eines alten C-Buches mit einer beiliegenden 5 1/4-Floppy erhielt, durch das ich ein wenig gelernt habe. Die größte Einführung in Code eignete ich mir durch das Zuschauen bei Free und Open Source-Programmierern an. Von da an begann ich mit dem Schreiben von Code, reichte Patches für Projekte ein und wurde dann von einer kleinen "Vor seiner Zeit-Web-App-Entwicklungfirma" mit Sitz in Orlando, Florida eingestellt.

Kannst du erklären, was Security Auditing bedeutet? Wie kamst du zu Security Auditing?

Auf den Punkt gebracht spürt Security Auditing Sicherheitsprobleme einer Anwendung oder einem System auf. Einmal gefunden, werden die Probleme erfasst und den Entwicklern mit Informationen, wie diese Probleme zu beheben sind, berichtet. In erster Linie mache ich Web Application Security Audits und Pentests (Penetration Tests).

Mit welchen Herausforderungen sind Sie normalerweise konfrontiert, wenn Sie ein Sicherheits-Audit durchführen?

Zuerst untersuche ich die Risiken, die auch auf OWASP's Top Ten gelistet sind. Danach suche ich nach den häufigsten Lücken: Injections, Cross-Site Scripting, Cross-Site Request Forgeries und unvalidated-Weiterleitungen. Anschließend vertiefe ich mich in die Logik der Anwendung um logische Probleme, Fehlermeldungen, usw. aufzuspüren, die dabei helfen Sicherheitsrisiken aufzudecken.

Welche drei Fedora-Anwendungen findest du am Hilfreichsten für die Security-Audit-Arbeit?

Nmap, Ratproxy und Python.

Python? Wie verwendest du Python für Sicherheitstest an Webanwendungen?

Wenn ein Audit gemacht wird, ist es wichtig, schnell proof-of-concept Attacken schreiben zu können. Phyton besitzt eine Fülle an Modulen, mit welchen es Spaß macht, POC-Attacken zu erstellen. Um einige aufzulisten:

  • urllib/urllib2
  • BeautifulSoup
  • python-nmap
  • sulley

ipython und bpython sind ebenfalls nützliche code-as-you-go-Umgebungen für das Testen schneller Variationen von POC-Attacken. Pythons Module sowie allgemeine, durch Phyton gesteuerte, Sicherheits-Tools macht die Programmiersprache zu einem unverzichtbaren Werkzeug.

Kannst du uns nmap ein bisschen näher bringen? Kann man es auch unter anderen Betriebssystemen einsetzen? Benutzt du es regelmäßig, automatisiert für deine Tests oder setzt du es spezifisch für Abfragen ein?

Nmap (http://nmap.org/) ist ein Netzwerkwerkzeug. Nmap überprüft einen oder mehrere Hosts und gibt die abgefragten Werte zurück. Normalerweise wird es als gewöhnlicher Portscanner eingesetzt.

Nmap kann fast alle Geräte in einem Netzwerk auffinden oder scannen. Ich nutzte es in der Vergangenheit auch, um Windows oder OS X-basierte Geräte zu auditieren.

Ich nutze Nmap als ein Teil meiner Audits zusammen mit NSE (Nmap Scripting Engine)-Scripts , welche größtenteils direkt aus dem Nmap-Projekt stammen. Normalerweise überprüfe ich damit den FIrewall-Status, offene Dienste eines Systems zusammen mit deren Versionen. Es hilft bei der Aufnahme des Ist-Zustandes.

Was macht ratproxy? Kann es auch auf anderen Systemen eingesetzt werden? Setzt du es sporadisch ein oder läuft es konstant im Hintergrund?

Ratproxy (http://code.google.com/p/ratproxy/) ist ein passiver Webapplikations-Auditing-Proxy. Er sitzt zwischen deinem Browser und der Web-Anwendung, die du auditierst und zeichnet Informationen auf, wenn du durch die Site navigierst. Er kann fast jede Web-Anwendung analysieren, egal unter welchem Betriebssystem er ausgeführt wird. Da ratproxy passiv ist, kann er mit AJAX-Anwendungen verwendet werden.

Welche interessanten Anpassungen hast du an deinem Fedora-Desktop vorgenommen, um deinen Sicherheitsauditing-Workflow zu unterstützen?

Ich benutze ein Setup von zwei Geräten/ drei Monitoren mit GNOME und Synergy. Ich freue mich sehr auf GNOME Shell in einer stabilen Version. Ich benutze es auf meinem persönlichen Maschinen und liebe es! Wenn ich kann, versuche ich fast alles über das Terminal zu machen. Ich finde es viel einfacher, Terminal-Anwendungen zu bedienen, zumal ich alles über byobu/screen bedienen kann.

Berichte uns von einem Exploit, den du kürzlich mit Fedora entdeckt hast!

Mit einer nicht validierten Weiterleitung und einer Cross-Site Request Forgery (einer Site-übergreifenden Aufruf-Manipulation), erstellte ich einen Link, der folgendes macht:

  • Dem Benutzer erlauben, sich normal einzuloggen.
  • Nach dem Einloggen wurde der Benutzer zu meiner "bösartigen" Seite weitergeleitet.
  • Die Website fügt eine Javascript-Erweiterung in die ursprünglichen Anwendung ein und kann so Aktionen auf Benutzerebene ausführen, was z.B. Dinge wie das Hinzufügen oder Ändern von Konten beinhalten könnte.
  • Der Benutzer wird dann wieder auf die ursprüngliche, echte Applikation umgeleitet, wie wenn nichts geschehen wäre.

Hast du durch deine Erfahrung im Aufdecken von Sicherheitslücken einen Tipp an Entwickler, die Sicherheits-Exploits in ihrem Code vermeiden möchten?

Traue nie deinen Nutzern! Du solltest Code schreiben im Bewusstsein, dass mindestens ein böswilliger Nutzer unerbittlich nach Lücken in deiner Applikation suchen wird.

Hast du für uns Fedora-Nutzer einige Tipps, um das System sicher zu halten?

Achte auf die "Basics"! Aktualisiere dein System regelmässig, verwende angemessene Firewall-Regeln (und aktiviere die Firewall), schalte Dienste aus, die du nicht benötigst und benutze sichere Passwörter.

Danke, Steve!

← Lesen Sie mehr Interviews mit Fedora Anwendern.