TechTok #9. 浏览器扩展的工作原理是什么?什么是防火墙?

去年12月我们推出 TechTok 系列时,就将其设想为直接回答读者关于广告拦截和隐私保护相关技术问题的机会。流程如下:您提问,我们回答。多亏了大家通过专属在线表单提交的问题,TechTok 系列已经持续了八期。不过今天我们的内容不按套路出牌。

今天的两个问题都来自 AdGuard 首席技术官兼联合创始人 Andrey Meshkov,他注意到一些常见技术术语经常被提及却很少得到清晰解释。所以,让我们言归正传来看第一个问题:

浏览器扩展如何工作?

首先让我们定义一下,什么是浏览器扩展。简而言之,它们是在浏览器中运行并改变用户网络体验的小程序。地址栏旁边那些小图标吗?没错,那就是浏览器扩展。它们功能各异,从微小调整到重大升级都有。有些只是改变链接打开方式或自动复制文本,有些则更进一步,拦截广告和追踪器、作为 VPN 工作,甚至使用 AI 帮助撰写或总结内容。通常用户只需要知道如何将扩展添加到浏览器即可。不过,所有扩展究竟如何工作?让我们一探究竟。

浏览器扩展的关键就在其名称中。与独立软件不同,它们离不开浏览器。浏览器与扩展交互的核心是 API(全名:应用程序编程接口),是指浏览器提供的方法和属性集合,允许扩展基于权限有限访问某些浏览器功能和数据。例如,如果 API 允许创建新标签页或关闭现有标签页,拥有必要权限的扩展就能通过访问该 API 实现这些操作。扩展想要访问的功能和数据越多,所需权限就越多,因此在浏览器安装新扩展时要特别注意权限请求。这一点我们下面再详谈。

一般来说,每个浏览器开发者都会创建适合自己浏览器的 API。这就是用户常会发现适用于 Chrome 的扩展在 Safari 上无法工作的原因,反之亦然。这当然不够理想,因此业界一直在努力标准化这些 API,WebExtensions API 就是其中之一。得益于它,Chrome、Firefox 和 Safari 等主流浏览器提供高度兼容的扩展 API,使开发者能创建跨浏览器工作的扩展而只需极少修改。但这并非必然。许多情况下让扩展在不同浏览器上流畅运行非常耗能,并非所有开发者都有资源和意愿走这额外的一步。

回到安全问题上,让我们谈谈浏览器对扩展的限制。浏览器扩展在所谓的沙盒中运行,这种封闭环境只允许每个扩展访问浏览器 API,限制其与操作系统和其他应用的交互。每个扩展都有一个清单,声明其执行功能所需的权限(例如修改页面内容或发起和取消下载的权限)。浏览器会强制执行这些权限,不允许扩展越权操作。这样即使扩展被攻破,至少在理论上也无法对其影响范围外的进程和文件造成损害。

您常会看到不要从官方商店外安装浏览器扩展的警告,因为商店能提供额外防护层。开发者向商店提交扩展时需经过审核流程,期间必须说明扩展为何需要所有请求的权限。如果审查代码后发现请求权限超出扩展功能所需,就可能会被拒绝上架。不过审核流程并非万无一失。有很多例子表明 Chrome 商店和其他热门的扩展也存在问题,窃取用户数据甚至更糟。因此安装前务必仔细检查扩展的权限

谈及扩展安全,不得不提 Chrome 向 Manifest V3 扩展平台的转型。我们多次撰文讨论,甚至在广告过滤开发者峰会进行了专题演讲,因为它对浏览器扩展(尤其是广告拦截扩展)影响深远。虽然给开发者带来不少困扰,但客观来说 Manifest V3 提升了 Chrome 扩展的安全性,禁止扩展执行远程托管或任意代码,所有代码必须经过审核,这能大幅降低安全风险。

接下来是第二个问题:

什么是防火墙?

这个问题若要全面展开,恐怕十页都写不完。但我们不妨抛开细枝末节,直击关键要点。首先解答最根本的疑问:为什么称之为「防火墙」?

「防火墙」一词最初并非技术术语,它的出现远早于互联网时代。其本义是指建筑物内部用于阻隔火势蔓延的实体墙体。这种墙体比普通墙壁更厚实,完全由防火建材构成,通常不设窗户等任何可能让火焰穿透的结构。

防火墙

计算机网络世界的防火墙诞生于1980年代末。正如其名,它的设计初衷同样是阻止某种事物的扩散,这里指的是有害或不必要的网络流量。

第一代防火墙被称为「包过滤防火墙」(英文:packet filters)。它们工作在网络层,通过分析数据包(互联网传输中被分割的最小数据单元)来检测流量。其过滤规则基于源/目标 IP 地址、端口号和传输协议等属性,核心机制是通过预定义规则集来允许或阻断流量。

1990年代初,第二代「状态检测防火墙」(英文:stateful firewalls)问世。与前代不同,这类防火墙能持续追踪流量状态,不仅检查单个数据包,还能判断数据包是否属于已建立的合法会话,而非随机传入的请求。

随着互联网的不断发展,防火墙技术也在持续演进。Web 应用的兴起催生了「应用层防火墙」(英文:application-layer firewalls),因其工作在应用层而得名。这类防火墙能够基于特定应用协议(如网页浏览器加载网站使用的 HTTP 协议,或将域名解析为 IP 地址的 DNS 协议)来理解和过滤流量,而不仅限于 IP 地址和端口判断。到了2008年左右,防火墙开始集成深度包检测(DPI)技术,这项技术使其能够分析数据包的实际内容,而不仅是头部信息。

💡
无论防火墙的具体工作原理或运作层级如何,它们本质上都是在两个网络之间构筑屏障,比如用户的家庭网络与广域互联网之间,或是企业内网的不同网段之间,以此控制流量走向:放行或阻断。

就防火墙的实现形式而言,主要分为以下几种:可以是硬件防火墙,即部署在网络边界的物理设备(如家用路由器);可以是软件防火墙,例如运行在终端设备上的流量过滤程序(Windows Defender 防火墙等);甚至可以是虚拟/云防火墙,通过远程部署实现网络或设备的防护,无需依赖特定硬件。

您可能好奇:AdGuard 广告拦截程序算防火墙吗?简而言之并非传统意义上的防火墙。不过,我们的产品确实具备防火墙特性:AdGuard Android 版特别设有防火墙模块,用户可通过该功能管理设备应用的网络访问权限,按需阻止或放行特定应用的联网请求。

当某些应用出现可疑行为(例如在未使用时仍发送数据)时,此功能就显得尤为重要。通过AdGuard Android 版的防火墙模块,用户可以阻断指定应用的网络访问、在屏幕关闭时禁用后台流量,甚至能在漫游时切断移动数据连接。这一切都无需 Root 权限手机或深入复杂的系统设置,即可全面掌控应用联网的方式与时机。

尽管防火墙本是保护家庭网络和设备隐私安全的重要工具,但如今这一术语已更多与网络审查相关联,这在很大程度上源于中国「防火长城」(英文:Great Firewall of China)的全球影响。对此我们有必要稍作说明:

中国防火长城是一套由国家主导的大规模网络管理系统,其主要功能包括对境外互联网内容的访问限制,涉及 Google、Facebook、Twitter 和 YouTube 等服务平台。该系统采用了 DNS 解析干预、关键词网址过滤、深度数据包检测(DPI)以及数据包模拟等多种技术手段来实现流量管控。全球范围内还存在其他类似的以网络安全为设计初衷的国家级网络管理系统,这一议题值得单独撰文深入探讨。

喜欢这篇文章吗?
9,332 9332 用户评论
完美!

AdGuard VPN
Windows 版

安心使用任何浏览器或应用程序,而不用再担心匿名性。使用 AdGuard VPN 体验当整个世界仿佛就在你的指尖上时是什么样的感觉。
下载
下载本程序表示您接受 许可协议 的条款
阅读更多
9,332 9332 用户评论
完美!

AdGuard VPN
Mac 版

从我们坐落在世界各地的 80+ 个服务器位置里,一键选择你所需要的服务器节点。安全隐藏个人数据避免受到他人的监视。
下载
下载本程序表示您接受 许可协议 的条款
阅读更多
9,332 9332 用户评论
完美!

AdGuard VPN
Android 版

AdGuard VPN 能帮用户随时随地保持匿名!海量服务器位置、快速可靠的连接,全部都在你的口袋里!
谷歌商店
下载本程序表示您接受 许可协议 的条款
阅读更多
下载
下载本程序表示您接受 许可协议 的条款
阅读更多
9,332 9332 用户评论
完美!

AdGuard VPN
iOS 版

随身携带,增强你的在线隐私安全。使用 AdGuard VPN 享受世界各地的电影以及电视剧!
应用商店
下载本程序表示您接受 许可协议 的条款
阅读更多
9,332 9332 用户评论
完美!

AdGuard VPN
用于 Android 电视

了解专为 Android 电视设计的 AdGuard VPN!享受无缝流媒体、加强的安全保护,以及简单的设置过程。
谷歌商店
下载本程序表示您接受 许可协议 的条款
下载
下载本程序表示您接受 许可协议 的条款
9,332 9332 用户评论
完美!

AdGuard VPN
Chrome 版

隐藏实际位置并“飞到”世界各地、不受速度限制访问任何内容并保持 Web 上的匿名性。
了解更多
安装
下载本程序表示您接受 许可协议 的条款

AdGuard VPN
Edge 版

一键连接不同的地理位置,隐藏真实 IP 地址,让网络浏览更加安全及隐秘。
了解更多
安装
下载本程序表示您接受 许可协议 的条款

AdGuard VPN
Firefox 版

保护隐私、隐藏真实地理位置、自己决定哪一个网站的流量要通过 VPN 发送!
了解更多
安装
下载本程序表示您接受 许可协议 的条款

AdGuard VPN
Opera 版

成为 Opera 浏览器中的忍者:快速移动到世界任何地方,而不会被他人检测到。
了解更多
安装
下载本程序表示您接受 许可协议 的条款
9,332 9332 用户评论
完美!

AdGuard VPN
用于路由器

在路由器上安装 AdGuard VPN 全面保护网络。自己决定保护时间,以及要保护的设备
此选项仅在订购 AdGuard VPN 后可用
9,332 9332 用户评论
完美!

AdGuard VPN
Linux版

安装用于 Linux 的最佳免费 VPN 服务,享受无缝衔接的网页浏览、更高的安全性、互联网流量加密和 DNS 防泄露保护。从多个 VPN 服务器中进行选择自己喜欢的节点
9,332 9332 用户评论
完美!

AdGuard VPN
Apple TV 版

探索适用于 Apple TV 的 AdGuard VPN!享受无缝流媒体、增强的安全性和简易的设置
此选项仅在订购 AdGuard VPN 后可用
9,332 9332 用户评论
完美!

适用于 Xbox 的 AdGuard VPN

使用 AdGuard VPN 保护 Xbox,享受顺畅游戏体验、增强的安全性和简单的设置
此选项仅在订购 AdGuard VPN 后可用
9,332 9332 用户评论
完美!

AdGuard VPN
PS4/PS5 版

使用 AdGuard VPN 保护 PlayStation,享受无缝在线游戏、增强的安全性和简单的设置。从多个 VPN 服务器中进行选择,访问想要的位置
此功能仅在 AdGuard VPN 高级版可用
9,332 9332 用户评论
完美!

AdGuard VPN
Chromecast 版

在 Google TV(Chromecast 4代),或在网络路由器(Chromecast 3代)上安装 AdGuard VPN,在线保持匿名状态,随时随地访问网页以享受 Chromecast 的流媒体内容。 在 Chromecast 3代上,用户需要 AdGuard VPN 订阅。
AdGuard VPN
已开始下载
点击箭头指示的按钮开始安装。
扫描二维码将 AdGuard VPN 安装到移动设备上