Kapitel 11. WebAssembly System Interface (WASI)
Diese Arbeit wurde mithilfe von KI übersetzt. Wir freuen uns über dein Feedback und deine Kommentare: translation-feedback@oreilly.com
Ich bin nicht auf dieser Welt, um deine Erwartungen zu erfüllen, und du bist nicht auf dieser Welt, um meine zu erfüllen.
Bruce Lee
Es gibt einige Dinge, die in WebAssembly aufgrund von Sicherheitszielen, die auf anderen Plattformen einfacher sind, unnötig schwierig sind. Das Lesen aus dem Dateisystem, das Schreiben auf die Konsole und die Manipulation von Zeichenketten im Speicher sind alles einfache Tätigkeiten in einer Sprache wie C, C++ oder Rust. Es wird erwartet, dass ein Betriebssystem einem Benutzer mit ausreichenden Rechten erlaubt, diese Dinge zu tun. Es gibt keine expliziten, kontextbezogenen Grenzen.
Leider ist das auch das Problem hinter den meisten modernen Cyber-Bedrohungen wie Phishing-Angriffen, Privilegienausweitung, Angriffen auf die Lieferkette und mehr. Wenn es einem Angreifer gelingt, einen privilegierten Benutzer davon zu überzeugen, nicht vertrauenswürdigen Code auszuführen, kann er sich oft Zugang zu anderen Ressourcen verschaffen, die ihm sonst nicht zustehen. Um dies zu verhindern, gibt es Sandbox-Umgebungen, aber sie sind oft langsam, umständlich und lästig für die Entwickler. WebAssembly will dieses Problem lösen, und das tut es auch in vielerlei Hinsicht. Grundsätzlich haben WebAssembly-Module jedoch keinen Zugriff auf etwas, das nicht von ihrer Hosting-Umgebung bereitgestellt ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access