
恶意代码的发展趋势和防治措施分享.pdf
4页不必要代码 (Unwanted Code )是指没有作用却会带来危险的代码,一个最安全的定义是把所有不必要的代码都看作是恶意的,不必要代码比恶意代码具有更宽泛的含义,包括所有可能与某个组织安全策略相冲突的软件一、恶意代码的特征恶意代码( Malicious code )或者叫恶意软件Malware ( Malicious Software )具有如下共同特征:(1) 恶意的目的(2) 本身是程序(3) 通过执行发生作用有些恶作剧程序或者游戏程序不能看作是恶意代码对滤过性病毒的特征进行讨论的文献很多,尽管它们数量很多,但是机理比较近似,在防病毒程序的防护范围之内,更值得注意的是非滤过性病毒二、非滤过性病毒非过滤性病毒包括口令破解软件、嗅探器软件、 键盘输入记录软件, 远程特洛伊和谍件等等,组织内部或者外部的攻击者使用这些软件来获取口令、侦察网络通信、 记录私人通信, 暗地接收和传递远程主机的非授权命令,而有些私自安装的P2P软件实际上等于在企业的防火墙上开了一个口子非滤过性病毒有增长的趋势,对它的防御不是一个简单的任务与非过滤性病毒病毒有关的概念包括:(1)谍件谍件( Spyware)与商业产品软件有关,有些商业软件产品在安装到用户机器上的时候,未经用户授权就通过Internet 连接,让用户方软件与开发商软件进行通信,这部分通信软件就叫做谍件。
用户只有安装了基于主机的防火墙,通过记录网络活动,才可能发现软件产品与其开发商在进行定期通讯谍件作为商用软件包的一部分,多数是无害的, 其目的多在于扫描系统,取得用户的私有数据2)远程访问特洛伊远程访问特洛伊RAT 是安装在受害者机器上,实现非授权的网络访问的程序,比如NetBus 和 SubSeven 可以伪装成其他程序,迷惑用户安装,比如伪装成可以执行的电子邮件,或者Web 下载文件,或者游戏和贺卡等,也可以通过物理接近的方式直接安装3)Zombies 恶意代码不都是从内部进行控制的,在分布式拒绝服务攻击中,Internet 的不少站点受到其他主机上zombies 程序的攻击 zombies 程序可以利用网络上计算机系统的安全漏洞将自动攻击脚本安装到多台主机上,这些主机成为受害者而听从攻击者指挥,在某个时刻, 汇集到一起去再去攻击其他的受害者4)破解和嗅探程序和网络漏洞扫描口令破解、 网络嗅探和网络漏洞扫描是公司内部人员侦察同事,取得非法的资源访问权限的主要手段,这些攻击工具不是自动执行,而是被隐蔽地操纵5)键盘记录程序某些用户组织使用PC活动监视软件监视使用者的操作情况,通过键盘记录,防止雇员不适当的使用资源, 或者收集罪犯的证据。
这种软件也可以被攻击者用来进行信息刺探和网络攻击6)P2P 系统 . 基于 Internet 的点到点 (peer-to-peer ) 的应用程序比如Napster、 Gotomypc、 AIM 和 Groove,以及远程访问工具通道像Gotomypc,这些程序都可以通过HTTP 或者其他公共端口穿透防火墙, 从而让雇员建立起自己的VPN,这种方式对于组织或者公司有时候是十分危险的因为这些程序首先要从内部的PC 远程连接到外边的Gotomypc 主机,然后用户通过这个连接就可以访问办公室的PC这种连接如果被利用,就会给组织或者企业带来很大的危害7)逻辑炸弹和时间炸弹. 逻辑炸弹和时间炸弹是以破坏数据和应用程序为目的的程序一般是由组织内部有不满情绪的雇员植入,逻辑炸弹和时间炸弹对于网络和系统有很大程度的破坏,Omega 工程公司的一个前网络管理员Timothy Lloyd,1996 年引发了一个埋藏在原雇主计算机系统中的软件逻辑炸弹 ,导致了 1 千万美元的损失,而他本人最近也被判处41 个月的监禁三、恶意代码的传播手法恶意代码编写者一般利用三类手段来传播恶意代码:软件漏洞、用户本身或者两者的混合。
有些恶意代码是自启动的蠕虫和嵌入脚本,本身就是软件, 这类恶意代码对人的活动没有要求一些像特洛伊木马、电子邮件蠕虫等恶意代码,利用受害者的心理操纵他们执行不安全的代码;还有一些是哄骗用户关闭保护措施来安装恶意代码利用商品软件缺陷的恶意代码有Code Red 、KaK 和 BubbleBoy它们完全依赖商业软件产品的缺陷和弱点,比如溢出漏洞和可以在不适当的环境中执行任意代码像没有打补丁的 IIS软件就有输入缓冲区溢出方面的缺陷利用Web 服务缺陷的攻击代码有Code Red、Nimda, Linux 和 Solaris 上的蠕虫也利用了远程计算机的缺陷恶意代码编写者的一种典型手法是把恶意代码邮件伪装成其他恶意代码受害者的感染报警邮件,恶意代码受害者往往是Outlook 地址簿中的用户或者是缓冲区中WEB页的用户,这样做可以最大可能的吸引受害者的注意力一些恶意代码的作者还表现了高度的心理操纵能力, LoveLetter 就是一个突出的例子一般用户对来自陌生人的邮件附件越来越警惕,而恶意代码的作者也设计一些诱饵吸引受害者的兴趣附件的使用正在和必将受到网关过滤程序的限制和阻断, 恶意代码的编写者也会设法绕过网关过滤程序的检查。
使用的手法可能包括采用模糊的文件类型,将公共的执行文件类型压缩成zip 文件等等对聊天室 IRC(Internet Relay Chat)和即时消息IM(instant messaging) 系统的攻击案例不断增加, 其手法多为欺骗用户下载和执行自动的Agent 软件, 让远程系统用作分布式拒绝服务(DDoS)的攻击平台,或者使用后门程序和特洛伊木马程序控制之四、恶意代码传播的趋势恶意代码的传播具有下面的趋势:(1)种类更模糊恶意代码的传播不单纯依赖软件漏洞或者社会工程中的某一种,而可能是它们的混合比如蠕虫产生寄生的文件病毒,特洛伊程序, 口令窃取程序, 后门程序, 进一步模糊了蠕虫、病毒和特洛伊的区别2)混合传播模式“混合病毒威胁”和“收敛(convergent)威胁”的成为新的病毒术语,“红色代码”利用的是 IIS的漏洞, Nimda 实际上是1988 年出现的Morris 蠕虫的派生品种,它们的特点都是利用漏洞, 病毒的模式从引导区方式发展为多种类病毒蠕虫方式,所需要的时间并不是很长3)多平台多平台攻击开始出现,有些恶意代码对不兼容的平台都能够有作用来自Windows 的蠕虫可以利用Apache 的漏洞,而Linux 蠕虫会派生exe 格式的特洛伊。
4) 使用销售技术另外一个趋势是更多的恶意代码使用销售技术,其目的不仅在于利用受害者的邮箱实现最大数量的转发,更重要的是引起受害者的兴趣,让受害者进一步对恶意文件进行操作,并且使用网络探测、电子邮件脚本嵌入和其它不使用附件的技术来达到自己的目的恶意软件( malware )的制造者可能会将一些有名的攻击方法与新的漏洞结合起来,制造出下一代的WM/Concept, 下一代的 Code Red, 下一代的Nimda对于防病毒软件的制造者,改变自己的方法去对付新的威胁则需要不少的时间5)服务器和客户机同样遭受攻击对于恶意代码来说服务器和客户机的区别越来越模糊,客户计算机和服务器如果运行同样的应用程序,也将会同样受到恶意代码的攻击象IIS 服务是一个操作系统缺省的服务,因此它的服务程序的缺陷是各个机器都共有的,Code Red 的影响也就不限于服务器,还会影响到众多的个人计算机6)Windows 操作系统遭受的攻击最多Windows 操作系统更容易遭受恶意代码的攻击,它也是病毒攻击最集中的平台,病毒总是选择配置不好的网络共享和服务作为进入点其它溢出问题, 包括字符串格式和堆溢出,仍然是滤过性病毒入侵的基础。
病毒和蠕虫的攻击点和附带功能都是由作者来选择的另外一类缺陷是允许任意或者不适当的执行代码,随着scriptlet.typelib 和 Eyedog 漏洞在聊天室的传播, JS/Kak利用 IE/Outlook 的漏洞,导致两个ActiveX 控件在信任级别执行,但是它们仍然在用户不知道的情况下,执行非法代码最近的一些漏洞帖子报告说Windows Media Player 可以用来旁路Outlook 2002 的安全设置, 执行嵌入在HTML 邮件中的JavaScript 和 ActiveX 代码 这种消息肯定会引发黑客的攻击热情利用漏洞旁路一般的过滤方法是恶意代码采用的典型手法之一7)恶意代码类型变化此外,另外一类恶意代码是利用MIME 边界和 uuencode 头的处理薄弱的缺陷,将恶意代码化装成安全数据类型,欺骗客户软件执行不适当的代码五、恶意代码相关的几个问题(1)病毒防护没有标准的方法,专家认为比较安全的方式是每个星期更新一次病毒库,但是特殊情况下,需要更加频繁地更新1999 年 Y2K 病毒库需要每天更新,而2000年五月,为了对付LoveLetter 病毒的变种,一天就要几次更新病毒库。
需要指出的是,有时候这种频繁的更新对于防护效果的提高很小2)用户对于Microsoft 的操作系统和应用程序抱怨很多,但是病毒防护工具本身的功能实在是应该被最多抱怨的一个因素3)启发式的病毒搜索没有被广泛地使用,因为清除一个病毒比调整启发式软件的花费要小,而被比喻成“治疗比疾病本身更糟糕”4)企业在防火墙管理,电子邮件管理上都花费了不小的精力,建议使用单独的人员和工具完成这个任务5) 恶意代码攻击方面的数据分析做得很不够,尽管有些病毒扫描软件有系统活动日志, 但是由于文件大小限制,不能长期保存 同时对于恶意代码感染程度的度量和分析做得也不够,一般的企业都不能从战术和战略两个层次清晰地描述自己公司的安全问题6) 病毒扫描软件只是通知用户改变设置,而不是自动去修改设置 7) 病毒防护软件本身就有安全缺陷,容易被攻击者利用, 只是由于害怕被攻击,病毒软件厂商不愿意谈及8)许多的软件都是既可以用在安全管理,也可以用在安全突破上,问题在于意图,比如漏洞扫描程序和嗅探程序就可以被攻击者使用恶意代码的传播方式在迅速地演化,从引导区传播, 到某种类型文件传播,到宏病毒传播,到邮件传播,到网络传播,发作和流行的时间越来越短。
Form 引导区病毒1989 年出现,用了一年的时间流行起来,宏病毒Concept Macro 1995 年出现,用了三个月的时间流行,LoveLetter 用了大约一天,而Code Red用了大约90 分钟,Nimda 用了不到30 分钟. 这些数字背后的规律是很显然的:在恶意代码演化的每个步骤,病毒和蠕虫从发布到流行的时间都越来越短恶意代码本身也越来越直接的利用操作系统或者应用程序的漏洞,而不仅仅依赖社会工程服务器和网络设施越来越多地成为攻击目标L10n, PoisonBOx, Code Red 和Nimda 等蠕虫程序,利用漏洞来进行自我传播,不再需要搭乘其他代码。
