我们的 leta.mullvad.net 搜索服务的安全审计
2023年5月16日
我们与 Assured AB 签订合同,对我们新的 Leta 搜索服务进行安全评估,评估期间为 2023年3月27日至 2023年3月31日。
今天,我们宣布新上线的 Leta 搜索服务,用户可以访问
。该服务对有效的 Mullvad VPN客户开放,并可作为支持的浏览器的默认搜索引擎使用。
Leta 也可以在 Mullvad 浏览器中设为默认搜索引擎。有关 Leta 的功能、使用方式以及限制的更多信息,请访问 。
页面解释了服务的运作方式及其商业模式。
报告摘录:
“Assured 的任务是对 Mullvad Leta 进行渗透测试,并评估其 web 应用程序的安全性和隐私性。总体而言,Mullvad Leta的攻击面较小,且实施了一些良好的措施来加强隐私和安全。”
请阅读 Assured 网站上的
。
报告说明和评论
3.1.1 (低) 缺少内容安全策略 (CSP)
Assured 建议 为所有文档配置内容安全策略 (CSP),遵循最小权限原则。
Mullvad : 我们已添加了 CSP。
3.1.2 (低) 部分记录唯一用户 ID
Assured 建议 在生产环境中完全禁用用户可识别日志条目,并在产品准备发布后尽快移除调试调用。这是一项预防性措施,以防将来意外泄露。
Mullvad : 我们已移除所有用户 ID 的记录。
3.1.3 (注) 缺少 HTTP 严格传输安全头
Assured 建议 确保严格传输安全 (Strict-Transport-Security) 响应头的正确设置,因为这是告知客户端应仅通过 TLS
(HTTPS) 连接到服务器的良好做法。
Mullvad : 我们已修改配置,确保对我们 web 服务器提供的所有资产设置此头(不过该服务仅通过 HTTPS 响应)。
3.2.1 (低) 通过 Google 结果的潜在跨站脚本 (XSS)
Assured 建议 仅使用 Google 结果的纯文本描述,而不是信任外部方的 HTML。一个良好的 CSP(参见发现
3.1.1)也可能在某种程度上缓解此问题。
Mullvad : 我们不再使用 Google 的 HTML 片段,只保留纯文本。
3.3.1 (注) 搜索词永远不会从缓存中删除
Assured 建议 为新条目设置硬性过期时间,并在过期时从数据库中清除条目。Redis的内置过期机制已用于每天结束时清除每个用户的配额条目,应该足够稳健以满足此需求。如果搜索词(例如涉及个人身份识别的词)的存在被视为敏感信息,我们还建议允许用户将其搜索排除在缓存之外。
Mullvad : 我们已更新所有条目在__30天后过期,且搜索查询已被哈希处理 __。
3.4.1 (注) 明文搜索查询在缓存数据库中
Assured 建议 在将搜索词插入/查找缓存数据库之前进行哈希处理。由于搜索词缓存查找仅使用精确匹配,因此这不会影响功能。
Mullvad : 我们现在在将搜索词添加到 Redis 之前进行哈希处理(并添加盐)。