Skip to content

Drucksache: Windows Developer 6.16 - Wie sicher sind Shims eigentlich?

Im windows.developer 6.16 ist ein Artikel über die Sicherheit von Shims erschienen. Die verwendet Microsoft zum Beispiel im Rahmen der FixIt-Patches, Cyberkriminelle können sie aber für ihre Zwecke missbrauchen.

Shims erlauben es, die API-Aufrufe eines Programms zu manipulieren. Microsoft nutzt das zum Beispiel, um als sog. "FixIt-Patches" bzw. "FixIt-Tools" Workarounds für bereits ausgenutzte Schwachstellen bereit zu stellen. Ein Angreifer kann die Shims aber auch nutzen, um seinem Schadcode neue Fähigkeiten zu verschaffen.

Shims sind eine sehr nützliche Erfindung. Allein schon soweit es ihre Verwendung zur Beseitigung von Inkompatibilitäten betrifft. Noch besser ist natürlich ihr Einsatz zur Implementierung von Workarounds für aktuell ausgenutzte Schwachstellen. Übrigens nutzt auch das Enhanced Mitigation Experience Toolkit (EMET) teilweise Shims, um seine Schutzfunktionen zu realisieren. Es gibt also keinen Grund, Shims und das Application Compatibility Toolkit zu verteufeln und womöglich gar zu deaktivieren. Auch wenn die Angreifer seine Möglichkeiten missbrauchen. Denn die missbrauchen auch alle anderen Windows-APIs und -DLLs, wenn es ihren Zwecken dient. Und die will ja wohl auch niemand aus dem Verkehr ziehen, oder?

Die Entwicklung eigener Shims wurde von Microsoft nicht vorgesehen, und das aus gutem Grund. Die Gefahr eines Missbrauchs wäre viel zu groß. Schon mit den vorhandenen Shim kann ein Angreifer Schaden anrichten, vor allem mit dem gar nicht offiziell dokumentieren Shim für die In-Memory-Patches. Da das aber nur von Microsoft genutzt wird gehe ich davon aus, dass Microsoft bereits an Schutzmaßnahmen für das Shim arbeitet, zum Beispiel durch die Einführung einer Code-Signatur oder ähnliches. Microsoft wird sicher nicht seelenruhig zu sehen, wie die Cyberkriminellen die Shims missbrauchen.

Und hier noch die Links und Literaturverweise aus dem Artikel:

Carsten Eilers

Trackbacks

Keine Trackbacks