Speichersicherheit im Fokus: Google setzt auf räumliche Speichersicherheit in C++
2024-11-18
Autor: Alina
Google hat sich gemeinsam mit vielen anderen Unternehmen der Herausforderung verschrieben, die Speichersicherheit ihrer Softwarelösungen kontinuierlich zu verbessern. Im Rahmen dieses langjährigen Bestrebens verfolgt Google einen Secure-by-Design-Ansatz, der vor allem auf sicheren Programmiersprachen wie Java und Python basiert. Zudem wurde die Programmiersprache Go entwickelt, um spezifische Sicherheitsanforderungen zu erfüllen. Dennoch ist ein beträchtlicher Teil der bestehenden Codebasis nach wie vor in C++ geschrieben, insbesondere dort, wo hohe Performance absolut notwendig ist. Die Umstellung dieser kritischsten Codeabschnitte auf speichersichere Sprachen wäre enorm aufwendig und könnte mehrere Jahre in Anspruch nehmen.
Herausforderungen und Fortschritte in der Implementierung
In diesem Kontext berichten Google-Mitarbeiter auf dem Security-Blog des Unternehmens über die Herausforderungen und Fortschritte in der Implementierung von Spatial Memory Safety – also räumlicher Speichersicherheit – in der C++-Codebasis. Spatial Memory Bugs zählen zu den am häufigsten ausgenutzten Sicherheitslücken in Bezug auf Exploits. Diese Probleme umfassen unter anderem Buffer Overflows, Out-of-Bound Access, übrig gebliebene Pointer auf bereits freigegebene Speicherbereiche sowie Pointermanipulationen. Bekannte Sicherheitsvorfälle wie der Heartbleed-Bug und Eternal Blue machen deutlich, wie kritisch diese Schwachstellen sind.
Weniger Performanceverlust, als zunächst befürchtet
Zur Förderung der räumlichen Speichersicherheit in C++ hat Google das Konzept des Bounds-Checking für zentrale Datenstrukturen übernommen. Im Rahmen dieser Initiative wurde eine gehärtete Version der LLVMs libc++-Bibliothek entwickelt, die sicherstellt, dass Zugriffe auf Datenstrukturen wie den std::vector innerhalb des zugewiesenen Speichers bleiben. Diese Technik wird seit zwei Jahren im Chrome-Browser getestet, und Google plant, sie als Standard für all seine serverseitigen Dienste wie Google Suche, Gmail, Google Drive, YouTube und Google Maps zu implementieren. Erfreulicherweise zeigt sich in Tests, dass dieser Sicherheitsansatz nur einen minimalen Performanceverlust von etwa 0,3 Prozent mit sich bringt. Dies liegt vor allem an den Optimierungen des Compilers, der redundante Prüfungen effektiv aus dem endgültigen Code entfernt.
Ein Trend in der Branche
Mit dieser Initiative will Google nicht nur die Sicherheit seiner Produkte erheblich erhöhen, sondern setzt auch einen Trend in der Branche, indem es andere Unternehmen dazu ermutigt, ähnliche Maßnahmen zu ergreifen. Experten warnen, dass die Bedrohungen durch Cyberangriffe in den kommenden Jahren voraussichtlich noch zunehmen werden. Daher könnte Googles Ansatz zur Speichersicherheit bereits jetzt den entscheidenden Vorteil im Wettlauf um sichere Softwarelösungen darstellen.