Zack's Kernel News
Zack's Kernel News

Chronicler Zack Brown reports on the latest news, views, dilemmas, and developments within the Linux kernel community.
Improving Web Browser Security
Jeff Xu submitted a security patch on behalf of the Chrome browser project. In general, browsers are among the most security-intensive software projects out there. Browsing the web involves directly running a whole lot of code from all over the Internet locally on your computer. Bad actors abound. Protecting users is one of the key essential features of any web browser.
In this case, Jeff proposed a new mseal()
system call, which would allow Chrome to "seal" regions of memory against modification. Jeff's patch also included some changes to the generic mmap()
system call to add the PROT_SEAL
and MAP_SEALABLE
bits to the mmap()
flags. These on/off bits would tell whether a region had been sealed or was available to be sealed.
As Jeff explained it, "Memory sealing is useful to mitigate memory corruption issues where a corrupted pointer is passed to a memory management system. For example, such an attacker primitive can break control-flow integrity guarantees since read-only memory that is supposed to be trusted can become writable or .text pages can get remapped. Memory sealing can automatically be applied by the runtime loader to seal .text and rodata [read-only data] pages and applications can additionally seal security critical data at runtime."
[...]
Buy this article as PDF
(incl. VAT)