Google Chrome 团队出绝招阻断混合脚本漏洞
SJLis"8 QPx^_jA
rOYx
b }1
0J|3kY-n> “混合脚本执行”漏洞通常在通过 HTTPS 传送的页面加载通过 HTTP 传送的脚本、CSS 或插件资源时出现。中间攻击者(如处于同一无线网络的用户)通常能截取 HTTP 资源加载,并对加载资源的网站获取完全权限。情况糟糕的话跟没用 HTTPS 一个样。稍轻但类似的问题——暂且称之为“混合显示”漏洞——通常在通过 HTTPS 传送的页面加载通过 HTTP 传送的图像、iFrame 框架或字体时出现,但只能影响页面外观。
"4Nt\WQ 浏览器长期以来使用不同的指示符、情态动词对话框、拦截选项甚至是点击确认等方法将这些情况告知用户。如果网站页面存在混合脚本执行问题,Chromium 当前会在 Omnibox 中这样指示:
XZf$K _F&M wL1MENzp*z 混合显示内容会这样指示:
}\f0 A- #Z #-Ht 如果网站有 HTTPS 页面显示带红叉的 https,就非常值得主动调查了:
mq l
Z?- 网站在其他主流浏览器(如 IE9 或 FF4)中会因为点击确认对话框与丑陋的情态动词对话框而难以正常显示。
mDWG7 Asp 可能存在危害整个 HTTPS 连接的安全漏洞。
Sz~OX6L 自 Chromium 14 的首个版本 (14.0.785.0 canary) 起,Google 将开始测试默认拦截混合脚本。当拦截到混合脚本时会出现这样的信息栏:
wzA$'+Mb SM'|+ d 作为用户,可以选择不应用拦截而重新加载。理想情况下,将来的信息栏将不再保留允许用户绕过拦截的选项。Google 安全团队的经验表明,有些用户即使在最可怕的警告信息面前也会点击“允许执行”——完全不顾可能的后果。
kM6
Qp 帮助站长分析的工具 e.> P8C<& 如果 Chromium 的 UI 显示网站上存在混合内容问题,可以尝试 Google 的开发工具定位问题。有用的信息通常记录在 JavaScript 控制台 (菜单 -> 工具 -> JavaScript 控制台):
W^Yxny F
[M,]? 站长还可以打开“网络”选项卡重新加载页面,并查找通过 http:// 协议传送的内容。值得注意的是,混合脚本得以执行时,整个原始页面都会受到影响,因此需要查看所有引用了发现的来源的标签页的控制台。要清除错误,所有引用了有害来源的标签页都要关闭。特别棘手的情况是不清楚来源如何产生危害,这时还可以启用命令行控制台调试功能查看相关的警告信息。
siaG'%@*r Chromium 13 提供了命令行标记
--no-running-insecure-content。Google 建议站长与高级用户附带该标记运行 Chrome,以便清理有问题的网站。(还针对较轻级别的混合内容问题提供了
--no-displaying-insecure-content;Chromium 14 尚无计划默认拦截此内容。)
'91/md5 而 Chromium 14 将提供相反的标记:
--allow-running-insecure-content,方便使用未能及时修正这些错误的内部应用程序的用户与管理员。
{ax:RUQxy via Google Online Security Blog
| Iib|HQ) 编注:Chrome 14 已于上周部署到了 dev 分支,拦截后的提示文字说明更加全面,并且去掉了“确定”按钮(与“关闭”图标功能重复),还提供了“了解更多”链接——不过帮助中心还没有准备好相应内容。
qM`}{
/i Q8NX)R XSDpRo 提示:“该站点的部分脚本内容不安全,为了您的安全已进行拦截。”按钮:“仍然加载(不推荐)”
CAJ'zA|o 文/谷奥
EPm/r _-D{-Bu#