SeCoMo

FFG COMET, 2019-2022

Secure Code and Runtime Monitoring

Kontext und Motivation

Das Ziel des Projektes SeCoMo ist es, Werkzeuge und Methoden zu erforschen und zu verbessern, die Sicherheitsprobleme bereits während des Engineerings erkennen. Gerade weil Sicherheit immer wichtiger wird muss auf vielen Ebenen darauf geachtet werden, insbesondere bereits beim Engineering von Software.

Software-Anwendungen sind zunehmend vernetzt, und die Zahl der cyber-physikalischen Systeme (CPS) wächst, insbesondere in der Industrie. Diese Vernetzung führt zu hohen Sicherheitsanforderungen. Informationssicherheit wird seit langem erforscht und es gibt viele mögliche Lösungen und Technologien. Sicherheit hat aber mehr Aspekte und muss auf mehreren Ebenen behandelt werden, daher ist das Thema Secure Coding auch immer öfter Bestandteil der Software Entwicklung.
Um Sicherheit bereits im Software Engineering zu adressieren, braucht es auch Werkzeuge die bei der Analyse von Software helfen. Dafür gibt es bereits eine Reihe von Lösungen, allerdings sind noch viele Sicherheitsprobleme nicht erfasst oder Werkzeuge sind in manchen Domänen noch nicht verfügbar (Automatisierungssoftware, IEC Code).
Generell konzentriert sich SeCoMo auf einen systematischen Ansatz für die Entwicklung sicherer Software, der die verschiedenen Phasen der Softwareentwicklung besser integriert. Das Fachwissen der jeweiligen Domäne muss von der Spezifikation über den Quell- und Binärcode bis hin zur Ausführung erhalten bleiben und für entsprechende Sicherheitsprüfungen über die gesamte Kette hinweg nutzbar sein. Dieses Projekt konzentriert sich insbesondere auf den Übergang von der Spezifikation sicherer Software zu sicherem Code und auf der anderen Seite auf den Betrieb, die Wartung und die Überwachung der ausführbaren Dateien vor Ort. Dies wird mit unserem Fachwissen über statische und dynamische Code-Analyse im Hinblick auf sicherheitsrelevante Fragen kombiniert.

Ziele

Das Ziel des Projektes SeCoMo ist es, Werkzeuge und Methoden zu erforschen und zu verbessern, die Sicherheitsprobleme bereits während des Engineerings erkennen. Gerade, weil Sicherheit immer wichtiger wird muss auf vielen Ebenen darauf geachtet werden, insbesondere bereits beim Bauen von Software.

Zentrale Idee ist, intelligente Software Analyse bereitzustellen, die

  • Sicherheitsprobleme im Source Code und zugehörigen Artefakten erkennt
  • Robustheit von Software automatisiert und zielgerichtet testen kann
  • Entwickler bei der sicheren Implementierung von Software hilft
  • für Industrie und Automatisierungssoftware einsetzbar ist
  • Bei der Erfüllung von Standards hilft


Dafür werden Methoden und Konzepte der statischen und dynamischen Programmanalyse, Software Repository Mining und automatisierte Testverfahren verwendet.

Ergebnisse

Softwareprototypen

  • MQTT Protokoll Analyse über Fuzztesting
  • OPC UA Honey Pot zur Analyse möglicher Attacken
  • Fuzz-Tester für Robustheitsanalysen von Software
  • Gramar mining

Fördergeber

Das Projekt wird im Rahmen von COMET – Competence Centers for Excellent Technologies durch BMK, BMDW, Land Oberösterreich und den wissenschaftlichen Partnern des SCCH gefördert. Das Programm COMET wird durch die FFG abgewickelt.

Projektdauer

48 Monate (1. Jänner 2019 - 31. Dezember 2022)