2021年1月20日 外部审计
我们邀请您阅读关于Mullvad基础设施的首次安全审计的最终报告,该审计于2020年12月完成。
Mullvad的使命是保护用户及其数据,因此我们对独立审计员Cure53的声明感到非常高兴:“安全意识和整体安全态势相当良好,正如预期,Cure53未能发现任何与Mullvad的最终用户相关的个人身份信息。”
审计报告可在Cure53的网站上获取。
主要结论: 现在Mullvad的基础设施和应用程序均已进行审计!对我们整个VPN服务进行外部和定期审计一直是我们的长期目标。
引用Cure53: “发现攻击者可以关闭使用相同入口网关的其他OpenVPN对等连接。一个OpenVPN monitorpy脚本频繁连接到OpenVPN管理接口,以获取所有已连接的OpenVPN用户,并通过API检查这些账户是否过期。最终,通过OpenVPN管理接口发出的clientkill命令断开过期账户。”
我们的评论: Cure53在一段时间未更新的脚本中发现了此脆弱点。我们从未经历过此脆弱点被利用。我们已经针对这一漏洞部署了修复措施,通过改进客户端用户名的输入验证来提升安全性。
引用Cure53: “发现攻击者可以在不支付的情况下利用Mullvad的OpenVPN服务。”
流媒体合租平台我们的评论: 在保持高可用性的同时失去潜在满意客户之间有一定的微妙关系。我们认为我们原来的方法在两者之间取得了良好平衡。
该脆弱性涉及到我们在API不可用时针对OpenVPN中继的应对措施。Cure53指出的负面影响在于,恶意个人或机器人可能利用我们的OpenVPN中继免费上网。
对于付费客户,在API停机时,OpenVPN中继的功能依然如常可用,同时我们已升级滥用预防措施。
引用Cure53: “整体的Docker配置没有为主机环境提供额外的隔离或安全界限。Mullvad应进一步调查此配置,以确定将Docker作为技术堆栈使用是否对主机的整体完整性提供了任何有意义的性能或安全增强特性。如果决定继续使用Docker,应启动全面加固项目,以最小化当前配置的攻击面。”
我们的评论: 我们在VPN中继上使用Docker并不是出于安全隔离的考虑,而是为了改善对依赖不同软件版本的服务的依赖处理。
我们已解决了这些问题的当前关切,但未来的重点将转向更值得信赖和透明的基础设施。
引用Cure53: “发现Web应用程序使用SQL不安全的定时比较运算符从数据库中查询由账户令牌识别的账户。这会导致查询运行时间与所查询的账户令牌的相应前缀长度之间呈线性关系,从而影响安全性。”
我们的评论: 我们认为解决此问题需要对账户数据库进行适当的重构,而这在短时间内尚未准备好。考虑到该脆弱性被认为风险较低,且需要相当复杂的攻击才能利用,因此我们决定暂时不采取措施。它将在未来几周内修复。
引用Cure53: “发现shadowsockslibev库版本313过时,并且容易受到多种已知攻击途径的影响,这可能导致解密加密流量。这导致被审查者检测VPN使用的风险,以及一个单一的公开已知静态密钥。同时,其中一个ssserver实例以root身份运行,从而带来了不必要的风险。”
我们的评论: 公共静态密钥是为了让用户在没有凭据的情况下连接到服务器而做出的设计选择。我们已修复ssserver进程以root身份运行在443端口的问题。我们将更新我们的Shadowsocks服务器,以更改加密算法并与应用程序发布同步。
现在我们已完成对基础设施的首次审计,未来我们会努力每年进行一次审计,就像我们的应用审计一样。我们的未来审计将更加关注我们的系统透明度。
为普遍隐私权而战,Mullvad