Eine Technik, die Speicherfehler in Programmen möglichst weitgehend
verhindern soll, wird derzeit von dem Entwicklungsteam von Googles
Chrome-Browser untersucht. Laut
Ankündigung werden rund 70 Prozent der schweren Sicherheitslücken
von dieser Klasse an Fehlern verursacht. Das Team testet nun die
Verwendung der Programmiersprache Rust
sowie einige eigene Erweiterungen von C++, um die Fehler zu verhindern.
Das Team habe prinzipiell zwei Möglichkeiten, Zeiger im bisher
für den Chrome-Code genutzten C++ zur Compile-Zeit oder Laufzeit
zu überprüfen. Demnach habe das Team einerseits damit
experimentiert, einen Borrow-Checker für C++, ähnlich
wie er auch in Rust eingesetzt wird, zu bauen. Das Team sei aber
zu dem Entschluss gekommen, dass diese Option nicht realistisch
sei, da die Sprache dazu einfach nicht konzipiert ist.
Die zweite Möglichkeit sieht Überprüfungen zur Laufzeit
vor, welche aufgrund Leistungseinbußen beim Browser jedoch
auch nur bedingt einsetzbar seien. Google setze dennoch auf Verbesseungen,
wie den MiraclePtr,
welcher Use-after-Free-Bugs verhindern soll. Ein sogenannter Hardened-Mode
wird von dem Team ebenso genutzt.
Der Wechsel zu einer Sprache mit Speichersicherheit - etwa Rust
- wurde ebenfalls überdacht. Zur Integration von Rust mit C++
gebe es für das Chrome-Team jedoch noch einige offene Fragen.
Details hat das Team in
einem eigenen Dokument zusammegefasst.
(jb, hannover)
(siehe auch: Heise-News-Ticker)
Hannover · EDV-Beratung ·
Linux · Novell · Microsoft · Seminar ·
IT-Consult · Netzwerk · LPIC · CLE
|