购买Express VPN
享受全球加速服务

ExpressVPN泄漏测试工具

ExpressVPN泄漏测试工具是一套可扩展的Python工具套件,专为VPN应用程序的手动和自动泄漏测试而设计。

这些工具由ExpressVPN的隐私研究实验室开发,最初用于两个目的:

  • 为ExpressVPN应用程序提供强大的自动化回归测试
  • 促进泄漏测试调查,以进一步加强这些应用

我们很快意识到这些工具实际上可以有利于更广泛的VPN行业。因此,我们决定在MIT许可下将它们作为完全可用的开源。

我们希望通过这样做,我们将通过以下方式为所有VPN用户提供更加私密和安全的在线体验:

  • 为用户和第三方提供独立的方式来验证VPN的质量并评估他们自己的隐私和安全风险;
  • 为整个VPN行业提供更高的防漏保护基准; 和
  • 将泄漏测试的整个行业的专业知识汇集在一起

开始使用这些工具

这些工具可以在GitHub上找到:https://github.com/expressvpn/expressvpn_leak_testing。

要开始使用,请按照README.md文件中的说明进行操作。虽然我们提供了下面工具的概述,但GitHub存储库应始终被视为与工具相关的文档的单一事实来源。

请注意,要遵循我们的隐私研究实验室案例研究中包含的测试说明,您需要按照GitHub中的文档安装泄漏工具。假设每当您运行任何案例研究时,工具根目录指的是您克隆上述git存储库的位置。

工具概述

我们使用Python

这些工具主要使用Python编写,并根据需要使用其他语言的一些辅助工具。我们选择Python有几个原因:

  • 在大多数情况下,它是跨平台的,并且支持开箱即用
  • 它为大部分开发人员所熟知,因此易于访问
  • 开发速度很快 - 我们对测试框架没有性能要求
  • 它是一种富有表现力的语言,允许我们编写易于阅读的代码

请注意,我们使用Python 3,因为它很快成为事实上的标准。

这就像单元测试

这些工具设计为像单元测试套件一样运行。单个脚本用于启动套件,然后运行一系列测试。每个测试在特定条件下检查特定类型的泄漏,例如,在某些网络条件下,然后报告通过,失败或错误。

测试或测试用例 - 大致对应于单个Python文件。测试套件的设计对于习惯使用单元测试套件的开发人员来说很熟悉,因此每个测试都遵循熟悉的setup(),test()和teardown()模式。

测试用例的设计尽可能通用。可以使用不同的VPN配置,不同的网络配置等运行测试用例。当它们运行时,它们被提供一个配置,该配置指定它们将如何运行以进行该特定轮次的测试。配置文件将传递到测试套件,其中列出了要运行的所有测试及其配置。

如何运行测试的一个示例是从工具根目录执行以下命令:

./run_tests.sh -c configs / case_studies / vanilla_leaks.py

设备和网络配置

该套件旨在能够在任意设备和网络配置上运行测试。我们从一开始就意识到VPN行为的某些方面需要多个设备进行测试,因此我们从一开始就设计了测试套件来实现这一点。

运行测试的设备称为测试编排器。所有其他设备简称为测试设备

最简单的测试类型在单个设备上运行(单个设备测试)并直接在该设备上测试泄漏。例如,可以直接在Windows设备上运行各种Windows泄漏测试。在这种情况下,测试协调器实际上也是一个测试设备。更复杂的测试(多设备测试)可能涉及运行VPN的测试设备,路由器和数据包捕获设备。

自动化

测试套件旨在完全支持测试的自动化。但是,开箱即用,测试总是需要一些手动交互。无论何时需要手动交互,测试套件都会清楚地提示用户并告诉他们该做什么。

自动化测试中最难的部分之一是控制VPN应用程序。实际上,对于许多测试来说,这是拼图中唯一没有自动化的部分。我们目前没有计划为自动化VPN应用程序到存储库的控制提供支持。但是,套件的体系结构支持添加此类支持。

请注意,在内部,我们已实现自己的应用程序的完全自动化,以促进持续集成测试。我们不打算将这些自动化工具作为开源存储库的一部分提供。


设置工具

有关如何设置测试设备的详细说明,请参见GitHub存储库。我们只是概述设置设备时会发生什么。

Linux,macOS和Windows设备支持测试套件(即Python套件可以安装并直接在这些设备上运行)。这些工具也支持移动设备,但套件本身永远不会直接在这些设备上运行。

我们建议尽可能使用虚拟机(VM),尤其是对于单个设备测试。VM提供了几个优点:

  • 易于创建和配置新的网络接口
  • 允许您使主机远离测试所需的许多第三方软件安装
  • 捕获离开VM的流量比捕获离开真实物理设备的流量更简单
  • 易于预配置快照并在需要时恢复

对于严格的深入测试,我们始终建议在实际物理硬件上运行测试,以排除虚拟化和真实硬件之间的任何潜在差异。

请注意,大多数测试需要root(admin)权限才能运行,因此为了简化操作,整个套件将以root身份运行。

详细了解工具测试的泄漏情况

以下案例研究提供了有关这些工具测试的一些泄漏场景的更多信息,解释了它们如何影响您的隐私和安全性,以及概述如何使用相关工具:

  • 案例研究1:“香草”泄漏
  • 案例研究2:WebRTC泄漏
  • 案例研究3:网络过渡泄漏
  • 案例研究4:无法访问的VPN服务器泄漏
  • 案例研究5:VPN进程崩溃泄漏

贡献工具

我们非常乐意接受这些工具的贡献,无论是修复错误,改进建议还是全新的测试用例。您可以通过GitHub中的pull请求提交贡献。

联系我们了解这些工具

您可以通过leakproofing@expressvpn.com与我们联系。

请注意,这些工具目前处于alpha状态,可能会经常更改。但是,我们将努力确保工具始终处于可用状态。

未经允许不得转载:ExpressVPN » ExpressVPN泄漏测试工具

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

ExpressVPN:安全、快速、30天退款保证

立即购买