Abo
  1. Foren
  2. Kommentare
  3. OpenSource
  4. Alle Kommentare zum Artikel
  5. › Wasmjit: Webassembly-Laufzeit…

Uhm

  1. Thema

Neues Thema Ansicht wechseln


  1. Uhm

    Autor: rener 27.09.18 - 10:09

    Ehrlich gesagt erschließt sich mir der Sinn nicht wirklich. Und Sicherheitstechnisch klingt das auf dem ersten Blick auch nach einem Alptraum.

  2. Re: Uhm

    Autor: Noren 27.09.18 - 10:35

    Vielleicht gibts ja Bedarf, Webassembly als neue stan­dar­di­sie­rten Zwischensprache auch ausserhalb von Browsern zu nutzen und eventuell kann das ja Vorteile beim Schreiben von Kernel Module bieten (nutzen muss ich diese Module ja nicht), aber wenn ich irgendwann einen Webserver im Ring 0 finde, kriege ich unkontrolierte Wutausbrüche.



    2 mal bearbeitet, zuletzt am 27.09.18 10:36 durch Noren.

  3. Re: Uhm

    Autor: Aluz 27.09.18 - 11:02

    Ja war auch mein Gedanke, das klang fuer mich so absurd wie "Adobe Flash in Ring 0"

    Ich finde es sehr gruselig. Selbst als nur ein Modul ist es gruselig. Was fuer ein Bollwerk muss das sein, dass man da unter keinen Umstaenden irgendwie was einschleusen kann...

    Und geht es nur mir so oder sind diese Gruselmeldungen im Bezug auf den Kernel auf einen Schlag nachdem Linus seine Auszeit angekuendigt hat mehr geworden? Als ob alle die, die von ihm abgeschmettert wurden nun ploetzlich angekrochen kommen da sie eine Chance sehen. Kann auch sein, dass ich das nur subjektiv so empfinde...

  4. Re: Uhm

    Autor: AnAmigian 27.09.18 - 11:06

    Nur für einen Monat, dann ist Gott zurück und wird, falls nötig die Ketzer zerschmettern. ;-D

  5. Re: Uhm

    Autor: teleborian 27.09.18 - 11:17

    In dem falle ganz gut, dass er eine Auszeit nimmt. Da kann man gleich mal den ernstfall testen wenn er. z.B. tatsächlich mal in Rente geht.

    Ich sehe viel Reorganisation auf die Kernel Entwickler zu kommen und je früher sie da beginnen desto besser und kontrollierbarer.

  6. Re: Uhm

    Autor: patrik.stutz 27.09.18 - 11:22

    WebAssembly als Sprache bietet offenbar keinerlei Möglichkeit auf stellen ausserhalb des eigenen Speicherbereichs zuzugreifen, was bedeuted dass es (solange es korrekt ausgeführt wird) keinerlei Sicherheitsrisiko darstellt.

    Ich weiss nicht ob das genau die Anforderung war, als man WebAssembly entwickelt hat, aber diese Eigenschaft haben anscheinend auch schon andere als nützlich erkannt und eröffnet völlig neue Möglichkeiten um Code sicher im Ring 0 auszuführen.

    Zum Beispiel wird mit Nebulet ein Micro-Kernel entwickelt, der nur WASM-Code ausführen kann, dafür aber komplett im Ring 0:

    https://www.phoronix.com/scan.php?page=news_item&px=Nebulet-Ring-0-WebAssembly
    https://github.com/nebulet/nebulet

    Der Vorteil davon ist, dass schon per Software verhindert wird, dass Programme ihren Speicherbereich verlassen und somit die CPU diese Aufgabe gar nicht mehr übernehmen muss. Das vereinfacht das CPU design und verhindert auch CPU bugs wie Meltdown & Spectre, bzw könnten solche fehler in zukunft per software ohne performanceeinbussen gepatcht werden.

  7. Re: Uhm

    Autor: tsx-11 27.09.18 - 11:32

    patrik.stutz schrieb:
    --------------------------------------------------------------------------------
    > WebAssembly als Sprache bietet offenbar keinerlei Möglichkeit auf stellen
    > ausserhalb des eigenen Speicherbereichs zuzugreifen, was bedeuted dass es
    > (solange es korrekt ausgeführt wird) keinerlei Sicherheitsrisiko
    > darstellt.
    [...]
    > Der Vorteil davon ist, dass schon per Software verhindert wird, dass
    > Programme ihren Speicherbereich verlassen und somit die CPU diese Aufgabe
    > gar nicht mehr übernehmen muss.

    Ist doch bei Java auch der Fall. Daher ist Java auch sicher.

  8. Re: Uhm

    Autor: patrik.stutz 27.09.18 - 11:39

    Ja, aber der Unterschied liegt darin, dass Java eine Laufzeitumgebung braucht (weil Garbage Collector etc.) und WASM direkt vor der ausführung zu nativem code kompiliert werden kann. Und runtimes sind natürlich ein Angriffsvektor, ganz speziell bei so komplexen wie der JVM. Ich würde sagen alle Garbage Collected sprachen scheiden nur schon deshalb aus (und natürlich auch als performance gründen)

    Rust z.B. würde wieder gehen, aber eben nur die Programmiersprache, kompillierte Rust-programme sind wieder unsicher. Wenn der Micro-Kernel Rust-Code direkt akzeptieren würde um diesen dann selbst vor der ausführung zu kompilieren, ginge das auch (sofern der code keine einzige unsafe aufweist).

    Um es vielleicht vereinfacht zu sagen: Mit WASM wurde eine Sprache gesucht und gefunden die es erlaubt code mit maximaler pferformance und absolut sicher im Browser auszuführen. Dann hat man wohl gemerkt, dass wenn es sicher ist es im Browser auszuführen, es auch sicher ist es gleich im Ring 0 auszuführen, da ein ausbrechen ja eigentlich unmöglich ist.



    3 mal bearbeitet, zuletzt am 27.09.18 11:54 durch patrik.stutz.

  9. Re: Uhm

    Autor: stiGGG 27.09.18 - 11:43

    Aluz schrieb:
    --------------------------------------------------------------------------------
    > Und geht es nur mir so oder sind diese Gruselmeldungen im Bezug auf den
    > Kernel auf einen Schlag nachdem Linus seine Auszeit angekuendigt hat mehr
    > geworden? Als ob alle die, die von ihm abgeschmettert wurden nun ploetzlich
    > angekrochen kommen da sie eine Chance sehen. Kann auch sein, dass ich das
    > nur subjektiv so empfinde...

    Linus kann (bzw konnte) nur „abschmettern“ was zur Aufnahme in den Hauptentwicklungszweig vorgeschlagen wurde. Davon steht bei diesem in der Tat seltsamen Modul nichts im Artikel. Um jedes Kernel Modul / Patch zu bewerten welch irgendjemand auf GitHub schmeißt, hat der Tag für ihn nicht genug Stunden. Das hat ihn auch nie gejuckt bzw er hat immer dazu aufgefordert, dass jeder sich seine eigene Version von Linux basteln soll und man sich dabei nicht drum kümmern soll was er dazu denkt.

  10. Re: Uhm

    Autor: Noren 27.09.18 - 12:23

    Ok, ich verstehe. Ist also die Umgebung, der Kompiler/der Interpreter fehlerlos, wäre es nicht möglich auf Speicher ausserhalb der Kontrolle des WASM Modules zuzugreifen. Allerdings sehe ich immer noch Sicherheitsprobleme bei jeglichen Schnittstellen. Nehmen wir an, WASM hätte eine Schnittstelle/Call/Syscall oder was auch immer um mit einem FileSystem zu interagieren (was z.B. bei Webservern üblich ist), so müsste zwangsweise WASM oder der Webserver oder selber Sicherheitsmechanismen enthalten damit dieser nur auf einen bestimmten vorgesehenen Teil zugreifen kann. Bestehende Berechtigungssysteme greifen nicht, da Ring 0.
    Somit besteht immer noch eine Gefahr, dass eine etwas komplexere Software viel mehr Schaden anrichten kann, als wenn sie in einem geschützten Bereich läuft.

  11. Re: Uhm

    Autor: patrik.stutz 27.09.18 - 12:56

    Ich glaube nicht, dass sich am restlichen Berechtigungssystem gross was ändern oder dies gefährlicher würde.

    Jetzt kann auch schon jedes Programm syscalls absetzen und es ist dann sache des syscalls zu prüfen ob der caller (also das programm) überhaupt über die nötigen rechte dafür verfügt. Daran würde sich ja nichts ändern.

    Wenn wir bei der heutigen architektur ein programm im ring 0 ausführen würden, hätte dieses auch nicht die berechtigung jeglichen syscall auszuführen. Aber da es zugriff auf den kompletten memory hat, kann es den syscall auch einfach umgehen.

    Im falle von Wasmjit wird eine syscall schnittschtelle ja auch explizit gar nicht angeboten, sondern das programm hat nur zugriff auf die üblichen web apis.

    Ich denke es ist sogar ein Sicherheitsgewinn, weil man nun z.B. treibern nur auf die für sie relevante hardware zugriff gewähren kann und diese nicht vollzugriff auf das system haben. Man müsste dann aber natürlich entsprechend neue Hardware-Zugriffs APIs definieren.



    2 mal bearbeitet, zuletzt am 27.09.18 13:12 durch patrik.stutz.

  12. Re: Uhm

    Autor: tsx-11 27.09.18 - 13:49

    patrik.stutz schrieb:
    --------------------------------------------------------------------------------
    > Im falle von Wasmjit wird eine syscall schnittschtelle ja auch explizit gar
    > nicht angeboten, sondern das programm hat nur zugriff auf die üblichen web
    > apis.

    ??? Wasmjit im Kernel hat doch Zugriff auf die Syscalls. I glaub ich muss mir das mal installieren. Ist bestimmt ein Spaß. Was passiert mit fork(), mmap(), ...

    > Ich denke es ist sogar ein Sicherheitsgewinn, weil man nun z.B. treibern
    > nur auf die für sie relevante hardware zugriff gewähren kann und diese
    > nicht vollzugriff auf das system haben. Man müsste dann aber natürlich
    > entsprechend neue Hardware-Zugriffs APIs definieren.

    Ja, kann man heute schon machen, in dem man die Treiber im Userspace laufen lässt.

    I glaube nicht das dieses Webassembly in Kernel die Lösung ist.

  13. Re: Uhm

    Autor: patrik.stutz 27.09.18 - 14:11

    Wasmjit selbst hat zugriff, ja. Der code, der darin ausgeführt wird aber natürlich nicht. Sonst könnte ja jede x-beliebige Website bei mir syscalls ausführen.

    Ja, aber userspace treiber sind langsamer, wegen den Contextswitches. Treiber sollten aber möglichst performant sein.

    Ich glaube Webassembly wird die Art und Weise wie Betriebssysteme aufgebaut sind komplett revolutionieren. Allerdings wird das noch ein paar Jahrzehnte dauern.

    Eigentlich bin ich sogar überrascht, dass man zuerst auf die Idee gekommen ist eine spezielle CPU zu bauen, die es erlaubt unsicheren code sicher auszuführen, anstatt einfach nur zwangsläufig sicheren code auszuführen.



    2 mal bearbeitet, zuletzt am 27.09.18 14:18 durch patrik.stutz.

  14. Re: Uhm

    Autor: qwertü 27.09.18 - 14:36

    Noren schrieb:
    --------------------------------------------------------------------------------
    > Allerdings sehe ich immer noch
    > Sicherheitsprobleme bei jeglichen Schnittstellen. Nehmen wir an, WASM hätte
    > eine Schnittstelle/Call/Syscall oder was auch immer um mit einem FileSystem
    > zu interagieren (was z.B. bei Webservern üblich ist), so müsste zwangsweise
    > WASM oder der Webserver oder selber Sicherheitsmechanismen enthalten damit
    > dieser nur auf einen bestimmten vorgesehenen Teil zugreifen kann.

    Genau, aber es steht ja der Laufzeitumgebung (wasmjit) frei, welche API sie an den ausgeführten Code weitergibt. Sie kann ja zur Compile-Zeit prüfen, welche Funktionen der Code aufrufen möchte.

  15. Re: Uhm

    Autor: Noren 27.09.18 - 14:44

    Ich werde es mir auch noch genauer ansehen, allerdings befürchte ich das mehr möglich ist als nur übliche Web APIs und das da nahezu fast alles erlaubt ist, da der Kontext der Ring 0 ist und nicht der Userspace.

  1. Thema

Neues Thema Ansicht wechseln


Um zu kommentieren, loggen Sie sich bitte ein oder registrieren Sie sich. Zum Login

Stellenmarkt
  1. Hong Kong Economic and Trade Office, Berlin
  2. BWI GmbH, Meckenheim
  3. INSYS MICROELECTRONICS GmbH, Regensburg
  4. Bechtle Onsite Services, Oberhausen

Golem pur
  • Golem.de ohne Werbung nutzen

Anzeige
Spiele-Angebote
  1. 54,49€
  2. (-60%) 23,99€
  3. (u. a. FIFA 19, Battlefield V, Space Huilk Tactics, Rainbow Six Siege)
  4. 2,99€


Haben wir etwas übersehen?

E-Mail an news@golem.de


Elektromobilität: Die Rohstoffe reichen, aber ...
Elektromobilität
Die Rohstoffe reichen, aber ...

Brennstoffzellenautos und Elektroautos sollen künftig die Autos mit Verbrennungsantrieb ersetzen und so den Straßenverkehr umweltfreundlicher machen. Dafür sind andere Rohstoffe nötig. Kritiker mahnen, dass es nicht genug davon gebe. Die Verfügbarkeit ist aber nur ein Aspekt.
Eine Analyse von Werner Pluta

  1. Himo C16 Xiaomi bringt E-Mofa mit zwei Sitzplätzen für rund 330 Euro
  2. ADAC-Test Hohe Zusatzkosten bei teuren Wallboxen möglich
  3. Elektroroller E-Scooter sollen in Berlin nicht mehr auf Gehwegen parken

Hyundai Kona Elektro: Der Ausdauerläufer
Hyundai Kona Elektro
Der Ausdauerläufer

Der Hyundai Kona Elektro begeistert mit Energieeffizienz, Genauigkeit bei der Reichweitenberechnung und umfangreicher technischer Ausstattung. Nur in Sachen Emotionalität und Temperament könnte er etwas nachlegen.
Ein Praxistest von Dirk Kunde

  1. Elektroauto Neuer Chevrolet Bolt fährt 34 km weiter
  2. Elektroauto Porsches Elektroauto Taycan im 24-Stunden-Dauertest
  3. Be emobil Berliner Ladesäulen auf Verbrauchsabrechnung umgestellt

Zephyrus G GA502 im Test: Das Gaming-Notebook, das auch zum Arbeiten taugt
Zephyrus G GA502 im Test
Das Gaming-Notebook, das auch zum Arbeiten taugt

Mit AMDs Ryzen 7 und Nvidia-GPU ist das Zephyrus G GA502 ein klares Gaming-Gerät. Überraschenderweise eignet es sich aber auch als mobiles Office-Notebook. Das liegt an der beeindruckenden Akkulaufzeit.
Ein Test von Oliver Nickel

  1. Vivobook (X403) Asus packt 72-Wh-Akku in günstigen 14-Zöller
  2. ROG Swift PG35VQ Asus' 35-Zoll-Display nutzt 200 Hz, HDR und G-Sync
  3. ROG Gaming Phone II Asus plant neue Version seines Gaming-Smartphones

  1. UMTS: 3G-Abschaltung kein Thema für die Bundesregierung
    UMTS
    3G-Abschaltung kein Thema für die Bundesregierung

    Nutzer, die kein LTE in ihren Verträgen festgeschrieben haben, sollten wechseln, da 3G zunehmend abgeschaltet werde. Das erklärte das Bundesverkehrsministerium und sieht keinen Grund zum Eingreifen.

  2. P3 Group: Wo die Mobilfunkqualität in Deutschland am niedrigsten ist
    P3 Group
    Wo die Mobilfunkqualität in Deutschland am niedrigsten ist

    Die Qualität des Mobilfunks in Deutschland ist in den einzelnen Bundesländern sehr unterschiedlich. Dort, wo Funklöcher gerade ein wichtiges Thema sind, ist die Versorgung gar nicht so schlecht.

  3. Mecklenburg-Vorpommern: Funkmastenprogramm verzögert sich
    Mecklenburg-Vorpommern
    Funkmastenprogramm verzögert sich

    Wegen fehlender Zustimmung der EU ist das Geld für ein Mobilfunkprogramm in Mecklenburg-Vorpommern noch nicht verfügbar. Dabei hat das Bundesland laut einer P3-Messung große Probleme.


  1. 18:00

  2. 18:00

  3. 17:41

  4. 16:34

  5. 15:44

  6. 14:42

  7. 14:10

  8. 12:59