Web Würmer
Klein, glitschig und ekelhaft
Mario Heiderich
Vorstellung
●
    Mario Heiderich
        ●
            PHPIDS
        ●
            Trainings
        ●
            Audit...
Überblick
●
    Ein wenig Geschichte
●
    Fallbeispiele
●
    Limitationen
●
    Und Wege diese zu umgehen
●
    Blick in...
Erste Gehversuche
●
    1999 - 2002
●
    Attacken gegen Hotmail
●
    Outlook Webaccess
●
    Ein völlig neues Thema
●
  ...
Samy
●
    2005
●
    Just to be popular
●
    Hat funktioniert
●
    MySpace down
●
    FBI, Arrest und Auflagen
●
    20...
Yamanner
●
    2006
●
    Mailworm
●
    Adressdaten harvesten
●
    SPAM
Der Pornowurm
●
    2007
●
    1 Mio User
●
    Lediglich ein PoC
●
    XSS Attacken und persönliche Reputation
●
    Emai...
Nduja Connection
●
    2007
●
    Mailworm
●
    Mehrere italienische Freemailer
●
    Cross Domain
●
    Nur ein PoC
Der nette Wurm
●
    2007
●
    Wordpress
●
    Heilsamer Payload
●
    Propagation via Scanning und Blogroll
●
    Große ...
Jikto
●
    2007
●
    Cross Domain
●
    PoC Wurm für einen Shmoocon Talk
●
    “Geleakter” Sourcecode
●
    SOP Normalis...
Diminutive Worm Contest
●
    2008
●
    “Den Kürzesten haben”
●
    Webworm aus ca. 150 Bytes als Resultat
●
    Erstmali...
Justin.TV und andere
●
    2008
●
    Adressdaten sammeln
●
    Logindaten als Plaintext
●
    SPAM
Rediff.com
●
    2009
●
    Mailworm
●
    60 Millionen betroffene User
●
    Nutzt kleine Lücke im HTML Filter
Reddit, Twitter,...
●
    2009
●
    Spam, SEO, Account Hijacking etc
●
    Facebook Apps running wild
●
    Orkut
●
    U...
Mehr mehr MEHR!
●
    Quellen diverser Würmer sind online
●
    Teils mit Erläuerungen
●
    sla.ckers.org
●
    AJAX Worm...
Bilanz und Warten auf 2010
●
    Schlechter Code
●
    Lediglich String Obfuscation
●
    Potenzial noch nicht ausgereizt
...
Heutige Probleme
●
    Wenige verstehen XSS
●
    Gleiches für CSRF
●
    Und erst recht die Kombination
●
    Dabei ist's...
Goldene Regel
●
    Remote XSS und Applikation mit Login == Wurm
●
    Auch reflektiver XSS – dank short URLs
●
    HttpOn...
Anatomie eines Wurms
●
    Initiale XSS Lücke
●
    Data Storage
●
    Payload Propagation
●
    Wurmkopf
●
    MVC oder w...
Eigenschaften eines Wurms
●
    Was sind die wichtigsten Eigenschaften?
●
    Wie werden diese implementiert?
Klar...
●
    Propagation
●
    Payload
●
    Stealthiness
●
    Robustness
●
    Obfuscation
●
    Defence
Klassiches Design
●
    Altbekannte Prinzipien
●
    Klare Gewaltenteilung
●
    Strukturelle Schwäche
Fallbespiel
●
    Yamanner
●
    View - die Lücke im Yahoo! Mail Frontend
●
    Controller - Der Payload
●
    Model - Ein...
Warhhol Würmer
●
    Kurzlebigkeit
●
    Instabilität
●
    Offensichtlichkeit
●
    No money shots
Wer kanns besser?
●
    Botnetze
●
    Mass SQL Injections
●
    "Binary Worms"
Vorteil Infrastruktur?
●
    P2P Architekturen
●
    Dezentrale C&C Server
●
    Obfuscation
●
    Verschlüsselung – richt...
Zurück zum Webworm
●
    Was fehlt zum echten Wurm?
Eigentlich nichts
●
    Das Internet als Infrastruktur
●
    Verfügbar, dezentralisiert und schnell
●
    Services im rich...
Controller
●
    Business Logik
●
    Yahoo! Pipes
●
    AppJet
●
    Codepad
●
    PHP, C++, JavaScript,...
Dinge im Hintergrund
●
    AJAX Requests
●
    DOM Worker
●
    Schnittstellen zu OS und Applikationen
●
    ActiveX, PDFs...
Model
●
    Pastebins
●
    Image Hoster
●
    Twitter, Delicious und andere
●
    Einfach dank Tagging
●
    Web-RAID und...
Client Side Storage
●
    So viele APIs
●
    Bekannte wie W3C Storage APIs
●
    Und weniger bekannte Vertreter wie #user...
Payload obfuscation
●
    String Obfuscation und mehr
●
    Wir hatten das bereits...
●   location.hash
●   window.name
●
...
Robustness
●
    Escaping und Encoding
●
    Base64 – nicht alle User Agents
●   escape()
●   encodeURIComponent()
●
    M...
Propagation
●
    Scanning und Fuzzing
●
    Spidering
●
    Google und Yahoo! Search API
●
    Code Search Engines
JavaScript und HTTP
●
    AJAX wenn möglich
●
    XDR
●
    Cross-Domain
●
    Lesend zum Harvesten
●
    Nicht-lesend zum...
Crossing the Line
●
    Requests an beliebige Domains
●
    Requests an beliebige Protokolle
●
    Requests an beliebige P...
Wenig Limits
●
    SOP als einziges Hindernis
●
    Komplexer als man denkt
●
    Single Point of Failure
●
    2009 wie o...
Und noch weiter...
●
    Intranet Würmer
        ●
            OTRS, phpMyAdmin, Plesk
●
    Würmer in Entwicklungsumgebun...
Zusammenfassung
●
    Web-Würmer können mehr
●
    Trusted User Interaction simulieren
●
    Dezentrale Controller
●
    D...
Warhol war einmal
●
    Persistente Webworms sind möglich
●
    Nur gibt es noch keinen
●
    Zeit einen zu bauen!
●
    O...
Rechtliches
●
    Keine einfache Lage
●
    Mehr eine völlige Blackbox – siehe §202c
●
    Gerade noch ein PoC...
●
    .....
Was kann man tun?
●
    Dilemma Diversität
●
    Zuviele Kombinationen aus Services
●
    Messerblock und Säurefässchen
●
...
Diskusssion
Vielen Dank!
Vielen Dank!
●
    mario.heiderich@gmail.com
●
    http://heideri.ch
●
    https://twitter.com/0x6D6172696F
Nächste SlideShare
Wird geladen in …5
×

Web Wuermer

1.377 Aufrufe

Veröffentlicht am

Talk slides for the RU Bochum 01.2010 - German language

Veröffentlicht in: Technologie, News & Politik
0 Kommentare
0 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

Keine Downloads
Aufrufe
Aufrufe insgesamt
1.377
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
12
Aktionen
Geteilt
0
Downloads
13
Kommentare
0
Gefällt mir
0
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

Web Wuermer

  1. 1. Web Würmer Klein, glitschig und ekelhaft Mario Heiderich
  2. 2. Vorstellung ● Mario Heiderich ● PHPIDS ● Trainings ● Audits und Pentests ● Secure Development
  3. 3. Überblick ● Ein wenig Geschichte ● Fallbeispiele ● Limitationen ● Und Wege diese zu umgehen ● Blick in die Zukunft ● Diskussion
  4. 4. Erste Gehversuche ● 1999 - 2002 ● Attacken gegen Hotmail ● Outlook Webaccess ● Ein völlig neues Thema ● Internet Explorer 5.5
  5. 5. Samy ● 2005 ● Just to be popular ● Hat funktioniert ● MySpace down ● FBI, Arrest und Auflagen ● 2010 - und Samy ist zurück...
  6. 6. Yamanner ● 2006 ● Mailworm ● Adressdaten harvesten ● SPAM
  7. 7. Der Pornowurm ● 2007 ● 1 Mio User ● Lediglich ein PoC ● XSS Attacken und persönliche Reputation ● Emailadresse und sexuelle Präferenzen ● Reported aber nie gefixt
  8. 8. Nduja Connection ● 2007 ● Mailworm ● Mehrere italienische Freemailer ● Cross Domain ● Nur ein PoC
  9. 9. Der nette Wurm ● 2007 ● Wordpress ● Heilsamer Payload ● Propagation via Scanning und Blogroll ● Große Coverage in den Medien
  10. 10. Jikto ● 2007 ● Cross Domain ● PoC Wurm für einen Shmoocon Talk ● “Geleakter” Sourcecode ● SOP Normalisation via Google Translate ● Big buzz
  11. 11. Diminutive Worm Contest ● 2008 ● “Den Kürzesten haben” ● Webworm aus ca. 150 Bytes als Resultat ● Erstmalig HTML als Wurmgerüst ● Contest mit Botschaft
  12. 12. Justin.TV und andere ● 2008 ● Adressdaten sammeln ● Logindaten als Plaintext ● SPAM
  13. 13. Rediff.com ● 2009 ● Mailworm ● 60 Millionen betroffene User ● Nutzt kleine Lücke im HTML Filter
  14. 14. Reddit, Twitter,... ● 2009 ● Spam, SEO, Account Hijacking etc ● Facebook Apps running wild ● Orkut ● Und viele andere...
  15. 15. Mehr mehr MEHR! ● Quellen diverser Würmer sind online ● Teils mit Erläuerungen ● sla.ckers.org ● AJAX Worm Database ● namb.la/popular
  16. 16. Bilanz und Warten auf 2010 ● Schlechter Code ● Lediglich String Obfuscation ● Potenzial noch nicht ausgereizt ● Meist fokussiert auf die betroffene App ● Mangelhafte Infrastruktur
  17. 17. Heutige Probleme ● Wenige verstehen XSS ● Gleiches für CSRF ● Und erst recht die Kombination ● Dabei ist's nicht so schwer ● Und HTTP ist immer noch an allem Schuld ● Oder?
  18. 18. Goldene Regel ● Remote XSS und Applikation mit Login == Wurm ● Auch reflektiver XSS – dank short URLs ● HttpOnly ist kein Hindernis ● Warum?
  19. 19. Anatomie eines Wurms ● Initiale XSS Lücke ● Data Storage ● Payload Propagation ● Wurmkopf ● MVC oder was?
  20. 20. Eigenschaften eines Wurms ● Was sind die wichtigsten Eigenschaften? ● Wie werden diese implementiert?
  21. 21. Klar... ● Propagation ● Payload ● Stealthiness ● Robustness ● Obfuscation ● Defence
  22. 22. Klassiches Design ● Altbekannte Prinzipien ● Klare Gewaltenteilung ● Strukturelle Schwäche
  23. 23. Fallbespiel ● Yamanner ● View - die Lücke im Yahoo! Mail Frontend ● Controller - Der Payload ● Model - Ein PM System einer anderen Website ● Sauber strukturiert - aber... ● Einfach zu eliminieren
  24. 24. Warhhol Würmer ● Kurzlebigkeit ● Instabilität ● Offensichtlichkeit ● No money shots
  25. 25. Wer kanns besser? ● Botnetze ● Mass SQL Injections ● "Binary Worms"
  26. 26. Vorteil Infrastruktur? ● P2P Architekturen ● Dezentrale C&C Server ● Obfuscation ● Verschlüsselung – richtig echte ● Rechenleistung und Plattenplatz
  27. 27. Zurück zum Webworm ● Was fehlt zum echten Wurm?
  28. 28. Eigentlich nichts ● Das Internet als Infrastruktur ● Verfügbar, dezentralisiert und schnell ● Services im richtigen Kontext sehen ● Alle Komponenten eines “Binary Worms” haben Web-Repräsentanten
  29. 29. Controller ● Business Logik ● Yahoo! Pipes ● AppJet ● Codepad ● PHP, C++, JavaScript,...
  30. 30. Dinge im Hintergrund ● AJAX Requests ● DOM Worker ● Schnittstellen zu OS und Applikationen ● ActiveX, PDFs, Videos,...
  31. 31. Model ● Pastebins ● Image Hoster ● Twitter, Delicious und andere ● Einfach dank Tagging ● Web-RAID und mehr...
  32. 32. Client Side Storage ● So viele APIs ● Bekannte wie W3C Storage APIs ● Und weniger bekannte Vertreter wie #userdata ● Oder HTML+TIME
  33. 33. Payload obfuscation ● String Obfuscation und mehr ● Wir hatten das bereits... ● location.hash ● window.name ● Aynwhere in DOM country ● Bilder, Farben, Subdomains, Dateinamen, ...
  34. 34. Robustness ● Escaping und Encoding ● Base64 – nicht alle User Agents ● escape() ● encodeURIComponent() ● Markup nutzen
  35. 35. Propagation ● Scanning und Fuzzing ● Spidering ● Google und Yahoo! Search API ● Code Search Engines
  36. 36. JavaScript und HTTP ● AJAX wenn möglich ● XDR ● Cross-Domain ● Lesend zum Harvesten ● Nicht-lesend zum Verbreiten ● new Image().src='http://...'
  37. 37. Crossing the Line ● Requests an beliebige Domains ● Requests an beliebige Protokolle ● Requests an beliebige Ports ● Shodan
  38. 38. Wenig Limits ● SOP als einziges Hindernis ● Komplexer als man denkt ● Single Point of Failure ● 2009 wie oft genau gefallen?
  39. 39. Und noch weiter... ● Intranet Würmer ● OTRS, phpMyAdmin, Plesk ● Würmer in Entwicklungsumgebungen ● Eclipse, Trac, ... ● Politische Foren und Abstimmungssysteme ● Mobile Botnetze via XSS
  40. 40. Zusammenfassung ● Web-Würmer können mehr ● Trusted User Interaction simulieren ● Dezentrale Controller ● Dezentrale und inhomogene Models ● Cross-Domain und Cross-Protocol
  41. 41. Warhol war einmal ● Persistente Webworms sind möglich ● Nur gibt es noch keinen ● Zeit einen zu bauen! ● Oder?
  42. 42. Rechtliches ● Keine einfache Lage ● Mehr eine völlige Blackbox – siehe §202c ● Gerade noch ein PoC... ● ...oder schon eine Straftat? ● Kompliziert in EU und USA
  43. 43. Was kann man tun? ● Dilemma Diversität ● Zuviele Kombinationen aus Services ● Messerblock und Säurefässchen ● CSE oder Exploit Search Engine?
  44. 44. Diskusssion
  45. 45. Vielen Dank!
  46. 46. Vielen Dank! ● mario.heiderich@gmail.com ● http://heideri.ch ● https://twitter.com/0x6D6172696F

×