It’s so nasty, nasty, nasty … und die Virtuellen Maschinen wie Java werden in Zukunft sicher mehr. Die beiden Österreicher Roland Lezuo und Peter Molnar haben sich in ihrem Vortrag „Just in Time Compilers – breaking a VM“ intensiv mit der Cacao OpenSource JavaVM beschäftigt und eine Reihe von Möglichkeiten gefunden, aus den Beschränkungen der Virtual Maschine auszubrechen und außerhalb der Kontrolle eines Security Reference Monitors beliebigen Programmcode auszuführen.
Die meisten Lücken die in Cacao gefunden wurden sind Integer Overflows und alle sind wohl Programmierfehler, z.B. wenn 32bit-Code für 64bit-Systeme kompiliert wird und die größeren Integer nicht berücksichtigt. Ein weiteres Problem kann darin liegen, dass die Entwickler des JIT-Compilers von den Eigenschaften der Programmiersprache ausgehen und nicht von den Möglichkeiten im verwendeten Bytecode. Ein Angriff bestand deshalb darin, speziell angepassten Bytecode zu erzeugen, der eine Schwäche des JIT-Compilers nutzt.
Die Gefahr dieser Angriffe ist durchaus real, in praktisch allen Browsern werken inzwischen eine Vielzahl von Vitual Maschines. Java, Flash, Silverlight, … und es werden eher mehr. Fukami ist an dem Thema Flash ja schon seit geraumer Zeit dran.
Kommentare gesperrt wegen Spam
Comment by Christian — 15. März 2009 @ 19:57