近日,谷歌正在测试一项新功能,以防止恶意公共网站通过用户浏览器攻击内部专用网络上的设备和服务。新版本将能够检测并阻止恶意分子通过网络钓鱼等手段试图控制用户局域网内其他设备的行为。


简单来说,就是为了防止家中或电脑上的设备(如打印机或路由器)遭遇互联网上的不良网站攻击。


根据 Chrome 平台状态网站的信息,此次更新将新增一项安全特性,能够在网站访问用户局域网设备之前进行快速检查。当网站尝试连接局域网内其他设备时,Chrome 将会确认连接来源的安全性以及目标设备是否允许此类连接。


阻止对内部网络的不安全请求


此次拟议的“专用网络访问保护”功能在初期阶段可能会误将一些合法的连接判定为恶意行为并加以阻拦,在Chrome 123中处于“仅警告”模式,在公共网站指导浏览器访问用户专用网络中的另一个站点之前进行检查。


检查的内容包括验证请求是否来自安全环境,同时发送初步请求,通过称为 CORS 预检请求的特定请求,查看网站 B(例如环回地址上运行的 HTTP 服务器或路由器的网络面板)是否允许从公共网站访问。


与现有的子资源和 Worker 保护不同,该功能专门针对导航请求。其主要目的是保护用户的私人网络免受潜在威胁。


在谷歌提供的一个示例中,开发人员展示了一个公共网站上的 HTML iframe,它可以执行 CSRF 攻击,改变访问者本地网络路由器的 DNS 配置。


<iframe href="https://admin:admin@router.local/set_dns?server1=123.123.123.123"> </iframe>

当浏览器检测到公共网站试图连接到内部设备时,浏览器将首先向该设备发送预检请求。如果没有回应,连接将被阻止。如果内部设备做出回应,它就会使用 "Access-Control-Request-Private-Network"(访问控制请求-私人网络)标头告诉浏览器是否允许该请求。这样向内部网络设备发出的请求就会被自动阻止,除非该设备明确允许从公共网站进行连接。


在警告阶段,即使检查失败,该功能也不会阻止请求。开发人员会在 DevTools 控制台中看到一个警告,让他们有时间在更严格的执行开始之前进行调整。



谷歌阻止网页重载请求 来源:Google 谷歌


该页面将包含一条"BLOCKEDBYPRIVATE_NETWORK_ACCESS_CHECKS"谷歌 Chrome 浏览器错误信息,告诉你什么情况下页面无法加载,因为它没有通过专用网络访问安全检查。


安全升级背后的理念


这项开发的目的是防止互联网上的恶意网站利用用户内部网络中设备和服务器的漏洞,包括防止对用户路由器和本地设备上运行的软件界面进行未经授权的访问等等。


为防止外部网站向专用网络(localhost 或专用 IP 地址)内资源发出的恶意请求,谷歌在 2021 年开始已经有开发该功能的想法。


谷歌的目标是降低 "SOHO Pharming "攻击和 CSRF(跨站请求伪造)漏洞等风险,待相关漏洞修复完毕且开发者完成应用调整之后,谷歌很可能会逐步放开对恶意连接的拦截功能。


参考来源:New Google Chrome feature blocks attacks against home networks (bleepingcomputer.com)