Software sicherer machen

Forscher präsentieren Krypto-Assistent für Software-Entwickler

2018/10/29

Der Sonderforschungsbereich CROSSING an der TU Darmstadt hat soeben einen Kryptographie-Assistenten für Software-Entwicklung vorgestellt. Er hilft bei der Integration von Kryptographie-Komponenten und überprüft, ob alles richtig eingebaut und konfiguriert wurde – damit die Anwendung auch wirklich sicher ist.

CROSSING-Wissenschaftler Michael Reif und Anna-Katharina Wickert arbeiten am Krypto-Assistenten CogniCrypt. Foto: Ann-Kathrin Braun

Nicht erst seit den großen Datenschutz-Skandalen ist die Sicherheit von Software für deren Nutzer ein wichtiges Auswahlkriterium. Deswegen achten viele darauf, dass die von ihnen benutzten Anwendungen zum Beispiel Verschlüsselung anbieten. Doch selbst das ist keine Garantie für Datensicherheit: Software-Entwickler haben meistens keine Erfahrung mit Kryptographie – und bauen deswegen die Krypto-Bausteine fehlerhaft ein. Das Ergebnis: Die Daten sind trotz vermeintlich eingebauter Verschlüsselung unsicher.

Damit die Daten der Benutzer in Zukunft besser geschützt werden, präsentieren Wissenschaftler des DFG-Sonderforschungsbereichs CROSSING nun CogniCrypt, einen „Kryptographie-Assistenten“ für Software-Entwickler. CogniCrypt hilft ihnen bei der Integration von Kryptographie-Komponenten in ihre Software und überprüft, ob alles richtig eingebaut und konfiguriert wurde.

Ab sofort haben Entwickler auf der ganzen Welt nun erstmals Zugriff auf CogniCrypt. Um die Benutzung so einfach wie möglich zu machen, wurde CogniCrypt so eingerichtet, dass es sich nahtlos in den Workflow der Entwickler einbinden lässt. Der Krypto-Assistent lässt sich in der weitverbreiteten Entwicklungssoftware Eclipse installieren, die von vielen Programmiererinnen und Programmierern verwendet wird, und ist auch direkt über den Eclipse-Marketplace verfügbar.

„CogniCrypt erlaubt es Entwicklern, nicht nur Krypto-Fehlbenutzungen in ihrem Programmcode zu erkennen, sondern gibt auch Ratschläge für die Behebung dieser Schwachstellen, und erlaubt es ihnen sogar, automatisch Programmcode für die sichere Integration von Kryptographie zu generieren. Das ist auch bitter nötig: In einer großangelegten Studie mit CogniCrypt fanden wir heraus, dass gut drei Viertel aller Anwendungen Kryptographie auf unsichere Weise einbetten“, erläutert Prof. Mira Mezini von der Technischen Universität Darmstadt.

„Für CogniCrypt haben wir eine eigene Beschreibungssprache – Crypto Specification Language (CrySL) – entwickelt, mit der Kryptographen die Benutzungsregeln ihrer entwickelten Krypto-Komponenten definieren können, sodass CogniCrypt den Anwendungsentwicklern Hinweise über die richtige Benutzung textbasiert und ohne Auseinandersetzung mit dem Quellcode der Krypto-Komponenten ausgeben kann. In Zukunft planen wir sogar die automatisierte Generierung dieser Texthinweise. Das macht es für Forscherinnen und Forscher einfacher, ihre entwickelten Krypto-Komponenten in CogniCrypt zu integrieren“, erklärt Prof. Eric Bodden vom Heinz Nixdorf Institut der Universität Paderborn und vom Fraunhofer-Institut für Entwurfstechnik Mechatronik (IEM) und einer der beteiligten Wissenschaftler im Sonderforschungsbereich CROSSING der TU Darmstadt..

CogniCrypt ist als Eclipse Open Source Projekt verfügbar. So können Kryptographen von anderen Universitäten oder Forschungseinrichtungen überprüfen, ob CogniCrypt die erforderlichen Prüfungen des Anwendungscodes auch korrekt umsetzt. Auch neue Krypto-Bausteine können hinzugefügt werden. Zusammen mit dem Feedback der Software-Entwickler, die ebenfalls neue Funktionen vorschlagen und hinzufügen können, soll eine lebendige Community um CogniCrypt herum entstehen. So bleibt der Krypto-Assistent durch die Kraft der Gemeinschaft immer aktuell und verbessert sich ständig weiter.

Entwickelt wurde CogniCrypt im Sonderforschungsbereich CROSSING an der TU Darmstadt in Zusammenarbeit mit der Universität Paderborn und dem Fraunhofer IEM. Mehr als 65 Wissenschaftlerinnen und Wissenschaftler aus Kryptographie, Quantenphysik, Systemsicherheit und Softwaretechnik arbeiten in CROSSING zusammen und betreiben sowohl Grundlagen- als auch anwendungsorientierte Forschung. Das Ziel ist es, Sicherheitslösungen zu entwickeln, die auch in der Zukunft sichere und vertrauenswürdige IT-Systeme ermöglichen. CROSSING wird seit 2014 als Sonderforschungsbereich der Deutschen Forschungsgemeinschaft (DFG) gefördert und wurde im Mai 2018 um vier weitere Jahre verlängert.

Weitere Informationen