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. Rohde & Schwarz Cybersecurity GmbH, Berlin
  2. Schaeffler Technologies AG & Co. KG, Nürnberg
  3. über Hanseatisches Personalkontor Bremen, Bremen
  4. OPITZ CONSULTING Deutschland GmbH, verschiedene Standorte


Anzeige
Blu-ray-Angebote
  1. Einzelne Folge für 2,99€ oder ganze Staffel für 19,99€ kaufen (Amazon Video)

Folgen Sie uns
       


  1. UAV

    Matternet startet Drohnenlieferdienst in der Schweiz

  2. Joint Venture

    Microsoft und Facebook verlegen Seekabel mit 160 Terabit/s

  3. Remote Forensics

    BKA kann eigenen Staatstrojaner nicht einsetzen

  4. Datenbank

    Börsengang von MongoDB soll 100 Millionen US-Dollar bringen

  5. NH-L9a-AM4 und NH-L12S

    Noctua bringt Mini-ITX-Kühler für Ryzen

  6. Wegen Lieferproblemen

    Spekulationen über Aus für Opels Elektroauto Ampera-E

  7. Minix

    Fehler in Intel ME ermöglicht Codeausführung

  8. Oracle

    Java SE 9 und Java EE 8 gehen live

  9. Störerhaftung abgeschafft

    Bundesrat stimmt für WLAN-Gesetz mit Netzsperrenanspruch

  10. Streaming

    Update für Fire TV bringt Lupenfunktion



Haben wir etwas übersehen?

E-Mail an news@golem.de


Anzeige
Optionsbleed: Apache-Webserver blutet
Optionsbleed
Apache-Webserver blutet
  1. Apache-Sicherheitslücke Optionsbleed bereits 2014 entdeckt und übersehen
  2. Open Source Projekt Oracle will Java EE abgeben

Lenovo Thinkstation P320 Tiny im Test: Viel Leistung in der Zigarrenschachtel
Lenovo Thinkstation P320 Tiny im Test
Viel Leistung in der Zigarrenschachtel
  1. Adware Lenovo zahlt Millionenstrafe wegen Superfish
  2. Lenovo Smartphone- und Servergeschäft sorgen für Verlust
  3. Lenovo Patent beschreibt selbstheilendes Smartphone-Display

Wireless Qi: Wie die Ikealampe das iPhone lädt
Wireless Qi
Wie die Ikealampe das iPhone lädt
  1. Noch kein Standard Proprietäre Airpower-Matte für mehrere Apple-Geräte

  1. Re: Sinnfrage

    sneaker | 00:19

  2. Re: Wozu?

    Hotohori | 00:18

  3. Re: IPv6 Subnetze? was habt Ihr?

    tingelchen | 00:17

  4. Re: was kostet das? und warum rechnet sich das?

    Netzweltler | 00:14

  5. Re: Das fällt jetzt auf? Wofür gibt es Beta...

    Gromran | 00:12


  1. 17:43

  2. 17:25

  3. 16:55

  4. 16:39

  5. 16:12

  6. 15:30

  7. 15:06

  8. 14:00


  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