Capítulo 11. Interfaz del sistema WebAssembly (WASI)

Este trabajo se ha traducido utilizando IA. Agradecemos tus opiniones y comentarios: translation-feedback@oreilly.com

Yo no estoy en este mundo para estar a la altura de tus expectativas, y tú no estás en este mundo para estar a la altura de las mías.

Bruce Lee

Hay algunas cosas que son innecesariamente difíciles en WebAssembly como consecuencia de los objetivos de seguridad y protección que son más fáciles en otras plataformas. Leer del sistema de archivos, escribir en la consola y manipular cadenas en memoria son actividades sencillas en un lenguaje como C, C++ o Rust. Se espera que un sistema operativo permita a un usuario con privilegios suficientes hacer estas cosas. No existen límites contextuales explícitos.

Por desgracia, ése es también el problema que subyace a la mayoría de las ciberamenazas modernas, como los ataques de phishing, la escalada de privilegios, los ataques a la cadena de suministro, etc. Si un atacante es capaz de convencer a un usuario con privilegios para que ejecute código no fiable, a menudo puede robarle el acceso a otros recursos que de otro modo no le corresponderían. Existen entornos aislados para evitarlo, pero a menudo son lentos, engorrosos y pesados para los desarrolladores. WebAssembly quiere resolver este problema, y lo hace de muchas maneras. Fundamentalmente, sin embargo, los módulos de WebAssembly no tienen acceso a nada que no les proporcionen sus entornos de alojamiento.

El MVP y las ...

Get WebAssembly: La Guía Definitiva now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.