SCCH erhöht mit neuem Tool die Sicherheit von Industrie-Software
„Software wird zunehmend agil entwickelt. Dabei ist die Robustheit gegen Fehler und Angriffe oberstes Ziel – insbesondere bei Softwaresystemen in der Industrie. Daher unterstützen wir die Entwickler dabei, Fehler frühzeitig zu finden und Security in jede Phase des Entwicklungsprozesses zu bringen“, erklärt Hannes Sochor, Researcher für Software Security Analysis am SCCH. Fuzzing gilt als eine der wichtigsten Methoden zur Qualitätssicherung von sicherheitskritischen Programmen. Dabei werden verschiedene Eingabefelder im Programm mit zufälligen, unerwarteten Daten geflutet, um Schwachstellen in der Software aufzudecken. „Diese Technik findet Fehler, die sonst übersehen werden. Stürzt das Programm bei bestimmten Daten reproduzierbar ab, wird klar, wo es Daten nicht richtig verarbeiten kann und möglicherweise Angriffsfläche für fremden Zugriff bietet“, erklärt Sochor.
Schwachstellen im Code aufdecken
Analysiert man einen Code, ist aber nicht auf den ersten Blick erkennbar, welche Daten ein Programm akzeptiert. „In diesen Fällen nutzen wir am SCCH den Quelltext des Programms. Dazu haben wir eKNOWS entwickelt – ein Framework mit dem wir Software analysieren und das Fachwissen der Ingenieure, das im Source Code steckt, extrahieren können. Üblicherweise sind solche Tools nur auf eine Programmiersprache spezialisiert. Das von uns entwickelte eKNOWS ist aber eine universelle Plattform mit breiter Sprachunterstützung und eines der wenigen Werkzeuge für Qualitätsanalysen in der Automatisierungsindustrie“, erklärt Thomas Ziebermayr, Leiter des Bereichs Software Science am SCCH.