防御器材

恶意代码的简介和防范

发布时间:2025/1/1 13:06:32   
恶意代码(maliciouscode)又称为恶意软件(malicioussoftware,Malware),是能够在计算机系统中进行非授权操作,以实施破坏或窃取信息的代码。恶意代码范围很广,包括利用各种网络、操作系统、软件和物理安全漏洞来向计算机系统传播恶意负载的程序性的计算机安全威胁。也就是说,我们可以把常说的病毒、木马、后门、垃圾软件等一切有害程序和应用都可以统称为恶意代码。恶意代码分类病毒(Virus):很小的应用程序或一串代码,能够影响主机应用。两大特点:繁殖(propagation)和破坏(destruction)。繁殖功能定义了病毒在系统间扩散的方式,其破坏力则体现在病毒负载中。特洛伊木马(TrojanHorses):可以伪装成他类的程序。看起来像是正常程序,一旦被执行,将进行某些隐蔽的操作。比如一个模拟登录接口的软件,它可以捕获毫无戒心的用户的口令。可使用HIDS检查文件长度的变化内核套件(Root工具):是攻击者用来隐藏自己的踪迹和保留root访问权限的工具逻辑炸弹(LogicBombs):可以由某类事件触发执行,例如某一时刻(一个时间炸弹),或者是某些运算的结果。软件执行的结果可以千差万别,从发送无害的消息到系统彻底崩溃。蠕虫(Worm):像病毒那样可以扩散,但蠕虫可以自我复制,不需要借助其他宿主僵尸网络(Botnets):是由CC服务器以及僵尸牧人控制的僵尸网络。间谍软件(Spyware):间谍软件就是能偷偷安装在受害者电脑上并收集受害者的敏感信息的软件。恶意移动代码:移动代码指可以从远程主机下载并在本地执行的轻量级程序,不需要或仅需要极少的人为干预。移动代码通常在Web服务器端实现。恶意移动代码是指在本地系统执行一些用户不期望的恶意动作的移动代码。后门:指一类能够绕开正常的安全控制机制,从而为攻击者提供访问途径的一类恶意代码。攻击者可以通过使用后门工具对目标主机进行完全控制。广告软件(Adware):自动生成(呈现)广告的软件。上述分类只是个大概,各种恶意代码常常是你中有我,我中有你。而且在实际中,攻击者经常会将多种恶意代码组合起来使用。恶意代码攻击机制恶意代码的行为表现各异,破坏程度千差万别,但基本作用机制大体相同,其整个作用过程分为6个部分。(1)侵入系统。侵入系统是恶意代码实现其恶意目的的必要条件。恶意代码入侵的途径很多,如:从互联网下载的程序本身就可能含有恶意代码;接收已经感染恶意代码的电子邮件;从光盘或U盘往系统上安装软件;黑客或者攻击者故意将恶意代码植入系统等。(2)维持或提升现有特权。恶意代码的传播与破坏必须盗用用户或者进程的合法权限才能完成。(3)隐蔽策略。为了不让系统发现恶意代码已经侵入系统,恶意代码可能会改名、删除源文件或者修改系统的安全策略来隐藏自己。(4)潜伏。恶意代码侵入系统后,等待一定的条件,并具有足够的权限时,就发作并进行破坏活动。(5)破坏。恶意代码的本质具有破坏性,其目的是造成信息丢失,泄密,破坏系统完整性等。(6)重复(1)至(5)对新的目标实施攻击过程。恶意代码的攻击模型如下图所示。恶意代码的危害恶意代码不仅使企业和用户蒙受了巨大的经济损失,而且使国家的安全面临着严重威胁。年的海湾战争是美国第一次公开在实战中使用恶意代码攻击技术取得重大军事利益,从此恶意代码攻击成为信息战、网络战最重要的入侵手段之一。恶意代码问题无论从政治上、经济上,还是军事上,都成为信息安全面临的首要问题。目前,恶意代码的危害主要表现在以下几个方面:(1)破坏数据:很多恶意代码发作时直接破坏计算机的重要数据,所利用的手段有格式化硬盘、改写文件分配表和目录区、删除重要文件或者用无意义的数据覆盖文件等。例如,磁盘杀手病毒(DiskKiller)在硬盘感染后累计开机时问48小时内发作,发作时屏幕上显示“Waming!!Don’turnoffpowerorremovediskettewhileDiskKillerisProcessing!”,并改写硬盘数据。(2)占用磁盘存储空间:引导型病毒的侵占方式通常是病毒程序本身占据磁盘引导扇区,被覆盖的扇区的数据将永久性丢失、无法恢复。文件型的病毒利用一些DOS功能进行传染,检测出未用空间把病毒的传染部分写进去,所以一般不会破坏原数据,但会非法侵占磁盘空间,文件会不同程度的加长。(3)抢占系统资源:大部分恶意代码在动态下都是常驻内存的,必然抢占一部分系统资源,致使一部分软件不能运行。恶意代码总是修改一些有关的中断地址,在正常中断过程中加入病毒体,干扰系统运行。(4)影响计算机运行速度:恶意代码不仅占用系统资源覆盖存储空间,还会影响计算机运行速度。比如,恶意代码会监视计算机的工作状态,伺机传染激发;还有些恶意代码会为了保护自己,对磁盘上的恶意代码进行加密,CPU要多执行解密和加密过程,额外执行了上万条指令。恶意代码分析恶意代码分析主要有静态分析和动态分析两大类技术方法。静态分析是指直接查看分析代码本身,优点在于分析覆盖率较高。主要包括:反病毒软件扫描、文件格式识别、字符串提取分析、二进制结构分析、反汇编、反编译、代码结构与逻辑分析、加壳识别和代码脱壳。反病毒软件扫描:使用现成的反病毒软件来扫描待分析的样本,以确代码是否含有病毒。文件格式识别:恶意代码通常是以二进制可执行文件格式存在的,其他的存在形式还包括脚本文件、带有宏指令的数据文件、压缩文件等。文件格式识别能够让我们快速地了解待分析样本的文件格式,对于二进制可执行文件而言,了解样本的格式也意味洋我们获知了恶意代码所期望的运行平台。在Windows平台上,二进制可执行yywrexe和dll都是以pe文件格式组织的,而在linux平台上,可执行文件格式则是elf。字符串提取分析:有时恶意代码的作者会在自己的作品中放入某个特定的url或email地址,或者恶意代码会使用到某个特定的库文件和函数。利用字符串提取技术,可以帮助我们分析恶意代码的功能和结构。反汇编、反编译:可根据二进制文件最大限度地恢复出源代码,帮助分析代码结构。加壳识别和代码脱壳:恶意代码的加壳会对深入的静态分析构成阻碍,因此对加壳进行识别以及代码脱壳是支持恶意代码静态分析一项关键性的技术手段。动态分析技术指通过实际运行恶意代码,跟踪和观察其执行的细节来帮助分析理解代码的行为和功能。其局限性实执行过程中受环境的限制,通常无法实际执行所有分支路径,因此需要与静态分析结合使用。主要包括:快照比对、系统动态行为监控、网络协议栈监控、沙箱、动态调试等。快照比对:对原始的“干净”系统资源列表做一个快照,然后激活恶意代码并给予充分的运行时间,如5分钟,之后我们再对恶意代码运行后“脏”的系统资料列表进行快照,并对比两个快照之间的差异,从而获取恶意代码行为对系统所造成的影响。常使用的工具有:FileSnap,RegSnap,完美卸载等系统动态行为监控:是目前恶意代码动态行为分析中最为核心和常用的技术步骤,针对恶意代码对文件系统、运行进程列表、注册表、本地网络栈等方面的行为动作,进行实时监视、记录和显示。网络协议栈监控方法:可从本地网络上的其他主机来检测承受恶意代码攻击的机器的行为,如恶意代码所开放的TCP或UDP端口,对外发起的网络连接和通信会话等。恶意代码检测与防范基于上述分析技术,可以运用如下技术手段进行恶意代码的检测和防范。误用检测技术误用检测也被称为基于特征字的检测。他是目前检测恶意代码最常用的技术,主要源于模式匹配的思想。误用检测的实现过程为:根据已知恶意代码的特征关键字建立一个恶意代码特征库;对计算机程序代码进行扫描;与特征库中的已知恶意代码关键字进行匹配比较,从而判断被扫描程序是否感染恶意代码。误用检测技术目前被广泛应用于反病毒软件中。早期的恶意代码主要是计算机病毒,其主要感染计算机文件,并在感染文件后留有该病毒的特征代码。通过扫描程序文件并与已知、特征值相匹配即可快速准确地判断是否感染病毒,并采取对应的措施清除该病毒。随着压缩和加密技术的广泛采用,在进行扫描和特征值匹配前,必须对压缩和加密文件先进行解压和解密,然后再进行扫描。而压缩和加密方法多种多样,这就大大增加了查毒处理的难度,有时甚至根本不能检测。同时,基于特征字的检测方法对变形病毒也显得力不从心。权限控制技术恶意代码要实现入侵、传播和破坏等必须具备足够权限。首先,恶意代码只有被运行才能实现其恶意目的,所以恶意代码进入系统后必须具有运行权限。其次,被运行的恶意代码如果要修改、破坏其他文件,则他必须具有对该文件的写权限,否则会被系统禁止。另外,如果恶意代码要窃取其他文件信息,他也必须具有对该文件的读权限权限控制技术通过适当的控制计算机系统中程序的权限,使其仅仅具有完成正常任务的最小权限,即使该程序中包含恶意代码,该恶意代码也不能或者不能完全实现其恶意目的。通过权限控制技术来防御恶意代码的技术包括沙箱技术、安全操作系统、可信计算等。完整性技术恶意代码感染、破坏其他目标系统的过程,也是破坏这些目标完整性的过程。完整性技术就是通过保证系统资源,特别是系统中重要资源的完整性不受破坏,来阻止恶意代码对系统资源的感染和破坏。校验和法就是完整性控制技术的一种应用,它主要通过Hash值和循环冗余码来实现,即首先将未被恶意代码感染的系统生成检测数据,然后周期性地使用校验和法检测文件的改变情况,只要文件内部有一个比特发生了变化,校验和值就会改变。校验和法能够检测未知恶意代码对目标文件的修改,但存在两个缺点:①校验和法实际上不能检测目标文件是否被恶意代码感染,它只是查找文件的变化,而且即使发现文件发生了变化,既无法将恶意代码消除,又不能判断所感染的恶意代码类型;②校验和法常被恶意代码通过多种手段欺骗,使之检测失效,而误判断文件没有发生改变。在恶意代码对抗与反对抗的发展过程中,还存在其他一些防御恶意代码的技术和方法,比如常用的有网络隔离技术和防火墙控制技术,以及基于生物免疫的病毒防范技术、基于移动代理的恶意代码检测技术等。

转载请注明:http://www.aideyishus.com/lkcf/7485.html
------分隔线----------------------------