Lehrgang Computersicherheit 3.2 Marc Ruef marc.ruef@computec.ch http://www.computec.ch Alle Rechte vorbehalten – Kopieren erlaubt!
Ablauf Vorwort Hintergründe der Computerkriminalität Auswertung und Scanning Angriffe verstehen und durchführen Denial of Service Korrupter Programmcode Firewall-Systeme Elektronische Einbruchserkennung Security Auditing Nachwort
Vorstellung Name Marc Ruef Beruf Security Consultant, scip AG, Zürich, www.scip.ch Projekte (kleine Auswahl) Hobbies Musik, Literatur und Informatik Ich mag keine ungeraden Zahlen; es sei denn es handelt sich um ein-/zweistellige Primzahlen! Mehr Infos unter http://www.computec.ch/mruef/ Webmaster von www.computec.ch Buch-Autor von „Die Sicherheit von Windows“ (Astalavista) und „Hacking Intern“ (Data Becker) Buch-Übersetzung Englisch/Deutsch der dritten Auflage von „Network Intrusion Detection“ (Hüthig Verlag) Diverse Artikel zu den Themen Informatik und IT-Sicherheit (ca. 160, Stand 2005/04) Gastdozent zum Thema IT-Sicherheit an diversen Universitäten und Hochschulen Entwickler des offenen Exploiting Frameworks „Attack Tool Kit“
Um was geht es eigentlich? Durch das Verständnis der Gefahren für Computersysteme sollen Gegenmassnahmen ausgearbeitet werden können. Es sollen keine vorgefertigten Patentrezepte gezeigt, sondern Methoden vermittelt werden. Was der Teilnehmer des Kurses aus diesen macht, ist schlussendlich ihm überlassen. Kreativität ist ein Muss!
Einige Worte zum Workshop ansich Die kleine Kamera rechts oben bei einer Folie deutet stets an, dass das Thema noch animiert visuell dargestellt wird. Individuelle und kollektive Arbeit ist im Workshop unabdingbar. Workshop-Webseite unter http://www.computec.ch/mruef/publikationen/lehrgang_computersicherheit/ einsehen und Lesezeichen setzen. Bitte die Umfrage auf der Workshop-Webseite durchführen.
Die Hintergründe der Computerkriminalität „Man fürchtet, was man nicht versteht.“ - Ernst Freiherr von Feuchtersleben (1806 - 1849), österreichischer Popularphilosoph, Arzt, Lyriker und Essayist Geschichte der Computerkriminalität Profiling – Analyse eines Angreifers Angriffsmotive – Gründe für Übergriffe Ethik und Moral Angreifertypen – Potential und Risiko Charakterentwicklung Wer ist welchem Risiko ausgesetzt? Zusammenfassung Literaturverweise
Geschichte der Computerkriminalität Phone Hacker der 60er und 70er Jahre Die ersten Computerhacker der 70er und Anfang 80er Jahre Die neue Generation der 80er und 90er Jahre Historizismus: Was bringt die Zukunft?
Phone Hacker der 60er und 70er Jahre Die von uns heute als Hacker bezeichnete Generation von Computerbenutzern fand ihren Ursprung in den 60er und 70er Jahren. Damals konzentrierte sich eine kleine Gruppe von Technikwütigen auf die Schwachstellen der Telefonsysteme, um solche zu ihrem technisch-spielerischen oder finanziellen Vorteil nutzen zu können [Zimmermann 1997, Moschitto et al. 2000, Ruef 2002]. Diese Personen werden als Phreaker bezeichnet, ein Kunstwort aus „Phone“ und „Hacking“.
Cap‘n Crunch und das Blueboxing Dank einem mehr oder weniger exakt 2600 Hertz hohen Ton konnte man den Gebührenzähler beim CCITT5-Standard manuell deaktivieren um Kosten zu sparen [Zimmermann 1997]. John Draper, einer der ersten Apple-Mitarbeiter, entwickelte 1970 die erste Bluebox, dank der man den Gebührenzähler von AT&T auszutricksen konnte [Moschitto et al. 2000].
Phreaking als Volkssport
Phreaking heute: Immer unpopulärer? Beigeboxing [Phake 1998] Wardialling [McClure et al. 2003; siehe auch War-Games 1983] Carding und Chipkarten-Hacking [Ruef 2000a, 2000b, Rankl et al. 2002] ISDN-Hacking [Ferreau 1997] Sprachmailbox-Hacking [Ruef et al. 2004] Voice-over-IP Hacking [Davidson et al. 2001, Maguire 2004, Tanase 2004]
Die ersten Hacker der 70er und Anfang 80er Jahre Als Ende der 70er Jahre der Kauf und die Nutzung von Personal Computern auch für Privatpersonen interessant wurde, begann sich die erste Computerhacker-Generation zu formen. rms@stallman.org Email http://www.stallman.org/ Webseite Präsident der Free Software Foundation Beruf 16. März 1953, Manhatten, New York City Geburtstag Gründer des GNU-Projekts Entwicklung der freien Textverarbeitung GNU Emacs Entwicklung der GNU Bash Entwicklung des freien C-Compilers GNU gcc Preisträger des MacArthur Fellowship Awards, des Grace Murray Hopper Award der Association for Computing Machinery (ACM) sowie einer der Empfänger des Takeda Foundation Award Verdienste US-Amerikaner Nationalität Richard Matthew Stallman Name http://www.microsoft.com/billgates/default.asp Webseite Leitender Software-Architekt von Microsoft und Eigentümer von Corbis Beruf 28. Oktober 1955, Seattle, USA Geburtstag Mitbegründer von Microsoft Mitentwicklung von Microsoft-Software Verdienste US-Amerikaner Nationalität William „Bill“ Henry Gates III Name Eigentlich keine; für seine Buchreihe TAoCP taocp@cs.stanford.edu Email http://www-cs-faculty.stanford.edu/~knuth/ Webseite Eremitierter Professor für Informatik an der Stanford University, USA Beruf 10. Januar 1938, Milwaukee, Wisconsin, USA Geburtstag Entwicklung von (La)TeX und Metafont Autor der legendären Buchreihe „The Art of Computer Programming“ Autor vieler anderer Bücher über Informatik Entwickler des fiktiven Prozessors (MI)MIX Unter anderem den Erhalt des Turing-Awards Verdienste US-Amerikaner Nationalität Donald Ervin Knuth Name http://www.woz.org/ Webseite Firmenleiter Beruf 11. August 1950 Geburtstag Mitbegründer von Apple Computers Baute eigenhändig Apple I Computer Entwickelte Integer Basic, ein eigenes Diskettenlaufwerk und das Betriebssystem Apple DOS Mitbegründete das Tech Museum, das Silicon Valley Ballet und das Children's Discovery Museum in San Jose Verdienste US-Amerikaner Nationalität Steve Wozniak Name Von 1969 bis 1. Dezember 2001 bei Bell Telephone Laboratories; zur Zeit im Ruhestand Beruf 1943, New Orleans, Louisiana, USA Geburtstag Mitentwicklung des ersten UNIX Turing-Award in 1983 für die UNIX-Entwicklung Entwicklung der Programmiersprache B Mitentwicklung der Programmiersprache C Mitautor des legendären Buchs „The C Programming Language“ Mitentwicklung des Betriebssystems Plan 9 Verdienste US-Amerikaner Nationalität Kenneth „Ken“ Thompson Name 5310192 ICQ UIN crunch@webcrunchers.com Email Mitunter Populärster Phreaker Entwickler der ersten Bluebox Einer der ersten Mitarbeiter bei Apple Verdienste http://www.webcrunchers.com/crunch/ Webseite US-Amerikaner Nationalität John T. Draper Name Seit 1967 bei Bell Telephone Laboratories im Computing Sciences Research Center Beruf 9. September 1941, Bronxville, New York Geburtstag dmr@bell-labs.com Email Mitentwicklung des ersten UNIX Co-Autor des ersten „Unix Programmer‘s Manual“ (1971) Mitentwicklung der Programmiersprache C Co-Autor des legänderen Buchs „The C Programming Language“ Verdienste http://www.cs.bell-labs.com/who/dmr/ Webseite US-Amerikaner Nationalität Dennis MacAlistair Ritchie Name Seit 1967 bei Bell Telephone Laboratories im Computing Sciences Research Center Beruf 9. September 1941, Bronxville, New York Geburtstag dmr@bell-labs.com Email Mitentwicklung des ersten UNIX Co-Autor des ersten „Unix Programmer‘s Manual“ (1971) Mitentwicklung der Programmiersprache C Co-Autor des legänderen Buchs „The C Programming Language“ Verdienste http://www.cs.bell-labs.com/who/dmr/ Webseite US-Amerikaner Nationalität Dennis MacAlistair Ritchie Name http://www.postel.org/postel.html Webseite 16. Oktober 1998 in Santa Monica Todestag Assistent beim ARPAnet, Mitentwickler des Internets, Direktor der Internet Assigned Numbers Authority (IANA) Beruf 6. August 1943 Geburtstag Mitentwicklung der Adressierung im Internet Gründer der Internet Society und des Internet Architecture Board (IAB) Massgebliche Mitentwicklung der TCP/IP-Familie Herausgeber der Request for Comments (RFC) Auszeichnung durch die International Telecommunication Union für die Internet-Entwicklung Verdienste US-Amerikaner Nationalität Jonathan „Jon“ Bruce Postel Name
Einige Klassiker der Computerkriminalität 1973 betrügt ein Angestellter der New York Time Savings Bank seinen Arbeitgeber um 1 Million US$. 1980 gelingt dem sechzehnjährigen Kevin Mitnick mit seiner Roscoe-Bande ein Einbruch in US Leasing [Shimomura et al. 1996, Mitnick et al. 2002]. 1984 stellt der Berliner Chaos Computer Club (CCC) den BTX-Hack vor. [Schmid et al. 1998] 1987 dringen Mitglieder des Berliner Chaos Computer Clubs in das SPAN-Netzwerk der NASA ein [Wieckmann 1998]. 1988 infiziert das Wurmprogramm von Robert Tappan Morris innerhalb weniger Stunden 6‘000 Internet-Hosts. [Stoll 1998] Kurz auf die einzelnen Punkte eingehen, und wie sie das Sicherheitsbewusstsein damals verändert haben.
Die neue Generation der 80er und 90er Jahre Den grössten Aufschwung, ein wahrer Boom, erlebte das Internet in den 90er Jahren. Vor allem die deutschsprachige Hacker-Szene nahm unvorhersehbare Dimensionen an. Hacker-Vereinigungen wie die Kryptocrew (KC) oder Parallel Minds (PM) machen sich neben dem Chaos Computer Club (CCC) stark und vertreten das anarchistische Lebensgefühl einer jungen Generation [Wieckmann 1998, Rogge 2001]. Entwickler des open-source Scanners nmap (Network Mapper) Verdienste Russe Nationalität „Fyodor“ Name http://www.insecure.org Webseite Entwickler des open-source Intrusion Detection-Systems Snort Verdienste US-Amerikaner Nationalität Marty Roesch Name http://www.snort.org Webseite Mitbegründer des Chaos Computer Clubs (CCC) Pressesprecher des CCC Verdienste Deutscher Nationalität Andy Müller Maghun Name Mitbegründer des Chaos Computer Clubs (CCC) Vermächtnis durch die Wau Holland Stiftung Verdienste Deutscher Nationalität Wau Holland Name Entwickler des open-source Vulnerability Scanners Nessus Verdienste Franzose Nationalität Renaud Deraison Name http://www.nessus.org Webseite
Die Kehrseite von Spieltrieb und Neugierde 1994 wird im ersten grossen Fall von Computerkriminalität in der Tschechischen Republik Martin Janku zu acht Jahren Gefängnis verurteilt. 1995 wird nach zweijähriger Fahndung Amerikas Superhacker Kevin Mitnick vom FBI verhaftet [Shimomura et al. 1996, Mitnick et al. 2002]. 1998 wird das Trojanische Pferd BackOrifice (BO) veröffentlicht. Weitere Software dieser Art folgen (u.a. NetBus und SubSeven). [McClure et al. 2003, Ruef 2001] 2000 werden Distributed Denial of Service-Attacken diversen grossen Internet-Firmen (z.B. eBay und Yahoo) zum Verhängnis. Spieltrieb und Neugierde der Script-Kiddies hat Kosten für Industrie und Wirtschaft verursacht. Kevin Mitnick, Einbruch in eine Vielzahl Computer-systeme Ehud Tenenbaum, Einbrüche in amerikanische Militärsysteme David Smith, Entwickler des Melissa-Virus Mixter, Entwickler des DDoS-Tools Tribe Flood Network
Historizismus: Was bringt die Zukunft? Die Kluft des Wissens zwischen normalen Endanwendern und spezialisierten Angreifern wird immer grösser [Northcutt et al. 2002, Ruef 2004]. Schwachstellen werden aufgrund der Zunahme des Verständnisses der Materie und der Weiterentwicklung der Technologien immer schwieriger auszunutzen, sind dafür aber auch wegen ihrer Raffiniertheit und Komplexität immer aufwendiger abzuwehren.
Vom CERT gemeldete Sicherheitsvorfälle (engl Vom CERT gemeldete Sicherheitsvorfälle (engl. Incidents) im Internet von 1988 bis 2003 Die Anzahl der vom CERT gemeldeten Sicherheitsvorfälle im Internet hat sich ins Unermessliche gesteigert. Quelle: http://www.cert.org/stats/cert_stats.html
Psychologische und soziologische Analyse von Angriffen Profiling – Was und wieso? Unterscheidung nach Motiven Die Agreifertypen Wer ist welchem Risiko ausgesetzt?
Profiling – Was und wieso? Das Profiling wurde 1981 vom FBI erstmals zur traditionellen Verbrechensbekämpfung eingesetzt [Harbort 2003]. Dank moderner Firewall- und Intrusion Detection-Systeme, sowie Protokoll-Dateien kann Profiling auch bei Computerkriminalität betrieben werden [Ruef 2002, 2003, 2004a, 2004b]. Um sich vor Übergriffen zu schützen, gilt es Angreifer und Angriffe zu verstehen [Ruef et al. 2002]. Sind einem die Angreifertypen und ihre Absichten bewusst, kann sich auf das Errichten spezifischer Gegenmassnahmen konzentriert werden [Ruef 2004a].
Unterscheidung nach Motiven Der Aggressionspsychologie entliehen lässt sich zwischen vier Angriffsmotiven in der Computerkriminalität unterscheiden [Nolting 1997]: Vergeltungs-Angriffe Abwehr-Angriffe Erlangungs-Angriffe Spontane Angriffe
Vergeltungs-Angriffe Ein vorangegangenes Ereignis hat den „Angriff“ erzwungen. Beispiel: Während einer hitzigen Diskussion in einem Chat-Raum sind verbale Beleidigungen gemacht worden, die es zu sühnen gilt. Angriff durch Provokation. Nach einer „angemessenen“ Vergeltung lässt der Täter vom Opfer ab [Fromm 1973]. Provokation AB Person A Person B Technischer Angriff BA Person A provoziert mit AB Person B (z.B. verbale Beleidigung). Person B führt einen technischen Angriff BA gegen Person A aus. Falls Vergeltung BA angemessen erfolgreich, Täter B lässt bis auf weiteres von Opfer A ab.
Technischer Angriff BA Abwehr-Angriffe Präventive Massnahmen sollen vor Schaden schützen Beispiel: Ein technisch versierter Mitarbeiter löscht sämtliche Daten auf dem Mailserver, da dubiose Post ihn belasten könnte. Abwehr von Repressalien. Ist das Ziel erreicht, die Abwehr erfolgreich, wird sich der Angreifer wieder passiv verhalten [Fromm 1973]. Gefahr durch Objekt A Objekt A Person B Technischer Angriff BA Objekt A stellt eine Gefahr für Person B dar (z.B. belastendes Email). Person B führt einen technischen Angriff BA gegen Objekt A aus. Falls Gefahr A abgewehr, Täter B lässt bis auf weiteres von A ab.
Technischer Angriff AB Erlangungs-Angriffe Das Ziel des Angriffs ist einen Vorteil zu erlangen Beispiel: Ein Cracker stiehlt eine beachtliche Summe Geld durch einen Computereinbruch bei einer Bank. Finanzielle Erlangung. Beispiel: Ein Hacker verunstaltet eine Webseite, um vor seinen Freunden anzugeben. Emotionale bzw. soziale Erlangung. Solcherlei Angriffe sind immer sehr individuell in Form und Motiv [Harbort 2003]. Technischer Angriff AB Zuspruch CA Gruppe C Person A Objekt B Person A führt einen technischen Angriff AB gegen Objekt B durch. Person A erhält von Gruppe C Zuspruch CA dafür. Falls Erlangung erfolgreich, Täter A lässt bis auf weiteres von B ab.
Spontane Angriffe Für einen Angriff konnte keine klaren Ziele oder Motive ausgemacht werden Beispiel: Ein anonymer Cracker verunstaltet eine private und „belanglose“ Webseite. Spontane Angriffe gibt es meines Erachtens nicht. Denn nur weil kein Ziel oder Motiv erkennbar ist, heisst es noch lange nicht, dass es keines gibt. [Harbort 2003] Spontaner Angriff AB Person A Objekt B Person A führt einen technischen Angriff AB gegen Objekt B aus. Motivation und Ziele des Angriffs AB scheinen nicht ersichtlich und er gilt daher als „spontan“.
Aufgabe Profiling: Analyse der Hintergründe Machen Sie sich Gedanken darüber, warum jemand Interesse haben könnte, eine neue Sicherheitslücke in einem Produkt zu finden. Wie würde der von Ihnen charakterisierte Angreifer nun mit der neuen Erkenntnis umgehen? Welcher Umgang mit den exklusiven Informationen ist für ihn und seine Mitmenschen wünschenswert?
Lösung Aufgabe Profiling Diskussion?!
Black, Grey und White Hat Hacker Bezeichnung Black Hat Grey Hat White Hat Absicht Böswillig; nur zum eigenen Vorteil Bös-/Gutwillig; mitunter zum eigenen Vorteil Gutwillig; zum gleichen Vorteil für alle Vorgehen Schwachstelle geheimhalten und ausnutzen Schwachstelle publizieren und ausnutzen Schwachstelle publizieren und an Gegenmass-nahmen arbeiten Moderne „Hacker-Bezeichnung“ Cracker Cracker/Hacker (je nach Situation) Hacker Anmerkung: Red Hat Linux ist eine populäre Linux-Distribution und hat nichts in diesem Sinn mit den Absichten von Hackern zu tun.
Die Angreifertypen Eine Unterscheidung der Angreiferschichten durch den Bezug der verschiedenen Stufen der Entwicklung liegt nahe [Ruef 2002]: Normaler Endanwender Script-Kiddie Semi-professioneller Angreifer Professioneller Angreifer
Der normale Endanwender (aka. DAUs) Nur sehr geringe und oberflächliche Kenntnisse der Materie Berufliche Tätigkeit meist ohne oder nur mit geringem Einsatz technischer Geräte Aufgrund fehlender Kompetenz nicht sonderlich gefährlich Seine Gefahr geht eher von Unwissen und Unbeholfenheit aus Angriffe meist sehr primitiv und daher leicht zu erkennen bzw. abzuwehren
Skript-Kiddies (engl. Script Kiddies, Abk. SK) Meistens zwischen 14 und 20 Jahren alt Gute Allgemeinkenntnisse der Computermaterie, jedoch meistens nur vergleichsweise oberflächliches Halbwissen Führen relativ simple und veraltete Angriffe durch Greifen meist auf Ideen anderer zurück und setzen diese für ihre Zwecke um Benutzen vorwiegend automatisierte Angriffstools Aufgrund ihrer Unberechenbarkeit für ungeschützte Bereiche gefährlich
Semi-professionelle Angreifer Meistens zwischen 20 und 25 Jahren alt Benutzen Computer in ihrer beruflichen Tätigkeit oder würden dies gerne tun Sie haben Angriffe auf Computersysteme zu ihrem Hobby erkoren Sehr gute Kenntnisse in vielen Bereichen; vor allem jene, die sie interessieren Kompetenz und Ausdauer machen sie zu einem ernstzunehmenden Gegner
Professionelle Angreifer Eher mindestens über 25 Jahre alt Üben ihre Tätigkeit beruflich aus (Sicherheitsberater, Geheimdienste, usw.) Ein Höchstmass an Kompetenz macht sie zu einer superlativen Gefahr für Systeme Sind in der Lage spezialisierte, optimierte und neuartige Angriffe umzusetzen Zielsicheres und souveränes Vorgehen ermöglichen durchschlagskräftige, schwer erkennbare und abwehrbare Attacken
Vergleiche der Angreifertypen
Aufgabe Profiling: Einschätzung Erstellen Sie ein kleines Profil für folgendes Szenario: Ein 16-jähriger Schüler schreibt während des Informatik-Unterrichts mittels Visual Basic for Applications (VBA) einen kleinen Word Makro Virus. Dazu kopiert er grosse Teile des altbekannten Melissa-Wurms in sein Programm. Der neue Wurm verschickt sich innerhalb des Schulnetzwerks an alle gespeicherten Kontakte im Outlook-Adressbuch, enthält keine Schadensroutine und gibt alle paar Minuten nur eine kleine Meldung aus („I own you!“). Beantworten Sie die folgenden Fragen: Zu welchem Charaktertyp kann der Angreifer zugewiesen werden? Welche Gefahr geht vom Angreifer aus? Wie gross ist sein technisches Verständnis? Wie sehen wohl seine ethischen Grundsätze aus? Was ist die mögliche Motivation für sein Handeln?
Lösung Aufgabe Profiling: Einschätzung Der Angreifer gehört zum Typ Skript-Kiddie, da er den Grossteil seines Virus von einem bestehenden Makro übernommen hat. Die durch den Angreifer gegebene Gefahr ist relativ gering, da altbekannte Routinen genutzt werden und keine destruktive Schadensroutine ihren Einsatz findet. Das technische Verständnis ist nicht besonders ausgeprägt, da ein ineffizienter Makro-Virus geschrieben wurde. Da keine destruktive Schadensroutine eingesetzt wird, scheinen die ethischen Grundsätze des Angreifers gegen das Zerstören von fremden Daten zu sprechen. Die Motivation wird voraussichtlich die Erlangung sozialer Anerkennung bei Mitschülern sein, da der Virus keinen anderen produktiven oder destruktiven Zweck erfüllt.
Wer ist welchem Risiko ausgesetzt? Jedes Umfeld ist einem anderen Risiko ausgesetzt und muss auch entsprechende Gegenmassnahmen treffen. Umfeld Interne Angreifer Externe Angreifer Heimanwender 1 Normale Endanwender 1 Skript-Kiddies KMUs 2 Skript-Kiddies 3 Semi-professionelle Angreifer Schulen Hochschulen 4 Professionelle Angreifer Finanzinstitute IT-Security Firmen Regierungsstellen
Wer ist welchem Risiko ausgesetzt? (Visuelle Darstellung)
Zusammenfassung Der Ursprung der Computerkriminalität kann bis in die 60er Jahre im Sinne des Phone Hackings zurückgeführt werden. Die Sicherheit von Computersystemen wurde und wird immer zu einem wichtigeren Teil der modernen technokratischen Informationsgesellschaft. Es gibt (vier) verschiedene Typen von Angreifern, die sich je nach Anzahl, Kompetenz und Unberechenbarkeit unterscheiden lassen. Jeder Angriff auf ein System wird durch eine entsprechende Motivation angetrieben. Das Unterscheiden der Motivation hilft dem Einschätzen der Situation und dem Anstreben gerechter Gegenmassnahmen.
Literaturverweise Davidson, Jonathan, Fox, Tina, 1. November 2001, Deploying Cisco Voice over IP Solutions, Cisco Press, ISBN 1587050307 Ferreau, Oliver, Oktober 1997, Sicherheit im ISDN, http://www.chscene.ch/ccc/isdn_dipl/ Frech, Martin, 2001, Der Bedeutungswandel des Begriffs "Hacker" seit seiner Entstehung zu Beginn der 60er-Jahre, FU Berlin, http://www.computec.ch/dokumente/kultur/der_bedeutungswandel_des_begriffs_hacker/hacker.pdf Fromm, Erich, 1973, Anatomie der menschlichen Destruktivität, Gesamtausgabe, Band VII, Deutscher Taschenbuch Verlag, ISBN 3423590432 Harbort, Stephan, Februar 2003, Das Hannibal-Syndrom, Piper, ISBN 3492236502, zweite Auflage Internet Activities Board, Januar 1989, RFC 1087 - Ethics and the internet, Network Working Group, http://www.computec.ch/dokumente/kultur/rfc1087/rfc1087.txt, deutsche Übersetzung von Marc Ruef, 29. Juli 2002, Ethik und das Internet, http://www.computec.ch/dokumente/kultur/rfc1087/rfc1087de.txt Levy, Steven, 1. Januar 2001, Hackers, Penguin Putnam, ISBN 0141000511, aktualisierte Auflage Maguire, Gerald D., 3. März 2004, Voice over IP: Security and Mobility, http://www.it.kth.se/~maguire/Talks/IVA-Syd-20040303c.pdf McClure, Stuart, Scambray, Joel, Kurtz, 1. Februar 2003, Hacking Exposed, Osborne/McGraw-Hill, ISBN 0072227427, vierte Auflage, deutsche Übersetzung durch Ian Travis, Das Anti-Hacker-Buch, MITP, ISBN 3826613759 Medosch, Armin, Röttgers, Janko, September 2001, Netzpiraten, Dpunkt Verlag, ISBN 3882291885 Mitnick, Kevin, Simon, William L., 1. Oktober 2002, The Art Deception, John Wiley & Sons, ISBN 0471237124, deutsche Übersetzung, April 2003, Die Kunst der Täuschung, MITP-Verlag, ISBN 3826609999 Moschitto, Denis, Sen, Evrim, Oktober 2000, Hackertales, Tropen Verlag Michael Zöllner, ISBN 3932170385 Moschitto, Denis, Sen, Evrim, Juli 2001, Hackerland, Tropen Verlag Michael Zöllner, ISBN 3932170296 Nolting, Hans-Peter, März 1997, Lernfall Aggression, Rowolth Taschenbuch Verlag, ISBN 3499602431 Northcutt, Stephen, Novak, Judy, 1. August 2002, Network Intrusion Detection, Que, ISBN 0735712654, dritte Auflage, deutsche Übersetzung von Marc Ruef, Februar 2004, Hüthig Verlag, ISBN 3826607279 Phake, 1998, Phreaking, http://www.phreak.de/infos/german/phreak2.htm Raymond, Eric S., ca. 1998, Hacking FAQ, http://www.computec.ch/dokumente/kultur/hacking-faq/ Rankl, Wolfgang, Effing, Wolfgang, September 2002, Handbuch der Chipkarten, Hanser Fachbuchverlag, ISBN 3446220364 Rogge, Marko, 2001, You are „HACKERs“?, http://www.computec.ch/dokumente/kultur/you_are_hackers/you_are_hackers.html Ruef, Marc, 2. April 2000, SIM-Karten, http://www.electronic-security.de/archiv/carding/sim-karten/ Ruef, Marc, 2. April 2000, Telefonkarten, http://www.electronic-security.de/archiv/carding/telefonkarten/ Ruef, Marc, 21. Januar 2001, Die Sicherheit von Windows, http://www.computec.ch/dokumente/windows/sicherheit_von_windows/ Ruef, Marc, 3. März 2002, Geschichte der Computersicherheit, http://www.computec.ch/dokumente/kultur/geschichte_der_computersicherheit/geschichte_der_computersicherheit.ppt Ruef, Marc, März 2002, Die psychosozialen Aspekte der Computerkriminalität, http://www.computec.ch/dokumente/kultur/psychosozialen_aspekte/psychosozialen_aspekte.ppt Ruef, Marc, Rogge, Marko, Velten, Uwe, Gieseke, Wolfram, September 2002, Hacking Intern, Data Becker, Düsseldorf, ISBN 381582284X Ruef, Marc, 19. August 2003, Blaster-Analyse, http://www.scip.ch/publikationen/fachartikel/blaster-analyse/ Ruef, Marc, Februar 2004, Angreifern durch Profiling auf die Spur kommen, Netzguide E-Security 2004, Seiten 72 und 73, Netzmedia AG, ISBN 390709610X Ruef, Marc, 19. April 2004, Historizismus in der Computerkriminalität, Teil 1, scip monthly Security Summary (smSS), Ausgabe 19. April 2004, Kapitel 4 (Hintergrundbericht), http://www.scip.ch Ruef, Marc, ca. 2005, Psychopathologie der elektronischen Einbruchserkennung, http://www.computec.ch Schmid, Hans-Christian, Gutmann, Michael, November 1998, 23 - Die Geschichte des Hackers Karl Koch, Deutscher Taschenbuch Verlag, ISBN 3423084774 Schröder, Burkhard, Dezember 1999, Tron – Tod eines Hackers, Rowolth Taschenbuch, ISBN 349960857X Shimomura, Tsutomu, Markoff, John, 1996, Data Zone, Deutscher Taschenbuch Verlag, München, ISBN 3423151013 Stoll, Clifford, Januar 1998, Kuckucksei, Fischer Taschenbuch, Frankfurt, ISBN 3596139848 Tanase, Matthew, 12. März 2004, Voice over IP Security, SecurityFocus Infofocus, http://www.securityfocus.com/infocus/1767 Wieckmann, Jürgen, 1998, Das Chaos Computer Buch – Hacking made in Germany, Wuderlich Verlag, ISBN 3805204744 Zimmermann, Christian, 1997, Der Hacker, Heyne, ISBN 3453132041
Auswertung und Scanning Vorwort Footprinting – Sammeln von Informationen Ziele lokalisieren Mapping – Aktive Systeme erkennen Portscanning – Aktive Dienste erkennen Fingerprinting – Eingesetzte Software erkennen Auswertung – Detailliertere Analyse des Ziels Zusammenfassung Literaturverweise
Wichtiger Hinweis Die gezeigten Auswertungs- und Angriffsmethoden dienen den Studienzwecken, zum Verständnis der Materie und der Erarbeitung von Schutzmassnahmen. Das Angreifen von Computersystemen, vor allem ohne das ausdrückliche Einverständnis der Besitzer dieser, ist nicht erlaubt. Scans ins Internet ohne Einwilligung des Workshops-Leiters sind verboten und werden geahndet (Die Computer- und Netzwerkaktivitäten werden umfänglich protokolliert!). Die Teilnehmer sind für Ihr Tun sowie Handeln selbst verantwortlich und haben die Konsequenzen eines Übergriffs selbst zu tragen.
Footprinting – Informationen sammeln „Zuverlässige Informationen sind unbedingt nötig für das Gelingen eines Unternehmens.“ - Christoph Kolumbus (1451 - 1506), italienischer Seefahrer in spanischen Diensten, gilt als Entdecker Amerikas Was ist Footprinting? Suchmaschinen abfragen Webseiten durchsuchen HTML-Quelltext durchsuchen Whois-Abfragen
Was ist Footprinting? Vor einem Angriff werden so viele Informationen wie möglich über das Zielsystem gesammelt, um eine Angriffsstrategie auszuarbeiten. Footprinting stellt das indirekte Sammeln hinterlassener Informationen dar und ist der erste Schritt eines jeden durchdachten Angriffs.
Suchmaschinen abfragen Herkömmliche Suchmaschinen stellen eine durchsuchbare Datenbank mit Verweisen auf Webseiten zur Verfügung. Durch das Absuchen dieser können spezifische Informationen gefunden und Zusammenhänge erkannt werden.
Funktionsweise automatisierter Suchmaschinen Benutzer A Frontend www.x.com Benutzer B Datenbank www.y.com Crawler/Robot www.z.com Suchmaschinen-Anbieter Endanwender Webseiten Crawler indiziert Webseiten und speichert sie in die Datenbank. Benutzer tätigt Suchabfrage über das Frontend. Das Frontend holt die Daten aus der Datenbank und stellt sie dar.
Die Arbeit mit dem Suchmaschinen-Frontend
Erweiterte und boolesche Suche mit Google Funktion Schreibweise Beschreibung der Suchresultate Einzelnes Wort Marc Alle Seiten, die das Wort „Marc“ beinhalten“. Mindestens eines mehrerer Wörter Marc Ruef Alle Seiten, die entweder das Wort „Marc“ oder „Ruef“ oder beide in beliebiger Reihenfolge enthalten. Mehrere Wörter in loser Reihenfolge und Abständen +Marc +Ruef Alle Seiten, die zwingend die Wörter „Marc“ und „Ruef“ in beliebiger Reihenfolge enthalten. Exakte Wortkette-/Kombination „Marc Ruef“ Alle Seiten, die die Wortkombination „Marc Ruef“ beinhalten. Ausschliessen von Zeichenketten -Security Alle Seiten, die das Wort „Security“ nicht beinhalten. Beschränkung auf Domänen site:www.computec.ch Nur Suchresultate von der Domäne computec.ch anzeigen. Suche nach HTML-Links link:www.computec.ch Alle Seiten, die einen Link auf www.computec.ch enthalten. Suche nach ähnlichen Seiten related:www.computec.ch Alle Seiten, die mit (dem Suchresultat von) www.computec.ch in Verbindung stehen.
Aufgabe Footprinting: Suchmaschinen abfragen Wer findet meinen Geburtstag mittels einer Suchmaschinen-Abfrage heraus? Wann habe ich Geburtstag? Welche Suchmaschine wurde genutzt? Welche Suchabfrage führte zum Ziel? Welche Informationen sind Sie in der Lage über sich selber herauszufinden?
Lösung Suchmaschinen abfragen Ich bin am 11. Februar 1981 geboren. (Bitte Geschenke nächstes Mal nicht vergessen!) Ich kenne keine Suchmaschine, die nicht früher oder später ans Ziel führen würde. http://www.google.com ist eine gute Wahl, da diese Index-Suchmaschine einen Grossteil des Internets abdeckt. Die beste Eingabe lautet wie folgt, sofern die Suchmaschine bool‘sche Abfragen unterstützt: +“Marc Ruef“ +Geburtstag
Vor- und Nachteile des Footprintings mittels Suchmaschinen Vorteile Gewisse Automatisierung möglich Keine direkte Verbindung zum Ziel Auch ältere Einträge einsehbar (Mirrors, Latenzzeiten und Caches) Multimediale Suchen (z.B. Bilder, Videos und Sounds) möglich Nachteile Geschützte und unbekannte Dokumente nicht indiziert Dokumente nicht immer top-aktuell Informationsüberflutung möglich
Webseiten durchsuchen Durch das Aufsuchen entsprechend mit dem Ziel in Verbindung bringbaren Webseiten und das Durchsuchen dieser können Eckdaten zum Ziel zusammengetragen werden. Diese Informationen können weitere Suchen ermöglichen oder spezifische Angriffe vereinfachen.
Herkömmliches Surfen mit einem Webbrowser
Aufgabe Footprinting: Webseiten durchsuchen Rufen Sie die Webseite Ihres Unternehmens oder Ihrer Bank auf. Schauen Sie sich auf der Webseite einige Minuten um. Beantworten Sie die folgenden Fragen: Werden im Webauftritt irgendwelche sensitiven oder heiklen Daten nach Aussen getragen? Falls ja, wie könnte man dem begegnen?
Lösung Aufgabe Webseiten durchsuchen Diskussion?!
HTML-Quelltext durchsuchen Durch das Anzeigen des Quelltexts kann nach „verborgenen“ Informationen (z.B. Kommentare) gesucht werden.
Aufgabe Footprinting: HTML-Quelltext durchsuchen Suchen Sie das Computec Online Adventure (COA) unter http://www.computec.ch/projekte/coa/ auf und beginnen Sie das Spiel. Versuchen Sie die Passwort-Abfrage des DoD zu umgehen (erste Aufgabe). Hinweis: Das Durchsuchen des HTML-Quelltexts wird am schnellsten zum Ziel führen. Wie lautete das Passwort und wo kann es gefunden werden?
Lösung HTML-Quelltext durchsuchen Das Passwort lautete „internal“ und wird in der statischen Variable passcode des JavaScripts authenticate() gespeichert.
Suchen in der Vergangenheit Auf http://web.archive.org werden alte Webseiten-Versionen gespeichert. Google Prototyp, 11. November 1998 Google Prototyp, 11. November 1998
Vor- und Nachteile des Footprintings von Webseiten Vorteile Gewisse Automatisierung möglich Offline-Suchen in aller Ruhe möglich Auch ältere Einträge einsehbar (Mirrors, Latenzzeiten und Caches) Multimediale Suchen (z.B. Bilder, Videos und Sounds) möglich Nachteile Direkte Verbindung zum Ziel erforderlich Geschützte und unbekannte Dokumente nicht ohne weiteres einsehbar Informationsüberflutung möglich
Whois-Abfragen Was ist whois? Klassischer Client/Server-Dienst des Internets Hält Informationsdaten (z.B. Kontaktdaten eines Besitzers eines IP-Adressbereichs) bereit „Telefonbuch des Internets“
Whois-Abfrage bei switch.ch für computec.ch Marc Ruef Mattenstrasse 23 CH-5430 Wettingen Switzerland m.ruef@swissonline.ch
Whois-Gateways im Internet
Aufgabe Footprinting: whois-Abfragen durchführen Finden Sie die Inhaber der folgenden Domains heraus: firewallbugs.ch unilu.ch kryptocrew.de google.com Benutzen Sie den whois-Mechanismus Ihrer Wahl (z.B. http://www.network-tools.com). Notfalls einen über eine Suchmaschine finden.
Lösung whois-Abfragen durchführen firewallbugs.ch gehört Marc Ruef, Wettingen, Schweiz. Die Suche kann über www.switch.ch gemacht werden. unilu.ch gehört dem Bildungsdepartement Luzern, Schweiz. Die Suche kann über www.switch.ch gemacht werden. kryptocrew.de gehört Roland Brecht, Singen, Deutschland. Die Suche kann über www.denic.de gemacht werden. google.com gehört Google Inc., Mountain View, USA. Die Suche kann über http://www.alldomains.com gemacht werden.
Ziele lokalisieren Direktverbindungen auswerten Email-Header auswerten
IP-Adressen herausfinden Was ist eine IP-Adresse? Eindeutige „Telefonnummer“ eines mittels TCP/IP vernetzten Systems IPv4 spezifiziert in RFC791 (Internet Protocol) IPv6 spezifiziert in RFC1883 (Internet Protocol, Version 6) Aufbau von IP-Adressen 32 bit Wert (232=4‘294‘967‘296) Dotted decimal-Schreibweise x.x.x.x Bereich von 0.0.0.0 bis 255.255.255.255 Es gibt öffentliche, private und reservierte IP-Adressbereiche
Direktverbindungen auswerten 1. Angreifer macht sein Angebot dem Opfer „schmackhaft“. Beispiel: Werbung, Banner, Email, ... Opfer Angreifer 2a. Opfer greift auf das Angebot des Angreifers zu und stellt dabei eine Direktverbindung her. 2b. Angreifer kann Kommunikation auswerten und erhält nützliche Daten. Opfer/Client Angreifer/Server
Beispiel einer solchen Webserver-Auswertung
Email-Header auswerten Jede Mail-Zwischenstation (Mail Transfer Agents) hat seine Daten in den SMTP-Header zu speichern. Diese Vermerke können wichtige Informationen für einen Angreifer beinhalten.
Beispiel eines SMTP-Headers Return-Path: <thomas_muster@zbmed.de> Delivered-To: marc.ruef@computec.ch Received: (qmail 18201 invoked from network); 4 Feb 2004 15:14:47 -0000 Received: from slox1.zbmed.uni-koeln.de (HELO mail.zbmed.uni-koeln.de) ([195.95.56.228]) (envelope-sender <thomas_muster@zbmed.de>) by mail1.exigo.ch (qmail-ldap-1.03) with SMTP for <marc.ruef@computec.ch>; 4 Feb 2004 15:14:47 -0000 Received: by mail.zbmed.uni-koeln.de (Postfix, from userid 65534) id D0EF153E98; Wed, 4 Feb 2004 16:14:11 +0100 (CET) Received: from verwaltung42 (unknown [195.95.56.42]) by mail.zbmed.uni-koeln.de (Postfix) with SMTP id 0282F53E97 for <marc.ruef@computec.ch>; Wed, 4 Feb 2004 16:14:11 +0100 (CET) From: "Thomas Muster" <thomas_muster@zbmed.de> To: "Marc Ruef" <marc.ruef@computec.ch> Subject: IPsec-Implementierung überprüfen Date: Wed, 4 Feb 2004 16:14:14 +0100 Message-ID: <NEBBKDIGHDGNHANJLLJJOEOJIMAA.thomas_muster@zbmed.de> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 8bit X-Priority: 3 (Normal) X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook IMO, Build 9.0.2416 (9.0.2910.0) Importance: Normal X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1106
Reaktion mittels Zustell- und Lese-Bestätigungen forcieren
Aufgabe Footprinting: Mailheader auswerten Öffnen Sie Ihren Mail-Client, mit dem Sie normalerweise Ihre Emails lesen. Dies kann ein Standard- oder ein Webclient (z.B. Hotmail) sein. Konfigurieren Sie die Software so, dass Sie Ihnen alle Mailheader anzeigt. Schauen Sie sich die Mailheader der letzten paar empfangenen Emails an und versuchen Sie den SMTP-Pfad zu ermitteln.
Mapping – Aktive Systeme erkennen Was ist Mapping? Grundidee des aktiven Mappings Klassisches ICMP-Mapping Alternative Mapping-Techniken Vergleich der Mapping-Techniken
Was ist Mapping? Erkennen von aktiven und erreichbaren Systemen Erkennen etwaiger Netzwerkprobleme (z.B. Paketverluste, fehlerhaftes Routing) Erkennen etwaiger Sicherheits-Mechanismen (z.B. Firewalls)
Grundidee des aktiven Mappings Hallo, wer da? Mapper Zielsystem ? ! Ja, ich hör Dich. Visualisierendes Diagramm Mapper verschickt Reiz an das Zielsystem. Zielsystem empfängt und reagiert auf den Reiz. Mapper erhält Reaktion und weiss um die Existenz und Erreichbarkeit des Zielsystems. Client Server ICMP echo request ICMP echo reply Textlicher Ablauf als Aufzählung Timeline mittels ICMP-Ping
Klassisches Ping-Mapping Der Mapper verschickt interaktiv eine ICMP echo request-Anfrage an das Zielsystem. Das Zielsystem antwortet darauf automatisch mit einer ICMP echo reply-Rückantwort.
Ping-Mapping mit Windows
Verschiedene Zustände Zielsystem 1 Mapper Zielsystem 2 1 = erreichbar 2 = keine Antwort
Gründe für ausbleibende Antwort Zielsystem nicht aktiv Zielsystem gibt keine Antwort auf Anfragen Kommunikation wird durch Firewall blockiert Kommunikation wird durch einen Fehler verhindert (z.B. Routing-Problem)
Aufgabe Mapping: Ping-Mapping Führen Sie ein einfaches Ping-Mapping für die folgenden Hosts durch: 127.0.0.1 – Ihr eigenes System www.computec.ch – Meine Webseite www.google.com – Die Google-Suchmaschine www.ubs.com – Webseite der UBS Schweiz www.fbi.gov – Webseite des amerikanischen FBI Wie sind die Resultate ausgefallen? Konnten Sie irgendwelche Anomalien feststellen?
Lösung Ping-Mapping, Stand 19. April 2004 Ihr eigenes System 127.0.0.1 ist normalerweise erreichbar. www.computec.ch ist erreichbar, wird jedoch in etwas anderes aufgelöst, was auf virtuelles Hosting hindeutet. www.google.com ist erreichbar, wird jedoch stets anders aufgelöst, was auf eine Server-Farm hindeutet. www.ubs.com ist nicht erreichbar, was auf eine ICMP filternde Firewall hindeutet. www.fbi.gov ist erreichbar, wird aber auch anders aufgelöst.
Alternative Mapping-Techniken ICMP-Mapping ICMP echo request/reply ICMP address mask reques/reply ICMP timestamp request/reply ARP-Mapping ARP who-has/is-at TCP-Mapping Full-connect TCP-Mapping Half-open stealth SYN-Mapping Exotische Mapping-Techniken (z.B. FIN, Xmas und Null) UDP-Mapping UDP-Anfrage/-Antwort
Vergleiche der Mapping-Techniken
Portscanning Was ist Portscanning? Full-connect TCP-Scan – Der laute Klassiker Half-open SYN-Scan – Der unauffällige Klassiker Exotische Scan-Techniken
Was ist Portscanning? Erkennen von angebotenen Diensten Erkennen von etwaigen Sicherheits-Mechanismen (z.B. Firewalls und Intrusion Detection-Systeme) Evtl. Determinierung der etwaig eingesetzten Software
Was ist ein Dienst? Eine angebotene Netzwerkanwendung Basiert meistens auf dem Client/Server-Prinzip Beispiele sind HTTP (Web), FTP (Dateitransfer), SMTP/POP3 (Mail)
Was ist ein Port? Wird von UDP und TCP zur Zuweisung von Diensten genutzt Nummerischer 16 bit Wert (216=65‘535) Bereich 0 bis 65535 zugelassen 1 bis 1023 gelten als well-known Ports Über 1023 gelten als kurzlebige Ports Empfehlungen werden durch die IANA ausgesprochen
Einige well-known Portnummern 21 FTP File Transfer Protocol 25 SMTP Simple Mail Transfer Protocol 53 DNS Domain Name System 80 HTTP Hypertext Transfer Protocol 110 POP3 Post Office Protocol Version 3 445 HTTPS Secure Hypertext Transfer Protocol Die von der IANA zugeteilten bzw. vorgesehenen Portnummern können im Internet unter http://www.iana.org/assignments/port-numbers eingesehen werden.
Funktionsweise von Ports Client Server 80 Abstrakte bildliche Darstellung Webserver-System wird gestartet HTTP-Dienst wird an TCP-Port 80 gebunden Verbindung wird hergestellt Daten werden über etablierte Verbindung ausgetauscht Verbindung wird geschlossen Textlicher Ablauf als Aufzählung Simple Timeline des Verbindungsauf- und -abbaus
Verbindungsaufbau von TCP Client Server Client Server SYN Verbindungs-aufbau im Rahmen von TCP beginnt. SYN Verbindungs-aufbau im Rahmen von TCP beginnt. SYN/ACK ACK/RST Zielport muss als geschlossen anerkennt werden. Keine Verbindungen sind möglich. ACK Verbindung ist etabliert und Daten können nun in dieser TCP-Sitzung ausgetauscht werden. Timeline eines Drei-Wege-Handschlags bei einem offenen Port Timeline bei einem geschlossenen TCP-Port
Port-Status mittels Telnet erkennen
Aufgabe Portscanning: Portscanning mit Telnet Finden Sie den Portstatus für die folgenden Ziele heraus: Port tcp/25 auf mail.computec.ch Port tcp/80 auf www.computec.ch Port tcp/99 auf www.computec.ch Wie sind die Resultate ausgefallen? Konnten Sie irgendwelche Anomalien feststellen?
Portscanning mittels SuperScan
Aufgabe Portscanning: Portscanning mit SuperScan Laden Sie sich SuperScan 3.00 von der Vortrags-Seite auf ihren Rechner herunter. Führen Sie einen Portscan auf Ihr eigenes System mit der IP-Adresse 127.0.0.1 durch. Beantworten Sie die folgenden Fragen: Wie sind die Resultate ausgefallen? Welche Ports konnten als offen identifiziert werden? Konnten Sie irgendwelche Anomalien feststellen?
Half-open SYN-Scan Client Server Client Server SYN Verbindungs-aufbau im Rahmen von TCP beginnt. SYN Verbindungs-aufbau im Rahmen von TCP beginnt. SYN/ACK ACK/RST Zielport kann als offen vermutet werden. Zielport muss als geschlossen anerkennt werden. Keine Verbindungen sind möglich. RST Timeline eines SYN-Scans auf einen offenen Port Timeline bei einem geschlossenen TCP-Port
Exotische Scan-Techniken Client Server Client Server FIN FIN-Scan beginnt. FIN/URG/PSH Xmas-Scan beginnt. RST RST Zielport kann als geschlossen vermutet werden. Zielport kann als geschlossen vermutet werden. Timeline eines FIN-Scans auf einen geschlossenen Port Timeline eines Xmas-Scans auf einen geschlossenen Port
Fingerprinting – Eingesetzte Software erkennen Erkennen des eingesetzten Betriebssystems Erkennen der eingesetzten Software Auswertung dient dem Vorbereiten von weiteren Zugriffen Auswertung dient dem Ausarbeiten generischer und spezifischer Angriffswege
Fingerprinting-Techniken Erkennen des Betriebssystems Analysieren der Port-Stati TCP/IP-Fingerprinting Abgreifen der Banner Erkennen der Netzwerkanwendungen Analysieren des eingesetzten Protokolls
Analysieren der Port-Stati Einige Port-Stati sind charakteristisch für gewisse Betriebssysteme: Zum Beispiel deuten die offenen Ports 135 und 445 auf ein Windows-System hin. Das Fehlen dieser (CLOSED) lässt automatisch ein Nicht-Windows vermuten. Die offenen TCP-Ports 256 bis 265 weisen auf eine CheckPoint Firewall-1 hin.
TCP/IP-Fingerprinting Jede TCP/IP-Implementierung weist gewisse Charakteristiken auf Wird auch OS- und Stack-Fingerprinting genannt Auswertung sowohl aktiv als auch passiv möglich Nmap ist das Tool erster Wahl (Option –O)
Einige Möglichkeiten bei TCP/IP-Fingerprinting Einzelnes FIN-Segment (RFC793)? Cisco, HP/UX, IRIX und andere senden ein RST-Segment zurück. Windows NT 4.0 schickt ein FIN/ACK zurück. Gesetzte Bogus Flagge? Linux Kernel 2.0.35 und älter übernimmt die Information in das ACK-Segment. Andere Systeme schicken lediglich ein neutrales RST-Segment. Wahl der Sequenznummern? Ältere Unix-Systeme erhöhen um statische 64. Neue Systeme nutzen gut gewählte Zufallszahlen.
Erkennen von Anwendungen Anhand charakteristischen Verhaltens Anhand Banner-Grabbing
Charakteristische Verhalten einer Anwendung Jede Applikation verhält sich unter gewissen Bedingungen anders und lässt sich so mehr oder weniger eindeutig identifizieren. Bestes Beispiel ist der 404-Test eines Webservers, bei dem ein nicht existentes Dokument angefordert wird.
Beispiel eines Antiviren-Mailgateways
Banner-Grabbing Viele interaktive Netzwerkanwendungen begrüssen den Benutzer mit einer kleinen Willkommens-Meldung, die oft eine Vielzahl nützlicher Informationen enthält. Durch das Herstellen einer (Telnet-)Verbindung kann der Willkommens-Banner eingesehen werden.
Aufgabe Auswertung: Banner-Grabbing Führen Sie ein Banner-Grabbing für die folgenden Systeme/Dienste durch: ftp.debian.org tcp/21 www.scip.ch tcp/80 mail.computec.ch tcp/25 127.0.0.1 tcp/23
Lösung Banner-Grabbing Folgend die Auflösung, Stand 13. April 2004: „telnet ftp.debian.ch 21“ zeigt „ProFTPD 1.2.5rc1 Server“ als FTP-Server. „telnet www.scip.ch 80“ zeigt nach einer HTTP-Anfrage „Apache/1.3.26 (Unix) Debian GNU/Linux“ als Webserver. „telnet mail.computec.ch 25“ zeigt keinen identifizierbaren Mailserver. Der Banner wurde abgeschaltet bzw. modifiziert. „telnet 127.0.0.1 23“ lässt voraussichtlich keine Verbindung zu, da auf dem TCP-Port 23 kein Server horcht.
Und danach: Durchsuchen von Verwundbarkeitsdatenbanken www.scip.ch www.securityfocus.com www.secunia.com www.osvdb.org
Aufgabe Auswertung: Durchsuchen von Verwundbarkeitsdatenbanken Suchen Sie auf http://www.scip.ch die Verletzbarkeitsdatenbank [http://www.scip.ch/cgi-bin/smss/showadvf.pl] auf. Starten Sie eine Suchabfrage in der Verwundbarkeitsdatenbank für Ihr Betriebssystem, Ihren Webbrowser und Ihr Mailprogramm. Wieviele Schwachstellen wurden für Ihr Betriebssystem ausgegeben? Wieviele für Ihren Webbrowser? Wieviele Schwachstellen für Ihr Mailprogramm?
Lösung Durchsuchen von Verwundbarkeitsdatenbanken Folgend eine Beispiellösung, Stand 13. April 2004: Microsoft Windows XP, ca. 13 Schwachstellen Microsoft Internet Explorer, ca. 56 Microsoft Outlook Express, ca. 5
Auswerten von Zielsystemen Route-Traceing Durchführen von ICMP timestamp-Abfragen Analysieren von MAC-Adressen NetBIOS-Namenstabellen auslesen NetBIOS-Freigaben anzeigen
Route-Traceing Durch das Netzwerkdiagnose-Utility Traceroute kann die Route eines Pakets zu einem Ziel determiniert werden [Stevens 1994, Ruef 2001, Ruef et al. 2002, McClure et al. 2003].
Aufgabe Route-Traceing: Traceroute durchführen Führen Sie ein einfaches traceroute für die folgenden Hosts durch: 127.0.0.1 – Ihr eigenes System www.computec.ch – Meine Webseite www.google.com – Die Google-Suchmaschine www.ubs.com – Webseite der UBS Schweiz www.fbi.gov – Webseite des amerikanischen FBI Wie sind die Resultate ausgefallen? Konnten Sie irgendwelche Anomalien feststellen?
Lösung Traceroute, Stand 22. April 2004 Ihr eigenes System 127.0.0.1 ist normalerweise direkt erreichbar. www.computec.ch ist erreichbar. Das Ausbleiben einer ICMP-Rückantwort lässt ein Firewall-System am Perimeter vermuten. www.google.com ist normal erreichbar. www.ubs.com ist nicht erreichbar (letzter Hop gehört zu Sunrise), was auf eine filternde Firewall hindeutet. www.fbi.gov ist normal erreichbar.
Durchführen von ICMP timestamp-Abfragen Es ist jetzt n Millisekunden nach Mitternach GMT Client Server ? ! Das Paket wurde um i erhalten und um i+j verschickt Visualisierende Darstellung Client schickt eine ICMP timestamp request-Anfrage (Typ 13, Code 0) an den Server. Server „berechnet“ die Uhrzeiten (Originate, receive und transmit Timestamp). Server schickt die ICMP timestamp reply-Rückantwort (Typ 14, Code 0) an den Client zurück. Client Server Textlicher Ablauf als Aufzählung Timeline der Abfrage
Analysieren von MAC-Adressen
NetBIOS-Namenstabellen auslesen Es wird der NetBIOS-Namensdienst (udp/137) verwendet. Windows-Systeme und NetBIOS-Server (auch Unix/Linux) sind betroffen. Eine Vielzahl von Tools (nbtstat, nbtscan, net view) kann gebraucht werden.
NetBIOS-Namenstabelle mit nbtstat auslesen
NetBIOS-Freigaben erkennen
Automatisches Suchen mittels SharesFinder
Aufgabe Auswerten: NetBIOS-Freigaben suchen Laden Sie sich SharesFinder von der Workshop-Webseite auf Ihren Rechner herunter. Starten Sie die Software und führen Sie einen Scan für Ihr Netzwerk durch (z.B. von 192.168.0.1 bis 192.168.0.254). Führen Sie keine Zugriffe auf die gefundenen Freigaben durch! Beantworten Sie stattdessen folgende Fragen: Wieviele Rechner sind laut SharesFinder im Netzwerk aktiv? Wieviele von diesen Hosts bieten NetBIOS-Freigaben an?
Zusammenfassung Auswertung und Scanning Beim Footprinting werden indirekt Daten über ein Zielsystem zusammengetragen. Das Portscanning hat zum Ziel die Port-Stati und die angebotenen Dienste eines Zielsystems anzuzeigen. Durch verschiedene Fingerprinting-Techniken können das eingesetzte Betriebssystem und Server-Software erkennt werden. Generische Auswertungs-Techniken erlauben zusätzliche und detaillierte Informationen über ein System einzuholen.
Literaturverweise Arkin, Ofir, Juni 2001, ICMP Usage in Scanning, http://www.sys-security.com Comer, Douglas E., 1995, Internetworking with TCP/IP, Volume 1: Principles, Protocols, and Architectures, Prentice Hall Fyodor, 1997, Nmap network security scanner man page, http://www.insecure.org/nmap/data/nmap_manpage.html, deutsche Übersetzung von Marc Ruef, September 2002, http://www.computec.ch/dokumente/scanning/nmap_man-page/nmap_manpage-de.html Fyodor, 18. Oktober 1998, Remote OS detection via TCP/IP Stack FingerPrinting, http://www.insecure.org/nmap/nmap-fingerprinting-article.html, deutsche Übersetzung von Stefan Maly, Das Erkennen von Betriebssystemen mittels TCP/IP Stack FingerPrinting, http://www.insecure.org/nmap/nmap-fingerprinting-article-de.html Gieseke, Wolfram, März 2001, Anti-Hacker Report, Data Becker, Düsseldorf, ISBN 3815822181, zweite Auflage IANA, Internet Assigned Numbers Authority, 25. März 2004, Port Numbers, http://www.iana.org/assignments/port-numbers McClure, Stuart, Scambray, Joel, Kurtz, 1. Februar 2003, Hacking Exposed, Osborne/McGraw-Hill, ISBN 0072227427, vierte Auflage, deutsche Übersetzung durch Ian Travis, Das Anti-Hacker-Buch, MITP, ISBN 3826613759 Northcutt, Stephen, Novak, Judy, 1. August 2002, Network Intrusion Detection, Que, ISBN 0735712654, dritte Auflage, deutsche Übersetzung von Marc Ruef, Februar 2004, Hüthig Verlag, ISBN 3826607279 Rogge, Marko, August 2002, nmap Secure Scanner, http://www.computec.ch/dokumente/scanning/nmap_secure_scanner/nmap.htm Ruef, Marc, 28. April 2000, nmap (Network Mapper), http://www.computec.ch/dokumente/scanning/nmap/nmap.html Ruef, Marc, 21. Januar 2001, Die Sicherheit von Windows, http://www.computec.ch/dokumente/windows/sicherheit_von_windows/ Ruef, Marc, Rogge, Marko, Velten, Uwe, Gieseke, Wolfram, September 2002, Hacking Intern, Data Becker, Düsseldorf, ISBN 381582284X Ruef, Marc, 26. April 2003, Die TCP/IP-Implementierung der Xbox, http://www.computec.ch/dokumente/windows/tcp-ip-implementierung_der_xbox/ Stevens, Richard W., 1990, UNIX Network Programming, Prentice Hall, ISBN 0-13-949876-1 Stevens, Richard W., 1. Januar 1994, TCP/IP Illustrated, Volume 1: The Protocols, Addison-Wesley Professional, ISBN 0201633469, deutsche Übersetzung, September 2003, Hüthig/VMI Buch Verlag, ISBN 3826650425
Angriffe verstehen und durchführen „Angriff ist die beste Verteidigung.“ Deutsches Sprichwort Einführung Schwache Authentisierung Directory Traversal Pufferüberlauf Race Condition Cross Site Scripting Social Hacking Zusammenfassung Literaturverweise
Ziel eines konstruktiven Angriffs Ziel eines (konstruktiven) Angriffs ist stets die Erweiterung der auferlegten Beschränkungen und Rechte. Dabei lässt sich zwischen keinem Zugriff, limitiertem Zugriff (z.B. Benutzerzugriff) und priviligiertem Zugriff (z.B. administrative Rechte) unterscheiden. Kein Zugriff Limitierter Zugriff Priviligierter Zugriff Fremder Benutzer Administrator Macht und Gefahrenpotential
Schwache Authentisierung Durch die Authentifizierung wird die wahre Identität eines Nutzers, einer Person oder eines Programms an Hand eines bestimmten Merkmals überprüft: man weiss etwas (Passwort, PIN) man hat etwas (Schlüssel, Karte, Token) man kann etwas (elektronische Unterschrift) man ist etwas (biometrische Merkmale) Bei einer schwachen oder fehlenden Authentifizierung wird keine umfassende Überprüfung der Zugriffsrechte durchgeführt. Ein Angreifer kann so unbehelligt oder mit den Rechten anderer Zugriffe umsetzen.
Fehlendes Passwort
Bruteforce-Attacke gegen schwache Passwörter
Anzahl Möglichkeiten durch grösseren Zeichensatz und mehr Stellen Möglichkeiten pro Position (n) Möglichkeiten bei vier Stellen (n4) Möglichkeiten bei sechs Stellen (n6) Nur Zahlen von 0 bis 9 10 10‘000 1‘000‘000 ASCII Kleinbuchstaben von a bis z 26 456‘976 308‘915‘776 ASCII Klein- und Grossbuchstaben von aA bis zZ 52 7‘311‘616 19‘770‘609‘664 Alle möglichen erweiterten 256 ASCII-Zeichen 256 4‘294‘967‘296 281‘474‘976‘710‘656
Sichere Passwörter Möglichst lang (z.B. 6 Zeichen) Nutzen von Gross-/Kleinschreibung (z.B. Mhk4F!) Miteinbeziehen von (sprach-/regionsabhängigen) Sonderzeichen (z.B. ä und $ sowie ě) Passwörter pro Authentisierung nur einmal verwenden Passwörter geheim halten Passwörter nicht aufschreiben Passwörter zyklisch ändern (z.B. alle 60 Tage)
Aufgabe Authentisierung: Sichere Passwörter Erstellen Sie eine temporäre NetBIOS-Freigabe für einen leeren Ordner auf Ihrem System. Schützen Sie diese Freigabe mit einem Passwort. Berechnen Sie die „Stärke“ dieses Passworts. Wieviele Stellen hat Ihr Passwort? Welche Zeichenbereiche verwendet es? Wieviele Möglichkeiten müssen maximal bei einem Bruteforce-Angriff durchlaufen werden? Ist dieses Passwort für die Umstände entsprechend stark genug? Entfernen Sie die temporäre NetBIOS-Freigabe wieder.
Lösung sichere Passwörter n = Anzahl Stellen (z.B. 4) i = Anzahl Zeichen in den gewählten Bereichen (z.B. 26 da von A bis Z) 456‘976 = 264 = in Diskussion?!
Standardkonten und –passwörter (auszugsweise und Beispiele) Gerät/System Benutzername Passwort 3com SuperStack II Switch 2200 debug synnet Bay Network Router User - Cisco NetRanger root attack Cobalt RaQ Admin Compaq Insight Manager Administrator IBM Lotus Domino Go Webserver webadmin webibm Microsoft SQL Server sa NetGear Router/Firewalls/Appliances 1234 Oracle 8i sys change_on_install SGI Irix lp Shiva LanRover SonicWall admin password WatchGuard wg ZyXell ZyWall
Fehlerhafte Authentisierungs-Mechanismen Fehlerhaft programmierte Authentisierungs-Mechanismen lassen sich ganz oder teilweise umgehen.
Andere Authentifizierungs-Mechanismen Name Schlüssel Methode Chipkarte Hardware Token Zertifikate Zertifikat Kryptographisch Fingerprint Fingerabdruck Biometrisch Retina Auge/Retina Spracherkennung Sprache Gesichtserkennung Erscheinungsbild
Gegenmassnahmen sichere Authentisierung Benutzer dürfen einen Dienst erst nach komplett und erfolgreich durchlaufener Authentisierung nutzen können. Die Authentisierung muss so schwierig wie möglich ausfallen. Der „Schlüssel“ muss so komplex wie möglich sein. Benutzer müssen währen der ganzen Sitzung identifizierbar bleiben. Benutzer dürfen nach der Authentisierung ihren Status oder ihre Sitzung nicht ändern können.
Aufgabe Authentisierung: Sichere Methode Welcher Authentisierungs-Mechanismus scheint bei einer korrekten Umsetzung am sichersten? Hat Ihre Wahl auch irgendwelche Nachteile für die Benutzer? Gibt es Gebiete, bei denen sich der Einsatz dessen eher nicht lohnt?
Lösung Authentisierung Biometrische Authentifizierungs-Mechanismen lassen sich bei korrekter Umetzung theoretisch nicht umgehen. Die Privatsphäre des Einzelnen wird limitiert und Zugangsmöglichkeiten können nicht „verliehen“ werden. Jenachdem welche Technologie zum Einsatz kommt (z.B. Retina-Scan), können Krankheiten negativen Einfluss haben und grundsätzlich die Transparenz leiden.
Directory Traversal Schwachstellen Anwendungen stellen einem Benutzer normalerweise einen Zugangsbereich zur Verfügung. Ein Angreifer versucht aus diesem Bereich auszubrechen und dadurch seine Zugriffsrechte zu erweitern.
Beispiel eines schlecht programmierten CGI-Skripts
Austricksen des CGI-Skripts
Aufgabe CGI-Skript austricksen Stellen Sie mit dem Browser Ihrer Wahl eine HTTP-Verbindung zum Beispiel-Webserver auf (z.b. http://192.168.0.1/cgi-bin/showfile.cgi). Spielen Sie ein bisschen mit dem CGI-Skript herum und versuchen Sie auf andere Dateien zuzugreifen (z.B. /etc/hosts, /etc/passwd, /etc/apache/*)
Gegenmassnahmen Directory Traversal Server Application Gateway Client Sichere Programmierung Sichere Konfiguration Durch sichere Programmierung auf Server-Applikation die bösartigen Eingaben filtern. Durch eine sichere Konfiguration auf der Server-Applikation die bösartigen Eingaben und Zustände verhindern (jailing) filtern. Durch ein Application Gateway bösartige Eingaben auf dem Netzwerk filtern.
Pufferüberlauf (engl. buffer overflow) Nicht limitierte Variablen lassen sich überfüllen (buffer overrun). Dadurch kann eine Software zum Absturz gebracht werden [Klein 2003]. Oder im schlimmsten Fall lassen sich Programmcode mit den Rechten der Anwendung ausführen [Aleph One 1996, Klein 2003].
Funktionsweise eines Pufferüberlaufs Mein Name ist Marc.aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacmd.exe /c net user Marc abc123 /add Speicher Anwendung A Mein Name ist Marc. Speicher Anwendung B cmd.exe /c notepad.exe Anwendung A und B bekommen je ihren Speicher zugewiesen. Anwendung B vermerkt im Speicher die Ausführung eines systeminternen Kommandos. Benutzer überfüllt Variable einer Anwendung A und überschreibt Speicher von B. Anwendung B führt nächstes Mal neues Kommando aus.
Gegenmassnahmen Pufferüberlauf Durch sichere Programmierung die Variablen beschränken. Durch ein sicheres Speichermanagement des Betriebssystems oder der Hardware das Überschreiben von Speicher verhindern.
Race Condition Der Zustand einer Systemkomponente wird temporär anpegasst, um eine Aufgabe (z.B. Installation) umzusetzen. Noch bevor der ursprüngliche Zustand wieder hergestellt werden kann, wird der temporäre Zustand ausgenutzt.
Beispiel einer Race Condition während einer Installation Eine Datenbank soll installiert werden. Während der Installation werden die Daten in ein allgemein zugängliches Verzeichnis kopiert. (Während dieser Phase ist eine Manipulation möglich!) Nach dem Kopieren der Dateien werden die Zugriffsrechte für die neuen Dateien limitiert.
Gegenmassnahmen Race Conditions Angreifern sollte kein Zeitfenster für unerwünschte Eingriffe gelassen werden. Auf Multiuser-Systemen sollte bei kritischen Installationen temporär auf Singleuser-Betrieb umgeschaltet werden.
Cross Site Scripting (Abk. XSS oder CSS) Web-Applikation erlaubt Eingaben durch den Benutzer und stellt diese dar. Benutzer übergibt HTML- und aktiven Code und beeinflusst so die Ausgabe bzw. das Verhalten der interpretierenden Anwendung (Webbrowser).
Gegenmassnahmen Cross Site Scripting Man muss unterscheiden zwischen Massnahmen des Anbieters und denjenigen des Nutzers.
Gegenmassnahmen Anbieter Application Gateway Nutzer Sichere Programmierung Durch sichere Programmierung auf der Web-Applikation die bösartigen Ein-/Ausgaben filtern. Durch ein Application Gateway bösartige Ein-/Ausgaben auf dem Netzwerk filtern.
Gegenmassnahmen Nutzer Anbieter Application Gateway Nutzer Sichere Programmierung Sichere Konfiguration Durch sichere Programmierung auf der Applikation die bösartigen Ausgaben filtern. Durch sichere Konfiguration auf der Applikation die interpretation bösartiger Ausgaben einschränken. Durch ein Application Gateway bösartige Ausgaben auf dem Netzwerk filtern.
Social Hacking Durch psychologische Tricks werden die Opfer überlistet, um Angriffe auf Computersysteme umzusetzen. [Ruef 2001, Ruef et al. 2002, McClure et al. 2003] Dies ist die wohl beliebteste und fruchtbarste Angriffstechnik. [Shimomura et al. 1996]
Beispiel einer vorgetäuschten SMTP-Sitzung telnet smtp.hispeed.ch 25 HELO computec.ch MAIL FROM: administrator@fbi.gov RCPT TO: marc.ruef@computec.ch DATA <Mailbody> QUIT
Resultat und Erscheinungsbild der gefälschten Nachricht
Aufgabe Social Hacking: Gefälschte Email verschicken Stellen Sie eine Telnet-Verbindung zum SMTP-Server Ihres ISPs her (z.B. „telnet smtp.hispeed.ch 25“). Schicken Sie sich ein Email mit gefälschter Absenderadresse an Ihren Mailaccount. Das SMTP-Kommando HELP dürfte Ihnen während der Sitz weiterhelfen können. Schauen Sie sich nach Empfang des Emails dieses genauestens an. Beantworten Sie die folgenden Fragen: Ist es möglich das Mail als gefälscht zu identifizieren? Falls ja, dank welchen Überprüfungen?
Gegenmassnahmen Social Hacking (Sensitive) Daten sollen und dürfen nicht nach Aussen gelangen. Die Benutzer müssen sich des Risikos bewusst sein (Awareness). Die Identität eines Gegenübers einer Kommunikation gilt es stets zweifelsfrei festzustellen (z.B. Nachfragen)
Zusammenfassung Ein Angreifer will Zugang erhalten oder seine Rechte erweitern. Es gibt eine Vielzahl an Angriffsmethoden, die jeweils in ihren Grundzügen anders funktionieren.
Literaturverweise Aleph One, 8. November 1996, Smashing the Stack for Fun and Profit, Prack, Issue 49, File 14, http://www.phrack.org/show.php?p=49&a=14 CERT Coordination Center, 2003, CERT/CC Overview – Incident and Vulnerability Trends – Types of Intruder Attacks, http://www.cert.org/present/cert-overview-trends/module-4.pdf CERT Coordination Center, 2003, CERT/CC Overview – Incident and Vulnerability Trends – Current Vulnerabilities and Attack Methods, http://www.cert.org/present/cert-overview-trends/module-5.pdf Gieseke, Wolfram, März 2001, Anti-Hacker Report, Data Becker, Düsseldorf, ISBN 3815822181, zweite Auflage Klein, Tobias, Juli 2003, Buffer Overflows und Format-String-Schwachstellen, Dpunkt Verlag, ISBN 3898641929 McClure, Stuart, Scambray, Joel, Kurtz, 1. Februar 2003, Hacking Exposed, Osborne/McGraw-Hill, ISBN 0072227427, vierte Auflage, deutsche Übersetzung durch Ian Travis, Das Anti-Hacker-Buch, MITP, ISBN 3826613759 Northcutt, Stephen, Novak, Judy, 1. August 2002, Network Intrusion Detection, Que, ISBN 0735712654, dritte Auflage, deutsche Übersetzung von Marc Ruef, Februar 2004, Hüthig Verlag, ISBN 3826607279 Ruef, Marc, 21. Januar 2001, Die Sicherheit von Windows, http://www.computec.ch/dokumente/windows/sicherheit_von_windows/ Ruef, Marc, Rogge, Marko, Velten, Uwe, Gieseke, Wolfram, September 2002, Hacking Intern, Data Becker, Düsseldorf, ISBN 381582284X Shimomura, Tsutomu, Markoff, John, 1996, Data Zone, Deutscher Taschenbuch Verlag, München, ISBN 3423151013
Denial of Service Einführung Aufbrauchen der Bandbreite „Lerne nicht, um zu zerstören, sondern um aufzubauen.“ Sprichwort aus Usbekistan Einführung Aufbrauchen der Bandbreite SYN- und TCP-Flooding Fragmentierungs-Angriffe Ausnutzen von Programmierfehlern Zusammenfassung Literaturverweise
Einführung Verhindern des Nutzens eines Dienstes Gilt als „destruktive Angriffsform“ Gelten als einfache und primitive Attacken Das Aufbrauchen von Ressourcen und das Ausnutzen von Programmierfehlern
Aufbrauchen der Bandbreite: David gegen Goliath Internet 56k Modem 2Mbit DSL Opfer Angreifer [Ruef 2001, Ruef et al. 2002]
SYN-Flooding Client Server SYN Es werden mittels SYN-Segmenten so viele Sockets auf dem Zielsystem geöffnet, bis die backlog-Queue voll ist und keine neuen Verbindungsanfragen mehr verarbeitet werden können. SYN SYN SYN/ACK SYN ...
Fragmentierungs-Angriffe: Normale Fragmentierung Grosses Datenpaket Fragment 1 Fragment 2 Fragment 3 Sender will ein in Medium zu grosses Datenpaket verschicken. Sender unterteilt das zu grosse Datenpaket in kleinere Fragmente. Sender verschickt die Fragmente einzeln über das Netzwerk zum Ziel. Empfänger erhält die einzelnen Fragmente zeitversetzt. Empfänger fügt die einzelnen Fragmente zum ursprünglichen Datenpaket zusammen.
Fragmentierungs-Angriffe: Viele kleine Fragmente Grosses Datenpaket 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 Angreifer erstellt einen Fragmentierungs-Zug, bei eine Vielzahl möglichst kleiner Fragmente gegeben ist. Angreifer verschickt diesen an das Opfer. Opfer empfängt die einzelnen Fragmente zeitversetzt. Opfer versucht die Fragmente zusammenzuführen und wird durch die Vielzahl der Fragmente überfordert. Diese Störung wirkt sich zum Beispiel durch einen Absturz oder einen Neustart des Systems aus.
Fragmentierungs-Angriffe: Nicht abgeschlossener Fragmentierungs-Zug Grosses Datenpaket Fragment 1 Fragment 2 Fragment 3 Angreifer erstellt einen normalen Fragmentierungs-Zug. Angreifer verschickt einen Teil diesen an das Opfer. Opfer empfängt die einzelnen Fragmente zeitversetzt. Opfer versucht die Fragmente zusammenzuführen bzw. wartet bis alle erhalten sind. Während dieser Wartezeit können keine oder weniger Netzwerverbindungen oder Fragmentierungen verarbeitet werden.
Fragmentierungs-Angriffe: Zu langer Fragmentierungs-Zug (Ping of Death) Grosses Datenpaket Fragment 1 Fragment 2 Fragment 3 Angreifer erstellt einen Fragmentierungs-Zug, bei dem die Offset-Werte sich nicht zur erforderlichen Gesamtlänge des Datenpakets summieren. Angreifer verschickt diesen an das Opfer. Opfer empfängt die einzelnen Fragmente zeitversetzt. Opfer versucht die Fragmente zusammenzuführen und wird durch das fehlerhafte Datenpaket gestört. Diese Störung wirkt sich zum Beispiel durch einen Absturz oder einen Neustart des Systems aus.
Fragmentierungs-Angriffe: Überlappende Fragmente (Teardrop) Grosses Datenpaket Fragment 1 Fragment 3 Fragment 2 Angreifer erstellt einen Fragmentierungs-Zug, bei dem die Offset-Werte sich überlappen. Angreifer verschickt diesen an das Opfer. Opfer empfängt die einzelnen Fragmente zeitversetzt. Opfer versucht die Fragmente zusammenzuführen und wird durch die fehlerhaften Offset-Werte gestört. Diese Störung wirkt sich zum Beispiel durch einen Absturz oder einen Neustart des Systems aus.
Ausnutzen von Programmierfehlern: Der WinNuke-Klassiker (1997-1999) Name WinNuke Plattform Unix/Linux und Microsoft Windows Sprache C Erscheinungsdatum 7. Mai 1997 Erste Vertriebswege IRC (Internet Relay Chat) Zielsysteme Microsoft Windows 95 und NT 3.51 sowie 4.0 Technik Out of Band (OOB) im Rahmen von NetBIOS Gegenmassnahmen Patches, Upgrade auf Windows 98 oder neuer, Firewalling
Ausnutzen von Programmierfehlern: SMBnuke und SMBdie (2002-2003) Name SMBnuke und SMBdie Plattform Unix/Linux und Microsoft Windows Sprache C Erscheinungsdatum Mitte 2002 Erste Vertriebswege Sicherheitsmailinglisten und -webseiten Zielsysteme Microsoft Windows NT 4.0 bis XP Technik Heap-Overflow im Rahmen von NetBIOS Gegenmassnahmen Patches, Firewalling
Die Netzwerkanalyse von SMBdie Server Client PSH Nach dem Verbindungsaufbau zum Zielport werden drei PSH-Pakete verschickt. ACK PSH ACK PSH ACK Das Zielsystem stürzt mit einem Bluescreen of Death ab.
Aufgabe Denial of Service: SMBdie-Attacke durchführen Bilden sie Zweiergruppen. Laden Sie sich smbdie von der Vorlesungs-Webseite auf Ihren Rechner herunter. Hinweis: Einige Antiviren-Lösungen melden Alarm, dass dies eine destruktive Software sei. Führen Sie eine smbdie-Attacke auf den Rechner Ihres Partners durch. Zuerst alle offenen Arbeiten auf dem Zielsystem speichern und schliessen! Beantworten Sie folgende Fragen: Verlief der Angriff erfolgreich? Wie verhält sich das angegriffene System? Konnten Sie irgendwelche Anomalien feststellen?
Lösung SMBdie-Attacke durchführen Ungepatchte und nicht durch Firewalling geschützte Microsoft Windows NT 4.0 bis XP sind verwundbar gegen den Angriff. Ein verwundbares System zeigt nach einem erfolgreichen Angriff einen Bluescreen of Death an und muss neu gestartet werden. Der Benutzer kriegt vom laufenden Angriff ohne zusätzliche Überwachungsmassnahmen (z.B. Netzwerk-Analyse, Firewalling oder Intrusion Detection-System) nichts mit und ist zum Schluss erst mit dem Endresultat (siehe Punkt 2) konfrontiert.
Zusammenfassung Denial of Service-Attacken (Abk. DoS) zielen in destruktiver Weise darauf ab, ein System ganz oder teilweise funktionsunfähig zu machen. Denial of Service-Attacken vebrauchen entweder Ressourcen oder nutzen Programmierfehler aus.
Literaturverweise Gieseke, Wolfram, März 2001, Anti-Hacker Report, Data Becker, Düsseldorf, ISBN 3815822181, zweite Auflage Klein, Tobias, Juli 2003, Buffer Overflows und Format-String-Schwachstellen, Dpunkt Verlag, ISBN 3898641929 McClure, Stuart, Scambray, Joel, Kurtz, 1. Februar 2003, Hacking Exposed, Osborne/McGraw-Hill, ISBN 0072227427, vierte Auflage, deutsche Übersetzung, Das Anti-Hacker-Buch, MITP, ISBN 3826613759 Mr. Gentlemen, 2000, IP-Fragmentierung, http://www.computec.ch/dokumente/denial_of_service/ip-fragmentierung/ip-fragmentierung.txt Northcutt, Stephen, Novak, Judy, 1. August 2002, Network Intrusion Detection, Que, ISBN 0735712654, dritte Auflage, deutsche Übersetzung von Marc Ruef, Februar 2004, Hüthig Verlag, ISBN 3826607279 Peschel, Gaby, 31. März 2003, DoS – Die, die ohne Service sind, http://www.computec.ch/dokumente/denial_of_service/dos-die_ohne_service/ Ruef, Marc, 2. April 2000, Denial of Service, http://www.computec.ch/dokumente/denial_of_service/denial_of_service/denial_of_service.html Ruef, Marc, 21. Januar 2001, Die Sicherheit von Windows, http://www.computec.ch/dokumente/windows/sicherheit_von_windows/ Ruef, Marc, Rogge, Marko, Velten, Uwe, Gieseke, Wolfram, September 2002, Hacking Intern, Data Becker, Düsseldorf, ISBN 381582284X Spooky, 2000, SYN-Flooding, http://www.computec.ch/dokumente/denial_of_service/syn-flooding/syn-flooding.txt
Korrupter Programmcode „Einen Kranken, der sich für gesund hält, kann man nicht heilen.“ - Henri Frédéric Amiel (1821 - 1881), französisch-schweizerischer Philosoph, Essayist und Lyriker Einführung Computerviren und -würmer Trojanische Pferde und Hintertüren Hoax‘ Zusammenfassung Literaturverweise
Was ist korrupter Programmcode? Korrupter oder schädlicher Programmcode hat die Eigenschaft, sich unerwünschten oder unbefugten Zugriff auf Computer bzw. dessen Komponente zu verschaffen.
Computerviren und -würmer Was ist ein Computervirus? Die Geschichte der Computerviren Funktionsweise klassischer Dateiviren Funktionsweise jüngerer Mail-Würmer Gegenmassnahmen Was tun bei Virenbefund?
Was ist ein Computervirus? Per Definition ist ein Computervirus „ein sich selber reproduzierendes Programm.“ [Ruef et al. 2002] Eine destruktive Schadensroutine (z.B. Das Löschen von Dateien) ist nicht zwingender Bestandteil von Computerviren. Viele der grossen Klassiker kamen ohne derlei Funktionalität aus.
Geschichte der Computerviren 1949 entwickelte der ungarische Informatiker John von Neumann (1903-1957) die erste Theorie sich selber reproduzierender Computerprogramme. 1981 benutzte Professor Leonard M. Adleman „erstmals“ den Begriff Computervirus in einem Gespräch mit Fred Cohen. 1982 wurden im Xerox Alto Research Center die ersten halbwegs funktionstüchtigen Computerviren entwickelt. 1983 stellte Fred Cohen den ersten funktionierenden Virus für Unix-Systeme vor. 1984 veröffentlichte Fred Cohen seine lange umstrittene Doktorarbeit zum Thema. 1985 wurden erste Viren und Viren-Quelltexte (für Apple II) „in the wild“ gesehen.
Die Virengefahr wächst unaufhörlich 29. März 1999 - Melissa, ein Word-Makrovirus, verbreitet Angst und Schrecken im Internet. 18. Oktober 2001 – Der VBS-Virus ILOVEYOU beglückt die Internet-User mit dubiosen E-Mails. 16. Juli 2001 - CodeRed nimmt ein beachtliche Menge an Zeit, Geld und Ressourcen in Anspruch. 19. Juli 2001 - Der Sircam-Wurm nervt die Mail-Benutzer. 19. September 2001 – Der Wurm Nimda ist Mittelpunkt des Internet-Interesses. 11. August 2003 – W32.Blaster.Worm wird zur grössten Wurmplage für Windows-Benutzer.
Aufgabe Computerviren: Analyse der Hintergründe Nennen Sie mögliche Gründe, warum wohl die ersten Computerviren entwickelt wurden. Nennen Sie mögliche Gründe, warum in der heutigen Zeit Computerviren entwickelt werden.
Lösung Aufgabe Computerviren: Analyse der Hintergründe Mögliche Gründe für Computerviren (ähnlich den besprochenen Intentionen zur Computerkriminalität allgemein in Kapitel 2) sind: Neugierde Spieltrieb Langeweile Publizität Rache Destruktivität
Funktionsweise klassischer Dateiviren C:\WINDOWS\virus.exe virus.exe wird ausgeführt und sucht nach neuen Trägern Virus infiziert neue Dateie explorer.exe 010101010101011101110100110101110111010010101001010101010101110111010011010010111010100110 010101010101011101110100110101110111010010101001010101010101110111010011010010111010100110 010101010101011101110100110101110111010010101001010101010101110111010011010010111010100110 C:\WINDOWS\explorer.exe 111101110100110111011101001010100101010101010111011101001101011101110100101010010101010101011101110100110101110111010010101001010101010101110111010011010111011101001010100101010101010111011101001101011101110100101010010101010101011101110100110101110111011010100101010101010111011101001101011101110100101010010101010101011101110101010001 C:\WINDOWS\notepad.exe 0111011101001101011101110100101010010101010101011101110100110101110111010010101001010101010101110111010011010111011101001010100101010101010111011101001101011101110110101001010101010101110111010011010111011101001010100101010101010111011101010100010111101110100110111011101001010100
Funktionsweise jüngerer Mail-Würmer David Andrea Carol Bill A schickt einen Computervirus an C und D. B öffnet Virus und verschickt ihn an A und C. C öffnet den Virus und verschickt ihn an A, B und C.
Gegenmassnahmen Vorsicht bei Dateien und Datenträgern unbekannter, unerwünschter oder zwielichtiger Herkunft. Überprüfen Sie Dateien mittels einer aktualisierten Antiviren-Software.
Funktionsweise von Antiviren-Lösungen Pattern-Matching Die Antiviren-Software durchsucht Datei-Inhalte nach bekannten Zeichenketten, die in Viren gefunden wurden. Zum Beispiel war folgende Zeichenkette Teil von W32.Blaster.Worm: “I just want to say LOVE YOU SAN!! billy gates why do you make this possible ? Stop making money and fix your software!!” Heuristische Suche Die Antiviren-Software überprüft die Funktionsweise eines Programms auf typisches Verhalten korrupter Software (z.B. Mitlesen von Interupts oder Überschreiben von EXE-Dateien).
Aufgabe Computerviren: Technische Analyse eines Computervirus Laden Sie sich den Pseudo-Virus von der Vorlesungs-Webseite auf Ihren Rechner herunter. Entpacken Sie die ZIP-Datei und lesen Sie die Anweisungen in der beiliegenden TXT-Datei. Öffnen Sie die Pseudo-Virus-Datei mit einem Text- oder HEX-Editor Ihrer Wahl. Beantworten Sie die folgenden beiden Fragen: Können Sie ein Pattern erkennen, anhand dessen sich diese Virus identifizieren liesse? Können Sie irgendwelche Merkmale feststellen, die auf die Herkunft des Virus deuten könnte?
Lösung Computerviren: Technische Analyse eines Computervirus Im Virus ist der Text „Trööt, MARC wants a CAKE!“ enthalten. Das Nutzen von Umlauten deutet darauf hin, dass der Viren-Entwickler aus einem Land kommt, in dem Umlaute eingesetzt werden (z.B. Schweiz, Deutschland, Österreich).
Aufgabe Computerviren: Antiviren-Software installieren Falls Sie schon eine Antiviren-Lösung auf Ihrem Rechner installiert haben, sollen Sie diese Übung nicht durchführen. Laden Sie sich die freie Antiviren-Lösung von http://www.free-av.com herunter und installieren sie diese. Überprüfen Sie die bisher im Rahmen des Workshops heruntergeladenen Dateien nach etwaigen Viren. Notieren Sie sich die Namen der gefundenen Schädlinge.
Was tun bei Virenfund? Suchen des Virennamen in Suchmaschinen und Viren-Datenbanken. Bestätigen der Viren-Infektion anhand der in Erfahrung gebrachten Indizien. Säubern oder löschen des korrupten Programmcodes. Informormieren der allfälligen Quelle (Absender, Distributor oder Entwickler) über das bestehende Problem.
Aufgabe Computerviren: Informieren über Computervirus Ihre Antiviren-Lösung meldet beim Zugriff auf eine EXE-Datei den vermeintlichen Virus „TR/WinNuke97“. Informieren Sie sich über den vermeintlichen Virus? Handelt es sich um eine schädliche Software? Welches Vorgehen schlagen Sie vor?
Lösung Informieren über Computervirus Der besagte korrupte Programmcode kann in den Viren-Datenbanken der grossen Antiviren-Herstellern unter verschiedenen Namen gefunden werden. Der korrupte Programmcode wird als Trojanisches Pferd deklariert. Die Beschreibung fasst das Programm als Angriffstool (Nuker) zusammen. Es besteht keine Gefahr für den Anwender der Software selbst. WinNuke wurde in die Virendatenbanken aufgenommen, um die Verbreitung der Angriffssoftware zu minimieren.
Trojanische Pferde und Hintertüren Klassische Trojanische Pferde Moderne Remote-Control-Programme Gegenmassnahmen
Was ist ein Trojanisches Pferd? Per Definition ist ein Trojanisches Pferd eine Software, die ohne das Wissen und Einverständnis eines Benutzers im Hintergrund unerwünschte Aktivitäten durchführt. Der Begriff stammt aus dem im 12ten Jahrhundert zwischen den Griechen und den Trojanern geführten Krieg. Die Hinterlist der Griechen begann nun damit, ihren Rückzug vorzutäuschen. Als Zeichen der Freundschaft liessen sich ein grosses hölzernes Pferd zurück, in dem sich 30 ihrer stärksten und geschicktesten Männer verbargen. Die Trojaner führten das Geschenk Mutes in die Mitte ihrer Stadt. Des Nachts stiegen die im hölzernen Pferd versteckten Griechen heraus und öffneten die Stadttore für die heimlich zurückgekehrten Mitstreiter. Die Stadt Troja wurde zerstört und die Einwohner wurden entweder getötet oder versklavt. Nur wenige entkamen der Hinterlist der Griechen...
Klassische Trojanische Pferde Normaler Codeteil Trojanischer Codeteil 111101110100110111011101001010100101010101010111011101001101011101110100101010010101010101011101110100110101110111010010101001010101010101110111010011010111011101001010100101010101010111011101001101011101110100101010010101010101011101110100110101110111011010100101010101010111011101001101011101110100101010010101010101011101110101010001 11110111010011011101110100101010010101010101011101110100110101110111010010101001010101010101110111010011010111011101001010100101010101010111011101001101011101110100101010010101 Opfer erhält eine vermeintlich tolle oder wichtige Software. Opfer führt diese Software in gutem Glauben aus: Zuerst wird ein „normaler“ Codeteil ausgeführt, der dem Benutzer etwas „vorgaukelt“. Zum Beispiel eine hübsche Animation. Danach wird der trojanische Codeteil ausgeführt, der im Hintergrund unerwünschte Aktivitäten umsetzt. Zum Beispiel verschicken von Passwort-Dateien.
Moderne Remote-Control-Tools Angreifer Opfer Der Angreifer sorgt dafür, dass auf dem System des Opfers heimlich ein Server installiert wird. Dieser Server wartet auf Eingaben durch den Angreifer. Der Angreifer steuert mit seinem Client den Server auf dem System des Opfers. Er hat dadurch Kontrolle über das Zielsystem.
Der Server von NetBus Pro 2.01
Der Client von NetBus Pro 2.01
Aufgabe Trojanische Pferde: NetBus ausprobieren Deaktivieren Sie temporär Ihre Antiviren-Software, um die Übung zu ermöglichen. Laden Sie sich NetBus Pro 2.01 von der Workshop-Webseite herunter. Installieren Sie alle Komponente der Software auf Ihrem System. Starten Sie den Server und konfigurieren Sie ihn Ihren Wünschen entsprechend (z.B. Passwort setzen). Starten Sie den Client und stellen Sie eine Verbindung zu Ihrem System her. Führen Sie irgendwelche Ein- und Zugriffe durch. Vorsicht vor ungewollten Schäden!
Aufgabe Backdoors: Gegenmassnahmen Backdoors Beantworten Sie die folgenden Fragen: Wie würden Sie eine unerlaubt installierte Hintertür endtecken? Welche Gegenmassnahmen würden Sie empfehlen?
Laufende Prozesse analysieren
Port-Stati analysieren
Portbelegung analysieren
Aufgabe Backdoors: Hintertür analysieren Starten Sie den Server-Teil des zuvor heruntergeladenen Remote-Control-Programms. Versuchen Sie über die folgenden Mechanismen die Existenz der Hintertür auszumachen (die Software finden Sie auf der Workshop-Seite): Analyse der Prozesse (Taskmanager) Analyse der Port-Stati (netstat) Analyse der Port-Belegung (fport)
Gegenmassnahmen Remote-Control-Programme Angreifer Firewall Opfer Antiviren-Software Der Zugriff durch Remote-Control-Programme kann mittels Firewall limitiert werden. Aktualisierte Antiviren-Software ist in der Lage populäre Trojanische Pferde zu erkennen.
Hoax‘ Was ist ein Hoax? Verbreitung eines Hoax‘ Was tun bei einem vermeintlichen Hoax?
Was ist ein Hoax? Ein Hoax ist eine Falschmeldung, die zum Zweck geschrieben wurde, dass sie durch arglose Benutzer weitergeleitet wird. Quasi ein „passiver“ Virus. Als Ursprung der Hoax‘ gilt „GoodTimes“, der mit den folgenden Zeilen beginnt: Some miscreant is sending email under the title "Good Times“ nationwide, if you get anything like this, DON'T DOWN LOAD THE FILE!
Verbreitung eines Hoax‘
Was tun bei einem vermeintlichen Hoax? Lesen Sie das Schreiben sehr kritisch durch. Mails, die eine Weiterleitung empfehlen oder verlangen sind grundsätzlich verdächtig. Informationen für die breite Massen werden sehr selten per Email vermittelt. Suchen Sie im Internet und Hoax-Archiven nach der Betreffzeile oder markanten Textstellen. Falls es sich wirklich um ein Hoax handelt, dann das Email ohne Weiterleiten löschen.
Aufgabe Hoax: Email analysieren Was können Sie über das folgende Email herausfinden? Ich wende mich an Euch, weil ich ziemlich verzweifelt bin. Ich hoffe, Ihr könnt mir und meiner Freundin helfen, und lest diesen Brief! Das Problem ist, dass meine Freundin an Leukämie erkrankt ist. Es hat sich herausgestellt, dass Sie nur noch wenige Wochen zu Leben hat. Aus diesem Grund seit Ihr meine letzte Chance Ihr zu helfen. Wir benötigen dringend eine/n Spender/in mit der Blutgruppe "AB negativ"!!!! der/die bereit wären, ggf. Knochenmark zu Spenden. Dies ist für Euch nur ein kleiner ärztlicher Eingriff, kann aber meiner Freundin zu Leben verhelfen. Wenn jemand diese Blutgruppe hat, möchte er/sie sich doch bitte mit mir in Verbindung setzen. Alles weitere besprechen wir dann. Sendet bitte diesen Brief an alle, die Ihr kennt!!! Fragt in Eurem Bekanntenkreis nach !!!!! Handelt es sich um einen Hoax? Falls ja, welche Indizien lassen dies vermuten? Inwiefern weist ein Hoax eine „Schadensroutine“ auf?
Lösung Email analysieren Es handelt sich um einen erstmal im Ende 2000 aufgetauchter Knochenspender-Kettenbrief. Eine Suchabfrage führt früher oder später zu einem Hoax-Archiv. Hauptindiz für einen Hoax ist die Bitte, das Schreiben an alle Bekanntenweiterzuleiten. Die „Schadensroutine“ besteht im Verschleiss von Ressourcen (Zeit und Energie der Leser sowie zusätzliche Nutzlast für Email-Systeme).
Zusammenfassung Computerviren sind sich selber reproduzierende Programme. Ein Trojanisches Pferd führt im Hintergrund ohne Wissen oder Einverständnis eines Benutzers eine Aktion aus. Antiviren-Software ist in der Lage korrupten Programmcode mittels Pattern-Matching und heuristischer Suche zu erkennen. Hoax‘ sind Falschmeldungen, die zum aktiven/manuellen Weiterschicken anregen und dadurch Zeit und Ressourcen verbrauchen.
Literaturverweise Gieseke, Wolfram, März 2001, Anti-Hacker Report, Data Becker, Düsseldorf, ISBN 3815822181, zweite Auflage McClure, Stuart, Scambray, Joel, Kurtz, 1. Februar 2003, Hacking Exposed, Osborne/McGraw-Hill, ISBN 0072227427, vierte Auflage, deutsche Übersetzung, Das Anti-Hacker-Buch, MITP, ISBN 3826613759 Northcutt, Stephen, Novak, Judy, 1. August 2002, Network Intrusion Detection, Que, ISBN 0735712654, dritte Auflage, deutsche Übersetzung von Marc Ruef, Februar 2004, Hüthig Verlag, ISBN 3826607279 Ruef, Marc, 21. Januar 2001, Die Sicherheit von Windows, http://www.computec.ch/dokumente/windows/sicherheit_von_windows/ Ruef, Marc, Rogge, Marko, Velten, Uwe, Gieseke, Wolfram, September 2002, Hacking Intern, Data Becker, Düsseldorf, ISBN 381582284X Ruef, Marc, 15. Februar 2003, So funktionieren Computerviren, http://www.computec.ch/dokumente/viren/so_funktionieren_virenscanner/ Ruef, Marc, 15. Februar 2003, Warum gibt es Computerviren?, http://www.computec.ch/dokumente/viren/warum_gibt_es_computerviren/
Firewall-Systeme Einführung Paket Filter „Feuer soll man nicht in Papier einhüllen.“ Chinesisches Sprichwort Einführung Paket Filter Application Gateways und Proxies Personal Firewalls Konzeption einer Firewall-Lösung Zusammenfassung Literaturverweise
Was ist eine Firewall? Firewalls (Abk. FW) sind eine Kombination aus Brandschutzmauer und Pförtner. Die Brandschutzmauer limitiert Auswirkungen von Bränden Der Pförtner überprüft und protokolliert den Durchgang
Aufgabe Firewalling: Wohin mit dem Pförtner? Sie haben die Aufgabe das folgende Gebäude durch einen Pförtner zu sichern, der aus- und eingehende Personen prüft. Wo positionieren Sie den Pförtner? Pausenraum Büro 1 Büro 2 Portier Archiv 1 Archiv 2 Archiv 3 Beobachteter Bereich
Beispiel von klassischem Inline-Firewalling Ein Firewall-System wird quasi als Schranke zwischen das zu schützende und das unsichere Netz geschaltet, so dass der ganze Datenverkehr zwischen den beiden Netzen nur über das Firewall-Element möglich ist. Dies ist sodann der Common Point of Trust. Host A Firewall Host B Geschütztes Netzwerk Unsicheres Netzwerk
Wie sehen Firewalls in etwa aus? Appliances Router 19“ Rack mountable PC Tower 19 Zoll Thin-PC Picture by SonicWall
Paket Filter Das aktive Firewall-Element Paket Filter (Abk. PF) analysiert und kontrolliert die ein- und ausgehenden Pakete auf der Netzzugangs-, der Netzwerk- und der Transportebene. Dazu werden die Pakete, nicht nur TCP/IP-Protokolle, aufgenommen und analysiert. Host A Firewall Host B Ist es dem Quellsocket erlaubt eine Verbindung zum Zielsocket aufzubauen? Geschütztes Netzwerk Unsicheres Netzwerk
Vorteile von Paket Filtern Transparent für Benutzer und die Rechensysteme. Ausnahmen sind natürlich explizite Authentifizierungen. Einfach erweiterungsfähig für neue Protokolle. Flexibel für neue Dienste. Für andere Protokollfamilien verwendbar (IPX, OSI, DECNET, SNA, ...). Hohe Performance durch optimale Mechanismen (Hardware, Betriebssystem, Treiber, ...). Leicht realisierbar, da geringe Komplexität.
Nachteile von Paket Filtern Daten, die oberhalb der Transportebene sind, werden in der Regel nicht analysiert. Für die Anwendungen (FTP, HTTP, SMTP, ...) besteht keine Sicherheit. Falsch konfigurierte oder kompromittierte Hosts im internen Netz können für normalerweise nicht erlaubte Kommunikationen zwischen den beiden Netzen missbraucht werden. Protokolldaten werden nur bis zur Transportebene zur Verfügung gestellt. Typische Paketfilter können die Struktur des internen Netzes nicht verbergen (NAT ist kein zwingendes Feature).
Application Gateways Auf einem Application Gateway (Abk. AG) nehmen dedizierte Proxies die einzelnen Kommunikationsanfragen an, kontrolliert die ein- und ausgehenden Pakete auf der Anwendungsschicht und leiten sie weiter. Host A Firewall Host B Ist es dem Quellsocket erlaubt eine Verbindung zum Zielsocket aufzubauen und geschieht dies im erlaubten Rahmen des Anwendungsprotokolls? Geschütztes Netzwerk Unsicheres Netzwerk
Funktionsweise von Application Gateways Proxy für HTTP wird an TCP-Port 8080 gebunden Verbindung wird zum Proxy hergestellt Proxy stellt Verbindung zum Zielsystem her 8080
Vorteile von Application Gateways Sehr viel Macht über die jeweiligen Applikationen der Anwendungsschicht.
Nachteile von Application Gateways Oft nur eine rudimentäre Überprüfung auf der Anwendungsschicht. Aufgrund ihrer erforderlichen Kompetenz anfällig für Fehler und Schwachstellen.
Personal Firewalls (Abk. PF) Personal Firewalls (früher Desktop Firewalls oder PC Firewalls genannt) werden auf Hosts installiert, um diese um eine rudimentäre Firewalling-Funktionalität zu erweitern.
Die Internetverbindungsfirewall von Microsoft Windows XP
Aufgabe Personal Firewalls: Personal Firewall nutzen Falls auf Ihrem System Microsoft Windows XP installiert ist, öffnen Sie die Netzwerkeinstellungen für ihre Standard-Schnittstelle. Aktivieren Sie in den erweiterten Eigenschaften die Internetverbindungsfirewall. Schauen Sie sich die Konfiguration dieser an und machen Sie entsprechende Anpassungen.
Zusammenfassung Firewall-Systeme sind eine Kombination aus Brandschutzmauer und elektronischem Pförtner. Firewall-Systeme limitieren und überwachen den Datenaustausch. Es gibt Paket Filter und Application Gateways, die jeweils spezifische Vor- und Nachteile haben. Personal Firewalls werden auf einem Host installiert und erweitern das System um rudimentäre Firewall-Funktionalität.
Literaturverweise Bonnart, Andreas, Wolff, Christian, 11. September 1997, BSI-Studie Firewall 1997, http://www.computec.ch/dokumente/firewalling/bsi-studie_firewall_1997/fw-stud.pdf Ernst & Young, Sun Microsystems Inc., 18. Mai 2001, BSI-Studie Firewall 2001, http://www.computec.ch/dokumente/firewalling/bsi-studie_firewall_2001/fwstud.pdf Comer, Douglas E., 1995, Internetworking with TCP/IP, Volume 1: Principles, Protocols, and Architectures, Prentice Hall Fritsch, Jörg, Gundel, Steffen, 15. Januar 2003, Firewalls illustriert – Netzwerksicherheit durch Paketfilter, Addison-Wesley, ISBN 3827320437 Glaser, Gerhard, 2002, Firewalls, http://www.computec.ch/dokumente/firewalling/firewalls3/firewalls.htm Kündig, Roger, 2000, Firewall-Howto, http://www.computec.ch/dokumente/firewalling/firewall-howto/firewall-howto.html Landesbeauftragter für Datenschutz Niedersachsen, 23. August 1999, Grundschutz durch Firewall: Orientierungshilfe und Checkliste, http://www.computec.ch/dokumente/firewalling/grundschutz_durch_firewall/firewall.pdf Lessig, Andreas G., Juli 2003, Linux Firewalls, O‘Reilly, ISBN 3897213575 McClure, Stuart, Scambray, Joel, Kurtz, 1. Februar 2003, Hacking Exposed, Osborne/McGraw-Hill, ISBN 0072227427, vierte Auflage, deutsche Übersetzung durch Ian Travis, Das Anti-Hacker-Buch, MITP, ISBN 3826613759 Natok, 2000, DoS Attack through Desktop Firewalls, http://www.computec.ch/dokumente/firewalling/firewalling/dos_attack_through_desktop_firewalls/dos_attack_through_desktop_firewalls.txt Northcutt, Stephen, Zeltser, Lenny, Winters, Scott, 1. Juni 2002, Inside Network Perimeter Security: The Definitive Guide to Firewalls, Virtual Private Networks (VPNs), Routers, and Intrusion Detection Systems, Sams, ISBN 0735712328 Pohlmann, Norbert, November 2002, Firewall-Systeme, MITP-Verlag, ISBN 3826609883 Rauber, Schenzel, 1998, Firewall-Seminar, Universität Halle, Deutschland, http://www.computec.ch/dokumente/firewalling/firewall-seminar/ Ruef, Marc, 2000, Desktop-Firewalls, http://www.computec.ch/dokumente/firewalling/desktop-firewalls/desktop-firewalls.html, auszugsweise ebenfalls erschienen in Ruef 2001 Ruef, Marc, Weber, Hans, 2000, Desktop-Firewalls Competitive Sheet, http://www.computec.ch/dokumente/firewalling/desktop-firewalls-compeditive-sheet/desktop-firewalls-compeditive-sheet.pdf Ruef, Marc,2000, Biodata Pcfire, http://www.computec.ch/dokumente/firewalling/biodata_pcfire/biodata_pcfire.html Ruef, Marc, 2000, Firewall-Systeme, http://www.computec.ch/dokumente/firewalling/firewall-systeme/firewall-systeme.html Ruef, Marc, 2002, Firewall-Systeme (Präsentation), http://www.computec.ch/dokumente/firewalling/firewall-systeme/firewall-systeme.ppt Ruef, Marc, 21. Januar 2001, Die Sicherheit von Windows, http://www.computec.ch/dokumente/windows/sicherheit_von_windows/ Ruef, Marc, Rogge, Marko, Velten, Uwe, Gieseke, Wolfram, September 2002, Hacking Intern, Data Becker, Düsseldorf, ISBN 381582284X Spooky, 2000, Firewall Systeme, http://www.computec.ch/dokumente/firewalling/firewall_systeme/firewall_systeme.doc Stepken, Guido, 30. August 1998, Firewall-Handbuch für Linux 2.0 und 2.2, http://www.computec.ch/dokumente/firewalling/firewall_handbuch_fuer_linux_2_0_und_2_2/zusammen.html Stepken, Guido, 2001, Angriffe auf Firewalls, http://www.computec.ch/dokumente/firewalling/angriffe_auf_firewalls/angriffe_auf_firewalls.pdf Stevens, Richard W., 1. Januar 1994, TCP/IP Illustrated, Volume 1: The Protocols, Addison-Wesley Professional, ISBN 0201633469, deutsche Übersetzung, September 2003, Hüthig/VMI Buch Verlag, ISBN 3826650425 Strobel, Stefan, 1997, Firewalls, Dpunkt Verlag, ISBN 389864152X, dritte Auflage Thorbrügge, Marco, 22. März 2002, Firewalls – Wächter zwischen Netzen, http://www.computec.ch/dokumente/firewalling/firewalls2/s2_thorbruegge.pdf Von dem Hagen, Malte, 4. November 2002, Firewalls, http://www.computec.ch/dokumente/firewalling/firewalls/firewalls.pdf Wettern, Jörn, Komar, Brian, Beekelaar, Ronald, November 2001, Firewalls für Dummies, MITP, ISBN 3826629973 Zwicky, Elisabeth D., Cooper, Simon, Chapman, D. B., 1. September 2000, Building Internet Firewalls, O‘Reilly & Associates, ISBN 1565928717, zweite Auflage
Elektronische Einbruchserkennung "Gebt mir eine anständige Flasche Gift und ich werde das perfekte Verbrechen konstruieren.“ - Agatha Christie (1890-1976), britische Schriftstellerin von Kriminalromanen Einführung Host- und netzwerkbasierte Ansätze Pattern-Matching Konzeption einer IDS-Lösung Zusammenfassung Literaturverweise
Was ist Intrusion Detection? Die elektronische Einbruchserkennung beschäftigt sich mit dem Erkennen und Analysieren von Angriffen und Einbrüchen in Computersysteme.
Verschiedene Ansätze Hostbasierte Lösungen (HIDS) Werden auf Hosts installiert Überwachen die Aktivitäten auf und zum System Netzwerkbasierte Lösungen (NIDS) Werden im Netzwerk installiert Überwachen die Aktivitäten im Netzwerk
Pattern-Matching Funktioniert nach dem gleichen Konzept einer Kombination aus Firewalling und Antivirus-Lösung [Ruef et al. 2002]. Die Aktivitäten und Kommunikationen werden nach bestimmten Merkmalen abgesucht, die auf Angriffe oder Einbrüche deuten [Northcutt et al. 2002]. Beispiele: - Eine erhöhte Anzahl an ICMP echo request-Anfragen in einem Netzwerk deutet auf ein Ping-Mapping hin. - Eine Vielzahl an kurzen Zugriffsversuchen auf einen Telnet-Dienst deutet auf einen Bruteforce-Angriff hin. - Die Zeichenkette „/etc/passwd“ in einer HTTP-Anfrage deutet auf das unerlaubte Herunterladen einer Unix-Passwortdatei hin.
Beispiel eines Pattern-Matchings für SMBdie Die folgende Snort-Regel ist in der Lage anhand des Ports (tcp/139), der TCP-Flaggen (ACK) und des Paket-Inhalts eine SMBdie-Attacke zu erkennen: alert tcp any any -> any 139 (msg: "smbdie";flags: A+; content:"|504950455c4c414e4d414e00|";)
Assessment: Was ist wieviel wert? Welche Systeme sind wichtig? Welche Systeme sollen überwacht werden? Welche Zugriffe sollen überwacht werden?
Das Überwachungskonzept Welche Systeme werden überwacht? Was wird überwacht? Wie wird überwacht?
Das Zonenkonzept Internet Rote Zone Hohes Risiko viele Zugriffe wenig Tragweite viele Fehlalarme Gelbe Zone Mittleres Risiko mittlere Zugriffe mittlere Tragweite mittlere Fehlalarme Firewall Server Grüne Zone Geringes Risiko wenige Zugriffe hohe Tragweite wenige Fehlalarme Workstation Workstation Workstation
Alerting und Incident Response (IR): Wie reagieren bei einem Zwischenfall Welche Leute müssen informiert werden? Wann müssen diese informiert werden? Wie müssen diese informiert werden? Welche Aktionen haben diese durchzuführen und zu veranlassen? Wie wird mit dem betroffenen System umgegangen? Wie wird mit dem Rest des (Teil-)Netzwerks umgegangen?
Aufgabe Elektronische Einbruchserkennung: IDS nutzen Laden Sie sich BlackICE PC Protection von der Workshop-Webseite auf Ihren Rechner herunter. Installieren und starten Sie die Software. Führen Sie die zuvor im Workshop gelernten Scanning-, Auswertungs- und Angriffstechniken auf die nun überwachten Systeme durch. Beantworten Sie die folgenden Fragen: Wie verhält sich das Intrusion Detection-System? Welche Zugriffe werden erkannt und welche nicht?
Zusammenfassung Elektronische Einbruchserkennung versucht Angriffe und Einbrüche zu erkennen und für spätere Analysen zu archivieren. Es gibt host- und netzwerkbasierende Intrusion Detection-Systeme. Die Hauptmöglichkeit der Erkennung besteht im Pattern-Matching, dem Suchen nach typischen Angriffsmustern. Wie auch beim Firewalling ist eine Konzeption der Grundpfeiler der Lösung.
Literaturverweise Coehn, Christian, 10. November 1997, Implementierung eines SNMP-Subagenten zur Überwachung von Syslog Meldungen, Institut für Informatik an der Ludwig Maximilian Universität München, http://wwwmnmteam.informatik.uni-muenchen.de/Literatur/MNMPub/Fopras/coeh97/HTML-Version/Syslog.html Comer, Douglas E., 1995, Internetworking with TCP/IP, Volume 1: Principles, Protocols, and Architectures, Prentice Hall Grawert, Uwe, 9. Juli 2001, Netzwerküberwachung mit Hilfe von Distributed Intrusion Detection Systems (DIDS), http://www.computec.ch/dokumente/intrusion_detection/netzueberwachung_mit_hilfe_von_dids/ids.pdf McClure, Stuart, Scambray, Joel, Kurtz, 1. Februar 2003, Hacking Exposed, Osborne/McGraw-Hill, ISBN 0072227427, vierte Auflage, deutsche Übersetzung durch Ian Travis, Das Anti-Hacker-Buch, MITP, ISBN 3826613759 Müller, Klaus, 7. August 2002, IDS – Intrusion Detection System, http://www.computec.ch/dokumente/intrusion_detection/ids/ids.txt Northcutt, Stephen, Novak, Judy, 1. August 2002, Network Intrusion Detection, Que, ISBN 0735712654, dritte Auflage, deutsche Übersetzung von Marc Ruef, Februar 2004, Hüthig Verlag, ISBN 3826607279 Peschel, Gaby, 2003, Die 7 W’s zu IDS, http://www.computec.ch/dokumente/intrusion_detection/7_ws_zu_ids/ Ruef, Marc, Rogge, Marko, Velten, Uwe, Gieseke, Wolfram, September 2002, Hacking Intern, Data Becker, Düsseldorf, ISBN 381582284X Ruef, Marc, 19. November 2003, Elektronische Einbruchserkennung mit Linux – Angriffe frühzeitig erkennen und Einbrüche effizient analysieren, Linux Enterprise, Ausgabe 11/2003 Sanchez, Scott C., 28. Juli 2000, IDS Zone Theory Diagram, http://www.snort.org/docs/scott_c_sanchez_cissp-ids-zone-theory-diagram.pdf Schumacher, Stefan, 3. April 2002, Intrusion Detection System, http://www.computec.ch/dokumente/intrusion_detection/intrusion_detection_system/ids.html Spenneberg, Ralf, 15. November 2002, Intrusion Detection für Linux-Server – Mit Open-Source-Tools Angriffe erkennen und analysieren, Markt und Technik, ISBN 3827264154 Stevens, Richard W., 1. Januar 1994, TCP/IP Illustrated, Volume 1: The Protocols, Addison-Wesley Professional, ISBN 0201633469, deutsche Übersetzung, September 2003, Hüthig/VMI Buch Verlag, ISBN 3826650425 Thorbrügge, Marco, 22. März 2002, Intrusion Detection (IDS) – Alarmanlage im Netz, http://www.computec.ch/dokumente/intrusion_detection/intrusion_detection/s3_thorbruegge.pdf Unex, März 2003, Aufbau eines IDS mit Linux Boardmitteln, http://www.computec.ch/dokumente/intrusion_detection/ids_mit_linux/ Van Helden, Josef, Karsch, Stefan, 19. Oktober 1998, Grundlagen, Forderungen und Marktübersicht von Intrusion Detection Systeme (IDS) und Intrusion Response Systeme (IRS), Bundesamt für Sicherheit in der Informationstechnik (BSI) Deutschland, http://www.computec.ch/dokumente/intrusion_detection/grundlagen_forderungen_und_marktuebersicht/ids-stud.pdf West Brown, Moira J., Stikvoort, Don, Kossakowski, Klaus Peter, Killcrece, Georgia, Ruefle, Robin, Zajicek, Mark, Dezember 1998, Handbook for Computer Security Incident Response Teams (CSIRTs), CERT, http://www.sei.cmu.edu/publications/documents/03.reports/03hb002.html, zweite Auflage erschien im April 2003
Security Auditing Einführung Festlegen der Assets "Im Krieg ist es Sitte, jeden Vorteil zu nutzen.“ - William Shakespeare (1564 - 1616), englischer Dichter, Dramatiker, Schauspieler und Theaterleiter Einführung Festlegen der Assets Form und Ziele der Überprüfung Festlegen der Ausgangslage und des Vorgehens Involvierte Parteien und Kompetenzen Abgrenzen des Auftrags Durchführung der Überprüfungen Dokumentieren der Resultate Nach dem Audit Zusammenfassung Literaturverweise
Was ist Security Auditing? Überprüfung eines Systems auf seine Sicherheit. Dadurch soll der aktuelle Stand der Sicherheit aufgenommen, Schwachstellen herausgefunden, Risiken kalkuliert und beseitigt werden. Eine detailliertere (schriftliche) Ausarbeitung dieses nicht-technischen Kapitels ist in [Ruef et al. 2002] enthalten.
Festlegen der Assets: Was ist wie wichtig? Welchen finanziellen Wert messe ich einem Asset bei? Welcher finanzielle Schaden entsteht bei Diebstahl, Manipulation oder Zertstörung des Assets? Wie schnell müssen die Daten oder das System wieder einsatzfähig sein?
Form und Ziele der Überprüfung Breitflächiger und oberflächlicher Security Audit Dedizierter und intensiver Penetration Test (Abk. PenTest oder PT)
Festlegen der Ausgangslage und Form des Vorgehens Black Hat: Aus Sicht eines fremden Angreifers (z.B. Kunde) White Hat: Aus Sicht eines eingeweihten Angreifers (z.B. Mitarbeiter oder Administrator) Grey Hat: Kombination aus den beiden anderen Formen
Involvierte Parteien und Kompetenzen Management der Kunden-Firma IT-Abteilung der Kunden-Firma Revisions-Abteilung der Kunden Firma Externe Firmen (z.B. IT-Partner, Security-Partner, Hosting-Firma) Auditoren-Team
Abgrenzung des Auftrags Wer hat den Security Audit initiiert (Management, IT-Abteilung, Revisor)? [Ferenczi 1985] Welche Vorgehensweise ist erwünscht (z.B. Black Hat Penetration Test)? Welche Systeme sollen überprüft werden (z.B. nur Firewalls)? Welche Tests sollen durchgeführt werden (z.B. keine DoS)? Welche Instanzen müssen über die Tests informiert werden (z.B. Hoster beim Webserver-Scan)? Welche Systeme sollen wann überprüft werden? Wer ist Ansprechpartner bei einem Zwischenfall (z.B. Absturz des Mailservers)? Für wen ist der Scan-Report schlussendlich gedacht (Management, IT-Abteilung oder Revisor)? In welchem Zeitrahmen soll der Security Audit durchgeführt werden?
Durchführung der Überprüfungen Footprinting Mapping Scanning Auswertung Angriffe Erstes Dokumentieren
Aufgabe Security Auditing: Security Scanner nutzen Laden Sie sich GFI LANguard von der Workshop-Webseite auf Ihren Rechner herunter, installieren und starten Sie die Software. Führen Sie einen normalen Scan auf Ihr System 127.0.0.1 durch. Begutachten Sie den Scan-Report und machen Sie sich Gedanken über die Resultate.
Dokumentieren der Resultate (Beispiel eines Report-Aufbaus) Auflistung Auftraggeber und –nehmer Management Summary: Nicht-technische Zusammenfassung der Resultate Festhalten der Vorgehensweise Technische Details der gefundenen Schwachstellen Ausgaben und Mitschnitte der Zu- und Angriffe
Nach dem Audit Umsetzen der Gegenmassnahmen Weiteres Vorgehen planen (z.B. Schulungen) Zyklischer Security Audit anstreben
Zusammenfassung Eine solide Vorabklärung ist Grundlage eines jeden professionellen Audits. Die technische Überprüfung ist aktiver Mittelpunkt des ganzen Bestrebens. Im Report sollen sämtliche Informationen um den Auftrag und die Umgebung festgehalten werden. Nach dem Audit müssen die Gegenmassnahmen angestrebt und weitere Massnahmen geplant werden.
Literaturverweise Ferenczi, Sandor, 1985, Journal clinique, Payot, Paris, deutsche Übersetzung, Ohne Sympathie keine Heilung, Fischer Taschenbuch Verlag, Frankfurt, ISBN 3596142695 McClure, Stuart, Scambray, Joel, Kurtz, 1. Februar 2003, Hacking Exposed, Osborne/McGraw-Hill, ISBN 0072227427, vierte Auflage, deutsche Übersetzung durch Ian Travis, Das Anti-Hacker-Buch, MITP, ISBN 3826613759 Ruef, Marc, Rogge, Marko, Velten, Uwe, Gieseke, Wolfram, September 2002, Hacking Intern, Data Becker, Düsseldorf, ISBN 381582284X Ruef, Marc, ca. 2006, Die Kunst des Penetration Testing – Der effektive Einbruch in Computersysteme, http://www.computec.ch
Fragen? „Man hört nur die Fragen, auf welche man imstande ist, eine Antwort zu geben.“ Friedrich Wilhelm Nietzsche, 1844-1900, deutscher Philologe und Philosoph
Nachwort „Alle Technik ist ein faustischer Pakt mit dem Teufel.“ Neil Postman, 1931-2003, US-amerikanischer Medienkritiker und Soziologe
Danke für die Aufmerksamkeit Marc Ruef marc.ruef at computec.ch http://www.computec.ch http://www.computec.ch/mruef/publikationen/lehrgang_computersicherheit/ 2003-2005 Idee und Realisation von Marc Ruef Menü-Icons von Walter Forrest 18C3-Stern vom Chaos Computer Club (CCC) Danke an Rocco Gagliardi und Simon Zumstein (scip AG), Erol Längle (Getronics (Schweiz) AG) und Arthur Ruef (Credit Suisse) für Durchsicht und Kritik.