OSCAR – Open Source Code Analyzer and Reviewer

#IT Security (BA) #Studierenden-Projekt

OSCAR ist ein Framework, das es mit der Hilfe von verschiedenen Code Analyse Tools erlaubt, Source Code auf sicherheitsrelevante Schwachstellen zu untersuchen.

Framework OSCAR

Durch die intensive Nutzung der IT und eine wachsende Anzahl an Applikationen in verschiedenen Bereichen ist die Abhängigkeit zu Software-Komponenten größer geworden. In der Vergangenheit ist vermehrt auch die Popularität von Open Source Software gestiegen. Obwohl der Source Code öffentlich zugänglich ist, wurden in der jüngsten Vergangenheit ernsthafte Sicherheitslücken entdeckt. (z. B. Heartbleed). Um Open Source EntwicklerInnen beim Testen ihrer Software auf sicherheitsrelevante Schwachstellen unterstützen zu können wurde OSCAR entwickelt.

OSCAR ist ein Framework, welches mit mehreren bereits existierenden Source Code Analyse Tools umgehen und deren Erkenntnisse strukturiert in einer Datenbank abspeichern kann. Die eingesetzten Tools mussten dabei verschiedene Anforderungen erfüllen:

  •  Java Support: Durch die hohe Verbreitung von Java muss das Framework in der Lage sein, Java Source Code zu analysieren.
  • Open Source Lizenz: Alle im Projekt verwendeten Tools und Quellcodes sollen Open Source sein.
  • Lokal ausführbar: Jedes Tool muss lokal von der Kommandozeile aus ausführbar sein.
  • Stabil und aktive Community: Die Tools müssen stabil laufen und aktiv von einer Community weiterentwickelt werden.
  • Fähigkeiten: Das Tool muss in der Lage sein, sicherheitsrelevante Schwachstellen zu identifizieren.
  • Export Möglichkeit: Die Ergebnisse der Überprüfung müssen in ein maschinenlesbares Format wie z. B. XML, SQlite, CSV oder JSON exportiert werden können.

Grafischer Bericht

Wurde ein Softwareprojekt mittels OSCAR gescannt, so kann aus den Ergebnissen ein grafischer HTML-Report erzeugt werden. Dieser beinhaltet die von den Tools überprüften Dateien und stellt die sogenannten „Findings“ grafisch dar. In der Grafik wurde Webgoat, ein Open Source Projekt zum Lernen von Penetration Testing, gescannt. Die drei eingesetzten Tools (Idea, VisualCodeGrepper und Yasca) konnten die vorhandenen SQL-Injections gut erkennen.
In Zukunft müssen weitere Tools und die Unterstützung von mehreren Programmiersprachen wie C, C++, PHP hinzugefügt werden. Zusätzliche Verbesserungen wie etwa Multithreading-Support, Entwicklung eines Cloud-Service und Verbesserung der Visualisierung sind für das nächste Release geplant.