Gesamt-Schlussbericht des Verbundprojektes Deutsch - CC Gmbh
Gesamt-Schlussbericht des Verbundprojektes Deutsch - CC Gmbh
Gesamt-Schlussbericht des Verbundprojektes Deutsch - CC Gmbh
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
Entgegen der ursprünglichen Planung wird für den realen praktischen Einsatz <strong>des</strong><br />
Werkzeugs eine Weiterentwicklung der Software (z. B. hinsichtlich von Usability,<br />
Performanz, Dokumentation) notwendig werden. Diese wird jedoch keine grundlegende<br />
Änderung der zugrunde liegenden Prinzipien oder Arbeitsweisen von SecFlow beinhalten,<br />
sondern eher eine Verfeinerung und Ergänzung der bestehenden Funktionen und<br />
praxisrelevante Anpassungen darstellen. Das Projekt liefert trotzdem ein wissenschaftlich<br />
fundiertes und wirtschaftlich verwertbares Ergebnis.<br />
1.3.6 Einsatz finanzieller Mittel<br />
Das Projekt blieb seitens der Projektpartner IESE, SHE und <strong>CC</strong> im kalkulierten finanziellen<br />
Rahmen. Die Kosten für die Projektdurchführung wurden gegenüber der <strong>Gesamt</strong>vorkalkulation<br />
bei ICT leicht überschritten. Aufgrund der Wichtigkeit <strong>des</strong> Projekts und der zu<br />
erwartenden positiven wirtschaftlichen Erfolgsaussichten nach Projektende wurde von ICT<br />
jedoch entschieden, diese Kosten selbst zu tragen.<br />
Die Laufzeitverlängerung konnte von allen Partnern kosten-neutral realisiert werden.<br />
1.4 Wissenschaftlicher und technischer Stand, an den angeknüpft wurde<br />
Anknüpfungspunkt für das Vorhaben waren einschlägige Vorarbeiten auf dem Gebiet der<br />
statischen Programmanalyse sowie der Datenflussanalyse. Frühere Untersuchungen, die<br />
gezeigt hatten, welche Vorzüge statische Analysen gegenüber konkurrierenden Ansätzen<br />
aufweisen (siehe etwa [Engler&Musuvathi 2004]), hatten den Ausschlag gegeben,<br />
grundsätzlich einen statischen Analyseansatz zu wählen. Verschiedene wichtige Bausteine<br />
für eine Datenflussanalyse waren bereits aus vorangegangenen Forschungsarbeiten in den<br />
Grundzügen bekannt. So konnte zum Beispiel in Bezug auf sogenannte "Points-to"-Analysen<br />
auf vorhandene Methoden zurückgegriffen werden [Hind 2001, Whaley&Lam 2004]. Der<br />
wissenschaftliche Schwerpunkt <strong>des</strong> Projekts lag vor allem in der Integration der vielen<br />
partiellen Ansätze für statische Sicherheitsanalysen in ein <strong>Gesamt</strong>konzept.<br />
Die Projektpartner waren sich einig, dass – soweit dies möglich ist – bei der Realisierung<br />
einzelner Teilkomponenten <strong>des</strong> SecFlow-Frameworks auch auf bereits existierende<br />
Konzepte und Methoden zurückgegriffen werden sollte, um den Implementierungsaufwand<br />
in Grenzen zu halten und das Projekt auf Aspekte der Sicherheitsanalyse zu konzentrieren.<br />
Dazu wurden eine ausführliche Technologierecherche und -bewertung sowie eine<br />
entsprechende Auswahl durchgeführt. Bei der Realisierung <strong>des</strong> Werkzeugkerns wurden<br />
schließlich Teile verschiedener Open Source Software im Framework adaptiert und<br />
integriert:<br />
Um das Analysewerkzeug sprachunabhängig zu gestalten, wurden die Analysemodule von<br />
den sprachabhängigen Compiler-Modulen getrennt. Dazu wurde der Quellcode der<br />
unterstützten Programmiersprachen in ein gemeinsames Zwischenformat (Quad)<br />
umgewandelt. Für diesen Transformationsschritt wurde auf Module der frei verfügbaren<br />
Java-kompatiblen Implementierung der virtuellen Maschine "Joeq" zurückgegriffen [Whaley<br />
2005]. Sie wurde für die Zwecke <strong>des</strong> Projekts entsprechend angepasst.<br />
Zur Modellierung von Datenflüssen und Analyseregeln entschied sich das Konsortium nach<br />
Abwägung und Erprobung verschiedener Realisierungsalternativen für eine deduktive<br />
Datenbank. Die Wahl fiel schließlich auf die Datenbank-Programmiersprache "Datalog"<br />
(http://de.wikipedia.org/wiki/Datalog) und die eigens für Analysezwecke entwickelte BDDbasierte<br />
Deduktive Datenbank BDDBDDB (Binary Desicion Diagrams Based Deductive<br />
DataBase) [Whaley 2004, Whaley et al. 2005].<br />
Für die Realisierung eines Übersetzers für .NET-Bytecode in die Zwischendarstellung Quad<br />
wurde ein Bytecodeparser benötigt, der in der Lage ist, Assemblyfiles zu lesen und zu<br />
parsen. Mit MBEL (Microsoft Bytecode Engineering Library) fand sich eine Open-Source-<br />
Bibliothek, die in Java programmiert und relativ unabhängig von der Ausführungsumgebung<br />
ist [MBEL 2008].<br />
Datei<br />
SecFlow_<strong>Gesamt</strong>schlussbericht_V10.odt<br />
Version<br />
1.0<br />
Datum<br />
2009-02-02<br />
Bearbeiter/in<br />
Dana Richter<br />
Seite<br />
7 von 27