1 引言
2012年5月28日,卡巴斯基实验室首先宣布发现了一种高度复杂的恶意程序——Flame。该恶意程序被用作网络武器,已经入侵伊朗、黎巴嫩等中东国家,涉及个人、国家机构及学术和教育体系等范围。该病毒体积十分庞大并且结构极为复杂,被称为有史以来最复杂的病毒,它由一个20MB大小的模块包组成,7个主文件,共包含20个模块,且每个模块有着不同的作用,病毒编制使用了至少5种加密算法、3种压缩算法、5种文件格式。它的主要作用是用于系统入侵和情报收集,一旦计算机系统被感染,病毒就开始一系列的操作,连接病毒的服务器,获取网络流量、截屏、录音、捕获键盘等数据,同时还能加载其它模块,扩大自身的功能特性。火焰病毒被称为迄今为止最大规模和最为复杂的网络攻击病毒之一。
2 火焰病毒攻击的方法
2.1 实施中间人攻击
利用微软WPAD的漏洞,实施中间人攻击,将攻击目标访问的网站重新定位到假冒网站。WPAD(Web Proxy Auto Discovery,Web代理服务器自动发现)的设计目的是让浏览器能自动发现代理服务器,这样用户可以轻松访问互联网而且无需知道哪台计算机是代理服务器。而Windows WINS 服务器存在一个问题,没有对可以在WINS服务器上注册WPAD条目的人员进行正确地验证。默认情况下,如果名称注册已不存在,WINS服务器将允许任何用户在WINS数据库中为 WPAD 创建注册。
如果攻击者在WINS数据库中注册WPAD并将其指向他所控制的IP地址,该攻击者便可对任何配置使用WPAD以发现代理服务器设置的浏览器进行人为干预的攻击,即中间人攻击(MITM)。火焰病毒的制造者利用了WPAD漏洞实施中间人攻击,将目标主机Windows Update的目标服务器重新定向为其制定假冒服务器。
2.2 劫持通信
拦截Windows Update客户端更新,篡改更新升级文件。微软Windows Update客户端更新程序一共包括5个文件,包括是“”、“”、“”、“”、“Wusetup ”。火焰病毒制造者对微软发布的文件进行了拦截,并对其4个文件进行了篡改,分别是“”、“”、“”、“Wusetup ”,将其编写的恶意程序和代码注入这4个文件中,并通过中间人攻击,诱使升级Windows的客户端下载被篡改的文件。
2.3 申请证书进行签名
利用微软终端服务器版权服务(Terminal Server Licensing Service)的漏洞,签发数字证书,对篡改的Windows Update客户端更新程序进行签名,伪装成微软发布的程序。微软为了方便企业内部使用基于PKI的应用,提供了一种称为终端服务器版权服务的应用,其目的是仅供许可服务器验证的数字证书。这种服务也能够用来签署代码以标识该代码是微软签署的,而且当企业用户要求一个终端服务激活许可证时,微软签发的证书在不需要访问微软内部PKI基础设施的情况下进行代码签名,同时这种服务也支持使用旧的加密算法进行签署代码,并使被签署的代码看起来是来自微软的。
火焰病毒制造者利用终端服务器版权服务这些特性,使用与“Microsoft Enforced Licensing Intermediate PCA证书”、“Microsoft Enforced Licensing Registration Authority CA证书”有信任关联关系的“Microsoft LSRA PA证书”对火焰病毒进行了签名,并使其成功伪装成微软发布的更新程序。火焰病毒制造者利用终端服务器授权系统的注册过程来获取链接到微软根证书颁发机构的证书,以及对病毒进行签名的整个过程不需要访问微软的PKI。
2.4 伪造证书
利用旧密码算法安全强度不高的漏洞,更改火焰病毒的签名证书,使其适应各种不同的Windows版本。微软终端服务器版权服务签发的证书含有“Microsoft Hydra”关键扩展,在X.509方面,如果扩展对于证书链的正确验证是必要的,则该扩展必须标记为关键。Windows XP允许未知的关键扩展项,Windows Vista及之后的Windows7、Windows8都拒绝未知的关键扩展,Window Vista和最新版本的Windows中的加密库在遇到一个标记为关键的扩展而它不能理解该扩展的情况下,验证就会失败。
火焰病毒的制作者希望病毒可以在所有版本的Windows上都能有效,他们的目标就是清除“Microsoft Hydra”关键扩展字段。终端服务器版权服务使用不再安全的MD5算法,使得在保持签名值不变的情况下,可以更改证书中的内容。
火焰病毒制造者使用了Issuer Unique Identifier字段,该字段已被废弃,微软软件或基础架构已不再使用,病毒制造者利用该字段覆盖了不需要的关键拓展字段,包括证书吊销列表(CRL)分发点(CDP)扩展、授权信息访问(AIA)扩展和“Microsoft Hydra”关键扩展,并实施MD5碰撞攻击,在签名值不变的情况下伪造了一份证书。至此病毒制造者完成一个可以在任何版本Windows上都有效的病毒。
3 火焰病毒的特点
3.1 MD5碰撞攻击被实际应用而产生重大影响
MD5 Message Digest Algorithm MD5(中文名为消息摘要算法第五版)是由国际著名密码学家、麻省理工大学的Ronald L. Rivest教授于1991年设计的,曾经是计算机安全领域广泛使用的一种hash函数。
Hash算法的主要作用是把任意的文件内容转换为简短的字符串,转换后的字符串很难或不可能推算出原来的文件内容,而且很难找到两个不同文件转换后具有相同的字符串,这些字符串加上证书就可以用来验证文件有没有被修改过,就像验证手写签名的真假一样。
但是经过王小云等密码专家的研究,MD5算法已经不再安全。2004年,王小云教授利用明文修改技术,将MD5碰撞攻击计算复杂度分别降低到2的39次方和2的32次方;2008年,冯登国教授利用差分攻击,提高了产生碰撞的效率,将MD5碰撞算法复杂度降低至2的21次方,极端情况下甚至可以降低至2的10次方。
由于碰撞攻击很难找到两个hash值相同,又同时具有意义的文件,所以,MD5算法的破解被认为对实际应用的冲击要远远小于它的理论意义,不会造成PKI、数字签名安全体系的崩溃,这也是当时MD5算法的破解并没有造成密码界、PKI行业的恐慌的原因。但是火焰病毒伪造相同签名的两个不同证书,说明MD5碰撞攻击已经开始实际应用,宣告MD5算法已经彻底不安全了。
3.2 有数学家级的密码员参与了火焰病毒的制造
火焰病毒通过劫持Windows系统的升级程序,把自己安装在目标计算机上。升级程序本来自带数字签名和证书,以防止程序被篡改,但火焰病毒的制造者伪造了这个证书,说明其针对hash算法进行了碰撞攻击。王小云、冯登国等专家使用不同的数学方法将MD5碰撞攻击的复杂度降低多个数量级,但是,还是没有达到实际应用的地步。而火焰病毒制造者伪造了两个签名一样、内容不同的证书,其必定使用了一定的数学方法并利用微软终端服务器版权服务的漏洞,实施了一种更加准确的碰撞攻击。所以有防病毒专家说,经过分析火焰病毒的代码,根据其攻击方法,应该有世界级水平的密码员参与了火焰病毒的研发。
3.3 小细节被利用引发大问题
微软终端服务器版权服务于1999年设计,当时的一些设计可能并不存在问题,如本地存储密钥对,而不用访问微软内部PKI;数字证书未限制用途,可以用于签名代码;使用MD5算法等。但是随着时间的推移,一些问题开始慢慢显现:终端服务器版权服务没有做限制,可以方便地签发证书,并用签发的证书用作签署代码,而且能被微软其他的服务所信任,加之MD5算法也不再安全,伪造证书和签名也成为了可能。终端服务器版权服务只是微软1999设计的一个产品,与微软提供的其他产品相比,其作用和地位微乎其微,而其中的一些设计细节更不为人所知,但是火焰病毒的制造者却挖掘到了这些细枝末节,并利用其研发火焰病毒。
利用13年前一些极其微小系统设计漏洞还可以实施攻击,并产生如此巨大的影响,首先感叹于病毒制造者的能力,其次引发我们对信息安全信息细节的关注,对目前仍在使用的旧系统、旧软件、旧设备安全的重视。
3.4 具备示范效应,可被模仿的攻击模型。
火焰病毒的攻击方法是一套清晰的攻击模型,主要分为四步:第一,发起中间人攻击;第二,劫持篡改通信内容;第三,伪造数字证书;第四,假冒签名伪造通信内容。上述四个步骤中需要利用到的漏洞,除了微软终端服务器版权服务外,互联网中还存在很多具有相同或相似漏洞的服务,而每类漏洞都可以使用不同的方法实施攻击,比如除了利用WPAD漏洞可以实施中间人攻击,也可以利用远程桌面协议等服务的漏洞都实施中间人攻击。
火焰病毒攻击的模式,给攻击者提供一套可模仿的、清晰的、成熟的攻击方案,并且在具体攻击细节中提供了一些新方法。善于发掘漏洞的攻击者可以根据火焰病毒的攻击思路和方法,发掘网络中存在的相同漏洞,并组织实施自己研究的攻击方法。火焰病毒自身的危害就已经非常大了,其攻击示范效应的危害不亚于其本身的危害。
4 由火焰病毒引发对信息安全工作的思考
4.1 对信息安全基础设施保护敲响了警钟
火焰病毒得以产生一个重要原因就是微软对其可以签发数字证书的服务管理不严格,申请证书条件宽松,没有限制证书使用用途,从而导致问题的产生。数字证书及微软终端服务器版权服务本身就是为了保障信息安全的,如果这些基础设施出现问题,那么信息安全保障就无从谈起。加强信息安全基础设施包括PKI等设施的保护和管理是非常重要的。
目前我国依法设立的电子认证服务机构共有32家,签发的数字证书超过一亿六千万张,广泛应用于网银、电子政务等领域,在各个领域中发挥着重要的信息安全保障作用。如果由于电子认证服务机构保护和管理措施不严,证书被随意签发,假冒和伪造证书滋生,不仅会对电子认证服务机构产生不良影响(DigiNotar因为根证书被盗,签发了假冒证书而导致破产倒闭),更会对使用证书的各个领域产生严重影响,严重干扰国民经济正常运行和人民生产生活,所加强电子认证服务机构等信息安全基础设施的保护和管理确有必要。
4.2 对于信息安全问题不能存有侥幸心理
微软终端服务器版权服务设计时使用当时非常安全的MD5算法,但是随着时间的推移,MD5已经不再安全。也许是因为当时MD5算法还没有一种可靠的碰撞攻击,找到有意义的、签名相同的明文而应用于实际攻击,也许是因为其他原因,微软终端服务器版权服务没有针对MD5算法进行升级,没有更换替代算法。但是使用MD5的安全隐患终于爆发,火焰病毒出现了,并产生了巨大的影响。所以,对于信息安全问题不能存有任何侥幸心理,发现有隐患的地方,即使还没有出现过问题,也应该及时处理,如果放任自流,那么有可能产生严重的后果,火焰病毒就是最好的例子。
美国在密码算法安全方面非常重视,目前,应用范围广泛的1024位RSA密码算法随着时代的发展也面临被破解风险,美国国家标准技术研究院要求在2010年12月31日之前停止使用1024位RSA算法;CA/Browser Forum要求扩展验证(Extended Validation,EV)证书根CA及从属CA至少采用2048位RSA密钥;微软要求全球所有受信任的根证书颁发机构必须尽快从1024位的根证书向2048位迁移。我国密码主管部门也发布文件要求更换密码算法,但目前各行各业进展并不顺利,密码算法安全的重要性还需要提高。
4.3 应该具备信息安全应急能力
火焰病毒出现后,微软立即启动了应急响应措施,撤销对“Microsoft Enforced Licensing Intermediate PCA”以及“Microsoft Enforced Licensing Registration Authority CA”的信任,向Windows不可信任证书库中添加了三个证书;停止发行通过终端服务器激活和许可程序可用于代码签名的证书;Windows update升级了SSL证书,提升对其自身更新通道的检查和限制。微软的措施基本切断了火焰病毒传播的可能,有效抑制了火焰病毒的再度蔓延,降低了火焰病毒的危害。我国也应该具备信息安全应急能力,组建应急处理队伍,建立应急机制,有效应对信息安全突发问题,降低病毒等信息安全问题带来的损失。
4.4 推动信息安全立法工作
与赛门铁克等安全厂家提供的清除主机中火焰病毒的措施不同,微软的措施基本切断了火焰病毒传播的可能,是解决火焰病毒的根本措施。微软能够撤掉解决问题,是因为其对自己产品的了解,只有生产厂家可以实现产品的完全可控。
所以应当通过法律明确,产品厂商应该有保障其产品安全可靠的义务和责任,尤其是在发现问题后,应该提出补救措施,如果不予以解决,则将受到惩罚。联想到“棱镜门”事件,如果有相关法律的支持,发现国外的产品存在安全漏洞,则可依法进行处置和制裁,虽然不能完全解决问题,但立法仍是目前解决我国信息安全问题的有效且必要的手段之一。
5 结束语
火焰病毒攻击事件再次给网络安全领域敲响了警钟,本文通过介绍火焰病毒的攻击方法,以及病毒的特点,提出一些关于我国信息安全工作的建议:一是要加强信息安全基础设施的防护和管理;二是要重视信息安全隐患和细节问题,及时进行处理;三是应具备信息安全应急能力;四是推动信息安全立法工作。
参考文献
[1] 纪芳. Flame病毒深度分析及防范技术[J].技术研究,2012,12. 67-69.
[2] 史洪,李波,王开建,何乔.火焰病毒探析[J].保密科学技术.2012,11. 22-25.
[3] 梁宏,刘佳男,李勇.“火焰”病毒分析与防范[J].第27次全国计算机安全学术交流会论文集,2012,08. 157-159.
[4] Microsoft安全公告MS09-008. http://zh-cn/security/bulletin/ms09-008.
[5] 微软证书授权中心签发的证书被加入不可信证书库. http://b/ .
[6] “火焰”恶意软件碰撞攻击详解.http://b/twcchina/archive/2012/06/08/ .
基金项目:
本课题得到国家高技术研究发展计划(863计划)No.2012AA01A403支持。
作者简介:
吕尧(1984-),男,硕士,研究实习员,工业和信息化部赛迪智库信息安全研究所工作,主要从事信息安全研究。 本文选自《信息安全与技术》2014年第5期,版权归原作者和期刊所有。
中国论文网(www.lunwen.net.cn)免费学术期刊论文发表,目录,论文查重入口,本科毕业论文怎么写,职称论文范文,论文摘要,论文文献资料,毕业论文格式,论文检测降重服务。