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. Informatiker (Fachinformatiker) als Softwareentwickler (m/w/d) für C#
    Connext Communication GmbH, Paderborn
  2. Software-Entwickler CAE (m/w/d) C/C++
    GNS Gesellschaft für numerische Simulation mbH, Braunschweig (mobiles Arbeiten deutschlandweit)
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. Data Engineering mit Apache Spark: virtueller Zwei-Tage-Workshop
    25.–26. April 2022, Virtuell
  2. Microsoft Dynamics 365 Guides mit HoloLens 2: virtueller Ein-Tages-Workshop
    16. Februar 2022, Virtuell
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
Digitalisierung
500-Euro-Laptops für Lehrer "leistungsfähig und gut nutzbar"

Das Land NRW hat seine Lehrkräfte mit Dienst-Laptops ausgestattet. Doch diese äußern deutliche Kritik und verwenden wohl weiter private Geräte.

Digitalisierung: 500-Euro-Laptops für Lehrer leistungsfähig und gut nutzbar
Artikel
  1. Volkswagen Payments: VW entlässt Mitarbeiter wohl wegen Cybersicherheits-Bedenken
    Volkswagen Payments
    VW entlässt Mitarbeiter wohl wegen Cybersicherheits-Bedenken

    Volkswagen entlässt einem Bericht nach einen Mitarbeiter, nachdem dieser Bedenken hinsichtlich der Cybersicherheit von Volkswagen Payments äußerte.

  2. Bundesservice Telekommunikation: Schlecht getarnte Tarnorganisation praktisch enttarnt
    Bundesservice Telekommunikation
    Schlecht getarnte Tarnorganisation praktisch enttarnt

    Inzwischen ist offensichtlich, dass der Bundesservice Telekommunikation zum Bundesamt für Verfassungsschutz gehört.

  3. Minderungsrecht: 1&1 bietet Kunden nur 6 Euro bei schwacher Datenrate
    Minderungsrecht
    1&1 bietet Kunden nur 6 Euro bei schwacher Datenrate

    Das neue TKG-Minderungsrecht der Bundesnetzagentur bei schwacher Datenrate scheint in der Praxis keine Lösung zu sein. 1&1 rechnet das Ergebnis klein.

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 • RTX 3080 Ti 12GB 1.699€ • Intel i9-10900K 444,88€ • Huawei Curved Gaming-Monitor 27" 299€ • Hisense-TVs zu Bestpreisen (u. a. 55" OLED 739€) • RX 6900 1.449€ • MindStar (u.a. Intel i7-10700KF 279€) • 4 Blu-rays für 22€ • LG OLED (2021) 77 Zoll 120Hz 2.799€ [Werbung]
    •  /