Abo
  • IT-Karriere:

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. Scheer GmbH, Freiburg
  2. DIEBOLD NIXDORF, Berlin

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.

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.



Anzeige
Spiele-Angebote
  1. 3,74€
  2. 4,99€
  3. 1,12€

gadthrawn 16. Jun 2016

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


Folgen Sie uns
       


ANC-Kopfhörer im Lautstärkevergleich

Wir haben Microsofts Surface Headphones und die Jabra Elite 85h bei der ANC-Leistung verglichen. Für einen besseren Vergleich zeigen wir auch die besonders leistungsfähigen ANC-Kopfhörer von Sony und Bose, die WH-1000XM3 und die Quiet Comfort 35 II.

ANC-Kopfhörer im Lautstärkevergleich Video aufrufen
Ryzen 3900X/3700X im Test: AMDs 7-nm-CPUs lassen Intel hinter sich
Ryzen 3900X/3700X im Test
AMDs 7-nm-CPUs lassen Intel hinter sich

Das beste Prozessor-Design seit dem Athlon 64: Mit den Ryzen 3000 alias Matisse bringt AMD sehr leistungsstarke und Energie-effiziente CPUs zu niedrigen Preisen in den Handel. Obendrein laufen die auch auf zwei Jahre alten sowie günstigen Platinen mit schnellem DDR4-Speicher.
Ein Test von Marc Sauter

  1. Ryzen 3000 BIOS-Updates schalten PCIe Gen4 für ältere Boards frei
  2. Mehr Performance Windows 10 v1903 hat besseren Ryzen-Scheduler
  3. Picasso für Sockel AM4 AMD verlötet Ryzen 3400G für flottere iGPU

In eigener Sache: Golem.de bietet Seminar zu TLS an
In eigener Sache
Golem.de bietet Seminar zu TLS an

Der Verschlüsselungsexperte und Golem.de-Redakteur Hanno Böck gibt einen Workshop zum wichtigsten Verschlüsselungsprotokoll im Netz. Am 24. und 25. September klärt er Admins, Pentester und IT-Sicherheitsexperten in Berlin über Funktionsweisen und Gefahren von TLS auf.

  1. In eigener Sache ITler und Board kommen zusammen
  2. In eigener Sache Herbsttermin für den Kubernetes-Workshop steht
  3. Golem Akademie Golem.de startet Angebote zur beruflichen Weiterbildung

Dr. Mario World im Test: Spielspaß für Privatpatienten
Dr. Mario World im Test
Spielspaß für Privatpatienten

Schlimm süchtig machendes Gameplay, zuckersüße Grafik im typischen Nintendo-Stil und wunderbare Dudelmusik: Der Kampf von Dr. Mario World gegen böse Viren ist ein Mobile Game vom Feinsten - allerdings nur für Spieler mit gesunden Nerven oder tiefen Taschen.
Von Peter Steinlechner

  1. Mobile-Games-Auslese Ein Wunderjunge und dreimal kostenloser Mobilspaß
  2. Mobile-Games-Auslese Magischer Dieb trifft mogelnden Doktor
  3. Hyper Casual Games 30 Sekunden spielen, 30 Sekunden Werbung

    •  /