◇◇新语丝(www.xys.org)(xys3.dxiong.com)(www.xysforum.org)(xys2.dropin.org)◇◇   aliastwo译自http://www.cse.umich.edu/~jhalderm/pub/gd/#add1   增补-1 :绿坝悄悄打补丁,用户仍易受攻击   Scott Wolchok, Randy Yao, and J. Alex Halderman   2009年6月18日   在我们公布最初的分析报告之后,绿坝生产商至少发布了一个安全更新和两 个过滤更新。这些更新试图解决我们原先提到的网页过滤方面的安全漏洞,同时 也关闭了一些从CyberSitter程序里抄袭来的黑名单,并使该软件符合OpenCV许 可证的要求。   不幸的是,在打了补丁的版本里,我们还是发现了额外的可以被远程利用的 安全漏洞。即使安装了最新版本,任何网站照样可以利用这个问题来控制访客的 电脑。我们继续建议用户立即卸载绿坝以保护自己。   虽然绿坝开发者很快地对软件进行了修复,但是程序里漏洞的一再出现,说 明其运行的安全问题根深蒂固。我们担心,一些更深入的问题不可能在7月1日之 前得到解决。7月1日是PC制造商为在中国销售的电脑预装绿坝的截止日期。   绿坝安全补丁   在6月17日我们注意到,绿坝更新了其安装程序,以解决我们原先报告里描 述的的网页过滤方面的安全漏洞。更新似乎是在6月13日格林尼治标准时间 12:00发布的。不知道为什么,此项更新似乎是悄悄进行的。程序版本依然是 3.17,至今也未见对该修改有任何正式宣布。经检测,旧的安装程序大小为 10,355,637字节,SHA-1校验码为4aaa6cec69b4dfd952eda3512a0b45c1f34a0f7c; 新的安装程序则为 10,200,230字节,SHA-1校验码为 ee93d0ead4982b53d489b4766d6f96e7618fcd6e。由于这些变化没有正式的版本号 码,我们将把新版本称为3.17a。到目前为止,新的版本只能从软件商的网站重 新下载,而不能通过该软件的内部机制自动更新。   绿坝3.17a对程序作了修改以解决一些安全漏洞,包括我们上文所述的原先 的模拟攻击。尽管有这些安全加固的尝试,我们还是在打了补丁的程序里找到了 新的可被远程利用的漏洞。我们只花了一个小时多一点的时间就找到这个新漏洞, 又花了大约5个小时开发了一个漏洞演示。   新的网页过滤漏洞   绿坝用一个叫做SurfGd.dll的动态链接库来对互联网流通进行拦截。即使在 安全修补之后,SurfGd.dll还是使用一个固定长度的缓冲来处理网站的要求,恶 意网站仍然可以触发缓冲区的溢出从而接管程序的执行。现在的程序总算是检查 了URL的长度和各HTTP请求标头,但总长度被错误地允许超出缓冲区的大小。攻 击者可以用一个很长的URL和一个很长的“主机”HTTP标头来攻击新版本。怀疑 更新之前的3.17版,也就是我们原先的报告中检测过的版本,同样会受到这种攻 击。   针对这个新漏洞,我们实现了第二个示范攻击http://wolchok.org:9000/。 网页中嵌入了一个Flash,通过它发出一个非法格式的HTTP请求。如果你在运行 绿坝3.17或3.17a而且系统安装了Flash的话,一旦载入演示页面你的浏览器将会 立即崩溃。我们的示范仅仅是造成崩溃而已,真正的恶意网站可以利用这个漏洞 控制你的电脑。我们继续建议用户立即卸载绿坝以保护自己。   虽然我们的演示利用了Flash,但这个漏洞并不仅限于安装了Flash的计算机。 攻击者也可能利用其他的浏览器插件,例如Silverlight或者 Java。更糟糕的是, 由于绿坝监测每一个使用Socket API的程序,它会试图过滤任何一个有类似于 HTTP请求结构的出口消息(outgoing message),不管它是否真的来自浏览器。 因此,任何一个可用来通过TCP发送受攻击者控制的数据的程序,都暴露在这两 个网页过滤漏洞之下。我们预计这些缺陷可能会被用于各种网络程序中。   我们对绿坝开发者如此之快地更新程序感到鼓舞,这表明他们对安全问题的 重视。不过,即使在最新的修正之后,任何网站仍可以利用其他安全问题控制绿 坝用户的计算机。正如我们在原来的报告中指出那样,该程序采用了不安全的编 程做法,很可能有更多尚未发现的问题。因此,要保证绿坝安全将需要大量的修 改和仔细的测试。距离新PC强制预装绿坝的7月1日截止日期太近,要在剩下的12 天里完成所需的修改是不太可能的。   黑名单,白名单和文档的更新   绿坝的厂商已经通过软件的内部更新机制发布了两个过滤器更新。在默认情 况下,这些更新不会被自动安装。但是用户可以点击绿坝设置程序里的按钮手动 更新,也可以把绿坝设成自动更新。更新3.173在6月12日左右发布,更新3.174 则是在6月17日左右。   更新3.173中的变化   随着Update 3.173的安装,绿坝似乎不再利用来自CyberSitter的黑名单文 件,取而代之的是更新过的adwapp.dat中的黑名单。这份清单似乎并不基于 CyberSitter:它的长度超过6000多行,但只有5行与任何CyberSitter中黑名单 相同。   经检查更新文件(kwupdate.dat),我们确定版本3.173将黑名单文件 auctfil.dat,bsnlist.dat和gblfil.dat从 C:\Windows\system32转移到 C:\Windows,并且更新了文件wfile.dat,TrustUrl.dat和 adwapp.dat。开发人 员在adwapp.dat中增加了三个新条目:两个色情网址和一个叫cmd5.com的网站, 该网站目前存放着如何把绿坝的密码改回到默认值的说明。更新后的wfile.dat 关闭了CyberSitter的黑名单,只留下adwapp.dat的黑名单仍然有效。不过,更 新之后,从CyberSitter复制过来的黑名单本身在依然留用户计算机上;而从软 件商的网站下载的新版3.17a仍在使用几个CyberSitter的黑名单。   该更新还从不受过滤的网站白名单中(TrustUrl.dat)删除了603个条目。 该白名单上引人注目的网站包括 aol.com,ibm.com,download.com, abcnews.com,symantec.com,dell.com,china.com,zdnet.com,*.gov.cn, apple.com,filterdam.com,lssw365.*,doubleclick.net,time.com, nokia.com.cn,amazon.com,ebay.com.cn,icq.com,以及tucows.com。奇怪的 是,“lssw365”囊括了所有的顶级域名,使他们免受过滤。这包括lssw365.org, 一个致力于反对绿坝的中文网站。   更新3.174中的变化   更新3.174改变了程序的帮助文件kw.chm,并将该文件从C:\Windows移到 C:\Windows\Help。此更新在绿坝的帮助文件里添加了OpenCV开源项目所需的许 可文本,如下面的截图所示:   更新3.174在绿坝的帮助文件里增加了OpenCV许可协议(点击放大) 。   OpenCV是由英特尔开发的一种开源计算机视觉软件包。绿坝用它来识别网上 包含裸露的图片。根据其授权许可,OpenCV允许免费用于商业和教育途径,但要 求程序包括一许可文本。经检查,我们发现绿坝包含了源自OpenCV版本1.0rc1中 的代码库和配置文件,证实了早先在SourceForge 上的报道。尤其是,经分别比 较绿坝的xcore.dll,Xcv.dll与Xtool.dll和OpenCV 1.0rc1的cxcore099.dll, cv099.dll,highgui099.dll,我们发现了惊人的相似之处。此外,除了顶部的 许可文字(2到44行)缺如之外,绿坝的XFimage.xml与 haarcascade_frontalface_alt2.xml也一模一样。   虽然3.174过滤器的更新补充了所需的许可,但绿坝3.174之前的版本仍可能 违反了OpenCV许可。而可直接从软件商网站下载的新版3.17a仍旧看不到许可证。 (XYS20090621) ◇◇新语丝(www.xys.org)(xys3.dxiong.com)(www.xysforum.org)(xys2.dropin.org)◇◇