17534 2

[生活百科] 恶意代码有着些什么样的形式_恶意代码的危害与防范 [推广有奖]

企业贵宾

已卖:160份资源

巨擘

0%

还不是VIP/贵宾

-

威望
4
论坛币
624047 个
通用积分
180.5582
学术水平
918 点
热心指数
987 点
信用等级
841 点
经验
399203 点
帖子
9786
精华
48
在线时间
17322 小时
注册时间
2014-8-19
最后登录
2022-11-2

楼主
widen我的世界 学生认证  发表于 2016-4-11 19:00:40 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币

恶意代码有着些什么样的形式_恶意代码的危害与防范


恶意代码有着些什么样的形式


  分类恶意代码的标准主要是代码的独立性和自我复制性,独立的恶意代码是指具备一个完整程序所应该具有的全部功能,能够独立传播、运行的恶意代码,这样的恶意代码不需要寄宿在另一个程序中。非独立恶意代码只是一段代码,必须嵌入某个完整的程序中,作为该程序的一个组成部分进行传播和运行。对于非独立恶意代码,自我复制过程就是将自身嵌入宿主程序的过程,这个过程也称为感染宿主程序的过程。对于独立恶意代码,自我复制过程就是将自身传播给其他系统的过程。不具有自我复制能力的恶意代码必须借助其他媒介进行传播。目前具有的恶意代码种类及属性如图1所示。按照图1中的分类称为“病毒”的恶意代码是同时具有寄生和感染特性的恶意代码,称之为狭义病毒。习惯上,把一切具有自我复制能力的恶意代码统称为病毒,为和狭义病毒相区别,将这种病毒称为广义病毒。基于广义病毒的定义,病毒、蠕虫和Zombie可以统称为病毒。



  1.陷阱门


  陷阱门是某个程序的秘密入口,通过该入口启动程序,可以绕过正常的访问控制过程,因此,获悉陷阱门的人员可以绕过访问控制过程,直接对资源进行访问。陷阱门已经存在很长一段时问,原先的作用是程序员开发具有鉴别或登录过程的应用程序时,为避免每一次调试程序时都需输入大量鉴别或登录过程需要的信息,通过陷阱门启动程序的方式来绕过鉴别或登录过程。程序区别正常启动和通过陷阱门启动的方式很多,如携带特定的命令参数、在程序启动后输入特定字符串等。


  程序设计者是最有可能设置陷阱门的人,因此,许多免费下载的实用程序中含有陷阱门或病毒这样的恶意代码,使用免费下载的实用程序时必须注意这一点。


  2.逻辑炸弹


  逻辑炸弹是包含在正常应用程序中的一段恶意代码,当某种条件出现,如到达某个特定日期、增加或删除某个特定文件等,将激发这一段恶意代码,执行这一段恶意代码将导致非常严重的后果,如删除系统中的重要文件和数据、使系统崩溃等。历史上不乏程序设计者利用逻辑炸弹讹诈用户和报复用户的案例。


  3.特洛伊木马


  特洛伊木马也是包含在正常应用程序中的一段恶意代码,一旦执行这样的应用程序,将激发恶意代码。顾名思义,这一段恶意代码的功能主要在于削弱系统的安全控制机制,如在系统登录程序中加入陷阱门,以便黑客能够绕过登录过程直接访问系统资源;将共享文件的只读属性修改为可读写属性,以便黑客能够对共享文件进行修改;甚至允许黑客通过远程桌面这样的工具软件控制系统。


  4.病毒


  这里的病毒是狭义上的恶意代码类型,单指那种既具有自我复制能力,又必须寄生在其他实用程序中的恶意代码。它和陷阱门、逻辑炸弹的最大不同在于自我复制能力,通常情况下,陷阱门、逻辑炸弹不会感染其他实用程序,而病毒会自动将自身添加到其他实用程序中。


  5.蠕虫


  从病毒的广义定义来说,蠕虫也是一种病毒,但它和狭义病毒的最大不同在于自我复制过程,病毒的自我复制过程需要人工干预,无论是运行感染病毒的实用程序,还是打开包含宏病毒的邮件,都不是由病毒程序自我完成的。蠕虫能够自我完成下述步骤。


  (1)查找远程系统:能够通过检索已被攻陷的系统的网络邻居列表或其他远程系统地址列表找出下一个攻击对象。


  (2)建立连接:能够通过端口扫描等操作过程自动和被攻击对象建立连接,如Telnet连接等。


  (3)实施攻击:能够自动将自身通过已经建立的连接复制到被攻击的远程系统,并运行它。


  6.Zombie



  Zombie(俗称僵尸)是一种具有秘密接管其他连接在网络上的系统,并以此系统为平台发起对某个特定系统的攻击功能的恶意代码。Zombie主要用于定义恶意代码的功能,并没有涉及该恶意代码的结构和自我复制过程,因此,分别存在符合狭义病毒的定义和蠕虫定义的Zombie。


恶意代码的危害


  恶意代码问题,不仅使企业和用户蒙受了巨大的经济损失,而且使国家的安全面临着严重威胁。1991年的海湾战争是美国第一次公开在实战中使用恶意代码攻击技术取得重大军事利益,从此恶意代码攻击成为信息战、网络战最重要的入侵手段之一。恶意代码问题无论从政治上、经济上,还是军事上,都成为信息安全面临的首要问题。


  目前,恶意代码的危害主要表现在以下几个方面:


  (1)破坏数据:很多恶意代码发作时直接破坏计算机的重要数据,所利用的手段有格式化硬盘、改写文件分配表和目录区、删除重要文件或者用无意义的数据覆盖文件等。例如,磁盘杀手病毒(DiskKiller)在硬盘感染后累计开机时问48小时内发作,发作时屏幕上显示“Waming!!Don’turn off power or remove diskette while Disk Killer is Processing!”,并改写硬盘数据。


  (2)占用磁盘存储空间:引导型病毒的侵占方式通常是病毒程序本身占据磁盘引导扇区,被覆盖的扇区的数据将永久性丢失、无法恢复。文件型的病毒利用一些DOS功能进行传染,检测出未用空间把病毒的传染部分写进去,所以一般不会破坏原数据,但会非法侵占磁盘空间,文件会不同程度的加长。


  (3)抢占系统资源:大部分恶意代码在动态下都是常驻内存的,必然抢占一部分系统资源,致使一部分软件不能运行。恶意代码总是修改一些有关的中断地址,在正常中断过程中加入病毒体,干扰系统运行。



  (4)影响计算机运行速度:恶意代码不仅占用系统资源覆盖存储空间,还会影响计算机运行速度。比如,恶意代码会监视计算机的工作状态,伺机传染激发;还有些恶意代码会为了保护自己,对磁盘上的恶意代码进行加密,CPU要多执行解密和加密过程,额外执行了上万条指令。


恶意代码的防范


  为了确保系统的安全与畅通,已有多种恶意代码的防范技术,如恶意代码分析技术、误用检测技术、权限控制技术和完整性技术等。


  一、恶意代码分析技术


  恶意代码分析是一个多步过程,他深入研究恶意软件结构和功能,有利于对抗措施的发展。按照分析过程中恶意代码的执行状态可以把恶意代码分析技术分成静态分析技术和动态分析技术两大类。


  1.静态分析技术


  静态分析技术就是在不执行二进制程序的条件下,利用分析工具对恶意代码的静态特征和功能模块进行分析的技术。该技术不仅可以找到恶意代码的特征字符串、特征代码段等,而且可以得到恶意代码的功能模块和各个功能模块的流程图。由于恶意代码从本质上是由计算机指令构成的,因此根据分析过程是否考虑构成恶意代码的计算机指令的语义,可以把静态分析技术分成以下两种:


  (1)基于代码特征的分析技术。在基于代码特征的分析过程中,不考虑恶意代码的指令意义,而是分析指令的统计特性、代码的结构特性等。比如在某个特定的恶意代码中,这些静态数据会在程序的特定位置出现,并且不会随着程序拷贝副本而变化,所以,完全可以使用这些静态数据和其出现的位置作为描述恶意代码的特征。当然有些恶意代码在设计过程中,考虑到信息暴露的问题而将静态数据进行拆分,甚至不使用静态数据,这种情况就只能通过语义分析或者动态跟踪分析得到具体信息了。


  (2)基于代码语义的分析技术。基于代码语义的分析技术要求考虑构成恶意代码的指令的含义,通过理解指令语义建立恶意代码的流程图和功能框图,进一步分析恶意代码的功能结构。因此,在该技术的分析过程中首先使用反汇编工具对恶意代码执行体进行反汇编,然后通过理解恶意代码的反汇编程序了解恶意代码的功能。从理论上讲,通过这种技术可以得到恶意代码的所有功能特征。但是,目前基于语义的恶意代码分析技术主要还是依靠人工来完成,人工分析的过程需要花费分析人员的大量时间,对分析人员本身的摹求也很高。


  采用静态分析技术来分析恶意代码最大的优势就是可以避免恶意代码执行过程对分析系统的破坏。但是他本身存在以下两个缺陷:①由于静态分析本身的局限性,导致出现问题的不可判定;②绝大多数静态分析技术只能识别出已知的病毒或恶意代码,对多态变种和加壳病毒则无能为力。无法检测未知的恶意代码是静态分析技术的一大缺陷。

  2.动态分析技术


  动态分析技术是指恶意代码执行的情况下,利用程序调试工具对恶意代码实施跟踪和观察,确定恶意代码的工作过程,对静态分析结果进行验证。根据分析过程中是否需要考虑恶意代码的语义特征,将动态分析技术分为以下两种:


  (1)外部观察技术。外部观察技术是利用系统监视工具观察恶意代码运行过程中系统环境的变化,通过分析这些变化判断恶意代码功能的一种分析技术。


  通过观察恶意代码运行过程中系统文件、系统配置和系统注册表的变化就可以分析恶意代码的自启动实现方法和进程隐藏方法:由于恶意代码作为一段程序在运行过程中通常会对系统造成一定的影响,有些恶意代码为了保证自己的自启动功能和进程隐藏的功能,通常会修改系统注册表和系统文件,或者会修改系统配置。


  通过观察恶意代码运行过程中的网络活动情况可以了解恶意代码的网络功能。恶意代码通常会有一些比较特别的网络行为,比如通过网络进行传播、繁殖和拒绝服务攻击等破坏活动,或者通过网络进行诈骗等犯罪活动,或者通过网络将搜集到的机密信息传递给恶意代码的控制者,或者在本地开启一些端口、服务等后门等待恶意代码控制者对受害主机的控制访问。


  虽然通过观测恶意代码执行过程对系统的影响可以得到的信息有限,但是这种分析方法相对简单,效果明显,已经成为分析恶意代码的常用手段之一。


  (2)跟踪调试技术。跟踪调试技术是通过跟踪恶意代码执行过程使用的系统函数和指令特征分析恶意代码功能的技术。在实际分析过程中,跟踪调试可以有两种方法:


  ①单步跟踪恶意代码执行过程,即监视恶意代码的每一个执行步骤,在分析过程中也可以在适当的时候执行恶意代码的一个片段,这种分析方法可以全面监视恶意代码的执行过程,但是分析过程相当耗时。


  ②利用系统hook技术监视恶意代码执行过程中的系统调用和API使用状态来分析恶意代码的功能,这种方法经常用于恶意代码检测。


  二、误用检测技术


  误用检测也被称为基于特征字的检测。他是目前检测恶意代码最常用的技术,主要源于模式匹配的思想。其检测过程中根据恶意代码的执行状态又分为静态检测和动态检测:静态检测是指脱机对计算机上存储的所有代码进行扫描;动态检测则是指实时对到达计算机的所有数据进行检查扫描,并在程序运行过程中对内存中的代码进行扫描检测。误用检测的实现流程如图4所示。



  误用检测的实现过程为:根据已知恶意代码的特征关键字建立一个恶意代码特征库;对计算机程序代码进行扫描;与特征库中的已知恶意代码关键字进行匹配比较,从而判断被扫描程序是否感染恶意代码。


  误用检测技术目前被广泛应用于反病毒软件中。早期的恶意代码主要是计算机病毒,其主要感染计算机文件,并在感染文件后留有该病毒的特征代码。通过扫描程序文件并与已知、特征值相匹配即可快速准确地判断是否感染病毒,并采取对应的措施清除该病毒。随着压缩和加密技术的广泛采用,在进行扫描和特征值匹配前,必须对压缩和加密文件先进行解压和解密,然后再进行扫描。而压缩和加密方法多种多样,这就大大增加了查毒处理的难度,有时甚至根本不能检测。同时,基于特征字的检测方法对变形病毒也显得力不从心。


  三、权限控制技术


  恶意代码要实现入侵、传播和破坏等必须具备足够权限。首先,恶意代码只有被运行才能实现其恶意目的,所以恶意代码进入系统后必须具有运行权限。其次,被运行的恶意代码如果要修改、破坏其他文件,则他必须具有对该文件的写权限,否则会被系统禁止。另外,如果恶意代码要窃取其他文件信息,他也必须具有对该文件的读权限。


  权限控制技术通过适当的控制计算机系统中程序的权限,使其仅仅具有完成正常任务的最小权限,即使该程序中包含恶意代码,该恶意代码也不能或者不能完全实现其恶意目的。通过权限控制技术来防御恶意代码的技术主要有以下两种。


  1.沙箱技术


  沙箱技术是指系统根据每个应用程序可以访问的资源,以及系统授权给该应用程序的权限建立一个属于该应用程序的“沙箱”,限制恶意代码的运行。每个应用程序以及操作系统和驱动程序都运行在自己受保护的“沙箱”之中,不能影响其他程序的运行,也不能影响操作系统的正常运行。


  目前,沙箱技术实现的最典型实例就是由加州大学Berkeley实验室开发的—个基于Solaris操作系统的沙箱系统。该系统首先为每个直用程序建立一个配置文件,配置文件中规定了该应用程序可以访问的资源和系统赋予的权限。当应用程序运行时,通过调用系统底层函数解释执行,系统自动判断应用程序调用的底层函数是否符合系统的安全要求,并决定是否执行。


  此外,Windows XP也提供了一种软件限制策略,这种限制策略也是一种沙箱技术。他只允许受信任的程序运行,拒绝不受信任的恶意代码执行,即他允许用户设定未授权应用程序限制运行或禁止运行,只有用户明确授权后,该应用程序才可以运行,这在一定程度上防止通过电子邮件或网上传播的恶意代码的攻击。

  2.安全操作系统


  恶意代码要实现成功入侵的重要一环,就是他必须使操作系统为他分配系统资源。如果能够合理控制程序对系统的操作权限,则程序对系统可能造成的破坏将被限制。安全操作系统具有一套强制访问控制机制,他首先将计算机系统划分为3个空间:系统管理空间、用户空间和保护空间。其次再将进入系统的用户划分为不具有特权的普通用户和系统管理员两类。则系统用户对系统空间的访问必须遵循以下原则:


  (1)系统管理空间不能被普通用户读写。用户空间包含用户的应用程序和数据,可以被用户读写。


  (2)保护空间的程序和数据不能被用户空间的进程修改,但可以被用户空间的进程读取。


  (3)一般通用的命令和应用程序放在保护空间内,供用户使用。由于普通用户对保护空间的数据只能读不能写,从而限制了恶意代码的传播。


  (4)在用户空间内,不同用户的安全级别不同,恶意代码只能感染同级别的用户的程序和数据,限制了恶意代码的传播范围。


  四、完整性技术


  恶意代码感染、破坏其他目标系统的过程,也是破坏这些目标完整性的过程。完整性技术就是通过保证系统资源,特别是系统中重要资源的完整性不受破坏,来阻止恶意代码对系统资源的感染和破坏。


  校验和法是完整性控制技术对信息资源实现完整性保护的一种应用,他主要通过Hash值和循环冗余码来实现,即首先将未被恶意代码感染的系统生成检测数据,然后周期性地使用校验和法检测文件的改变情况,只要文件内部有一个比特发生了变化,校验和值就会改变。运用校验和法检查恶意代码有3种方法:


  (1)在恶意代码检测软件中设置校验和法。对检测的对象文件计算其正常状态的校验和并将其写入被查文件中或检测工具中,而后进行比较。


  (2)在应用程序中嵌入校验和法。将文件正常状态的校验和写入文件本身中,每当应用程序启动时,比较现行校验和与原始校验和,实现应用程序的自我检测功能。


  (3)将校验和程序常驻内存。每当应用程序开始运行时,自动比较检查应用程序内部或别的文件中预留保存的校验和。


  校验和法能够检测未知恶意代码对目标文件的修改,但存在两个缺点:①校验和法实际上不能检测目标文件是否被恶意代码感染,它只是查找文件的变化,而且即使发现文件发生了变化,既无法将恶意代码消除,又不能判断所感染的恶意代码类型;②校验和法常被恶意代码通过多种手段欺骗,使之检测失效,而误判断文件没有发生改变。



  在恶意代码对抗与反对抗的发展过程中,还存在其他一些防御恶意代码的技术和方法,比如常用的有网络隔离技术和防火墙控制技术,以及基于生物免疫的病毒防范技术、基于移动代理的恶意代码检测技术等。


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:Processing processI Berkeley Windows Process 恶意代码有着些什么样的形式 恶意代码的危害与防范 恶意代码


https://www.cda.cn/?seo-luntan
高薪就业·数据科学人才·16年教育品牌

沙发
albertwishedu 发表于 2016-4-11 20:36:02
恐怖。。。。

藤椅
dcmc 发表于 2016-4-12 00:50:28
分析问题  写程序的思路

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
扫码
拉您进交流群
GMT+8, 2026-1-25 14:46