Sicherheitslücke

Eine Sicherheitslücke ist ein Fehler in Software oder Hardware, der es Angreifern oder Schadprogrammen (Exploits) ermöglicht, in ein Computersystem einzudringen und es zu kompromittieren. Sie entstehen häufig durch Programmierfehler, unzureichenden Schutz (z. B. fehlende Firewall) oder die Vernachlässigung von Sicherheitsaspekten im Entwicklungsprozess, wobei die hohe Komplexität moderner Systeme eine zentrale Rolle spielt. Schätzungen zufolge erzeugt ein Programmierer etwa einen Fehler pro 1000 Programmzeilen, was bei großen Projekten zu tausenden potenziellen Schwachstellen führt, von denen viele nie entdeckt oder aus Kostengründen nur dokumentiert werden. Besonders anfällig sind Programme, die in leistungsorientierten Sprachen wie C oder Assembler geschrieben wurden, da deren Programmiermodell (z. B. Zeigerarithmetik) fehleranfällig ist und der Zeit- und Kostendruck in der Branche Sicherheitslücken zur Regel macht. Zudem liefern Hardwarehersteller oft schlecht programmierte Zusatzsoftware (z. B. Videoschnittprogramme) aus Marketinggründen mit, die häufig an Fremdfirmen vergeben wird und vor allem Heimanwender betrifft. Als Lösung wird der Einsatz sicherer Programmiersprachen wie Rust diskutiert, die Speicherfehler vermeiden; so erwägen Linux-Entwickler, Rust für Kernel-Module zu nutzen, und auch Microsoft verfolgt diesen Ansatz.