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)以及数据包模拟等多种技术手段来实现流量管控。全球范围内还存在其他类似的以网络安全为设计初衷的国家级网络管理系统,这一议题值得单独撰文深入探讨。

喜欢这篇文章吗?
20,661 20661 用户评论
完美!

AdGuard Windows版

Windows 版 AdGuard 不只是广告拦截程序,它是集成所有让您享受最佳网络体验的主要功能的多用途工具。其可拦截广告和危险网站,加速网页加载速度,并且保护儿童的在线安全。
下载本程序表示您接受 许可协议 的条款
阅读更多
AdGuard Windows版 7.21 版本,14 天的试用期
20,661 20661 用户评论
完美!

AdGuard Mac版

Mac 版 AdGuard 是一款独一无二的专为 MacOS 设计的广告拦截程序。除了保护用户免受浏览器和应用程序里恼人广告的侵扰外,应用程序还能保护用户免受跟踪、网络钓鱼和诈骗。
下载本程序表示您接受 许可协议 的条款
阅读更多
AdGuard Mac版 2.17 版本,14 天的试用期
20,661 20661 用户评论
完美!

AdGuard Android版

安卓版的 AdGuard 是一个用于安卓设备的完美解决方案。与其他大多数广告拦截器不同,AdGuard 不需要 Root 权限,提供广泛的应用程序管理选项。
下载本程序表示您接受 许可协议 的条款
阅读更多
扫码下载
可以使用任何一款 QR 码阅读器
AdGuard Android版 4.10 版本,7 天的试用期
20,661 20661 用户评论
完美!

AdGuard iOS版

用于 iPhone 和 iPad 的最佳 iOS 广告拦截程序。AdGuard 可以清除 Safari 中的各种广告,保护个人隐私,并加快页面加载速度。iOS 版 AdGuard 广告拦截技术确保最高质量的过滤,并让用户同时使用多个过滤器。
下载本程序表示您接受 许可协议 的条款
阅读更多
扫码下载
可以使用任何一款 QR 码阅读器
AdGuard iOS版 版本 4.5
20,661 20661 用户评论
完美!

AdGuard 内容拦截程序

AdGuard 内容拦截器可以全面屏蔽所有支持内容拦截技术的移动浏览器中的广告,目前包括 Samsung Internet 浏览器和 Yandex 浏览器。虽然其功能相比 Android 版 AdGuard 有所限制,但它完全免费、安装简单且拦截高效。
下载本程序表示您接受 许可协议 的条款
阅读更多
AdGuard 内容拦截程序 版本 2.8
20,661 20661 用户评论
完美!

AdGuard 浏览器扩展

AdGuard 是快速的、小内存的广告拦截扩展,可高效拦截所有网页上的各种广告!选择所需的 AdGuard 浏览器扩展,您可进行无广告、快速、安全的浏览。
AdGuard 浏览器扩展 版本 5.1
20,661 20661 用户评论
完美!

AdGuard 助手

AdGuard 桌面应用 的配套浏览器扩展。它为浏览器提供了访问自定义元素阻止,将网站列入白名单或发送报告等功能
AdGuard 助手 版本 1.4
20,661 20661 用户评论
完美!

AdGuard Home

AdGuard Home 是一款全网广告拦截与反跟踪软件。在您将其安装完毕后,它将保护您所有家用设备,同时您不再需要安装任何客户端软件。随着物联网与连接设备的兴起,掌控您自己的整个网络环境变得越来越重要。
AdGuard Home 版本 0.107
20,661 20661 用户评论
完美!

AdGuard Pro iOS 版

AdGuard Pro 为已经优秀的 Safari 正规版本提供了更卓越的广告拦截服务。通过自定义 DNS 设置可拦截各种广告、保护儿童远离成人内容和保持您个人数据的安全。不过很抱歉,由于中国国内的一些限制,AppStore 暂不提供该应用程序,因此中国地区苹果 ID 账号的用户暂时无法下载 AdGuard Pro。
下载本程序表示您接受 许可协议 的条款
阅读更多
AdGuard Pro iOS 版 版本 4.5
20,661 20661 用户评论
完美!

AdGuard Safari 版

由于 Apple 开始强制要求开发者使用其新的 SDK,面向 Safari 提供的广告拦截扩展正面临一段艰难时光。AdGuard 扩展正致力于将高质量广告拦截功能重新带给 Safari 用户。
AdGuard Safari 版 版本 1.11
20,661 20661 用户评论
完美!

AdGuard Android TV 版

Android TV版 AdGuard 是唯一一款能拦截广告、保护隐私并充当智能电视防火墙的应用程序。获取网络威胁警告,使用安全 DNS,并受益于加密流量。有了安全性和零广告的使用体验,用户就可以尽情享受最喜爱的节目了!
AdGuard Android TV 版 版本 4.10
20,661 20661 用户评论
完美!

AdGuard Linux版

AdGuard Linux 版是世界上第一个系统级广告拦截器。拦截广告和跟踪器,选择预设过滤器或添加自己的过滤器。管理流程通过命令行界面实现。
AdGuard Linux版 版本 1.0
20,661 20661 用户评论
完美!

AdGuard Temp Mail

免费的临时电子邮件地址生成器,保持匿名性并保护个人隐私。你的主收件箱中不会出现垃圾邮件!
20,661 20661 用户评论
完美!

AdGuardVPN

全球 66 个地点

访问任何内容

强大加密

无记录政策

最快的连接

全年每天的支持

免费试用
下载本程序表示您接受 许可协议 的条款
阅读更多
20,661 20661 用户评论
完美!

AdGuard DNS

AdGuard DNS 是广告拦截、隐私保护及家长控制的简约三合一解决方案。其不但易于设置且免费,无论您使用的是何种平台或设备,都可以提供最基础的保护对抗在线广告、跟踪器及钓鱼。
20,661 20661 用户评论
完美!

AdGuard Mail

保护个人身份,避免垃圾邮件,并使用我们的别名和临时电子邮件地址保护收件箱。享受我们的免费电子邮箱转发服务和适用于所有操作系统的应用程序使用体验。
20,661 20661 用户评论
完美!

AdGuard Wallet

一个安全且私密的加密钱包,让您完全控制资产。管理多个钱包,发现数千种加密货币以存储、发送和兑换。
已开始下载 AdGuard 点击箭头指示的文件开始安装 AdGuard。 选择“打开”并点击“确定”,然后稍作等待直至文件加载完毕。在已经打开的窗口中,将 AdGuard 图标拖拽至“Applications”文件夹内即可完成安装。感谢您选择 AdGuard! 选择“打开”并点击“确定”,然后稍作等待直至文件下载完毕。然后,在打开的窗口中点击“安装”即可。感谢您选择 AdGuard!
将 AdGuard 安装到移动设备上