Methoden für sicheres Speichermanagement haben die Anzahl der Schwachstellen in Android erheblich reduziert

Das Unternehmen Google hat die Ergebnisse seiner Initiative zur Implementierung sicherer Entwicklungsmethoden (Safe Coding) in Android zusammengefasst, wie die Verwendung von Programmiersprachen, die eine sichere Speicherverwaltung gewährleisten, die Anwendung statischer Analysatoren und die Gestaltung von APIs unter Berücksichtigung der Sicherheit. Die Änderungen ermöglichten eine Reduzierung des Anteils speicherbedingter Sicherheitsanfälligkeiten in Android von 76 % im Jahr 2019 auf 24 % im Jahr 2024, was deutlich unter dem Branchendurchschnitt von 70 % liegt.

Die Ingenieure von Google kamen ebenfalls zu dem Schluss, dass die Hauptursache für Sicherheitsprobleme neuer Code ist und daher die Aufmerksamkeit auf die Modernisierung der Methoden zur Erstellung neuen Codes gerichtet werden sollte. Bereits vorhandener Code wird im Laufe der Zeit verlässlicher und sicherer (es zeigt sich, dass die Sicherheit exponentiell von der Zeit abhängt), was Investitionen in Projekte zur Neuschreibung vorhandenen Codes weniger rentabel macht. Beispielsweise hat fünf Jahre alter Code im Durchschnitt eine 3,4-mal geringere Dichte an Sicherheitsanfälligkeiten als neuer Code. Bei Android- und Chromium-Projekten beträgt der Unterschied dank der Implementierung sicherer Methoden zur Speicherverwaltung 7,4-mal.

Methoden für sicheres Speichermanagement haben die Anzahl der Schwachstellen in Android erheblich reduziert

Wenn es also gelingt, Speicherfehler im neuen Code zu verhindern, werden solche Fehler im alten Code mit der Zeit immer seltener entdeckt. Allgemein empfiehlt Google, alten Code nicht neu zu schreiben, sondern sich darauf zu konzentrieren, neuen Code in Programmiersprachen zu verfassen, die eine sichere Speicherverwaltung gewährleisten, und die Portabilität zwischen neuem und altem Code zu gewährleisten.

Neben der Verringerung der Anzahl von Schwachstellen verbessert die Verwendung sicherer Programmiermethoden die Entwicklungsproduktivität, führt zu höherer Codequalität und hat positive Auswirkungen auf die Performance. Zum Beispiel hat die Neuschreibung des Codes zur Generierung von QR-Codes im Chromium mit der Programmiersprache Rust zu einer Leistungssteigerung von 95 % geführt, indem die zusätzlichen Kosten, die durch die Notwendigkeit einer zusätzlichen Sandbox-Isolierung verursacht wurden, beseitigt wurden.

Die Geschwindigkeit und Qualität der Entwicklung werden durch die Vereinfachung von Tests und das frühzeitige Aufdecken von Fehlern in den frühen Entwicklungsphasen erhöht, in denen Fehler noch sichtbar werden, bevor der Entwickler mit der Überprüfung des Codes beginnt. Ein Beispiel dafür sind die Rückanaszahlen von Änderungen - für Rust-Code ist die Zahl der Rücknahmen von Änderungen aufgrund unerwarteter Fehler doppelt so niedrig wie für C++-Code.

Im Allgemeinen wird die Anwendung sicherer Programmiermethoden als die derzeit effektivste Entwicklungsparadigmen dargestellt, die die zuvor verwendeten drei Ansätze abgelöst hat:

  • Behebung von Schwachstellen nach deren Entdeckung. Kostspielig, erfordert häufige Updates und deren rechtzeitige Bereitstellung für die Nutzer.
  • Proaktive Sicherheit, die sich auf Techniken konzentriert, die die Ausnutzung von Schwachstellen erschweren. Ein Preis für diese Sicherheit war die Verringerung der Leistung und ein ständiges Katz-und-Maus-Spiel mit Angreifern.
  • Frühe Identifizierung von Schwachstellen durch den Einsatz von Fuzzing-Tests und Tools wie AddressSanitizer und MemorySanitizer. Diese Methode beseitigte nur die Symptome, nicht die Ursache des Problems, und erforderte ständige Wartung.

Methoden für sicheres Speichermanagement haben die Anzahl der Schwachstellen in Android erheblich reduziert
Methoden für sicheres Speichermanagement haben die Anzahl der Schwachstellen in Android erheblich reduziert


Quelle: opennet.ru
60GB SSD 8Gb DDR4