Softwaresysteme "Sicher by Design"

Die Fachgruppe "Secure Software Engineering" erforscht, entwickelt und bewertet Methoden und Werkzeuge, um Softwaresysteme von Grund auf sicher zu gestalten. In vielen im Einsatz befindlichen Softwareentwicklungsprozessen wird die Sicherheit von Softwaresystemen leider immer noch als nebensächlich behandelt. In Folge dessen werden Sicherheitsaspekte oft erst zu spät berücksichtigt, zu einem Zeitpunkt, in dem eine korrekte Absicherung des Systems schnell teuer wird. Die Folgen sind oft desaströs und der Auslöser für die heute vielfach beobachteten Datenlecks und anderen Sicherheitsvorfälle. Solche Vorfälle kosten die betroffenen Unternehmen letztendlich ihren Ruf und einen signifikanten Teil ihres Erlöses, von den eigentlichen Problemen, die durch Datendiebstahl entstehen ganz abgesehen.

Das Hauptziel der Fachgruppe liegt darin, solche Sicherheitsprobleme von vorne herein zu vermeiden, indem softwarelastige Systeme so entwickelt werden, dass Sicherheit von Anfang an ein fester Bestandteil des Entwicklungsprozesses ist. So entwickeln wir Methoden, mit denen Softwareentwickler Sicherheitsanforderungen ganzheitlich erfassen können, um dann mit Angriffsmodellen und Bedrohungsniveaus abzugleichen. In einem zweiten Schritt werden diese Anforderungen dann gegen die konkrete Implementierung im Programmcode verglichen. Hier setzen wir vor allem auch auf Werkzeuge zur automatisierten Codeanalyse, die sich beispielsweise Techniken der statischen oder dynamischen Analyse bedienen, aber auch auf Werkzeuge zur Generierung beweisbar sicheren Programmcodes aus abstrakten, teils menschenlesbaren Spezifikationen.

Unsere Arbeit umfasst u.a. folgende Forschungsthemen:

  • Statische und dynamische Programmanalyse
  • Automatisierte Erkennung von Softwareschwachstellen und Schadprogrammen
  • Sichere Softwareentwicklungsprozesse
  • Modellbasierte Entwicklung mechatronischer und eingebetteter Systeme sowie betrieblicher Informationssysteme

Tagungen unter Mitwirkung der Fachgruppe Secure Software Engineering

16.09.2024 - 20.09.2024

International Symposium on Software Testing and Analysis (ISSTA)

Mehr erfahren
14.04.2024 - 20.04.2024

46th International Conference on Software Engineering (ICSE 2024)

Mehr erfahren
15.03.2024 - 16.03.2024

heise devSec 2024

Mehr erfahren
25.10.2023 - 27.10.2023

Software Engineering Forschungsmethoden Training (Research Meeting 23433)

Mehr erfahren
18.10.2023 - 20.10.2023

IEEE Secure Development Conference

Mehr erfahren
17.05.2023 - 17.05.2023

SootUP Hackathon 2023

Mehr erfahren
Weitere Veranstaltungen

Software-Werkzeuge

Cheetah

Just-in-time Analyse

Mehr erfahren

CodeInspect

CodeInspect ist ein Reverse-Engineering Framework für Android und Java Applikationen.

Mehr erfahren

CogniCrypt

CogniCrypt ist ein statisches Analysewerkzeug zur Detektion von Falschverwendungen von kryptographischen APIs. CogniCrypt ist leicht anpassbar, da die Analyse in der domänenspezifischen Sprache CrySL mit Regeln zu den jeweiligen kryptographischen APIs konfiguriert wird.

Mehr erfahren

FlowDroid

FlowDroid ist ein kontext-, fluss-, feld- sowie objektsensitives und laufzeitbewusstes Werkzeug zur statischen Taint-Analyse für Android Applikationen.

Mehr erfahren

Phasar

Phasar ist ein neues statisches Codeanalyseframework basierend auf LLVM. Phasar bietet verschiedene Datenfluss-Solver an, die das vollautomatische Lösen beliebiger (entscheidbarer) Datenflussprobleme auf der LLVM Zwischen-Repräsentation (LLVM IR) erlauben.

Mehr erfahren

Soot

Soot ist eines der meistgenutzten Analyse- und Transformations-Frameworks für Java Bytecode und Sourcecode. Soot umfasst vielfältige Zwischen-Repräsentationen, die statische Programmanalyse so einfach wie möglich machen. Soot ist zwar nicht unsere eigene Entwicklung ist, wird aber von uns gewartet.

Mehr erfahren

SootUp

SootUp ist die neue Version des beliebten statischen Analyse-Frameworks Soot, mit einer komplett überarbeiteten Architektur.

Mehr erfahren

TamiFlex

TamiFlex ist unsere Lösung für das gefürchtete "reflection-problem" in statischer Programmanalyse für Java. Mit Hilfe von sog. Reflections können Java Programme Methoden aufrufen und auf Felder und Klassen indirekt zugreifen, indem sie einen String an eine spezielle Methode der Reflections-API weiterreichen.

Mehr erfahren

VisuFlow

VisuFlow ist eine Debugging-Umgebung für statische Datenflussanalyse basierend auf dem Soot Analyse-Framework.

Mehr erfahren