KEYnote 28 Deutsch - Ausgabe Herbst 2014 | Page 6

KNOW-HOW Integritätsschutz von Software Ein Anwendungsfall von Zertifikaten ist die Code-Signatur. Ein Softwarehersteller unterschreibt seine Software mit seinem privaten Schlüssel. Über ein Zertifikat, welches eine vertrauenswürdige Zertifizierungsstelle ausgestellt hat, wird der öffentliche Schlüssel mit der Identität des Softwareherstellers verknüpft. Der Anwender kann damit sicher erkennen, von welchem Hersteller die entsprechende Software entwickelt wurde und ob sie unverändert ist. Dieser Mechanismus wurde entwickelt, um Anwender vor Viren zu schützen; er dient allerdings nicht dazu, den Softwarehersteller gegen Raubkopien und Manipulation an seiner Software zu schützen. Und hier kommen AxProtector und ExProtector ins Spiel. Der in Windows bereits integrierte Code-Signatur-Mechanismus (Authenticode) zeigt dem Benutzer an, wenn eine Software aus einer unbekannten Quelle kommt. Dies ist der Fall, wenn sie nicht unterschrieben ist, wenn das Zertifikat nicht auf ein vertrauenswürdiges Wurzelzertifikat zurückzuführen ist oder wenn die Signatur nicht korrekt ist. Diese Meldungen sind lediglich Warnmeldungen, die vom Anwender zudem abgeschaltet werden können. Warum sollte sich ein Raubkopierer oder der Anwender einer Raubkopie davon abschrecken lassen? Windows – AxProtector Der AxProtector verschlüsselt Ihre komplette Anwendung (.exe-Datei) und fügt automatisch einen Fingerabdruck der Anwendung und eine Signatur des Fingerabdrucks hinzu. Zusätzlich wird der öffentliche Schlüssel versteckt in der Anwendung hinterlegt. 6 Getreu nach dem Motto „Traue niemanden außer Dir selbst“ überprüft sich die geschützte Anwendung selber beim Starten. Stimmt die Signatur nicht mit der im Speicher geladenen Anwendung überein, beendet sich die Anwendung mit einer entsprechenden Fehlermeldung. Neben der Tatsache, dass sich Ihre Anwendung mit dem AxProtector geschützt nur noch auf sich selbst verlässt, hat der AxProtector noch einen zweiten wesentlichen Vorteil gegenüber dem Standardmechanismus von Windows: Die geschützte Anwendung überprüft sich selbst im Speicher und nicht nur auf der Festplatte. Änderungen, die von Hackern nach dem Laden vorgenommen wurden, werden damit auch erkannt. Anwendung und Bibliotheken Natürlich kann man sich fragen, ob ein versteckter Fingerabdruck (Prüfsumme) nicht die gleichen Ergebnisse liefern würde wie die Prüfung der eigenen Signatur. Bei einer Anwendung, die aus einer einzelnen exe besteht, ist dies korrekt. Der große Vorteil kommt erst zum Tragen, wenn die Anwendung aus einer exe und mehreren Bibliotheken (dlls) besteht. exe dll AxEngine AxEngine Signature Signature Kontrolle zwischen .exe und .dll In diesem Fall werden die exe und alle dlls vom AxProtector signiert. Beim Laden einer geschützten dll überprüft die exe die Integrität der dll und die dll die Integrität der exe. Dabei können Sie definieren, ob die dll nur in bestimmten (eigenen) Anwendungen geladen werden darf. Und Sie können festlegen, welche dlls zwingend eine gültige Signatur besitzen müssen, damit diese geladen werden dürfen.