28.11.2012 Aufrufe

Gesamt-Schlussbericht des Verbundprojektes Deutsch - CC Gmbh

Gesamt-Schlussbericht des Verbundprojektes Deutsch - CC Gmbh

Gesamt-Schlussbericht des Verbundprojektes Deutsch - CC Gmbh

MEHR ANZEIGEN
WENIGER ANZEIGEN

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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!