Abo
  • Services:
Anzeige
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)

Programmiersprache: Microsoft forscht an sicherer C-Erweiterung

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)

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.

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.

Anzeige

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.


eye home zur Startseite
gadthrawn 16. Jun 2016

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



Anzeige

Stellenmarkt
  1. Fraunhofer-Informationszentrum Raum und Bau IRB, Stuttgart
  2. MediaMarktSaturn IT Solutions, Ingolstadt
  3. Bosch Software Innovations GmbH, Waiblingen
  4. Bijou Brigitte modische Accessoires AG, Hamburg


Anzeige
Top-Angebote
  1. ab 44,99€
  2. ab 13,53€
  3. (-17%) 49,99€

Folgen Sie uns
       

Anzeige
Whitepaper
  1. Globale SAP-Anwendungsunterstützung durch Outsourcing


  1. Streaming

    Akamai macht Videos mit Quic schneller

  2. United Internet

    1&1 bietet VDSL immer mehr über sein eigenes Netz an

  3. Videostreaming im Zug

    Maxdome umwirbt Bahnfahrer bei Tempo 230

  4. Synology FS1018

    Kleine Flashstation für SSDs und Adapterkarte für M.2-SSDs

  5. Reddit

    Drei Alpha-Profilseiten sind online

  6. Souq.com

    Amazon gibt 750 Millionen Dollar für Übernahme aus

  7. Let's Play

    Facebook ermöglicht Livevideos vom PC

  8. Ryzen-CPU

    Ach AMD!

  9. Sensor

    Mit dem Kopfpflaster Gefühle lesen

  10. Übernahme

    Apple kauft iOS-Automatisierungs-Tool Workflow



Haben wir etwas übersehen?

E-Mail an news@golem.de


Anzeige
NZXT: Lüfter auch unter Linux steuern
NZXT
Lüfter auch unter Linux steuern
  1. Creoqode 2048 Tragbare Spielekonsole zum Basteln erhältlich
  2. FluoWiFi Arduino-kompatibles Board bietet WLAN und Bluetooth
  3. Me Arm Pi Roboterarm zum Selberbauen

Mobile-Games-Auslese: Würfelkrieger und Kartendiebe für mobile Spieler
Mobile-Games-Auslese
Würfelkrieger und Kartendiebe für mobile Spieler

Mass Effect Andromeda im Test: Zwischen galaktisch gut und kosmischem Kaffeekränzchen
Mass Effect Andromeda im Test
Zwischen galaktisch gut und kosmischem Kaffeekränzchen
  1. Mass Effect Countdown für Andromeda
  2. Mass Effect 4 Ansel und Early Access für Andromeda
  3. Mass Effect Abflugtermin in die Andromedagalaxie

  1. Re: WLAN für alle nach meinen Erfahrungen unbrauchbar

    most | 13:13

  2. Re: Braucht man das? (Ernst gemeinte Frage)

    RaZZE | 13:13

  3. Re: 800¤ für ne GraKa?

    RaZZE | 13:12

  4. Zensur im Forum

    ocm | 13:10

  5. Re: Nie wieder diesen Schrottverein.

    Marzl85 | 13:10


  1. 13:18

  2. 12:28

  3. 12:05

  4. 11:46

  5. 11:30

  6. 10:35

  7. 10:06

  8. 09:04


  1. Themen
  2. A
  3. B
  4. C
  5. D
  6. E
  7. F
  8. G
  9. H
  10. I
  11. J
  12. K
  13. L
  14. M
  15. N
  16. O
  17. P
  18. Q
  19. R
  20. S
  21. T
  22. U
  23. V
  24. W
  25. X
  26. Y
  27. Z
  28. #
 
    •  / 
    Zum Artikel