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. Fresenius Medical Care Deutschland GmbH, Schweinfurt
  2. ESG Elektroniksystem- und Logistik-GmbH, Garching
  3. M-net Telekommunikations GmbH, München
  4. ORBIT Gesellschaft für Applikations- und Informationssysteme mbH, Bonn


Anzeige
Spiele-Angebote
  1. 109,99€ mit Vorbesteller-Preisgarantie
  2. (-10%) 53,99€
  3. 69,99€ mit Vorbesteller-Preisgarantie

Folgen Sie uns
       


  1. Zahlungsabwickler

    Start-Up Stripe kommt nach Deutschland

  2. Kaspersky

    Microsoft reagiert auf Antivirus-Kartellbeschwerde

  3. EA Sports

    NHL 18 soll Hockey der jungen Spielergeneration bieten

  4. Eviation

    Alice fliegt elektrisch

  5. Staatstrojaner

    Dein trojanischer Freund und Helfer

  6. OVG NRW

    Gericht stoppt Vorratsdatenspeicherung

  7. Amazon Echo

    Erinnerungsfunktion noch nicht für alle Alexa-Geräte

  8. PowerVR

    Imagination Technologies steht zum Verkauf

  9. Internet der Dinge

    Samsungs T200 ist erster Exynos für IoT

  10. Zenly

    Snap kauft Startup für 200 Millionen US-Dollar



Haben wir etwas übersehen?

E-Mail an news@golem.de


Anzeige
Sony Xperia XZ Premium im Test: Taschenspiegel mit übertrieben gutem Display
Sony Xperia XZ Premium im Test
Taschenspiegel mit übertrieben gutem Display
  1. Keine Entschädigung Gericht sieht mobiles Internet nicht als lebenswichtig an
  2. LTE Deutsche Telekom führt HD Voice Plus ein
  3. Datenrate Vodafone bietet im LTE-Netz 500 MBit/s

1Sheeld für Arduino angetestet: Sensor-Platine hat keine Sensoren und liefert doch Daten
1Sheeld für Arduino angetestet
Sensor-Platine hat keine Sensoren und liefert doch Daten
  1. Calliope Mini im Test Neuland lernt programmieren
  2. Arduino Cinque RISC-V-Prozessor und ESP32 auf einem Board vereint
  3. MKRFOX1200 Neues Arduino-Board erscheint mit kostenlosem Datentarif

Mesh- und Bridge-Systeme in der Praxis: Mehr Access Points, mehr Spaß
Mesh- und Bridge-Systeme in der Praxis
Mehr Access Points, mehr Spaß
  1. Eero 2.0 Neues Mesh-WLAN-System kann sich auch per Kabel vernetzen
  2. BVG Fast alle Berliner U-Bahnhöfe haben offenes WLAN
  3. Broadcom-Sicherheitslücke Vom WLAN-Chip das Smartphone übernehmen

  1. Re: Hoffentlich wehrt sich jemand

    tingelchen | 18:37

  2. Ziemlich redundante Aussage

    elgooG | 18:36

  3. Re: " flüssig laufendes, verbessertes Display"

    lear | 18:35

  4. Re: Ist doch ganz einfach ...

    kampfwombat | 18:35

  5. Re: "Tickets kamen jedoch mit ungesicherter...

    kommentar4711 | 18:34


  1. 18:35

  2. 18:01

  3. 15:51

  4. 15:35

  5. 15:00

  6. 14:28

  7. 13:40

  8. 13:29


  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