Speichersichere iBoot-Implementierung

Auf Geräten mit iOS 14 und iPadOS 14 (oder neuer) wurde die Toolchain des C-Compilers, die zum Erstellen des Bootloaders iBoot verwendet wird, von Apple unter dem speziellen Aspekt der Sicherheit modifiziert. Mit der modifizierten Toolchain wird Code implementiert, der bewirkt, dass für C-Programme typische Risiken hinsichtlich der Arbeitsspeicher- und Typsicherheit vermieden werden. Das hilft beispielsweise, die Schwachstellen in folgenden Klassen zu vermeiden:

  • Pufferüberläufe: Es wird sichergestellt, dass alle Zeiger über Begrenzungsinformationen verfügen, die beim Zugriff auf den Speicher überprüft werden.

  • Heap-Missbrauch: Heap-Daten werden von den zugehörigen Metadaten getrennt und Fehlerbedingungen wie beispielsweise doppelte Freigaben werden präzise erkannt.

  • „Type“-Verwechslung: Es wird sichergestellt, dass alle Zeiger Informationen zum Laufzeittyp umfassen, die bei „Pointer Cast“-Operationen überprüft werden.

  • „Type“-Verwechslung: Durch Separieren aller dynamischen Speicherzuordnungen nach statischem Typ werden Verwechslungen infolge der Fehlerbedingung „Nutzung nach Freigabe“ (use-after-free) vermieden.

Diese Technologie steht bei iPhone-Geräten mit Apple A13 Bionic-Chip (oder neuer) sowie bei iPad-Geräten mit A14 Bionic-Chip (oder neuer) zur Verfügung.

Veröffentlichungsdatum: 18.02.2021
Morty Proxy This is a proxified and sanitized view of the page, visit original site.
Hilfreich?
Zeichenbeschränkung: 250
Die maximal zulässige Anzahl von Zeichen beträgt 250.
Vielen Dank für Ihr Feedback.
Morty Proxy This is a proxified and sanitized view of the page, visit original site.