Mac-Benutzer: Ihre Antiviren-Software könnte Malware unentdeckt durchschleusen

Ein Fehler in den MacOS-Sicherheitsplattformen von Drittanbietern, die von Apple signierte Software überprüfen, könnte dazu führen, dass sich Malware dennoch als signiert ausgibt, sagen Sicherheitsforscher.

Viele Sicherheitsplattformen von Drittanbietern können die Codesignatur-API von Apple nicht richtig implementieren und das Ergebnis könnte sein, dass sich Malware als signierte Software ausgibt.

Der „Code Signing Bypass“ wurde von dem Okta-Ingenieur Josh Pitts entdeckt, der ihn im Februar 2018 enthüllte, bevor er ihn am 12. Juni 2018 öffentlich bekannt gab. Es betrifft zahlreiche Sicherheitsplattformen, darunter auch die von Facebook und Google. Apple selbst übernimmt hierfür keine Verantwortung. Jedenfalls nicht nach dem, was Pitts über seine Antwort vom macOS-Hersteller sagte.

Beim Signieren eines Codes bettet ein Entwickler oder ein Softwareunternehmen eine digitale Signatur in eine Anwendung ein, die angibt, dass sie von ihm erstellt und nicht von Dritten verändert wurde. Codesignaturen stellen sicher, dass die Software aus seriösen Quellen stammt – die meisten Sicherheitsprogramme verwenden Codesignaturprüfungen, um sicherzustellen, dass eine Anwendung legitim ist, bevor sie installiert wird.

Falsche Ausweise und faule Türsteher

Es ist wie in der College-Bar-Szene: Studenten mit gefälschten Ausweisen wissen, dass bestimmte Bars Türsteher mit weniger gründlichen Kontrollen haben. Und diese Bars sind es, wo sie hingehen, wenn sie unbemerkt reinkommen wollen.

Im Falle der MacOS-Sicherheit kann die Faulheit bei der Überprüfung von IDs dazu führen, dass eine ganze Schar von Malware unentdeckt durchrutschen kann – potenziell alles, was ein Angreifer in einer FAT-Datei speichern könnte, kann hierzu verwendet werden.

Pitts sagte, dass das Missbrauchen von Codesignaturprüfungen nur ein paar Dinge erfordert:

  • Ein ausführbares FAT/Universal-Dateiformat, das als erstes Element eine ordnungsgemäß signierte Mach-O-Datei enthält, die für i386, x86_64 oder PPC formatiert ist.
  • Bösartige Binärdateien, die adhoc signiert und für ein x86_64 MacOS-System i386-kompiliert sind.
  • Der CPU_TYPE in der Header-Datei muss auf ein ungültiges Format gesetzt werden oder auf ein Format, das nicht nativ auf dem Chipsatz des Zielsystems ist.

„Ohne die richtigen SecRequirementRef und SecCSFlags zu übergeben, überprüft die Codesignatur-API (SecCodeCheckValidity) die erste Binärdatei in der Fat/Universal-Datei darauf, wer die ausführbare Datei signiert hat (z. B, Apple) und stellt sicher, dass keine Manipulation über die kryptographische Signatur vorhanden ist. Dann wird die API jede der folgenden Binärdateien in der Fat/Universal-Datei überprüfen, um sicherzustellen, dass die Teamsignaturen übereinstimmen und keine Manipulation über die kryptographische Signatur vorliegt, jedoch ohne die CA-Root of Trust zu überprüfen“, sagte Pitts in seinem Beitrag.

Das Formatieren der einzelnen Dateien in der ausführbaren FAT-Datei ist wichtig, da es bei i386 zu Problemen für die Codesignatur-API kommt. Diese hat „eine Präferenz für die native CPU-Architektur (x86_64) für Codesignaturprüfungen und prüft standardmäßig den unsignierten Code, wenn die Architektur x86_64 ist“.

Kurz gesagt, eine ausführbare Datei, die es schafft, die Dinge richtig zu machen, wird ordnungsgemäß signiert aussehen und in der Lage sein, jede darin enthaltene Malware ungestraft auszuführen.

Ist Apples Antwort die richtige?

Nachdem Pitts Apple über den Exploit informiert hatte, teilte ihm Apple mit, dass „Entwickler von Drittanbietern kSecCSCheckAllArchitectures und kSecCSStrictValidate mit SecStaticCodeCheckValidity API verwenden sollten“ und dass das Unternehmen seine Entwicklerdokumentation aktualisieren würde, um diese Anforderung zu berücksichtigen.

Pitts antwortete, indem er Apple mitteilte, dass es möglich sei, sowohl die Flags als auch die strenge Überprüfung des Codezeichens zu umgehen, so dass der Exploit auch dann funktioniert, wenn der Entwickler diese Flags enthält.

Nach den Worten von Pitts, „hat Apple erklärt, dass sie dies nicht als Sicherheitsproblem sehen, das sie direkt angehen würden“, und sie haben erneut gesagt, dass Entwickler „zusätzliche Arbeit leisten müssen, um sicherzustellen, dass alle Identitäten in einem Universal-Binary gleich sind, wenn sie ein aussagekräftiges Ergebnis präsentieren wollen“.

Pitts‘ Veröffentlichungszeitraum zeigt, dass Apple nicht bereit ist, die Verantwortung für den Exploit zu übernehmen, sondern die Verantwortung auf die Entwickler überträgt, weil diese die Codesignatur-API scheinbar unsachgemäß verwenden. Aber wenn der Exploit immer noch ausgeführt werden kann, obwohl die empfohlenen Flags von Apple aktiviert sind, scheint es sich nicht um ein Entwicklerproblem zu handeln.

Im Moment gibt es nicht viele Maßnahmen, die Sie ergreifen müssen, außer Pitts‘ Artikel zu lesen, um zu sehen, ob Ihre Antivirensoftware betroffen ist. Wenn ja, stellen Sie sicher, dass Sie die neuesten Updates installieren, damit Sie einen Fix erhalten, sobald er verfügbar ist, und vermeiden Sie die Installation von Anwendungen, die nicht aus vertrauenswürdigen Quellen wie dem macOS App Store stammen.

  • Ein Fehler in der Handhabung der Codesignatur durch MacOS-Sicherheitssoftware von Drittanbietern ermöglicht es einer bösartigen Anwendung, sich selbst als ordnungsgemäß signiert auszugeben.
  • Apple sagt, dass das Problem in der Art und Weise liegt, wie Dritte seine API implementieren. Apples Vorschläge, wie man das Problem beheben kann, lösen es aber nicht. Halten Sie Ihr MacOS-System sicher, indem Sie die neuesten Antiviren-Updates installieren und keine Anwendungen aus nicht vertrauenswürdigen Quellen nutzen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.