Programmiersprache: Microsoft forscht an sicherer C-Erweiterung

Einige Änderungen an Syntax, Compiler und Laufzeitumgebung sollen C-Programme vor typischen Fehlern der Programmiersprache schützen. Microsoft erforscht diese Technik gemeinsam mit Universitäten in einem Open-Source-Projekt.

Artikel veröffentlicht am ,
Die Forschungsabteilung von Microsoft sucht nach Wegen, C abzusichern.
Die Forschungsabteilung von Microsoft sucht nach Wegen, C abzusichern. (Bild: flickr.com, janitors/CC-BY 2.0)

Wegen einiger Besonderheiten der Programmiersprache haben manche in C geschriebene Programme immer wieder typische Probleme, die schnell zu Sicherheitslücken werden können. Dazu gehören der fehlerhafte Umgang mit Zeigern und der Zugriff auf Daten außerhalb ihrer eigentlichen Grenzen. Microsoft erforscht deshalb eine Erweiterung der Sprache C, dank der diese Fehler vermieden werden sollen.

Stellenmarkt
  1. VBA-Entwickler und IDV-Koordinator (m/w/d)
    L-Bank, Karlsruhe
  2. (Senior) Technical Consultant (m/w/d) Network Solutions
    Controlware GmbH, Dietzenbach bei Frankfurt am Main
Detailsuche

In einer vorläufigen Spezifikation (PDF), die das Projekt mit dem Namen Checked C erstellt, werden dazu einige Erweiterungen zu der Sprache C eingeführt, die es ermöglichen sollen, Bounds Checking für Zeiger und Arrays durchzuführen. Das heißt, es wird überprüft, ob sich die Zeiger und Operationen auf dem Array innerhalb festgelegter Grenzen bewegen. Anders als etwa bei Java geschieht dies nicht automatisch, sondern muss explizit deklariert werden.

Der Programmcode wird dabei meist statisch geprüft, das heißt, bereits während des Kompilierens. Das Team von Microsoft ist sich über die damit verbundenen theoretischen Grenzen im Klaren und erklärt, die aufgestellten Regeln umfassten bewusst nur einen stark limitierten Bereich und seien damit inkomplett. Ebenso schützt Checked C nicht vor bestimmten weiteren Fehlerkategorien von C-Programmen, wie dem Freigeben von Speicher, der noch in Benutzung ist, oder Data Races.

Erweiterung zu Clang und LLVM

Beim Erstellen der Regeln ist das Team eigenen Angaben zufolge schrittweise vorgegangen und hat einen Teil des Quellcodes von OpenSSL den neuen Regeln entsprechend umgeschrieben. Dafür seien etwa 11.000 Zeilen Code verteilt auf über 160 Dateien angepasst worden. Die praktische Umsetzung der Spezifikation von Checked C erfolgt durch Anpassungen an die Compiler-Werkzeugsammlung LLVM sowie dessen C-Frontend Clang.

Golem Akademie
  1. PostgreSQL Fundamentals
    14.-17. September 2021, online
  2. Elastic Stack Fundamentals - Elasticsearch, Logstash, Kibana, Beats
    26. - 28. Oktober 2021, online
Weitere IT-Trainings

Sowohl die Spezifikation als auch die Änderungen an LLVM und Clang finden sich auf Github. Neben Microsoft sind an den Arbeiten Forscher der University of Maryland beteiligt, ebenso haben Forscher von Samsung und der Cornell-University an dem Projekt mitgewirkt.

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


Aktuell auf der Startseite von Golem.de
Mikromobilität
Im Rhein liegen Hunderte E-Scooter

Sie aus dem Wasser holen zu lassen ist zumindest einem Vermieter der E-Scooter zu teuer.

Mikromobilität: Im Rhein liegen Hunderte E-Scooter
Artikel
  1. Suchmaschinen: Huawei könnte bei Google-Konkurrent Qwant einsteigen
    Suchmaschinen
    Huawei könnte bei Google-Konkurrent Qwant einsteigen

    Die französische Suchmaschine Qwant macht weiterhin mehr Verluste als Umsatz. Das Geld von Huawei kann sie daher dringend gebrauchen.

  2. Elon Musk: Tesla-Chef verkauft sein letztes Haus in Kalifornien
    Elon Musk
    Tesla-Chef verkauft sein letztes Haus in Kalifornien

    Seit Mitte 2020 trennt sich Elon Musk nach und nach von seinen Immobilien. Nun verkauft er sein letztes Anwesen - eine Villa in Kalifornien.

  3. IBM Quantum System One: Europas erster Quantencomputer läuft
    IBM Quantum System One
    Europas erster Quantencomputer läuft

    Mit 27 Qubits ist das Quantum System One von IBM auch der leistungsstärkste Quantencomputer in Europa; er steht in Stuttgart.

gadthrawn 16. Jun 2016

1. Du unterschätzt das Übertragen von Altlaste... Altsystemen in andere Umgebungen. 2...


Folgen Sie uns
       


  • Schnäppchen, Rabatte und Top-Angebote
    Die besten Deals des Tages
    Schnäppchen • Crucial MX500 500GB 48,99€ • Amazon-Geräte günstiger • WD Black SN850 500GB PCIe 4.0 89€ • Apple iPhone 12 mini 64GB Rot 589€ • Far Cry 6 + Steelbook PS5 69,99€ • E3-Aktion: Xbox-Spiele bei MM günstiger • Amazon Music Ultd. 6 Mon. gratis bei Kauf eines Echo Dot (4. Gen.) [Werbung]
    •  /