IT-Security

© Fraunhofer IEM

Softwareintensive Produkte angriffssicher entwickeln und betreiben

Das nachträgliche Schließen von Sicherheitslücken in softwareintensiven Produkten ist aufwendig und teuer. Entwickler solcher Produkte können mit Security by Design bereits in frühen Phasen des Entwurfs IT-Sicherheitsanforderungen explizit dokumentieren und entsprechende Maßnahmen durchführen. Viele Statistiken belegen, dass Entwickler dadurch nicht nur ihre Kunden schützen und ihre Reputation stärken, sondern auch erheblich Kosten einsparen können. Hiermit lässt sich zudem der Einführung entsprechender Normen und Standards proaktiv zuvorkommen.

Das Fraunhofer IEM erforscht und entwickelt Prozesse, Methoden und Werkzeuge, um Security by Design minimalinvasiv und kosteneffektiv in Unternehmen umzusetzen. Hierbei forscht das Institut gemeinsam mit den weltweit führenden Unternehmen der Softwareentwicklung und transferiert die gewonnenen Erkenntnisse in die regionale Industrie.  

Zahlen & Fakten

Das Fraunhofer IEM gehört zu den weltweit führenden Forschungseinrichtungen im Bereich des Secure Software Engineering. Gemeinsam mit Forscherinnen und Forschern aus aller Welt entstehen jedes Jahr Publikationen auf den Top-Konferenzen der IT-Sicherheit und des Software Engineerings.  

© Fraunhofer IEM

 

Veröffentlichung von Schwachstellen

Forscherinnen und Forscher des Fraunhofer IEM und des Heinz Nixdorf Instituts entdecken regelmäßig unbekannte Schwachstellen in IT-Produkten. Allein in 2018 detektierten sie mit dem Werkzeug CogniCrypt sicherheitskritische Fehlbenutzungen von kryptographischen Schnittstellen in tausenden Android-Apps und Java-Artefakten. Die Forscherinnen und Forscher haben es sich zur Aufgabe gemacht, wo immer möglich, im Rahmen eines Coordinated Disclosure-Prozesses die Hersteller der Produkte auf diese Schwachstellen hinzuweisen. Das heißt, dass die Hersteller bereits vor der Veröffentlichung der Schwachstellen informiert werden, damit diese dann ausreichend Zeit und Unterstützung erhalten, um die Schwachstellen vor dem Publik machen zu beheben.

Hier sind einige anonymisierte Beispiele für Sicherheitsschwachstellen, die durch uns identifiziert und behoben wurden:

  • Mangelhafte symmetrische Kryptografie (fixer Initialisierungsvektor) in der Android-App Norton Identity Safe (>500.000 Downloads in Google Play), CVE-2018-12240
  • Mangelhafte Schlüsselableitung aus einem Nutzerpasswort in einer Banking-App einer führenden deutschen Bank  (>1 Mio. Downloads in Google Play)
  • Nutzung des veralteten Krypto-Algorithmus RC4 in einer Open-Source Bibliothek für Kerberos-basierte Authentisierung.

Das Fraunhofer IEM berät ebenfalls Unternehmen in der Umsetzung von Incident Response-Prozessen, also dem koordinierten Umgang mit Schwachstellenmeldungen und der Einleitung entsprechender Maßnahmen.  

Werkzeuge

Die Forscherinnen und Forscher des Fraunhofer IEM haben bereits einige weltweit führende Softwarewerkzeuge entwickelt, von denen wir hier die wichtigsten aufführen.

CogniCrypt

Im Rahmen des Sonderforschungsbereichs CROSSING der Technischen Universität Darmstadt und in Zusammenarbeit mit dem Heinz Nixdorf Institut der Universität Paderborn wurde das Werkzeug CogniCrypt entwickelt. CogniCrypt hilft Entwicklerinnen und Entwicklern, sicherheitskritische Fehlbenutzungen kryptografischer Bibliotheken schnell und zuverlässig zu identifizieren und zu beheben. Das Fraunhofer IEM hat dieses Werkzeug nun zur Marktreife weiterentwickelt und stellt es als quelloffenes Eclipse-Projekt zur Verfügung.   

© Fraunhofer IEM

Soot

Soot ist das weltweit führende Rahmenwerk zur statischen und dynamischen Analyse von Java- und Android Applikationen. Als generisches Rahmenwerk bildet es die Grundlage für viele andere Werkzeuge des Fraunhofer IEM und für mehr als 1.500 andere Forschungsgruppen weltweit. Soot entstand Ende der 90er Jahre in der Sable Research Group der McGill University. Seit 2006 wird es federführend von der Forschungsgruppe von Prof. Bodden entwickelt. Soot ist als Open Source verfügbar.

 

FlowDroid

FlowDroid ist das weltweit führende Werkzeug zur statischen Datenfluss-Analyse für Java- und Android-Applikationen. Es basiert im Kern auf Soot, erweitert es jedoch um eine leistungsfähige  und präzise Datenflussanalyse und unterstützt die Analyse von Android Apps. FlowDroid kommt bei hunderten Forschungsgruppen weltweit zum Einsatz und wird auch kommerziell genutzt, zum Beispiel als Basis für Sicherheitsanalysen in einem der weltweit größten App-Stores. Wie Soot ist auch FlowDroid als Open Source verfügbar.  

Phasar

Phasar ist das erste quelloffene Rahmenwerk zur statischen Programmanalyse auf Basis des Compiler-Frameworks LLVM. Mittels Phasar lässt sich vor allem C/C++-Quelltext analysieren, jedoch auch andere Programmiersprachen und Binärformate, die LLVM unterstützen. Im Gegensatz zu LLVM selbst umfasst Phasar Call-Graph- und Pointer-Analysen sowie ein Rahmenwerk für die effiziente Implementierung von inter-prozeduralen Datenflussanalysen. Phasar ist als Open-Source verfügbar.

Boomerang und IDEal

Boomerang ist eine statische Pointer-Analyse mit sehr hoher Effizienz und Präzision. Die Analyse ist so konzipiert, dass sie »nachfragegetrieben« nur diejenigen Teile des Programmcodes analysiert, für die dies gerade notwendig ist. Durch dieses Vorgehen sowie durch am Fraunhofer IEM entwickelte Algorithmen und Programmabstraktionen lassen sich Pointer-Beziehungen somit endlich effektiv auflösen.

IDEal ist ein generisches Rahmenwerk, das erlaubt, Datenflussanalyse auf sehr einfache Weise zu benutzen, die mittels Boomerang Pointer-Beziehungen auflösen.  

Videos

Warum IT-Sicherheitsforschung?

Unsere Experten sind nicht nur führend in der Forschung, sondern werden auch regelmäßig gebeten, Forschungsthemen zu verschiedenen Anlässen zielgruppengerecht aufzubereiten. In den hier gezeigten Videos erklärt Prof. Eric Bodden einige wichtige Zusammenhänge in der IT-Sicherheit.

In unserer Reihe »Experten im Gespräch« erklärt Prof. Eric Bodden, wieso auch nach Jahren der Forschung weiterhin innovative IT-Lösungen für softwareintensive Systeme entwickelt werden müssen und welche Maßnahmen Cyberangriffe erschweren.

Experten im Gespräch: IT-Sicherheit im Mittelstand

Unsere Experten sind nicht nur führend in der Forschung, sondern werden auch regelmäßig gebeten, Forschungsthemen zu verschiedenen Anlässen zielgruppengerecht aufzubereiten. In den hier gezeigten Videos erklärt Prof. Eric Bodden einige wichtige Zusammenhänge in der IT-Sicherheit.

Hacker-Angriffe auf Produktionsprozesse, Diebstahl von sensiblen Kundendaten, digitales Ausspähen von Betriebsgeheimnissen – oft genügt ein Einfallstor und die IT-Sicherheit ist gefährdet. In unserer Reihe »Experten im Gespräch« erklärt Prof. Eric Bodden, wie sich mittelständische Unternehmen gegen IT-Angriffe wappnen, welche Punkte ein wirksames Schutzkonzept beinhaltet und welche Rolle Prüfsiegel spielen.

Experten im Gespräch: Automatisierung für sichere Software

Unsere Experten sind nicht nur führend in der Forschung, sondern werden auch regelmäßig gebeten, Forschungsthemen zu verschiedenen Anlässen zielgruppengerecht aufzubereiten. In den hier gezeigten Videos erklärt Prof. Eric Bodden einige wichtige Zusammenhänge in der IT-Sicherheit.

Eine Rechtschreibprüfung für Entwickler? Prof. Eric Bodden erklärt in der Reihe »Experten im Gespräch«, wie automatisierte Programmanalyse hilft Sicherheitslücken schon während der Entwicklung zu erkennen und Programmierer bei der Arbeit zu unterstützen.

Tutorial: State of the Systems Security

Die ACM/IEEE International Conference on Software Engineering ist die weltweit führende Konferenz im Software Engineering. Auch angesehene Wissenschaftlerinnen und Wissenschaftler bewerben sich darum, auf dieser Konferenz Beiträge vorstellen zu dürfen. 2018 wurde Prof. Bodden eingeladen, ein 90-minütiges Tutorial zum Thema IT-Sicherheit anzubieten.

In diesem Tutorial erklärt Prof. Bodden, warum IT-Sicherheit ein Problem ist, das in erster Linie nicht von Kryptographen oder Netzwerktechnikern, sondern von Softwaretechnikern gelöst werden muss. Thema ist weiterhin, wie Softwaretechniker das Problem angehen können.

Wissenschaftliche Veröffentlichungen

Hier finden Sie eine Auswahl der wissenschaftlichen Publikationen, die am Fraunhofer IEM im Kontext IT-Security entstanden sind.

2019

Context-, Flow- and Field-Sensitive Data-Flow Analysis using Synchronized Pushdown Systems (Johannes Späth, Karim Ali, Eric Bodden), In Principles of Programming Languages (POPL), 2019 (To appear.)

2018

Gamifying Static Analysis (Lisa Nguyen Quang Do, Eric Bodden), In ESEC/FSE ’18: Joint meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering – New Ideas Track, 2018.
Do Android Taint Analysis Tools Keep their Promises? (Felix Pauck, Eric Bodden, Heike Wehrheim), In ESEC/FSE ’18: Joint meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering, 2018. (To appear.) Awarded: Distinguished Paper Award, Artifact Evaluation Award
The Secret Sauce in Efficient and Precise Static Analysis (Eric Bodden), In Proceedings of the 7th ACM SIGPLAN International Workshop on State Of the Art in Program Analysis, SOAP 2018, 2018. (To appear.)
Towards Ensuring Security by Design in Cyber-Physical Systems Engineering Processes (Johannes Geismann, Christopher Gerking, Eric Bodden), In International Conference on Software and System Processes (ICSSP), 2018. (To appear.) 
VISUFLOW, a Debugging Environment for Static Analyses (Lisa Nguyen Quang Do, Stefan Krüger, Patrick Hill, Karim Ali, Eric Bodden), In International Conference for Software Engineering (ICSE), Tool Demonstrations Track, 2018. (To appear.)
State of the systems security (Eric Bodden), In International Conference for Software Engineering (ICSE), Technical Briefing, 2018. 
Self-adaptive static analysis (Eric Bodden), In International Conference for Software Engineering (ICSE), New Ideas and Emerging Results Track, 2018.
CrySL: An Extensible Approach to Validating the Correct Usage of Cryptographic APIs (Stefan Krüger, Johannes Späth, Karim Ali, Eric Bodden, Mira Mezini), In European Conference on Object-Oriented Programming (ECOOP), 2018. (To appear.) Awarded: Artifact Evaluation Award

2017

Hardening Java's Access Control by Abolishing Implicit Privilege Elevation (Philipp Holzinger, Ben Hermann, Johannes Lerch, Eric Bodden, Mira Mezini), In 2017 IEEE Symposium on Security and Privacy (Oakland S&P), IEEE Press, 2017. 
IDEal: Efficient and Precise Alias-aware Dataflow Analysis (Johannes Späth, Karim Ali, Eric Bodden), In 2017 International Conference on Object-Oriented Programming, Languages and Applications (OOPSLA/SPLASH), ACM Press, 2017. Awarded: Artifact Evaluation Award 
Just-in-Time Static Analysis (Lisa Nguyen Quang Do, Karim Ali, Benjamin Livshits, Eric Bodden, Justin Smith, Emerson Murphy-Hill), In International Symposium on Software Testing and Analysis (ISSTA), 2017. (To appear.) Awarded: Distinguished Paper Award, Artifact Evaluation Award
Cheetah: Just-in-Time Taint Analysis for Android Apps (Lisa Nguyen Quang Do, Karim Ali, Benjamin Livshits, Eric Bodden, Justin Smith, Emerson Murphy-Hill), In International Conference for Software Engineering (ICSE), Tool Demonstrations Track, 2017. 
CrySL: Validating Correct Usage of Cryptographic APIs (Stefan Krüger, Johannes Späth, Karim Ali, Eric Bodden, Mira Mezini), Technical report arXiv:1710.00564, arXiv.org, 2017.
CogniCrypt: Supporting Developers in using Cryptography (Stefan Krüger, Sarah Nadi, Michael Reif, Karim Ali, Mira Mezini, Eric Bodden, Florian Göpfert, Felix Günther, Christian Weinert, Daniel Demmler, Ram Kamath), In International Conference on Automated Software Engineering (ASE 2017), Tool Demo Track, 2017.
Industrial Security by Design (Christopher Gerking, Eric Bodden, Wilhelm Schäfer), Chapter in (Günter W. Maier, Gregor Engels, Eckhard Steffen, eds.), pages 1-24, Springer Berlin Heidelberg, 2017. 

2016

Harvesting Runtime Values in Android Applications That Feature Anti-Analysis Techniques (Siegfried Rasthofer, Steven Arzt, Marc Miltenberger, Eric Bodden), In Network and Distributed System Security Symposium (NDSS), 2016.
StubDroid: Automatic Inference of Precise Data-flow Summaries for the Android Framework (Steven Arzt, Eric Bodden), In International Conference for Software Engineering (ICSE), 2016.
Jumping Through Hoops: Why do Java Developers Struggle With Cryptography APIs? (Sarah Nadi, Stefan Kröger, Mira Mezini, Eric Bodden), In International Conference for Software Engineering (ICSE), pages 935-946, 2016.
Boomerang: Demand-Driven Flow- and Context-Sensitive Pointer Analysis for Java (Johannes Späth, Lisa Nguyen Quang Do, Karim Ali, Eric Bodden), In European Conference on Object-Oriented Programming (ECOOP), 2016. Awarded: Artifact Evaluation Award 
Harvester - Vollautomatische Extraktion von Laufzeitwerten aus obfuskierten Android-Applikationen (Siegfried Rasthofer, Steven Arzt, Eric Bodden, Marc Miltenberger), In Datenschutz und Datensicherheit, pages 718-722, 2016. 
An In-Depth Study of More Than Ten Years of Java Exploitation (Philipp Holzinger, Stefan Triller, Alexandre Bartel, Eric Bodden), In Proceedings of the 2016 ACM SIGSAC Conference on Computer and Communications Security, pages 779-790, CCS '16, 2016. 
Just-in-Time Static Analysis (Lisa Nguyen Quang Do, Karim Ali, Benjamin Livshits, Eric Bodden, Justin Smith, Emerson Murphy-Hill), Technical report, University of Alberta Dataverse, 2016.

2015

Mining Apps for Abnormal Usage of Sensitive Data (Vitalii Avdiienko, Konstantin Kuznetsov, Alessandra Gorla, Andreas Zeller, Steven Arzt, Siegfried Rasthofer, Eric Bodden), In 2015 International Conference on Software Engineering (ICSE), pages 426-436, 2015. Awarded: Best paper award at the 2016 Spanish Cybersecurity Days (Jornadas Nacionales de Investigación en Ciberseguridad)
IccTA: Detecting Inter-Component Privacy Leaks in Android Apps (Li Li, Alexandre Bartel, Tegawende F. Bissyande, Jacques Klein, Yves Le Traon, Steven Arzt, Siegfried Rasthofer, Eric Bodden, Damien Octeau, Patrick McDaniel), In 2015 International Conference on Software Engineering (ICSE), pages 280-291, 2015. 
(In)Security of Backend-as-a-Service (Steven Arzt Robert Hahn Max Kohlhagen Eric Bodden Siegfried Rasthofer), In blackhat europe 2015, 2015. 
Access-Path Abstraction: Scaling Field-Sensitive Data-Flow Analysis With Unbounded Access Paths (Johannes Lerch, Johannes Späth, Eric Bodden, Mira Mezini), In IEEE/ACM International Conference on Automated Software Engineering (ASE 2015), pages 619-629, 2015.
Sicherheitsanalyse TrueCrypt (Mauro Baluda, Andreas Fuchs, Philipp Holzinger, Lotfi ben Othmane, Andreas Poller, Jürgen Repp, Johannes Späth, Jan Steffan, Stefan Triller, Eric Bodden), Technical report, Bundesamt für Sicherheit in der Informationstechnik, 2015.

2014

A Machine-learning Approach for Classifying and Categorizing Android Sources and Sinks (Siegfried Rasthofer, Steven Arzt, Eric Bodden), In 2014 Network and Distributed System Security Symposium (NDSS), 2014. 
FlowDroid: Precise Context, Flow, Field, Object-sensitive and Lifecycle-aware Taint Analysis for Android Apps (Steven Arzt, Siegfried Rasthofer, Christian Fritz, Eric Bodden, Alexandre Bartel, Jacques Klein, Yves Le Traon, Damien Octeau, Patrick McDaniel), In Proceedings of the 35th ACM SIGPLAN Conference on Programming Language Design and Implementation, pages 259-269, PLDI '14, ACM, 2014. Awarded: Artifact Evaluation Award 
FlowTwist: Efficient Context-sensitive Inside-out Taint Analysis for Large Codebases (Johannes Lerch, Ben Hermann, Eric Bodden, Mira Mezini), In Proceedings of the 22Nd ACM SIGSOFT International Symposium on Foundations of Software Engineering, pages 98-108, FSE 2014, ACM, 2014.