Discussion:
Sicherheit und N utzen von WebAssemblys
(zu alt für eine Antwort)
Andreas Wagner
2023-01-29 15:45:05 UTC
Permalink
Hallo zusammen,

ich habe mich ein wenig mit WebAssemblys auseinadergesetzt und frage mich,
ob dabei das System kompromittiert werden kann. Es reicht ja schon, Shell-
Befehle oder Assembler ausführen zu können. Ein INT 83 oder syscall()
unter Linux und man darf schon zuviel.

Was den Nutzen angeht: Bilder könnte man vermutlich mit image.data DOM-
Objekten einbauen. Das habe ich noch nicht versucht. Es könnte auch
klappen, da Events reinzubekommen.

Mir scheint WASM beim FF unter Linux Mint standardmäßig eingeschaltet.

Gruß
Andreas
Arno Welzel
2023-01-29 17:21:09 UTC
Permalink
Post by Andreas Wagner
ich habe mich ein wenig mit WebAssemblys auseinadergesetzt und frage mich,
ob dabei das System kompromittiert werden kann. Es reicht ja schon, Shell-
Befehle oder Assembler ausführen zu können. Ein INT 83 oder syscall()
unter Linux und man darf schon zuviel.
Genau deswegen darf ein WebAssembly das auch nicht. WebAssembly ist
vereinfacht ausgedrückt eine compilierte Form von JavaScript.
Post by Andreas Wagner
Was den Nutzen angeht: Bilder könnte man vermutlich mit image.data DOM-
Objekten einbauen. Das habe ich noch nicht versucht. Es könnte auch
klappen, da Events reinzubekommen.
Um Bilder geht es bei WebAssembly nicht, sondern um die Ausführung von
Code in der Sandbox des Browsers.
Post by Andreas Wagner
Mir scheint WASM beim FF unter Linux Mint standardmäßig eingeschaltet.
Ja, weil Anwender in der Regel nicht verstehen, warum der Inhalt auf
einer Website nicht geht, weil standardmäßig diverse Funktionen im
Browser ausgeschaltet sind oder bei Rückfragen "diese Seite möchte eine
WebAssembly laden und ausführen - erlauben?" einfach immer mit "Ja"
antworten, womit dann auch keine Sicherheit gewonnen wäre.
--
Arno Welzel
https://arnowelzel.de
Arno Welzel
2023-01-29 17:23:57 UTC
Permalink
[...]
Post by Arno Welzel
Post by Andreas Wagner
Was den Nutzen angeht: Bilder könnte man vermutlich mit image.data DOM-
Objekten einbauen. Das habe ich noch nicht versucht. Es könnte auch
klappen, da Events reinzubekommen.
Um Bilder geht es bei WebAssembly nicht, sondern um die Ausführung von
Code in der Sandbox des Browsers.
Dazu noch als praktisches Beispiel:

<https://copy.sh/v86/>

Da kann man sich beispielsweise Haiku als VM *im* Browser anschauen,
d.h. die VM wird vom Browser ausgeführt:

<https://copy.sh/v86/?profile=haiku>

Oder wer sich mal wieder ein Museumsstück anschauen will, Windows 3.1
gibt es ebenfalls:

<https://copy.sh/v86/?profile=windows31>
--
Arno Welzel
https://arnowelzel.de
Lesen Sie weiter auf narkive:
Loading...