Die Grundlagen für Microsofts Authenticode Code Signing sind erschüttert. In einem Blog-Beitrag zeigen Sicherheitsforscher, wie die Komplexität von Microsoft Authenticode genutzt werden könnte, um die Signierung zu unterlaufen.
Anzeige
Authenticode ist eine Microsoft Code Signing-Technologie, die Softwarehersteller verwenden, um die Herkunft und Integrität ihrer Anwendungen zu gewährleisten. Die überwiegende Mehrheit moderner Programm nutzt Microsoft Authenticode aktiv und ist daher auf dessen Integritätsvalidierungssystem angewiesen.
Das Kernprinzip von Authenticode ist die Unveränderlichkeit des Codes – eine feste Garantie dafür, dass sich der Code einer einmal signierten Anwendung nicht ändern kann, ohne die Integrität der digitalen Signatur zu beeinträchtigen. Auf diese Weise können die Anwendungsbenutzer sicher sein, dass der Code, den sie ausführen, derjenige ist, der vom Softwarehersteller erstellt und signiert wurde.
Breaking the Microsoft Authenticode security model https://t.co/JyYvR2dORT
— Aryeh Goretsky (@goretsky) October 31, 2019
Über obigen Tweet wurde ich auf den Artikel Breaking the Microsoft Authenticode security model von Reversing Labs aufmerksam. Die Sicherheitsforscher schreiben, dass Microsoft Authenticode zwar sehr gut entworfen worden sei. Da das Ganze aber recht komplex ist, können sie drei Stellen aufzeigen, die eine Manipulation von Programmcode ermöglichen, ohne dass die Microsoft Authenticode-Signatur dabei ungültig wird.
Anzeige
Schwachstellen in Microsoft Authenticode
Eine Schwachstelle besteht darin, dass der Authenticode in einem Overlay-Bereich am Ende der ausführbaren Programmdatei abgelegt ist. Dort können aber auch Code-Bestandteile abgelegt werden. Eine speziell entwickelte Anwendung kann dies missbrauchen, indem sie ihren gesamten Code in die erweiterte Authenticode-Signatur einfügt. Der Datenbereich ist aber nicht Teil der Integritätsprüfung des Programmcodes. Auf diese Weise kann der Code der Anwendung nach der Signierung geändert werden, und die Anwendung kann dazu gebracht werden, sich anders zu verhalten, ohne ihre ursprüngliche Integrität zu verlieren.
Der Artikel zeigt eine weitere Schwachstelle in der Validierung von signierten UEFI-Treibern und –Anwendungen, und geht auf Fehler bei der Validierung von Linux- und Open-Source-Signaturen ein. Diese Fehler lassen sich in Windows bis zu Windows XP zurückverfolgen. Also in Kurzfassung: Man kann nicht wirklich sicher sein, dass signierte Dateien wirklich nicht manipuliert sind, wenn das auch scheinbar noch nicht ausgenutzt wurde. Details sind im Artikel Breaking the Microsoft Authenticode security model nachlesbar.
Anzeige
Die Schwachstellen in Microsoft Authenticode
Publiziert am 3. November 2019 von Günter Born
Gibt es zum heutigen Zeitpunkt, 13.10.2023, Besserung zuvermelden?
Portableapps.com betroffen?