Software-Entwickler: Krypto-Fehler vermeiden mit Cognicrypt

In vielen Apps steckt fehlerhafte Kryptographie. Auf der Sicherheitskonferenz Ruhrsec wurde eine Lösung vorgestellt: Cognicrypt. Die Open-Source-Software sucht nach Fehlern im Code und generiert sichere Krypto-Funktionen. Neben Java sollen bald auch weitere Programmiersprachen folgen.

Artikel von veröffentlicht am
Entwickler implementieren Verschlüsselung oft fehlerhaft.
Entwickler implementieren Verschlüsselung oft fehlerhaft. (Bild: Alexas_Fotos)

Ein Passwortmanager der Sicherheitsfirma Norton und die App der Volksbanken hatten bis vor kurzem eine Gemeinsamkeit: Bei beiden wurden kryptographische Funktionen fehlerhaft implementiert. Entdeckt wurde das durch die Open-Source-Software Cognicrypt. Damit lassen sich Apps auf derartige fehlerhafte Funktionen hin untersuchen. Cognicrypt kann aber nicht nur analysieren, sondern auch den Code für kryptographische Funktionen generieren, wie der Sicherheitsforscher und Professor für Softwaretechnik an der Universität Paderborn, Eric Bodden, auf der Sicherheitskonferenz Ruhrsec in Bochum gezeigt hat.

Stellenmarkt
  1. Assistenz IT-Leitung (m/w/d)
    NOWEDA eG Apothekergenossenschaft, Essen
  2. (Senior) Android Software Engineer*
    IAV GmbH, Berlin, Gifhorn
Detailsuche

Die Apps von Norton und den Volksbanken sind keineswegs die einzigen mit fehlerhaften kryptographischen Funktionen, sie sind Teil einer Studie der Cognicrypt-Entwickler, an der auch Bodden mitgewirkt hat. Diese untersuchte die 250 Top-Android-Apps aus den Bereichen Banking, Gesundheit und Passwortspeicher im Google Playstore. In 71 Prozent der Fälle fanden sie fehlerhafte kryptographische Implementierungen. Häufig schreiben App-Entwickler den Code jedoch gar nicht selbst, sondern greifen auf Snippets aus Repositorys wie Maven zurück. Auch hier führten die Forscher eine Studie durch und analysierten über 2,7 Millionen Java-Snipptes auf Maven. Sie wurden in 73 Prozent der Fälle fündig. Nicht selten hätten die Entwickler gleich mehrere Fehler gemacht, sagt Bodden. Das häufigste Problem sei die Verwendung von AES im unsicheren ECB-Modus.

Den eigenen Code untersuchen

Cognicrypt soll den Entwicklern dabei helfen, die kryptographischen APIs sicher zu verwenden. Entwickelt wurde die Software am kollaborativen Forschungszentrum Crossing der TU Darmstadt, an deren Forschung auch Bodden beteiligt ist. Die Software ist als Plugin für die Entwicklungsumgebung Eclipse verfügbar und kann so direkt im Entwicklungsprozess eines Java-Programmes oder einer App verwendet werden. Neben Java sollen zukünftig auch die Programmiersprachen C und C++ sowie weitere Entwicklungsumgebungen unterstützt werden. Auch eine Integration in Online-Dienste ist geplant.

Die Software analysiert den Programm-Code bei jeder Änderung binnen Sekunden und warnt bei hinzugefügten Schwachstellen oder der Verwendung von veralteten oder unsicheren Algorithmen. Die Warnungen werden in Form von Fehlermarkierungen ausgegeben, erklären das Problem und schlagen Korrekturen für die betroffenen Zeilen vor.

Golem Akademie
  1. CEH Certified Ethical Hacker v11: virtueller Fünf-Tage-Workshop
    10.–14. Januar 2022, Virtuell
  2. Cloud Computing mit Amazon Web Services (AWS): virtueller Drei-Tage-Workshop
    14.–16. Februar 2022, virtuell
Weitere IT-Trainings

Durch die Kombination verschiedener Analysetechniken sowie den Fokus auf die Krypto-Analyse habe Cognicrypt eine niedrige False-Positivie-Rate, erklärt Bodden. Bei der Analyse der 2,7 Millionen Java-Snippets auf Maven habe diese bei 5 Prozent gelegen. Statische Analyse von Software-Code warte üblicherweise mit deutlich mehr False Positives auf.

Cognicrypt generiert sicheren Krypto-Code

"Ein Ziel war es, sicheren Krypto-Integration-Code zu generieren, damit die Entwickler nicht alles selber schreiben müssen", sagt Bodden. Mit Cognicrypt lasse sich für zahlreiche kryptografische Anwendungsszenarien, beispielsweise die Verschlüsselung einer Datei oder die Authentifizierung eines Nutzers, korrekter und sicherer Quellcode generieren. Diesen könne der Entwickler direkt in die Anwendungen integrieren, erklärt Bodden. Mit ein paar Klicks lassen sich die Aufgabe und die Algorithmen auswählen, die verwendet werden sollen. Anschließend generiert die Software den Java-Code für die Krypto-Funktion. Dabei werde nicht viel Wissen vorausgesetzt.

Bodden hofft nach eigenen Angaben auf bessere und vor allem einfachere Krypto-APIs, "die nur auf die richtige Weise verwendet werden können." Vielleicht könnte Cognicrypt damit in fünf Jahren obsolet werden. Sie sei für heute geschrieben und helfe den Entwicklern, Kryptographie auf eine sichere Weise zu verwenden.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed


Aktuell auf der Startseite von Golem.de
Resident Evil (1996)
Grauenhaft gut

Resident Evil zeigte vor 25 Jahren, wie Horror im Videospiel auszusehen hat. Wir schauen uns den Klassiker im Golem retro_ an.

Resident Evil (1996): Grauenhaft gut
Artikel
  1. Streaming: Chromecast erhält spezielle Youtube-Fernbedienung
    Streaming
    Chromecast erhält spezielle Youtube-Fernbedienung

    Die Steuerung von Youtube auf einem Chromecast soll mit einer neuen Funktion deutlich komfortabler werden.

  2. Studie: Kinder erhalten Smartphone meist zwischen 6 und 11 Jahren
    Studie
    Kinder erhalten Smartphone meist zwischen 6 und 11 Jahren

    Nur eine sehr geringe Minderheit der Eltern will ihrem Kind erst mit 15 Jahren ein Smartphone zur Verfügung stellen.

  3. Google: Kopfhörer verlieren Google-Assistant-Support auf iPhones
    Google
    Kopfhörer verlieren Google-Assistant-Support auf iPhones

    Wer Google Assistant am Kopfhörer benutzen will, ist künftig auf ein Android-Gerät angewiesen.

Du willst dich mit Golem.de beruflich verändern oder weiterbilden?
Zum Stellenmarkt
Zur Akademie
Zum Coaching
  • Schnäppchen, Rabatte und Top-Angebote
    Die besten Deals des Tages
    Daily Deals • Saturn-Advent: Samsung Portable SSD T5 1 TB 84€ • ViewSonic VX2718-2KPC-MHD (WQHD, 165 Hz) 229€ • EPOS Sennheiser GSP 670 199€ • EK Water Blocks Elite Aurum 360 D-RGB All in One 205,89€ • KFA2 Geforce RTX 3070 OC 8 GB 1.019€ • Alternate (u. a. AKRacing Core SX 269,98€) [Werbung]
    •  /