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

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

<strong>des</strong> Werkzeugs bis zu seinen Ausgaben. Neben Informationen, die die Arbeit mit dem<br />

SecFlow-Framework vereinfachen, bietet das Handbuch auch einige Beispiele.<br />

Bewertung von Analysegüte und Performanz<br />

Zur Absicherung der Richtigkeit der Analyseergebnisse und zur Verifizierung der<br />

Werkzeugfunktionalität <strong>des</strong> erstellten Prototyps wurde die SecuriBench Micro [SecuriBench<br />

2006] benutzt, eine von der Stanford University veröffentlichte Sammlung von kurzen<br />

Programmbeispielen mit charakteristischen Problemfällen für statische Quellcodeanalysen.<br />

Neben der Unterstützung der laufenden Regressionstests während der Weiterentwicklung<br />

<strong>des</strong> Prototyps gewährleisteten diese Testfälle eine objektive Bewertung der Fähigkeit <strong>des</strong><br />

SecFlow-Frameworks, kritische Datenflüsse zu erkennen und dabei möglichst wenige falschpositive<br />

oder falsch-negative Befunde zu ermitteln.<br />

Für die Programmiersprache Java wurden 128 an die [SecuriBench 2006] angelehnte<br />

Testfälle ausgeführt. 110 Testfälle lieferten das korrekte, vollständige Ergebnis; 12 Testfälle<br />

ergaben einen falsch-positiven Befund und 6 Testfälle einen falsch-negativen Befund. Somit<br />

wurden etwa 86 Prozent der kritischen Datenflüsse richtig identifiziert bei einer Quote von<br />

weniger als 9,4 Prozent falsch-positiven Resultaten.<br />

Eine vergleichbare, ebenfalls auf [SecuriBench 2006] basierende Testsuite wurde von den<br />

Kooperationspartnern SHE und <strong>CC</strong> auch für die Programmiersprache C# konzipiert. Auch<br />

für diese Testfälle wurde eine vergleichbare Testabdeckung und Werkzeuggüte erzielt.<br />

Damit wurde für diese Testfallsammlungen das ursprüngliche Ziel, möglichst viele<br />

Datenflussprobleme zu erkennen und dabei weniger als 50 Prozent falsch-positive Befunde<br />

zu liefern, erreicht. Ob die erzielte Genauigkeit in der Praxis auch bei sehr umfangreichen<br />

Quellprogrammen ähnlich positiv bleibt, muss sich noch erweisen.<br />

Nach derzeitigem Befund bleibt die Performanz <strong>des</strong> Werkzeugs bisher hinter den im Projekt<br />

gesetzten Erwartungen zurück. Zu einem Teil ist dies der Zeitnot geschuldet, die leider ein<br />

umfangreicheres Feintuning einzelner Komponenten bzw. Konzepte verhinderte. Die<br />

Projektpartner sind zuversichtlich, dass die Analyseregeln noch signifikantes<br />

Optimierungspotential bergen, das in Zukunft noch erschlossen werden soll. Allerdings zeigt<br />

die allgemeine Erfahrung auch, dass statische Datenflussanalyse offenbar ein inhärent<br />

schwieriges Problem darstellt. Ein Indiz dafür liefern zum Beispiel auch Erfahrungsberichte<br />

von Anwendern verschiedener freier oder kommerziell vertriebener Analysewerkzeuge: Alle<br />

bekannten Analyseansätze leiden entweder unter geringer Analyseschärfe, einer hohen<br />

Rate falsch-positiver Befunde oder unter beschränkter Analysegeschwindigkeit — meist<br />

unter allen genannten Defiziten in unterschiedlichem Maße. Daher ist auch im günstigsten<br />

Fall nicht zu erwarten, dass ein Analysewerkzeug ein rundum befriedigen<strong>des</strong><br />

Analysevermögen hat. Nach heutigem Kenntnisstand werden Datenflussanalysen immer<br />

erheblichen Beschränkungen unterliegen.<br />

Werkzeugvalidierung<br />

Neben den oben beschriebenen "kleinen" Testfällen war es notwendig, die Funktionalität und<br />

Einsatzfähigkeit <strong>des</strong> Werkzeugs unter praxisnahen Bedingungen zu erproben. Dazu wurden<br />

insbesondere von den Praxispartnern ICT und SHE verschiedene Testfälle definiert, die<br />

Verwundbarkeiten in der Realität darstellen.<br />

ICT mit seinem Know-how bezüglich J2EE-Plattformen und Internet-Anwendungen stellte<br />

dafür Teile seines Content Management System I<strong>CC</strong>ontent zur Verfügung, in dem gezielt<br />

Verwundbarkeiten in verschiedenen Klassen eingebaut wurden. Die eingebauten<br />

Schwachstellen wurden so aufgebaut, dass sie aus verschiedenen Gefahrenbereichen<br />

stammen. So wurden insbesondere Schwachstellen aus den wichtigen Bereichen Command<br />

Injection, Error-Handling und Austausch von Systemparametern in die Testklassen<br />

eingebaut. SHE als Spezialist für Anwendungen in den Programmiersprachen C# und .NET<br />

stellte eine Testanwendung in einer alternativen Sprache (.Net) mit entsprechenden<br />

Eigenschaften zur Verfügung.<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 />

18 von 27

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!