Upload
others
View
8
Download
0
Embed Size (px)
Citation preview
Der autonome Hacker:DARPA Cyber Grand Challenge
Adrian Dabrowski
Twitter: @atrox_at
2016-11-04
DARPA Cyber Grand Challenge
● „DARPA Grand Challenge“ 2004 →
● DARPA Cyber Grand Challenge (CGC)● Angekündigt 2013● 2+1 Auswahl Events● 7 Teams● 1 Final Event
Warum?
● Sicherheitslücken● Wochen, Monate bis Fix● Monate, Jahre bis ausgerollt
● Anti-Viren, Firewalls● Automatische Analyse● Nur für Typ und Signatur
Quellen:https://www.riskbasedsecurity.com/2015/12/our-new-year-vulnerability-trends-prediction/ http://www.forbes.com/sites/andygreenberg/2012/10/16/hackers-exploit-software-bugs-for-10-months-on-average-before-theyre-fixed/
Quelle: https://cgc.darpa.mil/CGC_Master_Schedule_15_Apr_15.pdf
CGC: Aufbau
● Binärprogramme, kein Sourcecode● Vollautomatisch, keine Team interaktion● CTF Style
● Prüfung durch gegnerische Teams● Spielleitung prüft Funktionsfähigkeit & Performance
● Probleme zu Lösen● Code-Analyse (Binary)● Finden von Exploits● Generieren eines Exploit-Strings● Patchen● Halte-Problem
Challenges
● Qualification● Prove of Vulnerbility (POV): Crash reicht● Callgraph Size von
– 8N/12E – ….– 1041N/7290E
● $750K Preisgeld
Quelle: https://cgc.darpa.mil/USENIX _2015_Distribution_A_Final.pdf
Quelle: https://cgc.darpa.mil/USENIX _2015_Distribution_A_Final.pdf
Challenges
Final Event (82 Challenge Sets)● Crash an bestimmter Adresse (control IP)● Information Leakage (Shell code, Flag)● Rematch Binaries● $2M, 1M, 750K Preisgeld
Ergebnisse
1) MAYHEM- For All Secure● 9 Personen CMU Startup● Fuzzer ↔ Symbolic Execution
– Starke Symbolic Execution Plattform● Concolic Execution = Symbolic + concrete E.
– Tauschen interessanter Testfälle● Ist mitten im Finale gecrashed, konnte
trotzdem seine Position halten
Mehr: https://www.reddit.com/r/IAmA/comments/4x9yn3/iama_mayhem_the_hacking_machine_that_won_darpas/ https://users.ece.cmu.edu/~arebert/papers/mayhem-oakland-12.pdfhttps://users.ece.cmu.edu/~aavgerin/papers/veritesting-icse-2014.pdf
Ergebnisse
2) XANDRA – TechX● Univ. Virginia● 8 Personen● Kaum Informationen über ihr System
Ergebnisse
3) Mechanical Phish - Team Shellphish● UCSB, Giovanni Vignia● Open Source „angr“● fuzzing
-> cheap coverage -> dynamic symbolic exeutions● new testcases for fuzzing
● patching -> reassembler● defenses - qemu, ida pro, etc. backdoor● hardening
Quelle: https://www.rsaconference.com/writable/presentations/file_upload/ht-w02-autonomous-hacking-the-new-frontiers-of-attack-and-defense.pdf
angr
DARPA Experimental Cyber Research Evaluation Environment
● DECREE, 32 bit linux● Vereinfachtes ABI, Loader- und Binary-Format● 7 syscalls (~190 in echtem Linux)
– terminate – end program (exit)– transmit – write data to an fd (write)– receive – read data from an fd (read)– fdwait – wait for fds (select)– allocate – allocates memory (mmap)– deallocate – releases allocated memory (munmap)– random – populate a buffer with random bytes
● Kein Shared Memory● Socket pairs – “saubere” bidirektionale Kommunikation
Zukunf
● Tool für Verteidigung aber auch Angriff● Kleine Hersteller, die sich bisher kein Auditing leisten konnten● IoT – Hardware Hersteller bisher von kurzen SW Update-Zyklen
überfodert● Lebensdauer der Produkte >>> Update Verfügbarkeit● Lebensdauer der Produkte >> Lebensdauer Hersteller● Automatische Patches bei neuen Attacken
● Noch menschlichen Hackern unterlegen (DEFCON CTF)● Unterstützung für Analysten
Die zwei wichtigsten Punkte...
● Ja: “CYBER” ist OK !!!(aber…)
● Wir leben in spannenden Zeiten
Die wichtigsten Punkte...
● Programme lernen andere Programme zu “verstehen”
● Diese suchen Sicherheitslücken● Erzeugen Exploit dafür● Erzeugen Patch dafür
● Feuerprobe bestanden (wie DARPA Grand Challenge)
● Open Source von Shellphish:● http://angr.io/ ● https://github.com/mechaphish
Adrian DabrowskiSBA Research gGmbHFavoritenstraße 16, 1040 Vienna, [email protected] Twitter: @atrox_at