Gesamt-Schlussbericht des Verbundprojektes Deutsch - CC Gmbh
Gesamt-Schlussbericht des Verbundprojektes Deutsch - CC Gmbh
Gesamt-Schlussbericht des Verbundprojektes Deutsch - CC Gmbh
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
Weiterhin wurden im Rahmen der Evaluierung von Testanwendungen Datenflüsse<br />
spezifiziert und Junit Tests geschrieben. Dies war notwendig, um die entsprechenden<br />
Klassen über das Datenflussanalyse-Werkzeug auf sicherheitskritische Schwachstellen hin<br />
überprüfen zu können. Damit die Tests durchgeführt werden konnten, mussten für weite<br />
Teile der Testanwendungen Datenflussbeschreibungen – d. h. Summaries – erstellt werden.<br />
Mit ihrer Hilfe kann das Analysewerkzeug die Datenflüsse außerhalb seines Analysebereichs<br />
erkennen und entscheiden, ob sich dabei Schwachstellen ergeben.<br />
Im Zusammenhang mit der Erstellung von Testfällen arbeiteten ICT und SHE eng<br />
zusammen. In mehreren Teilprojekttreffen zum Thema "Test" erörterten sie gemeinsam<br />
relevante Schwachstellen und ein entsprechen<strong>des</strong> Vorgehen, um entsprechende Co<strong>des</strong>tellen<br />
in den bestehenden Anwendungen definieren zu können.<br />
In der Validierungsphase <strong>des</strong> Projektes wurde der Werkzeug-Prototyp über einen Zeitraum<br />
von fünf Wochen von den Anwendungspartnern SHE und ICT unter kontrollierten,<br />
realitätsnahen Versuchsbedingungen erprobt. Neben ausführlichen Funktionstests wurde<br />
auch die Usability, d. h. der Komfort bei der Bedienung <strong>des</strong> Werkzeugs betrachtet.<br />
Die Ergebnisse wurden protokolliert und statistisch ausgewertet. Von den Implementierungspartnern<br />
IESE und <strong>CC</strong> wurden daraufhin notwendige Fehlerkorrekturen durchgeführt und die<br />
durch die Benutzer eingebrachte Verbesserungen und Erweiterungen im Handling von<br />
SecFlow implementiert.<br />
Wissensbasis<br />
Um dem Anwender von SecFlow später auch eine inhaltliche Hilfe zu den gefundenen<br />
Schwachstellen zu bieten, wurde von ICT eine Wissensbasis angelegt. Diese beinhaltet<br />
Codebeispiele und Entwicklerhinweise, auf die bei Problemen zugegriffen werden kann. Die<br />
Fälle sind hierarchisch aufbereitet und definierten Problembereichen zugeordnet. Die<br />
Wissensbasis wurde bisher mit ca. 50 Fällen aus verschiedenen sicherheitsrelevanten<br />
Bereichen gefüllt. Über das Datenfluss-Werkzeug und über den von ICT entwickelten Source<br />
Code Scanner erhält der Anwender einfachen und direkten Zugriff auf die Fälle der<br />
Wissensbasis. Zur Umsetzung wird die Plattform www.secflow.de genutzt, die mit dem<br />
Content Management System I<strong>CC</strong>ontent betrieben wird.<br />
Musterbasierte Codeanalyse<br />
Neben dem datenflussbasierten SecFlow-Werkzeug wurde für die Sprache Java ein<br />
musterbasierter Source Code Scanner als Prototyp für Java in Form eines Eclipse-Plugins<br />
während <strong>des</strong> Projektes durch ICT erstellt. Das Tool dient der Ermittlung von möglichen<br />
Schwachstellen, die rein musterbasiert, also unabhängig vom Kontroll- und Datenfluss,<br />
erkennbar sind. Hintergrund dieser Entwicklung war der Idee, sicherheitskritische<br />
Co<strong>des</strong>tellen bereits während der Codierung aufzudecken und dem Entwickler ähnlich einer<br />
Rechtschreibprüfung anzuzeigen.<br />
2.2 Darstellung <strong>des</strong> voraussichtlichen Nutzens<br />
2.2.1 Nutzen für die Allgemeinheit<br />
Das Open Web Application Security Project (OWASP) veröffentlicht je<strong>des</strong> Jahr die Rangliste<br />
der wichtigsten Sicherheitsmängel von Web-Anwendungen. Nach wie vor belegen dabei<br />
kritische Sicherheitsmängel, die auf ungeprüften Eingabedaten basieren, die vordersten<br />
Plätze. Das SecFlow-Werkzeug zeigt solche Sicherheitsschwachstellen auf Anwendungsebene<br />
automatisch an.<br />
Das Ergebnis <strong>des</strong> SecFlow-Projektes ist ein funktionsfähiger Prototyp eines<br />
Analysewerkzeugs für Java- und .Net-Anwendungen. Es kann die Datenflüsse in<br />
Anwendungen auf reale und potentielle Sicherheitslücken überprüfen und zeichnet sich<br />
durch ein hohes Maß an Sprachunabhängigkeit aus. Ein Großteil der Sicherheitslücken<br />
beruht auf Fehlern bei der Programmierung, die auf fehlen<strong>des</strong> Wissen der Entwickler über<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 />
19 von 27