24

Der autonome Hacker · Der autonome Hacker: DARPA Cyber Grand Challenge Adrian Dabrowski [email protected] Twitter: @atrox_at 2016-11-04

  • Upload
    others

  • View
    8

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Der autonome Hacker · Der autonome Hacker: DARPA Cyber Grand Challenge Adrian Dabrowski adabrowski@sba-research.org Twitter: @atrox_at 2016-11-04
Page 2: Der autonome Hacker · Der autonome Hacker: DARPA Cyber Grand Challenge Adrian Dabrowski adabrowski@sba-research.org Twitter: @atrox_at 2016-11-04

Der autonome Hacker:DARPA Cyber Grand Challenge

Adrian Dabrowski

[email protected]

Twitter: @atrox_at

2016-11-04

Page 3: Der autonome Hacker · Der autonome Hacker: DARPA Cyber Grand Challenge Adrian Dabrowski adabrowski@sba-research.org 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

Page 4: Der autonome Hacker · Der autonome Hacker: DARPA Cyber Grand Challenge Adrian Dabrowski adabrowski@sba-research.org Twitter: @atrox_at 2016-11-04

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/

Page 5: Der autonome Hacker · Der autonome Hacker: DARPA Cyber Grand Challenge Adrian Dabrowski adabrowski@sba-research.org Twitter: @atrox_at 2016-11-04

Quelle: https://cgc.darpa.mil/CGC_Master_Schedule_15_Apr_15.pdf

Page 6: Der autonome Hacker · Der autonome Hacker: DARPA Cyber Grand Challenge Adrian Dabrowski adabrowski@sba-research.org Twitter: @atrox_at 2016-11-04

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

Page 7: Der autonome Hacker · Der autonome Hacker: DARPA Cyber Grand Challenge Adrian Dabrowski adabrowski@sba-research.org Twitter: @atrox_at 2016-11-04

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

Page 8: Der autonome Hacker · Der autonome Hacker: DARPA Cyber Grand Challenge Adrian Dabrowski adabrowski@sba-research.org Twitter: @atrox_at 2016-11-04

Quelle: https://cgc.darpa.mil/USENIX _2015_Distribution_A_Final.pdf

Page 9: Der autonome Hacker · Der autonome Hacker: DARPA Cyber Grand Challenge Adrian Dabrowski adabrowski@sba-research.org Twitter: @atrox_at 2016-11-04

Challenges

Final Event (82 Challenge Sets)● Crash an bestimmter Adresse (control IP)● Information Leakage (Shell code, Flag)● Rematch Binaries● $2M, 1M, 750K Preisgeld

Page 10: Der autonome Hacker · Der autonome Hacker: DARPA Cyber Grand Challenge Adrian Dabrowski adabrowski@sba-research.org Twitter: @atrox_at 2016-11-04
Page 11: Der autonome Hacker · Der autonome Hacker: DARPA Cyber Grand Challenge Adrian Dabrowski adabrowski@sba-research.org Twitter: @atrox_at 2016-11-04
Page 12: Der autonome Hacker · Der autonome Hacker: DARPA Cyber Grand Challenge Adrian Dabrowski adabrowski@sba-research.org Twitter: @atrox_at 2016-11-04
Page 13: Der autonome Hacker · Der autonome Hacker: DARPA Cyber Grand Challenge Adrian Dabrowski adabrowski@sba-research.org Twitter: @atrox_at 2016-11-04
Page 14: Der autonome Hacker · Der autonome Hacker: DARPA Cyber Grand Challenge Adrian Dabrowski adabrowski@sba-research.org Twitter: @atrox_at 2016-11-04
Page 15: Der autonome Hacker · Der autonome Hacker: DARPA Cyber Grand Challenge Adrian Dabrowski adabrowski@sba-research.org Twitter: @atrox_at 2016-11-04
Page 16: Der autonome Hacker · Der autonome Hacker: DARPA Cyber Grand Challenge Adrian Dabrowski adabrowski@sba-research.org Twitter: @atrox_at 2016-11-04

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

Page 17: Der autonome Hacker · Der autonome Hacker: DARPA Cyber Grand Challenge Adrian Dabrowski adabrowski@sba-research.org Twitter: @atrox_at 2016-11-04

Ergebnisse

2) XANDRA – TechX● Univ. Virginia● 8 Personen● Kaum Informationen über ihr System

Page 18: Der autonome Hacker · Der autonome Hacker: DARPA Cyber Grand Challenge Adrian Dabrowski adabrowski@sba-research.org Twitter: @atrox_at 2016-11-04

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

Page 19: Der autonome Hacker · Der autonome Hacker: DARPA Cyber Grand Challenge Adrian Dabrowski adabrowski@sba-research.org Twitter: @atrox_at 2016-11-04

angr

Page 20: Der autonome Hacker · Der autonome Hacker: DARPA Cyber Grand Challenge Adrian Dabrowski adabrowski@sba-research.org Twitter: @atrox_at 2016-11-04

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

Page 21: Der autonome Hacker · Der autonome Hacker: DARPA Cyber Grand Challenge Adrian Dabrowski adabrowski@sba-research.org Twitter: @atrox_at 2016-11-04

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

Page 22: Der autonome Hacker · Der autonome Hacker: DARPA Cyber Grand Challenge Adrian Dabrowski adabrowski@sba-research.org Twitter: @atrox_at 2016-11-04

Die zwei wichtigsten Punkte...

● Ja: “CYBER” ist OK !!!(aber…)

● Wir leben in spannenden Zeiten

Page 23: Der autonome Hacker · Der autonome Hacker: DARPA Cyber Grand Challenge Adrian Dabrowski adabrowski@sba-research.org Twitter: @atrox_at 2016-11-04

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

Page 24: Der autonome Hacker · Der autonome Hacker: DARPA Cyber Grand Challenge Adrian Dabrowski adabrowski@sba-research.org Twitter: @atrox_at 2016-11-04

Adrian DabrowskiSBA Research gGmbHFavoritenstraße 16, 1040 Vienna, [email protected] Twitter: @atrox_at