Entwurfswerkzeuge

Diese Seite bietet eine Übersicht über sämtliche im Rahmen von CRISP erarbeiteten Entwurfs- und Testwerkzeuge. Dies sind typischerweise Software-Anwendungen oder Add-ons, die den Entwurf sicherer Software von Anfang an unterstützen.

Die Software-Werkzeuge werden nach einem einheitlichen Schema dargestellt. Eine Kurzbeschreibung des Werkzeugs soll eine Übersicht über den Anwendungsbereich und den Nutzen des Werkzeugs liefern. Weitere Kategorien geben In­for­ma­tio­nen zu:

  • Zielgruppe – Wer ist der typische Anwender des Software-Werkzeugs? z.B. Endnutzer, Entwickler, …
  • Software-Ent­wicklungs­phase – In welcher Phase ist das Tool einsetzbar? z.B. Anforderungsanalyse, Design, Implementierung, Testen, …
  • Anwendungsumgebung – In welcher Umgebung ist das Werkzeug einsetzbar bzw. welche Einschränkungen und Besonderheiten gibt es bzgl. des Anwendungsbereiches?
  • Programmiersprache.

Für weitere In­for­ma­tio­nen zu den Werkzeugen folgen Sie bitte jeweils dem Link am Ende, der Sie zu den Projektseiten unserer CRISP-Forscher führt.


Adele

Name: An Automatic Inference of Minimal Security Types
Autoren: Dominik Bollmann, Steffen Lortz, Heiko Mantel, Artem Starostin
Veröffentlicht: 11th International Conference on Information Systems Security (ICISS'15)

Beschreibung: Der Assistant for Developing Leak-free Programs (Adele) ist ein Eclipse-Plugin zur statischen Ermittlung von Informationslecks im Quelltext von Java Programmen. Es unterstützt Programmierer bei der Entwicklung sicherer Software, indem es ihnen Feedback über mögliche Sicherheitsprobleme in ihrem Quelltext gibt, während sie ihn schreiben. Adele stellt mögliche Sicherheitsprobleme in einer Übersicht dar und hebt sie im Quelltext hervor.

Zielgruppe: Softwareentwickler, Programmierer
Softwareentwicklungsphase: Implementierung, Testen
Anwendungsgebiet: Eclipse-Plugin, Command-Line Tool
Programmiersprache: Java
Lizenz: MIT Lizenz (http://opensource.org/licenses/MIT)

Weitere In­for­ma­tio­nen 


Reviser

Name: Reviser - Inkrementelle Analyse
Autoren: Steven Arzt, Eric Bodden
Veröffentlicht: ICSE 2014

Beschreibung: Reviser ist ein Algorithmus, mit dem beliebige Analysen eines bestimmten Typs inkrementalisiert werden können. Gibt es nach der Analyse eines Programms ein Programmupdate, muss die Analyse nicht komplett neu durchgeführt werden. Mit Reviser können die bestehenden Ergebnisse so aktualisiert werden, dass sie zur neuen Version des analysierten Programms passen.

Zielgruppe: Softwareentwickler
Software-Ent­wicklungs­phase: Testen
Anwendungsumgebung: Alle
Programmiersprache: Java
Lizenz: LGPL 2.1

Weitere In­for­ma­tio­nen


Ivy

Titel: Ivy Visualization
Autoren: Andreas Poller, Petra Ilyes, Andreas Kramm

Beschreibung: Ein HTML/JavaScript-basiertes Tool zur Analyse der mit ROSE gesammelten Daten.

Zielgruppe: Softwareentwickler, Forscher
Software-Ent­wicklungs­phase: Testen
Anwendungsumgebung: Opera, Mozilla Firefox, Google Chrome
Lizenz: GPL, Software Repository

Weitere In­for­ma­tio­nen


ROSE

Titel: Research Tool for Online Social Environments
Autoren: Andreas Poller, Petra Ilyes, Andreas Kramm
Veröffentlicht: CSCW ’13 Measuring Networked Social Privacy Workshop, February 23-27, 2013, San Antonio, Texas, USA

Beschreibung: ROSE ist ein Softwaretool, um die Nutzungsgewohnheiten von Facebook-Nutzern während einer zeitlich begrenzten empirischen Studie zu beobachten. ROSE sammelt Daten zu technischen Ereignissen, z.B. wenn ein Nutzer spezifische Funktionen des sozialen Netzwerks anwednet und Studienteilnehmer lokal zu bestimmten Ereignissen Kommentare abgeben können.

Zielgruppe: Softwareentwickler, Forscher
Software-Ent­wicklungs­phase: Testen
Anwendungsumgebung: Opera, Mozilla Firefox, Google Chrome
Lizenz: GPL, Software Repository

Weitere In­for­ma­tio­nen

Designing privacy-aware online social networks - A reflective socio-technical approach


Soot

Titel: Soot – Static code analysis and transformation for Java

Beschreibung: Soot ist ein Analyse- und Transformationswerkzeug für Java. Entwickelt wurde es von der Sable Research Group of McGill University, Kanada, mit Beiträgen anderer Forscher weltweit. 

Zielgruppe: Softwareentwickler
Software-Ent­wicklungs­phase: Entwicklung
Anwendungsumgebung: Java, Eclipse Plugin
Programmiersprache: Java

Lizenz: LGPL 2.1

Weitere In­for­ma­tio­nen


Clara

Titel: Clara - CompiLe-time Approximation of Runtime Analyses
Autor: Eric Bodden
Veröffentlicht: siehe

Beschreibung: CompiLe-time Approximation of Runtime Analyses) ist ein wissen­schaft­liches Framework zur Implementierung von hybriden Typestate-Analysen, welche statische Analysen zu partiellen Evaluierung von Laufzeitmonitoren für Typestate-Eigenschaften verwendet.

Zielgruppe: Forscher in Software Engineering, Entwickler
Software-Ent­wicklungs­phase: Implementierung
Anwendungsumgebung: Plattformunabhängig
Programmiersprache: Java

Weitere In­for­ma­tio­nen


DroidBench

Titel: DroidBench
Autoren: Steven Arzt, Siegfried Rasthofer, Christian Fritz, Eric Bodden
Veröffentlicht: PLDI 2014

Beschreibung: DroidBench ist eine Sammlung von Applikationen zum Testen auf und Identifizieren von Sicherheitsproblemen bei Schutztools für Android. Zum Überprüfen auf Fehlalarme befinden sich Beispielprogramme ohne Sicherheitsprobleme im Softwarepacket.

Zielgruppe: Entwickler von statischen und dynamischen Analysetools
Software-Ent­wicklungs­phase: Testen
Anwendungsumgebung: Android
Programmiersprache: Java
Lizenz: LGPL 2.1

Weitere In­for­ma­tio­nen


FlowDroid

Titel: FlowDroid
Autoren: Steven Arzt, Siegfried Rasthofer, Christian Fritz, Eric Bodden
Veröffentlicht: PLDI 2014

Beschreibung: FlowDroid ist ein kontext-, fluss-, feld-, und objektsensitives den Lifecycle beachtendes statisches Taintanalyse-Tool für Android Applikationen. Gegenüber anderen statischen Analysetools punktet es mit hohem Recall und hoher Präzision.

Zielgruppe: Softwareentwickler
Software-Ent­wicklungs­phase:
Entwicklung, Testen
Anwendungsumgebung: Java / Android
Programmiersprache: Java
Lizenz: LGPL 2.1

Weitere In­for­ma­tio­nen


Heros

Titel: Heros - efficient solving of simple-to-define IFDS and IDE problems
Autor: Eric Bodden
Veröffentlicht: Inter-procedural Data-flow Analysis with IFDS/IDE and Soot (Eric Bodden), In 1st ACM SIGPLAN International Workshop on the State Of the Art in Java Program Analysis (SOAP 2012),pages 3–8, 2012

Beschreibung: Heros dient zur Analyse interprozeduraler Daten- und Kontrollflüsse. Mit Heros können Nutzer diese Analysen auf einfache Template-Basis definieren. Die Analyseprobleme werden dann durch Heros vollautomatisch gelöst.

Zielgruppe: Entwickler von Codeanalysen
Software-Ent­wicklungs­phase: Implementierung
Anwendungsumgebung: Plattformunabhängig
Programmiersprache: Java
Lizenz: LGPL

Weitere In­for­ma­tio­nen


Joint Point Interfaces

Titel: Joint Point Interfaces – Modular type checking of AO programs

Beschreibung: Joint Point Interfaces sind Schnittstellen, die es ermöglichen erprobte Sicherheitsmodule an vor­handenen Programmcode anzudocken und somit die Sicherheit einer Anwendung erhöhen. Dieses Forschungsergebnis ermöglicht es Entwicklern sichere Software zu entwickeln, ohne sich selbst umfassendes Sicherheitswissen aneignen zu müssen.

Zielgruppe: Softwareentwickler
Software-Ent­wicklungs­phase: Implementierung, Testen, Erweiterung
Anwendungsumgebung: Teil des Open Source Projects AspectBench Compiler
Programmiersprache: Java

Weitere In­for­ma­tio­nen