以太坊基金会的万亿美元安全(Trillion Dollar Security,简称 1TS)计划自豪地宣布,向新闻自由基金会(Freedom of the Press Foundation,简称 FPF)提供一笔资助,以支持 WEBCAT 的持续开发。WEBCAT 是一个开源工具,可让浏览器验证已注册网站提供的代码是否与其开发者发布的代码相匹配。该资助还将帮助把这种保护机制引入以太坊钱包和应用中。
弥合前端验证缺口
该资助针对的是当今 Web 应用安全保障方面的一个缺口。HTTPS 会对你连接的网站进行身份验证并加密连接,但它无法证明该网站提供的代码与其开发者发布的代码相匹配。如果没有独立的完整性检查,浏览器可能会在没有任何警告的情况下运行被篡改的前端。
对于以太坊用户而言,风险在于应用网站本身。当你访问时,你的浏览器会加载并执行该网站的代码。那里被篡改的代码可能会替换接收者地址,或者要求你签名与页面显示内容不同的信息。你的钱包无法仅凭连接来确定页面是否已被篡改。
万亿美元安全(1TS)计划已将前端黑客攻击视为一种基础设施风险,并将可验证前端作为下一步的重点。受损的 Web 界面可能会让用户暴露于供应链攻击和 UI 操纵之中,并可能加剧 DNS 劫持等事件的影响。
关于 WEBCAT
WEBCAT 是基于 Web 的代码保障与透明度(web-based code assurance and transparency)的缩写,它允许浏览器验证已注册网站提供的资源是否与已签名的清单相匹配。如果验证失败,当前的 Alpha 版 Firefox 扩展程序将阻止页面加载并显示警告。
开发者会签名一份清单,描述每次发布所涵盖的文件和其他资产。一个分布式的、可验证的注册系统维护着一份公开记录。对于每个参与的网站,该记录都包含注册信息的密码学指纹,其中指定了该网站授权的签名身份和验证规则。该扩展程序会定期下载并验证该记录的快照,因此它可以在本地验证已注册的网站,而无需在每次访问时都联系第三方。
FPF 开发 WEBCAT 的部分原因是,未来版本的 SecureDrop 将需要可验证的浏览器代码。SecureDrop 是 FPF 的开源提交系统,用于记者与匿名消息来源之间的安全通信。
如今,SecureDrop 会在新闻编辑室的服务器上对上传的提交内容进行加密。服务器在上传过程中处理未加密的内容,但以加密形式存储提交内容。FPF 正在为未来版本的 SecureDrop 开发一种端到端加密协议。根据预期设计,消息来源的浏览器会在发送消息内容之前对其进行加密,因此服务器将存储密文,而不是在服务器加密之前将明文保留在内存中。该协议仍在开发中,尚未涵盖文件附件。
由于加密代码仍将来自服务器,受损的服务器可能会发送被篡改的代码,从而在加密之前捕获内容。WEBCAT 旨在检测并阻止这种篡改。FPF 还通过概念验证集成,在其他基于浏览器的安全应用中测试了 WEBCAT。
当以太坊用户与基于浏览器的应用前端交互时,同样存在这种代码完整性风险,这就是为什么一个为保护消息来源和记者而构建的工具也适用于钱包和应用。
资助资金的用途
该资助将用于开发一个可供钱包集成的 WEBCAT 验证库。
包含该库的钱包可以验证已注册的网站,因此用户无需安装单独的扩展程序即可获得保护。该资助还支持对 Chrome 和其他 Chromium 浏览器的支持研究、帮助团队将 WEBCAT 添加到其应用中、进行独立的安全性审计,以及制定一项以太坊征求意见(Ethereum Request for Comments,简称 ERC)标准,以便钱包开发者有标准可循。
该库将对其他 1TS 工作形成补充,包括 Clear Signing。Clear Signing 帮助用户理解他们正在批准的内容,而 WEBCAT 集成将帮助钱包验证已注册应用的前端是否与其已签名的清单相匹配。
钱包和应用团队的下一步是什么
将这种验证引入钱包需要双方的采用。钱包扩展程序必须集成该库,而应用团队必须注册其域名,并在每次发布时提供已签名的清单。如果你是钱包或应用团队的一员,并且对前端完整性感兴趣,我们非常期待收到你的来信:trilliondollarsecurity@ethereum.org。
欲了解更多关于风险控制和优先工作的信息,请访问 trilliondollarsecurity.org。


