Counterfeit Object-oriented Programming: Forscher demonstrieren Schwächen in Objective-C-Code
Forscher aus Amerika und Deutschland sowie von Microsoft Research empfehlen Message Authentication Codes, um sensible Daten in Objective-C-Programmen zu schützen.
![Counterfeit Object-oriented Programming: Forscher demonstrieren Schwächen in Objective-C-Code](https://heise.cloudimg.io/width/610/q85.png-lossy-85.webp-lossy-85.foil1/_www-heise-de_/imgs/18/1/8/3/8/8/6/5/iosmac-0cb3c257d9cbf37f.jpeg)
- Alexander Neumann
Mit Objective-C arbeitende Entwickler sollen Nachrichtenauthentifizierungscode in ihre Programme einbetten, um eventuelle sensible Daten in ihren Objekten und Datenstrukturen zu schützen. Das ist die Empfehlung von Forschern aus Deutschland und Amerika, die diese Woche auf der Usenix Annual Technical Conference ihre Beobachtungen präsentiert hatten
Gemeinsam haben sie mit Microsoft Research eine Counterfeit Object-oriented Programming (COOP) genannte Technik erarbeitet, mit der sich iOS- und OS-X-Programme korrumpieren lassen. Zuvor war das COOP-Verfahren offenbar schon bei C++-Programmen angewendet worden. Das "Subversive-C"-Schadprogramm der Forscher kann wohl unbemerkt Einfluss auf die Metadaten nehmen, die beim Versenden der Nachrichten in der Objective-C-Laufzeitumgebung zum Einsatz kommen. Existierende, Randomisierung nutzende Verfahren zur Abwehr von Angriffen würden die Exploits nicht wahrnehmen.
MAC als Retter in der Not
Exemplarisch wurde COOP an Apples Bibliothek AppKit durchgespielt, die Bestandteil der Programmierschnittstelle Cocoa ist und in Programmen wie iTunes, Safari, Pages und Keynote eingesetzt wird. "Subversive-C"-Exploits einzuschleusen, erfordert wohl nicht viele Fehler in AppKIt-Programme. So ist von Speicherkorruption die Rede, über die Angreifer Daten in den Zielprozess einschleusen und Objective-C-Instanzen bei der Ausführung überschreiben können. Ebenfalls ein Problem sind offenbar Information Leaks, über die sich Address Space Layout Randomisation (ASLR) aushebeln lassen, und das Laden der AppKit-Bibliothek durch den Zielprozess.
Als Ratschlag, gegen COOP-Angriffe vorzugehen, empfehlen die Forscher den Einsatz sogenannter Message Authentication Codes (MACs). Sie beruhen auf symmetrischen kryptographischen Verfahren, die den gleichen geheimen und vorab sicher ausgetauschten Schlüssel für das Erstellen des Codes und die Überprüfung der Daten auf Echtheit und Integrität benutzen. Angreifer können so keinen EInfluss auf die Datenstrukturen nehmen, es sei denn, sie wissen, die MACs mit den richtigen Werten zu versehen, was aber zugleich den Zugriff auf ihre Schlüsselverzeichnisse bedeutet.
Siehe dazu auf heise Developer und heise Security:
- IT-Sicherheit und Datenschutz in IoT-Projekten umsetzen
- Kryptographie in der IT – Empfehlungen zu Verschlüsselung und Verfahren
(ane)