Blink(Chromium 渲染引擎) vs. Gecko(Firefox 渲染引擎)
很多人觉得 Firefox 和其他用 Gecko 引擎的浏览器没 Chrome 安全,有不少原因。
Firefox 安全方面的短板:
内部沙箱机制不给力
Chrome 借助安卓的“隔离进程”功能,把各个组件隔得妥妥的。而 Firefox 就没这个优势,一旦有漏洞,黑客更容易趁虚而入,搞到系统里去。
在 Windows、Linux 和 Android 上,Firefox 的沙箱强度基本都不如 Chrome。比如在 Windows 上,Firefox 的沙箱一度不支持 Win32k lockdown(这个能阻止访问很多高危系统操作)。在 Linux 上,它也有沙箱逃逸的历史问题;至于 Android,更是限制一大堆,沙箱效果也弱。
沙箱防护范围太小
跟 Chromium 一比,Firefox 的沙箱不光小,在 Linux 上更是差距明显。尤其在 Android 上,Firefox 没有站点隔离功能,也没有每个标签页用不同进程的机制,这让攻击者可以更容易控制整个浏览器。
绕过系统加固机制
Firefox 在安卓上有时候会放弃或者绕过系统自带的安全措施。比如有些内存保护机制,它就不完整使用。这种情况下就容易被攻击了。
攻击面更大
那些用 Gecko 引擎加载网页的 App,实际上还得同时依赖 Chromium 的 WebView,因为 GeckoView 本身不是个完整的 WebView。这就等于同时暴露两个浏览器引擎给攻击者,风险翻倍。
更糟的是,Firefox 没有控制流完整性(CFI)保护,让黑客更容易执行恶意代码。而且它还默认不拦截不受信任的字体,这也可能被用来搞事情,比如偷你信息。
内存分配器不给力
Firefox 用的是 mozjemalloc 这套内存分配机制,它的问题也不少:
• 没有内存分区,不同类型的东西都堆一起。
• 元数据和分配区是分开的,这虽然省事但也让攻击者更容易搞清楚内存结构,从而下手。
没有站点隔离
在 Android 上,Firefox 不能像 Chromium 那样把每个网站放在不同的进程里。结果就是一个恶意网站可以偷别的网站的数据,甚至进行像 Spectre 这样的侧信道攻击。
Firefox 对漏洞的防御能力
整体来看,Firefox 的漏洞防护机制要比 Chromium 弱不少。这并不是因为它本身更安全,而是因为它市场份额小,黑客开发专门漏洞的动力不大。
而且它在 GPU 沙箱、防内存崩溃机制这些方面都比较差。高级内存防护机制几乎没有。
把 Tor 当主力浏览器?不推荐。
虽然 Tor 更注重隐私,但它的安全防护很落后。如果你用 Tor,反而更容易被识别成“有意思的目标”,黑客反而盯上你。
与其单用 Tor,不如用 Chrome 搭配 Tor 的代理,这样会更平衡点。Tor 本身确实能减少一些信息泄露,但想保命还是得靠自己别乱点乱操作。
不同系统上的 Firefox 安全表现:
在 Windows 上
从 Firefox 100 开始,它在 Windows 上终于也加了 Win32k Lockdown,总算加强了点防护,黑客要想逃出沙箱就没那么容易了。只是这功能,Chrome 早在 2016 年就有了,Firefox 是晚了好几年才跟上。
在 Linux 上
Linux 上的 Firefox 沙箱机制可以说是“形同虚设”。沙箱逃逸漏洞不少,很多都老掉牙了都还在。就算是在沙箱里的内容,也还是能被攻击。
PulseAudio(Linux 上用得多的音频服务器)没做隔离,黑客能通过它跳出沙箱。
X11 同理,也直接暴露给 Firefox 内容进程。
Seccomp-BPF 本来是 Linux 上限制系统调用的重要机制,Chrome 用得挺好,但 Firefox 没用到位。这是被黑客利用得最多的逃逸方式。
GPU 和音频处理:Firefox 没有单独的 GPU 或音频进程,功能都揉在一起,一旦有漏洞,黑客就直接能拿到内容权限。
在 Android 上
Android 平台的 Firefox 更是灾区:
沙箱太弱:不像 Chromium 那样用 isolatedProcess 机制去隔离,容易被突破。
没隔离机制:桌面都不如人,更别提移动端了。
防护手段少:连 CFI 都没加上,更别提高级点的内存防护了。
JIT 加固差:JavaScript 引擎这块,Firefox 没像 Chrome 那样做 fuzzing 和审计。
漏洞监控缺失:Google 有团队专门盯着现实中的攻击案例,Firefox 没这个机制,所以出了事发现慢、反应也慢。
其他方面也落后:Chromium 用了更先进的内存管理技术,比如 Oilpan、MiraclePtr、PartitionAlloc。这些东西能有效防止内存崩坏,Firefox 一样都没。
想让 Firefox 的 jemalloc 达到同等安全水平,几乎得把它整个重做一遍,像运行时安全系统那样去设计,包括加垃圾回收、引用计数、内存验证等,代价极大。
此外,Chromium 还用了 V8 的沙箱技术,这对 JavaScript 运行时的防护起了决定性作用,Firefox 则完全没有。
什么是站点隔离?为什么重要?
站点隔离就是把不同的网站放在完全独立的进程里。这样一个网站就算被黑,也只能伤自己,影响不到别的网页。
它的好处:
• 防止跨站攻击:别的网站拿不到你当前网页的数据。
• 提升整体安全性:对抗 Spectre 这种现代侧信道攻击也有帮助。
• 进程级的保护比线程级更强。
虽然 Firefox 95 开始引入 Fission 功能(类似站点隔离),但离 Chromium 的实现还有差距。Fission 也有已知的安全漏洞,甚至会导致跨站数据泄露。如果 TikTok 标签页被攻破,其他标签页就可能被波及。
Gecko 用了哪些 Chromium 的组件?
别看它嘴上说不用 Chromium,其实 Gecko 也偷偷用了几个模块:
Skia:用来画图的,跟 Canvas 有关。
ANGLE:让 WebGL 兼容不同平台图形接口。
Chromium 的沙箱代码:Windows 下也借用了。
Chromium 的基础工具库:用在沙箱中做文件和字符串处理等。
浏览器推荐
基于 Gecko 的推荐:
• 推荐:IronFox、Floorp、Mullvad、Zen(这个还在 Alpha 阶段,有点小问题)
• 不推荐:Librewolf(反指纹效果差)、Waterfox(支持老插件,有风险,而且默认搜索引擎是 Bing)
基于 Chromium 的推荐:
• 推荐:Brave、Ungoogled Chromium、原生 Chromium、Edge(装完建议“瘦身”一下)
• 不推荐:Opera、AVG/Avast 浏览器(都有隐私问题,比如共享用户数据或者被罚过钱)
关于 Brave 的一些争议澄清:
过去几年 Brave 被指各种“黑料”,但很多其实是误解或者技术问题,比如:
• 换广告是想保护隐私,不是抢钱;
• Tor 漏 DNS 是设置问题,不是故意;
• 加 VPN 是预装但没启用;
• 加 fringe 搜索引擎是听了用户建议;
• 插入 Affiliate 链接是 bug,不是恶意行为;
• 赞助图像可以关,不影响隐私;
• 有人说他们攻击 Firefox,其实是误读。
总之,这些争议大部分后来都修复或澄清了。
如果你重视“隐私”,Firefox 确实有一套;但要论“安全性”,从沙箱、隔离机制、内存管理等方面来说,它确实不如 Chromium 系列,尤其是在 Android 和 Linux 上。
简而言之:Firefox 是主流浏览器里最不安全的一个。不是因为黑客不爱攻击它就代表它安全,而是因为它沙箱弱、漏洞防护差,根基就不牢。
 
来源:reddit用户Alkatane
2025-04-15
浏览279
登录后评论
2
分享