CD-Labor für Sicherheit und Transparenz im Softwareschutz

Laborleiter Dr. Sebastian Schrittwieser bei der Analyse von Softwareschutz in Programmcode

Softwareschutz, der u. a. die Anfertigung unautorisierter Kopien oder böswillige Code-Modifikation verhindern soll, konnte bisher nicht immer genutzt werden: Manche Anwendungen erlaubten dies wegen Anforderungen an Korrektheit und Transparenz nicht. Methodische Grundlagenforschung in diesem CD-Labor soll die Verwendung von Softwareschutz aber auch in solchen Fällen ermöglichen.

 

Von einem „Man-At-The-End“-Angriff wird gesprochen, wenn menschlichen Analyst*innen eine (erworbene oder anderweitig erhaltene) Software-Anwendung vorliegt und sie die vollständige Kontrolle über das System besitzen, auf dem sie besagte Software ausführen, analysieren und verändern, um etwa den Kopierschutz zu entfernen oder böswillige Malware-Backdoors einzufügen. Softwarehersteller streben danach, derartige „MATE“-Angriffe zu verhindern, was aber eben dadurch erschwert wird, dass sich die Software dann nicht mehr unter ihrer eigenen Kontrolle befindet, sondern auf diesem spezifisch für Hacking-Zwecke eingerichteten Computersystem gespeichert ist.

 

Dieses CD-Labor widmet sich daher den Herausforderungen im Softwareschutz in komplexen Anwendungsszenarien wie jenen von sicherheits- und zeitkritischer Software: Die Verifizierung der Korrektheit von Code-Transformationen ist hier ein besonders wichtiger Punkt. Es geht darum, dass Computerprogramme von Menschen in für sie verständlichen Programmiersprachen geschrieben werden, dieser „Quellcode“ für die Ausführung aber von einem „Compiler“ (einem spezialisierten Programm) in maschinenlesbaren „Binärcode“ aus Nullen und Einsen übersetzt werden muss.

 

Für den Softwareschutz muss der Quellcode durch spezielle Code-Transformationen modifiziert wer-den, um Maßnahmen gegen Software-Analyse, -Modifikation und das Anfertigen unautorisierter Kopien einzufügen, jedoch ohne dass die Funktionalität der Software verändert wird. Eine separate Überprüfung von Quellcode und durch Softwareschutz-Transformationen modifizierter Software, um schließlich sicherzustellen, dass die Funktionalitäten beider Codes äquivalent sind (und nichts "lost in translation" ist), ist in der Praxis bei umfangreicher Software zu aufwendig.

 

Die Grundlagenforschung dieses CD-Labors dagegen soll das Fundament dafür schaffen, komplexen Softwareschutz während der Übersetzungszeit (also während der Compiler Quellcode in Binärcode übersetzt) so anzuwenden, dass die Code-Transformationen auf ihre Korrektheit überprüft werden können und der Schutz nahtlos in den existierenden Softwareentwicklungsprozess integriert werden kann.

 

Weitere Forschungsarbeiten betreffen z. B. Kombinationen verschiedener Arten von Schutzmaßnahmen und die noch nicht zufriedenstellend beantwortete Frage, welche Auswirkungen solche Kombinationen auf die Gesamtstärke des Software-Schutzes haben. Weiters werden auch hardwarebasierte Maßnahmen zum Softwareschutz behandelt, welche im Vergleich zu den softwarebasierten Varianten bisher noch wesentlich seltener zum Einsatz kamen.

 

Auf Basis der im CD-Labor gewonnen Erkenntnissen sollen somit die zukünftige Forschung und Entwicklung korrekter, transparenter und effizienter Softwareschutztechnologien für kritische Software (etwa im Hochsicherheitsbereich) ermöglicht und gleichzeitig bestehende Geschäftsmodelle geschützt werden.

Christian Doppler Forschungsgesellschaft

Boltzmanngasse 20/1/3 | 1090 Wien | Tel: +43 1 5042205 | Fax: +43 1 5042205-20 | office@cdg.ac.at

© 2020 Christian Doppler Forschungsgesellschaft