Posts

Showing posts with the label browser

Defending against JavaScript side-channels

Image
You’ve heard of “Micro-architectural attacks” yes? You know, stuff like   Rowhammer ,   ASLR bypass ,   DRAM addressing attacks , and so forth? An excellent   paper by Schwarz et al.  — reviewed by Adrian Colyer   here — describes how one can protect against these attacks coming in via JavaScript. Which basically translates to “preventing any random website from hacking you”   . The one I found particularly fascinating was how JavaScript can be used to identify memory addresses, and how   JavaScript Zero   (the solution described in the paper) defeats it. The thing about JavaScript is, it’s sandboxed nature ensures that virtual addresses are never actually disclosed to the user. That said, 1. JavaScript has   ArrayBuffers  — what is effectively a block of virtual memory that is directly accessible to the user in a fast and efficient way 2. Browsers allocate   ArrayBuffers   in a page-aligned manner (at the start of a new ph...