Abo
  • Services:

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. Schneider Electric GmbH, Marktheidenfeld
  2. Landratsamt Fürth, Zirndorf bei Nürnberg

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. 45,99€ (Release 19.10.)
  2. 2,99€
  3. 12,99€

gadthrawn 16. Jun 2016

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


Folgen Sie uns
       


Coup Elektroroller in Berlin - Kurzbericht

Coup lädt bis zu 154 Akkus in Berlin an einer automatischen Ladestation für 1.000 Elektroroller auf.

Coup Elektroroller in Berlin - Kurzbericht Video aufrufen
Logitechs MX Vertical im Test: So teuer muss eine gute vertikale Maus nicht sein
Logitechs MX Vertical im Test
So teuer muss eine gute vertikale Maus nicht sein

Logitech hat mit der MX Vertical erstmals eine vertikale Maus im Sortiment. Damit werden Nutzer angesprochen, die gesundheitliche Probleme bei der Mausnutzung haben - Schmerzen sollen verringert werden. Das Logitech-Modell muss sich an der deutlich günstigeren Alternative von Anker messen lassen.
Ein Test von Ingo Pakalski

  1. Logitech MX Vertical Ergonomisch geformte Maus soll Handgelenke schonen
  2. Razer Mamba Elite Razer legt seine Mamba erneut mit mehr RGB auf
  3. Logitech G305 Günstige Wireless-Maus mit langer Laufzeit für Gamer

Oldtimer-Rakete: Ein Satellit noch - dann ist Schluss
Oldtimer-Rakete
Ein Satellit noch - dann ist Schluss

Ursprünglich sollte sie Atombomben auf Moskau schießen, dann kam sie in die Raumfahrt. Die Delta-II-Rakete hat am Samstag ihren letzten Flug.
Von Frank Wunderlich-Pfeiffer

  1. Stratolaunch Riesenflugzeug bekommt eigene Raketen
  2. Chang'e 4 China stellt neuen Mondrover vor
  3. Raumfahrt Cubesats sollen unhackbar werden

Network Slicing: 5G gefährdet die Netzneutralität - oder etwa nicht?
Network Slicing
5G gefährdet die Netzneutralität - oder etwa nicht?

Ein Digitalexperte warnt vor einem "deutlichen Spannungsverhältnis" zwischen der technischen Basis des kommenden Mobilfunkstandards 5G und dem Prinzip des offenen Internets. Die Bundesnetzagentur gibt dagegen vorläufig Entwarnung.
Ein Bericht von Stefan Krempl

  1. T-Mobile US Deutsche Telekom gibt 3,5 Milliarden US-Dollar für 5G aus
  2. Ericsson Swisscom errichtet standardisiertes 5G-Netz in Burgdorf
  3. Masterplan Digitalisierung Niedersachsen will flächendeckende Glasfaserinfrastruktur

    •  /