Automatische Generierung von Joern-Abfragen

BearbeiterIn:Simon Rainer
Titel:Automatische Generierung von Joern-Abfragen
Typ:bachelor thesis
Betreuer:Dotzler, G.; Kamp, M.; Philippsen, M.
Status:abgeschlossen am 1. März 2016
Vorausetzungen:
Thema:

Hintergrund
Software wird im Laufe der Zeit ständig verändert. Die Gründe für die Änderungen sind vielfältig. Häufig wurden Fehler gefunden, die behoben werden müssen. Solche Fehler tauchen dann in vielen Fällen nicht nur an einer Stelle im Code auf, sondern an mehreren. Um solche sich wiederholenden, fehlerhaften Code-Stellen zu identifizieren, wäre ein Werkzeug hilfreich, das dem Programmierer automatisch Code-Stellen anzeigt, die dem behobenen Fehler entsprechen.

Thema
Joern wurde (http://mlsec.org/joern/) entwickelt, um fehlerhafte Code-Stellen zu identifizieren. Dies geschieht durch manuell erstellte Abfragen. Mit Hilfe dieser Abfragen lassen sich fehlerhafte Code-Stellen innerhalb eines Projekts suchen. Diese können dann dem Nutzer angezeigt werden. Im Rahmen dieser Arbeit sollen Abfragen für Joern automatisch generiert werden. Als Eingabe der automatischen Generierung dienen Gruppen von ähnlichen Code-Änderungen, die durch ein am Lehrstuhl entwickeltes Werkzeug aus git-Archiven extrahiert werden.

Meilensteine

  • Integration des Joern-Parsers in das Extrahierungs-Werkzeug
  • Erweiterung des ASTs um C und C++-Konstrukte
  • Suche nach Gruppen mit sicherheitskritischen Code-Änderungen
  • Manuelle Generierung dazu passender Joern-Abfragen
  • Automatische Generierung der Joern-Abfragen
  • Ausarbeitung

Literatur

  • Yamaguchi, Fabian; Maier, Alwin; Gascon, Hugo; Rieck, Konrad: Automatic Inference of Search Patterns for Taint-Style Vulnerabilities. In : SP '15: Proc. IEEE Symp. on Security and Privacy, pages 590-604, San Jose, CA, Mai 2015.
  • Yamaguchi, Fabian; Golde, Nico; Arp, Daniel; Rieck, Konrad: Modeling and Discovering Vulnerabilities with Code Property Graphs. In : SP '14: Proc. IEEE Symp. on Security and Privacy, pages 590-604, Washington, DC, Mai 2014.
  • Romstöck, Christoph: Entwicklung eines Werkzeugs zur Identifizierung vergleichbarer Code-Modifikationen in Software-Archiven. Masterarbeit, Lehrstuhl für Informatik 2, Friedrich-Alexander-Universität Erlangen-Nürnberg, Dezember 2013.
  • Dotzler, G.; Veldema, R.; Philippsen, M.: Annotation support for generic patches.
watermark seal