Firefox
Bảo mật

Từ khi ra đời, Firefox đã được nhắm đến là một trình duyệt tập trung vào bảo mật. Vào thời điểm đó, trình duyệt chiếm nhiều thị phần nhất là Internet Explorer đang đối mặt với một cuộc khủng hoảng bảo mật. Nhiều lỗ hổng  và phần mềm độc hại đã được phát hiện như Download.Ject có thể được cài đặt vào máy tính chỉ bằng cách truy cập vào một trang web bị nhiễm mã độc. Tình hình tồi tệ đến mức Chính phủ Hoa Kỳ đã đưa ra cảnh báo về việc sử dụng Internet Explorer. Trong khi đó Firefox ít ăn sâu vào với hệ điều hành hơn được coi là một lựa chọn an toàn vì ít có khả năng gặp phải các vấn đề có thể làm ảnh hưởng đến máy tính, làm cho sự phổ biến của Firefox gia tăng đáng kể về trong đầu những năm 2000. Hơn nữa, Firefox được cho là có ít lỗ hổng bảo mật hơn so với các đối thủ cạnh tranh. Vào năm 2006, The Washington Post đưa tin rằng mã khai thác lỗ hổng bảo mật trong Internet Explorer tồn tại trong suốt 284 ngày mà vẫn chưa được vá. Trong khi đó, mã khai thác lỗ hổng bảo mật trong Firefox chỉ tồn tại trong 9 ngày trước khi được Mozilla tung ra bản vá.
Trước đây, như hầu hết các trình duyệt vào thời điểm đó thì Firefox sử dụng kiến trúc đơn khối. Có nghĩa là tất cả các thành phần của trình duyệt chạy trong một tiến trình duy nhất và có quyền truy cập vào tất cả các tài nguyên hệ thống. Phương pháp này gây ra nhiều vấn đề về bảo mật. Ví dụ như nếu một trang web sử dụng quá nhiều tài nguyên hệ thống, toàn bộ Firefox sẽ bị treo hoặc crash, ảnh hưởng đến tất cả các tab. Ngoài ra, nếu bị khai thác bởi bất kỳ lỗ hổng nào thì nó có thể dễ dàng truy cập vào tất cả tài nguyên hệ thống, bao gồm cả các tệp người dùng. Giữa năm 2008 và 2012, hầu hết các trình duyệt đã chuyển sang kiến trúc đa tiến trình, tách riêng các tiến trình có rủi ro cao như render, phát đa phương tiện, GPU và mạng. Tuy nhiên, Firefox đã áp dụng công nghệ này chậm hơn. Mãi đến năm 2015, Firefox mới bắt đầu triển khai công nghệ sandbox với dự án Electrolysis (e10s). Bản viết lại này dựa trên việc giao tiếp liên tiến trình sử dụng thư viện giao tiếp liên tiến trình của Chromium và đặt các thành phần khác nhau như thành phần rendering vào sandbox riêng của nó. Firefox đã phát hành bản viết lại này ở phiên bản beta vào tháng 8 năm 2016, đáng chú ý rằng việc sử dụng RAM bị tăng 10-20% nhưng vẫn thấp hơn so với Chrome vào thời điểm đó. Tuy nhiên, bản viết lại gây ra vấn đề với API phần mở rộng (add-on) cũ vì các add-on cũ không được thiết kế để hoạt động đa tiến trình. Sau hơn một năm ở phiên bản beta, bản viết lại đã được kích hoạt mặc định cho tất cả người dùng Firefox vào tháng 11 năm 2017.
Năm 2012, Mozilla đã khởi động một dự án mới có tên là Servo để viết một engine trình duyệt hoàn toàn mới và thử nghiệm các kỹ thuật an toàn bộ nhớ viết bằng ngôn ngữ Rust. Năm 2018, Mozilla tích hợp các phần của dự án Servo vào engine Gecko vào một dự án có tên mã là Quantum. Dự án đã hoàn toàn đại tu lại code render trang web của Firefox, mang lại hiệu suất và sự ổn định cao hơn trong khi cũng cải thiện bảo mật của các thành phần hiện có. Ngoài ra, API add-on cũ đã bị loại bỏ và thay thế bằng một API WebExtension tương tự với add-on của Google Chrome. Điều này phá vỡ tính tương thích với các add-on cũ nhưng giảm thiểu các lỗ hổng bảo mật và tạo ra một hệ thống add-on dễ bảo trì hơn. Mặc dù dự án Servo được dự định sẽ thay thế nhiều thành phần của engine Gecko hơn nhưng kế hoạch này chưa bao giờ thành hiện thực. Năm 2020, Mozilla sa thải tất cả các nhà phát triển trong đội Servo và chuyển quyền sở hữu dự án cho Linux Foundation.