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

LG zeigt elastisches OLED-Display

Es lässt sich um bis zu 50 Prozent dehnen. Allerdings besitzt es eine deutliche geringere…

1 Woche ago

BSI zu Cybersicherheit: Bedrohungslage bleibt angespannt

Allerdings nimmt auch die Resilienz gegenüber Cyberattacken zu. Das BSI hat außerdem die Cybersicherheit anstehender…

1 Woche ago

IT-Ausgaben in Europa steigen 2025 voraussichtlich um 8,7 Prozent

Es ist das größte Wachstum in einem Jahr seit 2021. Unter anderem lässt das Interesse…

1 Woche ago

Magento-Agentur für große Webshops: Was sollte die Magento-Agentur leisten können?

Magento zählt zu den führenden Shopsystemen in der Welt. Es punktet mit hoher Flexibilität und…

2 Wochen ago

Trojaner tarnt sich als AutoCAD

SteelFox gelangt über angebliche Cracks für kostenpflichtige Anwendungen auf die Rechner seiner Opfer. Betroffen sind…

2 Wochen ago

Ymir: Ransomware mit ausgeklügelter Verschleierung

Ymir nutzt fortschrittliche Verschleierungsmethoden. Sie verschlüsselt bestimmte Dateien auf einer Whitelist nicht, um einer Entdeckung…

2 Wochen ago