跳到主要内容

"经过独立审计"是 VPN 宣传中使用最多、解释最少的说法之一。审计听起来像一枚认可的印章,但这个词涵盖的工作差别很大。有人阅读源代码找漏洞,是审计;有人用一周时间攻击测试服务器,也是审计;有人访谈员工并对照书面政策检查配置文件,同样是审计。它们的目标不同,发现的问题不同,证明的内容也不同。

本文解释主要的 VPN 安全审计类型:代码与应用审查、渗透测试、基础设施审计、日志声明核查和认证,以及每一种能够和不能够说明什么。目的是让你读到"已审计"这样的说法时,能提出正确的后续问题。想要更简短的概览,请看 VPN 审计详解;本文则深入讲这些类型及其局限。

为什么需要审计,它能证明什么

VPN 要求的信任异乎寻常。你的流量经过你无法检查的软件和无法造访的服务器,由一家你看不到内部做法的公司运营。营销说法很容易写出来。审计就是试图用外部证据来取代一部分信任。

审计有四个要素:

  1. 范围:究竟检查了哪些系统、版本和声明。
  2. 方法:审查者做了什么(读代码、发起攻击、检查设置、访谈人员)。
  3. 时间:工作进行的那几天或几周。
  4. 报告:发现的问题、严重程度,以及是否已修复。

缺少这四项,"已审计"只是口号;具备这四项,它才是信息。即便如此,审计也只是一张快照。它告诉你的是审查当天的系统状况,而不是下个月的软件更新或之后新增的服务器。而且审计只能检验被问到的问题:对应用的彻底审查,说明不了公司如何处理客户支持数据;对服务器的审查,也说明不了你手机上的应用。

不妨记住一个简单的框架:审计改变的是概率,而不是消除风险。VPN 信任模型解释了为什么无论证据多好,总会剩下一部分信任。

类型一:源代码与应用审查

在代码审计中,审查者阅读源代码(如果不公开源码,则检查编译后的应用),寻找安全缺陷。对于 VPN 客户端,这通常意味着:

  • 应用如何在设备上保存凭据和设置。
  • 它如何处理隧道:连接中断时流量是否会泄漏,终止开关(kill switch)的行为是否符合宣称。
  • 是否正确使用了加密函数,是否把机密信息挡在日志和崩溃报告之外。
  • 里面有哪些第三方库和追踪器,应用是否索取了不必要的权限。
  • 它如何与提供方的服务器通信,这些连接是否得到了妥善保护。

它擅长什么。 它能发现几乎不可能从外部察觉的漏洞,比如某条很少用到的代码路径会把敏感数据写进文件。它还测试的是你实际安装的产品。

它遗漏什么。 它只看一个组件的一个版本。新版本可能引入新漏洞。如果审查只涵盖应用,服务器和公司的数据处理做法就没有被触及。审查还受时间限制:审查者是抽样阅读,不可能以完美的注意力读完每一行。

开源有关联,但不是一回事。 公开源代码让任何人都能检查,这很有价值,但公开不等于审计。独立审查是有人真正去读并写出报告。关于如何权衡二者,请看开源 VPN。

类型二:渗透测试

渗透测试(pen test)是获得授权的攻击。测试者的行为像怀有敌意的一方:扫描系统,尝试通过网页界面、API 和服务器闯入,尝试提升权限,并报告他们走到了哪一步。

对于 VPN 服务,渗透测试通常以下面这些为目标:

  • 面向客户的网站和账户门户。
  • 提供方的 API,包括登录和与支付相关的接口。
  • VPN 服务器对外暴露的服务。
  • 有时也从运行中攻击的角度测试手机和桌面应用。

它擅长什么。 它带着证据显示实际中哪些可以被利用。像"未登录用户可以读取其他账户的数据"这样的发现既具体,又按严重程度排序。它也相对快速、可重复,所以提供方可以在每次重大变更后进行一次。

它遗漏什么。 渗透测试发现的是测试者在有限时间内、在事先约定的规则下能找到的东西。"未发现严重问题"就只意味着这个,而不是"不存在问题"。它对内部政策无话可说,除非测试时拥有源码访问权限(称为"白盒"测试),否则也不读源代码;白盒测试发现更多,但成本也更高。

一份好的渗透测试报告会列出测试者的方法、发现的数量和严重程度,以及每一项是否已修复并复测。对只列出通过项的摘要要保持警惕。

类型三:基础设施与配置审计

基础设施审计检查服务器及其运行方式。审查者不是从外部攻击,也不是读应用代码,而是查看真实的系统,通常拥有管理权限。

典型的问题:

  • 服务器如何配置?不需要的服务是否已关闭,更新是否已应用,远程访问是否受限?
  • 访问如何控制?公司里谁能登录服务器,用什么认证方式,有没有记录?
  • 服务器是否由经过审查的标准镜像构建,能否干净地重建?
  • 是否有变更记录、监控和事件响应计划?
  • 网络如何分段,密钥和证书如何管理?

它擅长什么。 它能看到幕后真正部署的是什么,这是任何外部测试都做不到的。它可以通过检查实际配置,来核实"我们的服务器不存储 X"之类的说法。

它遗漏什么。 审查者抽样检查服务器,不可能在每一刻检查每一台机器。配置可能在审查的第二天就被改动。如果提供方使用租用的或第三方的数据中心,物理层的某些部分也超出了审查者的触及范围。

对读者来说,这类审计最接近对运营做法的检查,并且为下一类提供基础。

类型四:日志声明核查

许多提供方声称不保存用户行为记录。日志声明核查就是试图检验这一说法。审查者把公开发布的政策与他们的发现对照:配置文件、系统设置、数据库内容、备份做法,有时还有对工程师的访谈。

这类审计的有力版本会:

  • 用提供方自己的措辞,写明被检验的确切声明。
  • 描述所检查服务器和系统的样本,以及选取方式。
  • 涵盖的不只是 VPN 服务器,还包括认证系统、支付和客服工具,以及应用内的分析功能。
  • 说明发现了什么、没发现什么,并标注日期。

它擅长什么。 它把模糊的承诺变成了对某一时间点的、经过核实的陈述。如果提供方的措辞很精确,审计可以说"截至这个日期,在抽样的服务器上,我们没有发现与该声明相矛盾的东西"。

它遗漏什么。 它看不到未来,通常也看不到每一台服务器。它依赖提供方向审查者展示一切,而一个蓄意不诚实的运营者可能隐藏东西。审计也只检验按字面写下的声明:如果政策范围很窄("我们不保存浏览记录"),它就不会涉及政策没有提到的元数据。请先阅读背后的承诺,VPN 日志政策说明了在措辞中应注意什么。

请把任何一次审计都看作一个数据点,而不是保证。

类型五:密码学审查与认证

密码学与协议审查

有些审计只专注于密码学:协议设计、密钥交换方式,以及代码中加密的实现。专业的审查者检查诸如弱随机数、密码算法使用不当或握手可被降级之类的错误。

WireGuard 和 IPsec 等标准协议已经被公开审查多年,标准机构也发布了指南。NIST 的 IPsec VPN 指南和零信任架构文件,就是关于这类系统应如何设计和配置的权威资料。当提供方自行构建某种方案时,独立的密码学审查比其正确使用一个经过充分研究的协议时更重要。

它遗漏什么。 如果服务器配置错误,或应用不安全地保存令牌,再完美的密码学也保护不了你。这就是为什么只有一种审计类型从来都不够。

认证与合规证明

ISO 27001(信息安全管理标准)和 SOC 2(针对服务机构控制措施的报告框架)等框架并非 VPN 专用。它们考察的是组织是否有明确的流程并遵循执行:权限复核、变更管理、事件处理、员工培训。

它们擅长什么。 它们表明流程成熟,并且由经认可的机构依据公认标准进行审核。

它们遗漏什么。 它们不测试 VPN 应用的代码,除非范围明确包含,否则也不说明产品如何处理你的流量。真正重要的是范围声明,它通常是证书上或报告引言中的一小段话。比如,对公司总部的认证可能根本不包括服务器。

并排比较各类型

类型 主要问题 典型证据 主要局限
代码与应用审查 软件构建得安全吗? 特定版本中的发现 仅限该版本、该组件
渗透测试 今天攻击者能闯进去吗? 已演示的利用方式和严重程度 受时间和约定规则限制
基础设施审计 服务器的运行与配置安全吗? 配置和访问检查 抽样;之后配置可能改变
日志声明核查 现实与宣称的政策相符吗? 在某个日期核实的陈述 仅限当时按字面写下的声明
密码学审查 设计与实现可靠吗? 专家分析 不涵盖运营
认证 组织是否遵循某个框架? 经认可机构的证明 范围可能不含产品
漏洞赏金(持续) 外部人员能否持续发现缺陷? 公开披露计划 不是对整个系统的评估

漏洞赏金不是审计,但常与审计一起被提及:提供方邀请研究者报告缺陷,并为有效的报告付费。它增加了持续的审视,但并不提供完整的评估。

五分钟读懂审计声明

在网站上看到"已审计"时,用下面这些问题检查。

  1. 谁出的钱,谁做的工作? 独立性很重要。知名外部机构出具的报告,比自我评估更有力。
  2. 范围包含什么? 是应用、服务器、网站、一条政策声明,还是仅仅一个组件?范围就是一切。
  3. 什么时候,哪个版本? 注意日期以及应用或服务器的构建版本。几年前的报告,或针对另一条产品线的报告,是很弱的证据。
  4. 报告公开吗? 能读到的完整报告或摘要,胜过一个徽标。如果只看到标志,就索要文件。
  5. 发现了什么问题,修复了吗? 诚实的报告会列出问题。一份毫无瑕疵的报告,比一份记录了问题及其修复的报告更可疑。
  6. 与旁边的宣称一致吗? 如果页面写着"我们的服务是安全的",而报告只审查了营销网站,那么这个宣称超出了证据的范围。
  7. 有重复审计的规律吗? 定期复审并公布结果的提供方,比多年前只做过一次审计的更有诚意。

一个实际例子

普里亚在比较两种用于酒店 Wi-Fi 的服务。服务 A 展示了一枚"已审计"的徽标,服务 B 则发布了一份 PDF。她把两者都读了一遍。

服务 A 的页面链接到两年前的一段公告:一家外部机构用一周时间审查了"客户端应用"。她注意到,这只涵盖一个组件,版本很旧,也没有列出任何发现。

服务 B 的报告注明去年的日期,涵盖应用和账户系统,列出九项发现及严重程度,并说明其中八项已修复,一项在说明理由后被接受。它还清楚写明哪些没有涵盖:实体数据中心。

两种服务都不能因此被证明安全或不安全。但普里亚可以做出更有依据的选择,并且知道该问服务 A 什么:"有没有更新、更完整的报告?"

审计无法取代的东西

无论多好的审计,都不能取代你自己的习惯和判断。

  • 它不会让 VPN 变得匿名,也不会阻止网络钓鱼,见VPN 无法保护你的方面。
  • 它不能阻止你通过浏览器、账户或应用泄露数据。
  • 它不会免除你阅读提供方隐私与日志条款的必要,也不会免除你核实提供方对自家服务的描述是否准确、是否有所克制。
  • 它不是永久的。要找近期的证据,以及提供方愿意公布透明度报告的态度,见 VPN 透明度报告。

购买时,合理的做法是把审计当作众多因素中的一项,与清晰的条款、可用的支持、公平的付费模式,以及你自己对应用的试用一起权衡。

总结

"已审计"可能指代码审查、渗透测试、基础设施检查、对日志声明的核查、密码学审查,或公司层面的认证。每一种回答的问题不同,都是在某个时间点覆盖一个限定的范围,并留下其他问题没有回答。要读懂一项声明,就问清楚:谁做的、涵盖什么、什么时候、哪个版本、报告是否公开,以及发现的问题是否已修复。如果你在研究各家提供方的同时更想要一个简单的预付选项,可以到价格页面查看现有的通行证。

常见问题

代码审计和渗透测试有什么区别?

代码审计是阅读源代码或配置来寻找弱点,所以能发现从外部很难触发的缺陷。渗透测试则像怀有敌意的一方那样攻击正在运行的系统,显示实际中哪些地方可以被利用。两者发现的问题不同,可以互相补充。

独立审计能证明 VPN 绝不保存用户数据吗?

不能。审计描述的是审查者在某个时间、某个范围内检查了什么。它可以提高人们对提供方说法的信心,但无法证明之后每一天、每一台服务器上发生的事。

看审计报告时应该关注什么?

检查是谁委托的、谁执行的、日期、确切范围、测试的版本、发现的问题,以及提供方是否已修复。内容详细的公开报告,比一个徽标或一行公告有用得多。

ISO 27001 或 SOC 2 这样的认证等同于 VPN 审计吗?

不等同。它们证明一个组织遵循某种管理或控制框架,是关于流程的有益信号,但除非范围明确包含,否则并不会测试 VPN 应用的代码,也不能证实用户流量被如何处理。

审计过了多久就不再有参考价值?

没有固定规则,但软件和服务器一直在变化。超过一到两年的报告,或者只涵盖应用早期版本的报告,能告诉你的远不如一份范围清晰的近期报告。

关于作者

Bob Kanokphon Thongdee,XPASS VPN 创始人

Bob Kanokphon Thongdee

  • XPASS VPN 创始人
  • eSIMonline.asia 联合创始人
  • 7 年以上网络营销经验
  • Cojourney Visa 与 Cojourney Travel 创始人

短途出行或忙碌的一个月,需要 VPN?

XPASS 提供按天数计算的预付通行证。一次付款,不会自动续费。

查看通行证

继续阅读

隐私指南

VPN 独立审计:如何读懂审计报告

“已审计”的标志不是保证。本文介绍 VPN 审计的类型、报告结构,教你读懂范围、发现项和日期,并说明审计无法告诉你什么。

阅读约 9 分钟

隐私指南

VPN 透明度报告是什么?该怎么看

透明度报告是 VPN 公司公开的数据请求统计。本文讲解报告的常见内容、五分钟读法,以及它做不到的事。

阅读约 10 分钟

隐私指南

开源 VPN 应用:代码透明为什么重要

开源常被当作可信的证明。本文说明它在 VPN 里覆盖什么、遗漏什么,以及普通用户怎样自己核实。

阅读约 9 分钟

隐私指南

使用 VPN 时,你把信任交给了谁

打开 VPN 并没有让信任消失,只是换了位置。这里列出你依赖的每一方、各自能看到的信息,以及缩小信任范围的办法。

阅读约 9 分钟

隐私指南

VPN 日志政策详解:到底会记录什么

日志政策不是一句“是”或“否”的承诺。本文区分连接日志与活动日志,讲解保留期限和措辞,并给出向服务商提问的清单。

阅读约 9 分钟