Midori nimmt Formen an: Das Ende von Windows ist besiegelt

Um sicher zu gehen, dass keine native Malware eingeschleust wird, muss Midori nativen Code von außen ganz und gar verbieten. Das wird zumindest bei Treibern für PCI-Geräte nicht funktionieren. Bei Geräten, die über USB, Bluetooth, SCSI oder SATA angeschlossen sind, kann man Treiber komplett in Managed Code entwickeln. Bei PCI-Geräte müssen zumindest Interrupthandler und Hardware-I/O mit nativem Code realisiert werden. Die Handler für Deferred Procedure Calls lassen sich auch in Managed Code entwickeln.

Wenn Treiber für USB-Geräte komplett in Managed Code entwickelt werden, hat das natürlich Stabilitätsvorteile. Schlecht programmierte Treiber für Noname-DVB-T-Sticks können nicht mehr den ganzen Computer zum Absturz bringen, so wie das heute oft der Fall ist. Bei PCI-Geräten wird der Anteil von Native Code immerhin stark reduziert, so dass Hoffnung besteht, dass sich Entwickler genug Mühe geben, um den nativen Teil des Codes absturzsicher zu programmieren.

Ungeklärt ist bis jetzt allerdings, ob Microsoft für Anwendungsprogramme weiterhin Native Code erlaubt. Obwohl Managed Code für viele komplexe Anwendungen die richtige Lösung ist, gibt es durchaus performancekritische Routinen, die sich schneller und effektiver mit C oder Assembler lösen lassen. Webanwendungen, die sich häufig ändern und zudem naturgemäß dem Internet ausgesetzt sind, lassen sich in C gar nicht so schnell entwickeln, wie sie sich wieder ändern. Flüchtigkeitsfehler mit möglicherweise fatalen Folgen für die Sicherheit sind vorprogrammiert. Managed Code, beispielsweise in C#, ist in diesem Fall die richtige Lösung.

Im technisch-wissenschaftlichen Umfeld gibt es hingegen sehr rechenintensive Anwendungen, die sich durch immer weitere Optimierungen beschleunigen lassen. Nicht selten arbeiten Programmierer mehrere Jahrzehnte an der Optimierung von mathematischen Algorithmen. Das geschieht meist in C oder in Assembler. Diese hochoptimierten Algorithmen lassen sich nicht in die Beschränkungen von Managed Code zwängen. Für Anwendungen wie Kinofilmeffekte, Windkanalsimulation oder Molekülmodellierung ist Managed Code wenig geeignet. Je näher man direkt am Prozessor programmiert, beispielsweise durch direkten Zugriff auf SSE2-Befehle mittels Compiler Intrinsics, desto schneller wird der Code. An solche Techniken ist bei Managed Code nicht zu denken.

Man sollte nicht der falschen Vorstellung verfallen, dass Managed Code den größten Teil aller Sicherheitsprobleme löst. Managed Code, so wie er in Midori vermutlich zwingend vorgeschrieben ist, geht nur ein Teilaspekt von fehlerhaftem Code an, der immer dann entsteht, wenn Code von Menschen geschrieben wird. Trotz aller Sorgfalt gibt es keine bugfreien Programme.

Page: 1 2 3 4 5 6 7

ZDNet.de Redaktion

Recent Posts

Wie du die MotoGP überall kostenlos streamen kannst + Rennkalender 2024

Die MotoGP ist die Königsklasse des Motorradrennsports, die seit 2002 an unterschiedlichen Orten weltweit stattfindet,…

1 Woche ago

LG beseitigt kritische Schwachstellen in WebOS

Angreifer erhalten Root-Zugriff aus der Ferne. Laut Bitdefender sind bei bestimmten TV-Geräten die WebOS-Versionen 4…

1 Woche ago

Intel stellt KI-Chip Gaudi 3

Beim KI-Training übertrifft der Gaudi 3 laut Intel Nvidias H100 deutlich. Intel kombiniert 64 Tensor-Kerne…

1 Woche ago

Alfabet 11 ermöglicht strategisches Portfoliomanagement

Funktionale Design vereinfacht IT-Entscheidungen und fördert Zusammenarbeit bei Planung und Management des digitalen Geschäfts.

1 Woche ago

April-Patchday: Microsoft schließt 149 Sicherheitslücken

Es ist der umfangreichste Patchday seit 2017. Allerdings bringt der April Fixes für lediglich drei…

1 Woche ago

ARIS AI Companion: KI-gestütztes Process Mining

Jeder Mitarbeiter kann zukünftig Prozesse analysieren und Ineffizienzen im Unternehmen identifizieren.

1 Woche ago