Artikel teilen

Die meisten schweren Sicherheitslücken gehen auf Speicherfehler in C und C++ zurück. Das Projekt Fil-C will genau diese Sprachen absichern, ohne sie neu zu schreiben. Jetzt nimmt das Projekt sich eine besonders knifflige Ecke vor.

Ein Klick · kostenlosDr. Web bei Google bevorzugenMarkieren Sie drweb.de als bevorzugte Quelle. Dann sehen Sie unsere Artikel öfter unter den Top-Meldungen.Jetzt hinzufügen

Speichersicherheit gilt als der wundeste Punkt von C und C++, und das Projekt Fil-C will ihn schließen. In einem neuen Beitrag zeigt das Projekt, wie sich selbst hardwarenahe Kontextwechsel absichern lassen.

Auf einen Blick

Das Wichtigste in Kürze

  • Fil-C ist eine speichersichere Umsetzung von C und C++, die bestehenden Code ohne komplette Neufassung absichern soll.
  • Speicherfehler gelten als Ursache für einen Großteil schwerer Sicherheitslücken in verbreiteter Software.
  • Der neue Beitrag widmet sich dem Wechsel zwischen Ausführungssträngen, einer besonders fehleranfälligen Technik.
  • Statt eines Umstiegs auf Sprachen wie Rust verfolgt Fil-C die Absicherung vorhandener C-Programme.

Warum ist Speichersicherheit so wichtig?

Oranger Arbeitsspeicher-Riegel mit gelbem Mini-Helm neben Holzplakette „SAFE“ vor weißem Grund
Programme lesen und schreiben über Speichergrenzen hinaus. BSI und US-Behörden fordern speichersichere Programmiersprachen, doch bestehende Systeme basieren auf C-Code

Fehlerklasse. Ein Großteil der gefährlichen Lücken entsteht, weil Programme über Speichergrenzen hinaus lesen oder schreiben. Behörden wie das BSI und Stellen in den USA drängen seit Jahren auf speichersichere Sprachen. Der Haken liegt im Bestand, denn unzählige Systeme laufen auf gewachsenem C-Code, den niemand mal eben neu schreibt.

Was macht Fil-C anders?

Verkettete Metall- und Grünringe mit Badeente in Uniform und Textschild auf Weiß
Fil-C sichert bestehende Programmiersprachen durch Schutzregeln ab, statt einen Neubeginn zu fordern. Das verhindert Missbrauch beim Wechsel zwischen Ausführungssträngen

Absicherung. Statt einen Neuanfang in einer anderen Sprache zu verlangen, hängt Fil-C Schutzmechanismen an die vorhandene Sprache. Der jüngste Beitrag behandelt den Wechsel zwischen Ausführungssträngen, der tief in den Prozessor greift und sich kaum sauber absichern lässt. Das Projekt legt dafür enge Regeln fest, die einen Missbrauch verhindern.

Was bedeutet das für Unternehmen?

Ein geschlossenes Vorhängeschloss mit orangefarbenem Anhänger auf grauem Grund
Alte C-Code-Systeme in Unternehmen durch Sicherheitswerkzeuge absichern, statt Komplettumbau vorzunehmen

Bestandsschutz. Viele Firmen tragen jahrzehntealten C-Code in kritischen Systemen, dessen Neufassung Jahre kosten würde. Ein Werkzeug, das diesen Code sicherer macht, senkt Risiko ohne Komplettumbau. Welche Grundlagen beim Absichern von Systemen zählen, fasst unser Beitrag zur WordPress-Sicherheit zusammen.

Speichersicherheit lässt sich nicht länger als Detail abtun, sie entscheidet über das Risiko ganzer Systeme. Wer alten C-Code pflegt, sollte Werkzeuge zur Absicherung ernst nehmen.

Markus Seyfferth, Chefredakteur Dr. Web
Zitat teilen

Wie ordnet man das ein?

Grauer Tresor mit zwei orangefarbenen Drehknöpfen, darüber steht „Arbeit“ (mit Schnecke) und „Freizeit“, unten „Fil-C“
Fil-C ist ein laufendes Projekt, das Rechenleistung kostet. Speichersichere Werkzeuge sollten dort eingesetzt werden, wo alter Code sensible Daten verarbeitet

Reife. Fil-C ist ein laufendes Projekt, kein fertiges Allheilmittel, und kostet Rechenleistung. Eine Brücke über einen Abgrund braucht erst ein Geländer, bevor jemand hinübergeht. Beobachten Sie die Entwicklung und prüfen Sie speichersichere Werkzeuge dort, wo alter Code sensible Daten berührt. Kostenlose Entwicklerwerkzeuge sammelt zudem unsere Ressourcen-Übersicht.

Mehr Newshunger?

Ein orangefarbener Tresor mit einem farbigen Etikett im Türspalt vor weißem Hintergrund
Kritische Sicherheitslücken in WordPress-Plugins gefährden Websites durch unbefugte Admin-Zugriffe
4,1 16 Bewertungen

Wie hat Ihnen dieser Artikel gefallen?