Compiler: Windows soll komplett initialisierten Stack bekommen

Nicht initialisierter Speicher ist ein typisches Sicherheitsproblem von C und C++. Microsoft will dies für das gesamte Windows-System lösen.

Artikel veröffentlicht am ,
Windows 10 soll einen Schutz gegen eine ganze Klasse von Sicherheitslücken bekommen.
Windows 10 soll einen Schutz gegen eine ganze Klasse von Sicherheitslücken bekommen. (Bild: REUTERS/Shannon Stapleton)

Microsoft will mittelfristig sämtliche Stack-Variablen in seinem Windows-Betriebssystem automatisch beim Kompilieren initialisieren. Das schreibt das dafür zuständige Team im Blog von Microsofts Security Response Center. Sind die Arbeiten erfolgreich, kann der Windows-Hersteller gleich eine ganze Klasse von Sicherheitslücken automatisch verhindern.

Stellenmarkt
  1. IT-Anwendungsbetreuer/Web-Ad- ministrator (m/w/d)
    Bayerische Versorgungskammer, München
  2. Softwareentwickler MS Office/WCF (m/w/d)
    operational services GmbH & Co. KG, Nürnberg
Detailsuche

Das zugrunde liegende Problem ist, dass es die Programmiersprachen C und C++ nicht forcieren, Variablen bei der Deklaration zu initialisieren. Das heißt, ihnen werden unter Umständen keine Werte zugewiesen. Das ist jedoch nicht definiertes Verhalten und kann etwa dazu führen, dass geschützte Inhalte von Speicherbereichen versehentlich offengelegt werden oder dass die Speicherbereiche direkt genutzt werden. Beides kann zu Sicherheitslücken führen.

In dem Blogbeitrag schreibt Microsoft selbst, dass in den Jahren 2017 und 2018 nicht initialisierter Speicher die Ursache für 5 bis 10 Prozent der von Microsoft verteilten CVE-Nummern für Sicherheitslücken gewesen sei. Als mögliche Gegenmaßnahmen zählt das Team eine statische Analyse, Fuzzing, Code-Überprüfungen oder eben die automatische Initialisierung auf.

Letzteres nennt Microsoft Initall, wobei bisher noch nicht in allen Fällen wirklich Stack-Variablen initialisiert werden, sondern nur in einigen ausgesuchten Fällen wie im Kernel-Code oder in der Virtualisierung Hyper-V. Der Grund dafür ist die teilweise schlechte Leistung der Technik. So habe das Team in ersten Tests mit verschiedenen Metriken Leistungseinbußen von bis zu 10 Prozent verzeichnet. Man habe darüber hinaus einige Probleme beheben müssen, die in Verbindung mit Initall aufgetaucht seien, etwa bei der Speicherverwaltung.

Golem Akademie
  1. Microsoft 365 Administration: virtueller Drei-Tage-Workshop
    01.-03.06.2022, Virtuell
  2. Kubernetes Dive-in-Workshop: virtueller Drei-Tage-Workshop
    19.-21.07.2022, Virtuell
Weitere IT-Trainings

Dem Blogeintrag zufolge konnte das Team bereits einige Sicherheitslücken mit der Technik verhindern, zumindest auf den unterstützten Systemen. Wohl auch deshalb will Microsoft Initall künftig in noch größerem Umfang als bisher einsetzen. Das Team geht außerdem davon aus, dass Microsoft langfristig kein System mehr unterstützen wird, auf dem Initall nicht eingesetzt wird. Die beschriebene Fehlerklasse sollte damit nicht mehr zu Sicherheitslücken führen.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed


rtlgrmpf 15. Mai 2020

Jo, aber "Default-Initialisierung" kann aber eben auch "keine Initialisierung" bedeuten.

Das Rockt 15. Mai 2020

Ja, der Overhead ist extrem hoch. Das kann leicht schon mal 20.000 Takte kosten wenn...

pythoneer 14. Mai 2020

Ja, die gibt es. Eine die man in diesem Zusammenhang besonders hervorheben kann ist Rust...



Aktuell auf der Startseite von Golem.de
Halbleiter & SMIC
Chip-Nachfrage für Smartphones und PC fällt "wie ein Stein"

Chinesische Kunden von SMIC haben volle Lager und ordern weniger Chips. Andere Halbleiter sollen den Einbruch auffangen.

Halbleiter & SMIC: Chip-Nachfrage für Smartphones und PC fällt wie ein Stein
Artikel
  1. Google: Russland will Youtube aus Selbstschutz nicht blockieren
    Google
    Russland will Youtube aus Selbstschutz nicht blockieren

    Die zahlreichen Drohungen der russischen Zensurbehörde zur Blockade von Youtube werden wohl nicht umgesetzt. Die Auswirkungen wären zu stark.

  2. Arclight Rumble: Wegen Warcraft Mobile sollte sich Blizzard selbst verklagen!
    Arclight Rumble
    Wegen Warcraft Mobile sollte sich Blizzard selbst verklagen!

    Golem.de hat es gespielt: Arclight Rumble entpuppt sich als gelungenes Mobile Game - aber wie ein echtes Warcraft fühlt es sich nicht an.
    Von Peter Steinlechner

  3. Biontech: Mainz kann 365-Euro-ÖPNV-Ticket dank Corona einführen
    Biontech
    Mainz kann 365-Euro-ÖPNV-Ticket dank Corona einführen

    In Mainz ist Biontech beheimatet, was die Steuereinnahmen explodieren lässt. Mit dem Geld wird nun ein 365-Euro-Jahresticket für Schüler und Azubis finanziert.

Du willst dich mit Golem.de beruflich verändern oder weiterbilden?
Zum Stellenmarkt
Zur Akademie
Zum Coaching
  • Schnäppchen, Rabatte und Top-Angebote
    Die besten Deals des Tages
    Daily Deals • PS5 jetzt bestellbar • Cyber Week: Bis zu 900€ Rabatt auf E-Bikes • MindStar (u. a. Intel Core i9 529€, MSI RTX 3060 Ti 609€) • Gigabyte Waterforce Mainboard günstig wie nie: 480,95€ • Razer Ornata V2 Gaming-Tastatur günstig wie nie: 54,99€ • AOC G3 Gaming-Monitor 34" 165 Hz günstig wie nie: 404€ [Werbung]
    •  /