Protecting the security and privacy of individuals is a central tenet of Mozilla’s mission, and so we constantly endeavor to make our users safer online. With a complex and highly-optimized system like Firefox, memory safety is one of the biggest security challenges. Firefox is mostly written in C and C++. These languages are notoriously difficult to use safely, since any mistake can lead to complete compromise of the program. We work hard to find and eliminate memory hazards, but we’re also evolving the Firefox codebase to address these attack vectors at a deeper level. Thus far, we’ve focused primarily on two techniques:

  • Breaking code into multiple sandboxed processes with reduced privileges
    
  • Rewriting code in a safe language like Rust
    

#firefox #rust #security #webassembly #web-development

Securing Firefox with WebAssembly
2.15 GEEK