WebAssembly Is The End of The Internet as We Know It

How do you take your internet? I, for one, like it private and secure. Unfortunately, it does not matter what any of us think. WebAssembly, an exciting new technology that lets browsers run native, low level, code may bring an end to privacy and security on the internet as we know it.

What is WebAssembly?

WebAssembly, in short, is a runtime that lets browsers run native code. When I say native, I mean code written in low-level languages such as C, C++, Rust, etc.

This is a simplified diagram of the principles of WebAssembly. The compiler inputs code in an LLVM-compliant language and produces a binary .wasm file. This file is loaded and hooked up to the existing JS code by the JavaScript Interop layer and the .wasm file is then executed by the WebAssembly runtime.

WebAssembly is now fully adopted and supported natively in all major browsers.

What can WebAssembly do?

WebAssembly offers exceptional performance. This means that your websites can work nearly as fast as regular software on your PC outside the browser. I cannot stress enough just how revolutionary this is. It lets browsers run software and games that were not available before due to performance issues. It will make complex WebVR experiences possible. WebAssembly can make Chromebooks actually useful.

Exploring WebWindow examples for Blazor on desktop

One application of WebAssembly you will find very interesting is Blazor by Microsoft. What Microsoft had done, basically, is ported their whole .NET platform to WebAssembly and added a UI library on top. That means that if you are a .NET developer you just learned web app development without really doing anything.

How can it be exploited?

There are lots of ways. They are made possible due to the unreadable nature of .wasm files. They can still be decompiled and analyzed, but that is not something that is as easy as prettifying JavaScript. A small tracking script may be included in one of the libraries that a website uses and no one will know about it. Thus, tracking protection, both first-party (Firefox) and third-party (Plugins) will stop working.

Secondly, the performance increase means that websites can now make better use of your hardware. Cryptocurrency mining, for example. And again, it will be notoriously hard to block.

Lastly, there are security issues. With this much power and low-level access, certain attacks (brute-force) and vulnerabilities are becoming possible. We will just hope that the open-source community will keep up.

Closing notes

So, the internet will definitely be not the same after the widespread adoption of WebAssembly. It is yet to see though, how nourishing or catastrophic the consequences will be. Thank you for reading and let me know in the comments what do you think about WebAssembly!

Resources

Get new content delivered to your mailbox:

leave a comment