当前位置:100EC>数字金融>编译:《美国密西根大学的绿坝系统分析报告》
编译:《美国密西根大学的绿坝系统分析报告》
中国B2B研究中心发布时间:2009年06月16日 17:57:03

(电子商务研究中心讯)  说明: 这篇针对绿坝的测试报告由Halderman和他的学生共同完成。Halderman毕业于普林斯顿大学(爱因斯坦在美国时执教的地方,也是电影《美丽心灵》中数学家纳什所在的学校),现在是密西根大学计算机系的助理教授(assistant professor)。

  原文链接: http://www.cse.umich.edu/~jhalderm/pub/gd/

  原题:         Analysis of the Green Dam Censorware System

  作者:        Scott Wolchok, Randy Yao, and J. Alex Halderman

  摘要:据报道,中国政府将强制性要求所有境内出售的电脑都装上绿坝软件。它可以监控用户网上冲浪以及其他电脑操作,过滤掉色情以及政治上敏感的内容。通过对该软件的测试,我们发现了绿坝系统中存在种种漏洞,这些漏洞会让用户遭到远程攻击。而用户访问的任何网站都有可能成为攻击来源。

  由于以上问题都是在12小时测试内发现的,我们有理由相信这些问题还只是冰山一角。绿坝软件大量使用存在安全隐患的、过时的编程方式,这可能会造成更多的系统漏洞。要想解决这些问题,需要对软件进行大规模的改写,并进行周密的软件测试。眼下,我们建议用户立刻卸载绿坝软件,保护自己的信息安全。

  测试中发现该软件由于编程不合理,存在安全隐患。用户所访问的任何一个网站都可以利用这个安全隐患来控制用户电脑。恶意网站可以方便地窃取用户个人信息,发送垃圾邮件,甚至制造僵尸网络(何为僵尸网络?了解详情请点这里)。另外,在绿坝升级黑名单时出现的系统安全漏洞,使得软件生产商或黑客可以在此过程中植入恶意代码。

  引言:来自纽约时报和华尔街日报的消息称,中国政府要求今年7月1号以后在中国境内出售的所有电脑都装上绿坝软件。据说该软件是用来监控网络使用情况以及在电脑里的文字输入。它可以屏蔽掉少儿不宜或政治性敏感内容,并有可能将屏蔽内容报告给政府。金惠公司开发了该软件,并在网上提供免费下载。我们所检测的是绿坝3.17版。

  一、绿坝是如何工作的

    绿坝软件通过屏蔽网址和网上图片,并监控电脑上的文字输入来过滤内容。过滤的内容有成人的,也有政治方面的。过滤黑名单中的部分内容似乎是抄袭了美国的过滤软件。

    1、图片过滤

   据报道,绿坝软件通过监测图片中人皮肤的暴露程度(脸部特写除外)来判断该图片是否少儿不宜。我们发现,绿坝的程序使用了开源图像识别软件OpenCV的代码库和一个配置文件。

   2、文字过滤

   绿坝可以监控各种软件中的文字输入,监控的对象包括低俗词汇和政治敏感词。我们发现这些过滤词汇都放在3个加密文件中。由于加密方法很简单,我们很快便破解了这三个文件的内容:xword1.dat, xwordm.dat, xwordh.dat(具体的加密方法为无钥加密操作--keyless scrambling operation,想过破解瘾的同学可以试一试)。当然绿坝也是有高级的地方,就是当用户输入的是一句话而不是单独几个词时,绿坝也有相应的算法来监测内容。我们发现了这个算法所要用到的词汇列表,它被放在了一个未加密的FalunWord.lib文件里。一旦绿坝发现用户输入了敏感词,它就会强行关闭正在使用的软件,并弹出报错窗口,截图如下图所示。

 

 

    3、网址过滤

    绿坝根据白名单和黑名单来确定过滤什么样的网址。白名单和黑名单的内容在这三个文件里:*fil.dat, adwapp.dat, and TrustUrl.dat。这三个文件同样采用了简单的加密方法,即之前所说的“无钥加密操作–keyless scrambling operation”。黑名单分为五个部分,分别对应下图所示的五个选项,即“成人/色情网站”,“成人/色情网站(严格)”,“暴力游戏”,“同性恋”,“非法活动/毒品”。

        我们还发现,这些黑名单中很大一部分是来自美国的过滤软件CyberSitter。我们甚至还找到了配置文件wfileu.dat,这里面清楚的标明很多黑名单是从CyberSitter的网站上下载下来的。而根据程序设置文件xstring.s2g来看,这些黑名单还是2006年的。最有意思的是,我们还发现了csnews.dat这个文件,内容是CyberSitter2004年发布的一个新闻简讯。不知道绿坝怎么这么不小心,也许是因为该文件和黑名单文件有着相同的文件后缀名吧。

  4、安全问题

  对绿坝软件仅测试一天,我们就发现了两大安全漏洞。一处是绿坝软件对其所监控的网络链接的处理,另一处是该软件更新过滤文件的方式。这两大漏洞都可能被黑客利用而对用户电脑进行远程操作,比如运行任意代码甚至完全控制用户电脑。

  二、网址过滤中的隐患

  绿坝首先拦截用户电脑与服务器之间的通信信息,再将网站与黑名单对比,看所浏览网页是否在黑名单内,并记录下网址。具体说来,这是通过socket API这个程序接口将SurfGd.dll文件包括到软件中而实现的。

  我们发现了该软件在处理网址时存在着程序上的错误。由于该程序总是用固定字节长度的缓冲区来处理网址,所以如果有人制造一个特定的网址,就可以使得绿坝软件的缓冲区溢出,进而造成浏览器崩溃。为了说明这一问题,我们特地制作了一个网址。如果你电脑上已经装了绿坝,并且你敢于尝试,你可以点这里来搞垮你的浏览器。

我们的这个网址只是为了说明绿坝存在的安全漏洞,所以点到为止,仅仅是搞垮用户的浏览器。而真正的黑客则可以利用这个漏洞,在用户电脑里植入木马。绿坝设计上存在的问题使得任何浏览器都会面临这样的安全问题。所以为了保险起见,最安全的办法就是立刻卸载绿坝。

  三、更新黑名单过程中的安全漏洞

  绿坝的第二个安全问题来源于它读取过滤文件的方式(译者注:过滤文件包括白名单和黑名单)。这个问题使得绿坝的生产商—金惠公司,或者把自己装扮成生产商的第三方,能够在黑名单升级后在用户的电脑上运行任意代码,并安装恶意软件。

  绿坝通过使用存在安全隐患的C语言字符串库来读取过滤文件。它调用了fscanf函数将文件中的字符读取到固定字节长度的缓冲区中。这其实就是常见的缓冲区溢出漏洞。举例说来,如果TrustUrl.dat文件中有一行的字节超过了固定长度,缓冲区就会溢出,造成程序崩溃,这就给想控制进程的人带来了可趁之机。

  用户更新过滤文件的过程中,上述安全漏洞就能被绿坝的生产商—金惠公司,或者把自己装扮成生产商的第三方利用,从而控制用户电脑。另外值得一提的是,更新是通过不加密的HTTP协议来完成的,这又是一处明显的安全漏洞。因为黑客可以通过利用DNS(域名服务器)的漏洞,先把自己装扮成金惠公司的服务器,然后就很容易控制用户电脑。

  四、绿坝软件的卸载

  如果用户知道管理员密码,就可以卸载绿坝软件。通过测试,我们发现绿坝自带的卸载软件就可以比较彻底的卸载绿坝。但卸载之后,系统还是保留一些记录文件,里面记录了用户对软件的使用情况。

  基于上述列举的问题,我们建议用户尽快将绿坝软件卸载,用绿坝自带的卸载软件即可。

  五、总结

  短短12小时的测试说明了绿坝软件存在非常严重的安全漏洞。不幸的是,这些漏洞来源于编程时所犯的错误。软件大量使用了有安全隐患的编程方式,就比如前面提到的,已经过时的C语言字符串处理函数sprintf和fscanf。而程序设计上的问题使得安全漏洞更加严重:由于绿坝软件对所有的网络流量进行审查,从而软件中的漏洞可能被很多人利用,用户电脑受攻击的面也广。

  如果绿坝就以现在的样子装到中国的千万台电脑上,那中国的计算机安全就很成问题了。我们发现的这些问题倒很快就能解决,但如果要彻底解决绿坝的所有问题,就需要将绿坝软件大部分的代码重写,并进行详尽的安全测试。可眼看着政府要求全面安装绿坝的起始日期—7月1号就要来到,估计这种大规模修复也是不可能的了。

  附:这里是Halderman教授的个人页面,里面有它的邮箱等信息,感兴趣的中国B2B研究中心网友可以发邮件去跟他讨论。http://www.cse.umich.edu/~jhalderm(编辑:中国B2B研究中心 云马)

浙江网经社信息科技公司拥有17年历史,作为中国领先的数字经济新媒体、服务商,提供“媒体+智库”、“会员+孵化”服务;(1)面向电商平台、头部服务商等PR条线提供媒体传播服务;(2)面向各类企事业单位、政府部门、培训机构、电商平台等提供智库服务;(3)面向各类电商渠道方、品牌方、商家、供应链公司等提供“千电万商”生态圈服务;(4)面向各类初创公司提供创业孵化器服务。

网经社“电数宝”电商大数据库(DATA.100EC.CN,免费注册体验全库)基于电商行业17年沉淀,包含100+上市公司、新三板公司数据,150+独角兽、200+千里马公司数据,4000+起投融资数据以及10万+互联网APP数据,全面覆盖“头部+腰部+长尾”电商,旨在通过数据可视化形式帮助了解电商行业,挖掘行业市场潜力,助力企业决策,做电商人研究、决策的“好参谋”。

【投诉曝光】 更多>

【版权声明】秉承互联网开放、包容的精神,网经社欢迎各方(自)媒体、机构转载、引用我们原创内容,但要严格注明来源网经社;同时,我们倡导尊重与保护知识产权,如发现本站文章存在版权问题,烦请将版权疑问、授权证明、版权证明、联系方式等,发邮件至NEWS@netsun.com,我们将第一时间核实、处理。

        平台名称
        平台回复率
        回复时效性
        用户满意度
        微信公众号
        微信二维码 打开微信“扫一扫”
        微信小程序
        小程序二维码 打开微信“扫一扫”