灯火互联
管理员
管理员
  • 注册日期2011-07-27
  • 发帖数41778
  • QQ
  • 火币41290枚
  • 粉丝1086
  • 关注100
  • 终身成就奖
  • 最爱沙发
  • 忠实会员
  • 灌水天才奖
  • 贴图大师奖
  • 原创先锋奖
  • 特殊贡献奖
  • 宣传大使奖
  • 优秀斑竹奖
  • 社区明星
阅读:1244回复:0

现代恶意软件时代 你该如何应对

楼主#
更多 发布于:2011-11-23 17:10

如今,信息系统对网络的依赖程度日益增加。软件日益复杂化(例如,虚拟机中的可扩展性观念),将导致严重而广泛的软件漏洞,并势必成为各种软件问题的根源,同时,恶意软件问题也会不断增多。
  恶意软件的前世今生
  恶意软件是指计算机用户并不需要的或有害的所有软件类型。如同所有软件一样,恶意软件随着操作系统和其它软件中所发现的新漏洞的增多而不断演化。最初的恶意软件不过是无聊的程序设计者用来证明其勇气和能力的途径,或是报复其他人,或是为了演示漏洞,或是向那些粗心大意的业内人士示威,给他人的计算机和数据带来损害。恶意软件的范围很广,如广告软件、骗人的安全软件、后门程序、漏洞利用程序、键盘记录程序、rootkit(根瘤)、蠕虫、病毒等,都属于恶意软件。
  1995年java出现,基于web的软件这个概念应运而生。虽然Java的设计目的是通过确保安全性来运行小型的Web应用程序(Java程序),但Java的虚拟机容易遭受各种常见的软件问题,其原因在于Java存在着很多漏洞和缺陷。这暴露了一个安全问题,即对被攻击软件的依赖性会使得现代世界面临风险。
  在这个问题上,微软发现自己与各种漏洞和恶意软件问题纠缠不清。Windows操作系统存在的漏洞和缺陷为攻击者创造了便利条件,造成不少安全问题。利用这些漏洞成为某些恶意人员的乐事。
  如今,微软产品的安全状况不断改善,这促使攻击者转向其它软件,如Adobe的产品。因为网络连接已经成为所有软件的必然选项,日益复杂的中间件框架(如J2EE)进一步强化了软件的复杂性,可扩展性成为现代软件的一种标准,这使得系统日益复杂,漏洞越来越多。只要这种趋势继续存在,恶意软件问题就将与我们共存,其造成的危害也将日益隐密和严重。
  由于恶意软件大多是由专业的网络间谍和网络罪犯编写的,其根本目的是为了金钱。所以,当前的恶意软件状况比以往更恶劣。基于Web的应用程序很容易成为攻击者的目标。“偷渡式下载”能直接导致一系列被称为高级持续性威胁(APT)的攻击。此外,恶意广告也呈现出有增无减的趋势。
  其中,Zeus是现代Web恶意软件的一个例子。Zeus木马可以控制受害人的浏览器,并执行“中间人”攻击。在金融服务公司的合法用户成为受害者之后,他们首当其冲会遭受这种攻击。该木马可以发现、滥用、导出合法的授权用户的凭证。
  当然,恶意软件绝不仅限于Web。任何使用广泛的软件都可能成为目标。如微软和Adobe的软件,虽然这些公司努力改善着其软件的安全状况。
  与恶意软件相关的经济利益使专业的网络罪犯看到了巨大商机,恶意软件的设计也更为精细、隐蔽。恶意软件与安全软件的较量是罪恶的地下商业利益集团与善意用户、安全软件厂商的持久战争。
  揭密现代恶意软件的技术
  随着恶意软件产业的发展,其新版本日益强大和智能。理解现代恶意软件如何“与时俱进”有助于认识恶意软件的总体状况。
  用肉眼已经无法完全识别现代恶意软件。在多数情况下,使用常见的故障诊断工具也无法确认这种恶意代码。虽然不同的恶意软件使用不同的伎俩,但它们仍具备不少相同的行为特征。
  1.给系统文件打补丁和进程感染
  “打补丁”通常被认为是厂商发布新代码来更新操作系统和应用程序的一个过程。但在恶意软件环境中,打补丁的过程涉及到对著名的目标系统文件实施逆向工程,并将定制的代码注入到结果中。
  确认这种恶意代码的问题在于,看不到文件系统添加了东西。对受感染的计算机而言,其正在运行的进程列表仅显示出人们常常看到的进程,恶意软件有效地将自己从普通的诊断工具面前隐藏起来。清除这种恶意软件的唯一方法是从受感染的文件中定位并清除恶意代码。
  2、代码复活
  在感染事件期间,系统可能会被安装多种恶意软件。在其代码开发的整合过程中,这些软件包可以进一步增长壮大,依靠的是彼此之间的监视。最终的恶意软件包可以监视系统上的其它恶意软件的清除过程。如果将任何一个恶意软件版本清除,任何剩余的版本和组件都可以重新启动,甚至从磁盘中遗留的组件中重新安装剩余部分,或从互联网下载来完成安装过程。
  这种状况会使恶意软件的清除过程复杂化。标准的清除工具,如注册表清除、进程清除,或任何传统的诊断工具,都不足以完全同时清除每一个部分,遗漏的任何组件都将导致系统在短时间之内被重新感染。
  3、代码随机化
  找到恶意软件的一种机制是使用代码签名,即查找那些驻存于受感染系统中的恶意代码特征。在发现恶意软件的部分代码或附加到系统文件中的代码特征时,反恶意软件工具就会确认其存在,并试图清除。基于签名的检测是一种常用的工具,许多反恶意软件工具都大量使用它。但是,这种检测方法的广泛使用并不能掩盖其固有的局限性。
  基于签名的识别方法的大量使用也有其复杂性的一面,即在恶意软件安装过程中,内置到恶意代码的自我编译过程中的随机化元素。这些特性可以使恶意软件使用多种可能的配置来安装自身。因而,检测器所看到的恶意软件是随时间而不断变化的。
  很明显,这种随机化水平要求恶意软件实例之间有足够的相似性,只有这样才能完成预期的任务。然而,随机化的影响意味着,在恶意软件通过互联网复制自身时,必须为它的实例创建多个签名。这些代码的随机化特性在当今的多数高级的恶意软件包中都可以发现。只有通过复杂的逆向工程,并由反恶意软件和软件公司进行“行为建模”,才能确认这些恶意软件的“异构体”。
  4、rootkit(根瘤)和伪装行为
  这是最后一种现代恶意软件特别危险的类型,因为它能够将自已在本地操作系统中隐藏起来。与基于UNIX系统的rootkit已经截然不同,这类Windows恶意软件尤其擅长“隐身术”。
  rootkit(根瘤)利用了前文所描述的文件补丁的功能,但其目的却完全不同。在“常规”的恶意软件中,其软件补丁会将所需要的功能安装到受害者的电脑上,而rootkit(根瘤)却通过一个称为“系统调用钩子”的功能重定向系统的功能调用。
  感染rootkit(根瘤)的最终结果是,rootkit会有效地在系统和用户面前“隐身”。任何通过图形用户界面或命令行来查看文件夹内容的企图都会被rootkit(根瘤)截获,并在最终结果显示给用户之前,恶意软件文件存在的任何线索都被清除得干干净净。在上一部分《现代恶意软件时代 你该如何应对(上)》中,我们介绍了恶意软件的前世今生和现代恶意软件技术。本文,我们将介绍清除现代恶意软件的工具和技术。
  清除现代恶意软件的工具和技术
  说了那么多恶意软件,重点在于如何清除企业环境中这些不断演化的“臭虫”。由于恶意软件的编写者其目的是为了掠夺金钱,与以往相比,管理者更需要将其从系统中赶走。
  签名的局限性
  在定位恶意软件时,传统的模式中存在着一个问题。从历史上看,这种模式依赖于基于签名的方法来查找受害人计算机上恶意软件的特征。但在恶意软件与反恶意软件的较量中,恶意软件的架构已经发生了巨大的变化,因而,基于签名的检测方法的有效性就大打折扣。
  特别是由于代码的随机化改变了恶意软件的行为方式,使得恶意软件看起来不再像签名模式所描述的那样,因而签名模式就更加无法识别恶意代码了。
  这是基于签名的检测方法的一个致使弱点。为了使签名可用,开发人员需要找到新恶意软件的某个版本,然后,对其实施逆向工程,找到可以唯一识别它的特征。确认了唯一性的元素,开发人员需要将此结果编码到签名中,然后发布给众多的服务器和客户端用于检测。
  基于行为的检测
  不管其感染载体或签名是什么,所有形式的恶意软件的最终目标都是为了实现有限的几个目标。赢利是当今恶意软件的首要目标,其它的目标包括如下这些方面:
  1、数据删除:批量删除系统上的数据。
  2、数据泄露:这包括泄露个人或金融信息,用户名及口令,或为了窃取数据而对用户数据进行配置。
  3、重定向:改变一个系统或应用程序的行为,执行其它功能,如将用户转到一个经精心设计的网站。
  4、监视:为实现上述目标,监视用户的活动。
  由于恶意软件的安装和处理机制复杂多变,而其目标却很有限,所以业界就需要一种不同的恶意软件确认机制。基于行为的检测就是另外一种架构。
  不妨思考一下企业环境中的反恶意软件产品。其配置可以不断地扫描系统和正在运行的进程,查找疑似的恶意软件。其签名每天或每小时都要更新。如果对这种软件进行配置,使其可以查找系统上的任何动作行为,其效果又将如何?
  在这种情况下,为反恶意软件客户端进行编码,查找某些类型的行为就更简单了。不管恶意软件的变化如何试图逃避检测,在它试图完成其任务时,其恶意活动都会被客户端发现并阻止。同样地,客户端也可以跟踪非法活动的源头,并进行移除等修复活动。由于犯罪过程容易识别,所以客户可以很快地将其阻止和清除。如果受害系统上没有启动适当的行为中止和清除过程,尽管客户端会抑制恶意行为,但计算机仅会受到局部保护。
  多管齐下
  虽然基于行为的方法对于确认和防止恶意行为非常出色,但基于签名的方法对于真正确认和清除特定的恶意软件类型和实例也许更好。综合多种方法的反恶意软件产品可以更深入地探查服务器和桌面。因而,系统架构师、软件设计师和安全管理者还应当考虑下面这些可以更深入地确认和移除恶意软件的技术。
  内核级保护
  从软件的层次来看,反恶意软件产品越接近内核,就越有能力确认恶意软件活动。在恶意软件(如rootkit是一个很好的例子)成功地将自已在反恶意软件引擎和内核之间隐藏起来时,反恶意软件产品就很难扫描并定位恶意代码。相反,在反恶意软件产品直接在内核上层工作时,就有能力监视所有的输入和输出。例如,最新版本的Windows就具备此特征。
  预启动扫描
  rootkit(根瘤)将自身入侵到文件系统中的方式非常隐密,所以对其清除也很困难。在所有其它的方法都失效时,找到系统中已安装的rootkit的一种解决方案,是从两个不同的角度查看系统。第一个角度是从文件系统自身。第二个角度是从该文件系统的一个卸载实例来看。首先,分别查看这两种角度的不同扫描结果,如果发现了任何的不同点,都可以认为这涉及到恶意软件试图掩藏其自身的代码。这种扫描可以更有效地查找和清除恶意软件。
  可执行层防火墙
  以Windows为例,默认情况下,它并没有什么逻辑来决定哪些进程是否该执行。因此,任何试图赢得处理器计算能力的进程都可以被运行。许多环境中所需要的是一种基于可执行层的防火墙。这种防火墙可以使管理员确认系统上应当被运行的进程,不属于环境的进程都被阻止运行。这种系统“防火墙”有助于防止某些类型的恶意软件的执行,还可以防止虽合法但不适当的以及有潜在风险的应用程序的运行,如一些文件交换程序、游戏及其它可能导致感染的应用程序。
  小结
  当今的反恶意软件工具必须站得更高,并且要更加精密,因为恶意软件自身正变得日益复杂。对于使用了传统的诊断工具和肉眼,“成功”检测和清除恶意软件的系统来说,在新形势下必须引入新工具来防止恶意软件的发生。非常重要的一点是,要使用多种选择、多种机制来查找恶意软件,以便于从整体上保护IT环境,这需要软件开发、软件管理、系统维护和管理、安全管理等多个方面的共同努力。

喜欢0 评分0
游客

返回顶部