Zuhause Sicherheitsuhr Apple legt ios Sicherheitsdetails offen

Apple legt ios Sicherheitsdetails offen

Video: Темы для iPhone на iOS 14 - простая установка оформления! Прозрачные виджеты и скрытые фишки (Kann 2024)

Video: Темы для iPhone на iOS 14 - простая установка оформления! Прозрачные виджеты и скрытые фишки (Kann 2024)
Anonim

Sie haben inzwischen erfahren, dass Apple auf der kürzlich abgehaltenen Black Hat-Konferenz ein neues Bug Bounty-Programm angekündigt hat. In einer ungewöhnlichen Erscheinung machte Ivan Krstic, der Leiter für Sicherheitstechnik und Architektur bei Apple, die Ankündigung selbst. Aber das waren nur die letzten 10 Minuten einer 50-minütigen Präsentation. In den ersten 40 Minuten hat Krstic einen beispiellosen Einblick in drei Komponenten der iOS-Sicherheit erhalten. Und mit tief meine ich bathysphärisch.

Insgesamt war ich beeindruckt, wie gründlich diese Systeme die Benutzerdaten schützen, selbst vor Apple. Ich werde versuchen zu vermitteln, was gesagt wurde, ohne zu technisch zu werden.

Gehärtete WebKit-JIT-Zuordnung

Entschuldigung, so heißt es. JIT steht für Just In Time und bezieht sich auf die Art und Weise, wie Javascript-Code rechtzeitig für seine Ausführung kompiliert wird. "Dies ist für leistungsstarkes JavaScript erforderlich", erklärte Krstic. "Die Code-Signatur-Richtlinie muss jedoch gelockert werden. Der JIT-Compiler gibt neuen, nicht signierten Code aus. Ein Angreifer, der einen Angriff mit beliebigem Schreibzugriff durchgeführt hat, kann die Ausführung beliebigen Codes ermöglichen."

Für einen kleinen Hintergrund können Speicherbereiche mit Lese-, Schreib- und Ausführungsberechtigungen markiert werden. Diese vor langer Zeit eingeführte Unterscheidung löschte Angriffe aus, die Code in Bereichen ausführten, die Daten gewidmet waren. Kurz gesagt, Apples Lösung beinhaltet eine Technik, mit der das kompilierte JavaScript in einen Speicherbereich gestellt wird, der nur die Ausführung zulässt. Prozesse können weder lesen, was da ist, noch neue Daten schreiben. Es gibt ein bisschen mehr als das, aber diese Änderung, speziell für iOS 10, beseitigt eine ganze Reihe möglicher Angriffe.

Sicherer Enklavenprozessor

Anwendungen auf einem Apple-Gerät werden in einer CPU namens Application Processor oder AP ausgeführt. Moderne Apple-Geräte haben eine völlig separate CPU, den so genannten Secure Enclave Processor (SEP). "Das SEP ist durch einen starken kryptografischen Hauptschlüssel vor dem Passcode des Benutzers geschützt", sagte Krstic. "Ein Offline-Angriff ist nicht möglich. Er umgeht die Angriffsfläche des AP, auch wenn der AP kompromittiert wurde. Er vermittelt den gesamten Benutzerzugriff und verwaltet seinen eigenen verschlüsselten Speicher. Bei der ersten Initialisierung wird ein echter Zufallszahlengenerator verwendet, um ein eindeutiges Ergebnis zu erstellen Geräteschlüssel im Prozessor. Er kann nicht exportiert werden und ist in einem unveränderlichen sicheren ROM gespeichert."

Anschließend erläuterte Krstic, wie das Gerät vier Arten von internen Sicherheitsschlüsseln mit unterschiedlichen Merkmalen verwendet. Typ A existiert nur, wenn das Gerät entsperrt ist. Typ B ist ein immer vorhandener öffentlicher Schlüssel sowie ein privater Schlüssel, der beim Entsperren des Geräts vorhanden ist. Typ C tritt auf, wenn das Gerät nach dem Start zum ersten Mal entsperrt wird. Und Typ D ist immer verfügbar.

Die Präsentation ging zu einer Reihe von äußerst komplizierten Diagrammen über. Einer führte durch den Vorgang des Bootens und Entsperrens des Geräts und zeigte, wie die einzelnen Schlüsseltypen erstellt und gespeichert wurden. Jede Datei auf Ihrem Gerät verfügt über einen eigenen, eindeutigen Verschlüsselungsschlüssel. Ein anderes Diagramm zeigt den komplizierten Vorgang, mit dem der SEP diese Datei authentifizieren und entschlüsseln kann, während die wesentlichen Sicherheitsschlüssel in sich selbst verbleiben. Ein anderer erläuterte den komplexen Vorgang, mit dem Sie "Später aktualisieren" auswählen können. Ein weiterer Schritt führte durch den Vorgang, der das Entsperren per Touch-ID ermöglicht, ohne dass der Hauptschlüssel in irgendeiner Weise sichtbar bleibt.

Die wichtigste Erkenntnis aus diesem Teil des Vortrags ist, dass Apple sich wirklich genau überlegt hat, was erforderlich ist, um die Verschlüsselung vollständig im Secure Enclave Processor zu verwalten, ohne dass der Benutzer zu großen Problemen gezwungen wird. Wenn Sie diese Diagramme selbst sehen möchten, lesen Sie die vollständige Präsentation des Krstic.

Geheimnisse synchronisieren

Es ist unglaublich praktisch, dass Sie Ihre Daten zwischen mehreren Apple-Geräten synchronisieren können. Mit HomeKit können Sie IoT-Geräte verwalten, mit AutoUnlock wird Ihr Mac entsperrt, wenn sich Ihre Apple Watch in der Nähe befindet, Ihre Fotos werden über iCloud synchronisiert und so weiter. In Bezug auf die Sicherheit ist die Synchronisierung jedoch ein Problem.

"Traditionelle Ansätze sind nicht gut", sagte Krstic. "Eine Möglichkeit besteht darin, den Benutzer dazu zu bringen, auf allen Geräten einen starken" Sockenschubladenschlüssel "einzugeben; diesen zu verlieren, und der Zugriff auf die Geheimnisse geht verloren. Die andere Möglichkeit besteht darin, die Daten in einen abgeleiteten Schlüssel zu packen, der die Daten dem Zugriff ausgesetzt lässt Kontoprovider."

"Wir hatten hier eine Reihe von Toren", fuhr Krstic fort. "Geheimnisse müssen auf allen Geräten verfügbar sein und durch starke Kryptografie geschützt sein. Benutzer können Geheimnisse wiederherstellen, auch wenn sie alle verbundenen Geräte verlieren. Daten sind nicht für Apple verfügbar, und es besteht keine Möglichkeit eines Brute-Force-Angriffs."

Die Authentifizierung im einfachen iCloud Keychain-System ist einfach. Jedes Gerät verfügt über ein eigenes Schlüsselpaar. Um dem Synchronisierungskreis ein neues Gerät hinzuzufügen, müssen Sie es von einem Ihrer vorhandenen Geräte genehmigen. Apples Backend ist nicht beteiligt; es hat kein Privileg. Wenn ein Benutzer den Zugriff auf alle Geräte verliert, kann der Zugriff mithilfe des iCloud-Sicherheitsschlüssels und des iCloud-Kennworts wiederhergestellt werden.

Krstic erklärte ausführlich, wie Apple dieses System verwaltet, ohne die geringste Möglichkeit offen zu lassen, dass jemand, einschließlich eines Mitarbeiters bei Apple, über das Back-End auf Daten zugreifen kann. Das System umfasst so genannte Admin-Karten, die bei der Inbetriebnahme einer neuen Flotte von Kryptoservern erstellt werden. "Admin-Karten werden in einer sicheren Zeremonie erstellt, wenn die Flotte in Betrieb genommen wird, und in separaten physischen Safes in manipulationssicheren Beweisbeuteln in Verwahrung von drei verschiedenen Organisationen bei Apple aufbewahrt", sagte Krstic.

Diese Situation dauert nur so lange an, bis die Flotte tatsächlich in Betrieb genommen wird. Zu dieser Zeit sagte Krstic: "Wir haben die Admin-Karten einer neuartigen Einweg-Hash-Funktion unterzogen." Er holte einen gebrauchten Mixer unter dem Podium hervor und fuhr fort: "Ja, eine Reise durch den Mixer." Sobald die Krypto-Server-Flotte aktiv ist, kann sie nicht mehr aktualisiert oder geändert werden, auch nicht von Apple, da die Admin-Karten zerstört wurden. Wenn tatsächlich ein Update erforderlich ist, muss Apple eine neue Flotte aufrüsten und ein Software-Update senden, mit dem Benutzergeräte eine Verbindung zur neuen Flotte herstellen können.

"Warum machen wir das", sagte Krstic. "Warum unternehmen wir diesen letzten Schritt, der äußerst ungewöhnlich ist? Wir sind sehr bemüht, die Sicherheitssysteme so zu konstruieren, dass sie Vertrauen schaffen. Wenn Daten das Gerät verlassen, sind die Einsätze noch höher. Wir müssen dieses Vertrauen aufrechterhalten. Wenn wir im Besitz von bleiben." Bei diesen Admin-Karten besteht die Möglichkeit, dass dies nicht zutrifft. So ernst nehmen wir unsere Mission in Bezug auf Benutzerdaten."

Gefragt, "Haben Sie dies wegen der FBI-Informationsanfragen getan?" Krstic antwortete: "Ich bin Ingenieur. Ich kann nur Fragen beantworten, warum ich heute präsentierte." OK Fair genug. Aber ich denke der Fragesteller hatte recht. Ein in sich geschlossenes System zu erstellen, das Sie nicht einmal selbst ändern können, ist ein guter Weg, um zu verhindern, dass jemand anderes unerwünschte Änderungen vornimmt.

Ich hoffe, ich habe die Detailgenauigkeit in Krstics Vortrag vermittelt, ohne dass Ihre Augen glasig werden. Dem Geschwätz nach zu urteilen, als sich die Gruppe zerstreute, waren die echten Sicherheitsfreaks auf Byte-Ebene im Raum hoch beeindruckt.

Apple legt ios Sicherheitsdetails offen