信安软考 第十四章 恶意代码防范技术原理
一、恶意代码概述 1.1 恶意代码定义与分类
恶意代码(Malicious code),是一种违背目标系统安全策略的程序代码,会造成目标系统信息泄露、资源滥用,
但愿这章多考点内容,我可是记了好久 一、恶意代码概述 1.1 恶意代码定义与分类 恶意代码(Malicious code),是一种违背目标系统安全策略的程序代码,会造成目标系统信息泄露、资源滥用,破坏系统的完整性及可用性。它能够经过存储介质或网络进行传播,从一台计算机系统传到另一外一台计算机系统,未经授权认证访问或破坏计算机系统。 通常许多人认为“病毒”代表了所有感染计算机并造成破坏的程序,但实际上,换成“恶意代码”更为贴切,病毒只是恶意代码的一种。 恶意代码的种类包括计算机病毒(Computer Virus)、蠕虫(Worms)、特洛伊木马(Trojan Horse)、逻辑炸弹(Logic Bombs)、细菌(Bacteria)、恶意脚本(Malicious Scripts)、和恶意ActiveX控件、间谍软件等。 1.2 恶意代码攻击模型 恶意代码的种类、攻击行为、破坏程度各不相同安全计算机,但它们的作用机制基本一致。可分为如下6个步骤 1.3 恶意代码生存技术 1)反动态跟踪技术 a.禁止跟踪中断。针对调试分析工具运行系统的但不中断与断电中断服务程序,恶意代码通过修改中断服务程序的入口地址来实现其反跟踪的目的。 b.检测跟踪法。根据检测跟踪调试时和正常执行时的运行环境、中断入口和时间的不通采取相应的措施实现其反跟踪目的。 c.其他反跟踪法。如指令流队列法和逆指令流法等 2)反静态分析技术 a. 对程序代码分块加密执行 b.伪指令法。伪指令法指将“废指令”插入指令流中,让静态反汇编得不到全部做出的指令,进而不能继续有效的静态分析。 通过配合反跟踪技术,让分析者不能正常调试和阅读代码,无法获得恶意代码的工作原理,自然也不能抽取特征串。加密的手段有三种,即信息加密、数据加密和程序代码加密。大部分恶意代码对程序本身加密,但还有少数恶意代码对被感染的文件加密。 同一种恶意代码,一般会具有多个不同样本,几乎不存在稳定的代码, 1)指令替换技术 2)指令压缩技术 3)指令扩展技术 4)伪指令技术 5)重编译技术 普通病毒能够利用“多态性发生器”编译成具有多态性的病毒。多态变换引擎能够让重新代码本身产生改变,但却可以保持原有功能。 在恶意代码的查杀过程中,多数杀毒厂商通过提取恶意代码特征值的方式对恶意代码进行分辨。这种基于特征码的病毒查杀技术的致命缺点是需要一个特征代码库,同时这个库中的代码要具有固定性。病毒设计者利用这一漏洞,设计出具体同一功能不同特征码的恶意代码。这种变换恶意代码特征码的技术被称为变形技术。常见的恶意代码变形技术包括如下几个方面: 1)重汇编技术 2)压缩技术 3)膨胀技术 4)伪指令技术 5)重编译技术 该技术是为了防止恶意代码被外部操作停止运行。三线程技术的工作原理是一个恶意代码进程同时开三个进程,其中一个为负责远程控制工作的主线程,另外两个为用来监视线程负责检查恶意代码程序是否被删除或被停止自启动的监视线程和守护线程。注入其他可行执行文件内的守护线程,同步于恶意代码进程。只要进程被停止,他就会重新启动该进程,同时向主线程提供必要的数据。 将恶意代码嵌入开机自启的一些服务中,实现自身隐藏和启动的目的 实现恶意代码的通信隐藏技术一般有四类:端口定制技术、端口复用技术、通信加密技术、隐蔽通道技术。 1)LKM隐藏。LKM是可加载的内核模块,能够在不用重新编译内核的情况下把动态加载到内存中。 2)内存映射隐藏。指由一个文件到一块内存的映射。 1.4 恶意代码攻击技术 1.5 恶意代码分析技术 需要记忆 分为静态分析和动态分析两种方式 1.6 恶意代码防范策略 一方面组织管理上加强恶意代码的安全防范意识、另一方面,通过技术手段来实现恶意代码防御。 二、计算机病毒分析与防护 2.1 计算机病毒概念与特性 计算机病毒借用了生物学上的病毒概念,它是一组具有自我复制、传播能力的程序代码。 计算机病毒有以下四个基本点 1)隐蔽性。(计算机病毒附加在正常软件或文档中,如可执行文档、电子邮件、word文档等,一旦用户未察觉,病毒就会触发执行,潜入到受害用户的计算机中) 2)传染性。(指计算机病毒可以自我复制,并把复制的病毒附加到无病毒的程序中,或替换磁盘引导区记录,使得附加了病毒的程序或者磁盘变成了新的病毒源,又能进行病毒复制,重复原先的传染过程) 3)潜伏性。(会等到触发条件满足时,才执行病毒的恶意功能。计算机病毒常见的触发条件是日期,如CIH计算机病毒发作时间是4月26日) 4)破坏性。(病毒的破坏后果是不可知的,取决于设计者的意图。据统计,病毒发作后,造成的破饿坏主要有数据部分丢失、双系统无法使用、浏览器配置被修改、网络无法使用、使用受限、受到远程控制、数据全部丢失等) 2.2 计算机病毒组成与运行机制 计算机病毒有三部分组成: 复制传染部件(replicator),控制病毒向其他文件的传染 隐藏部件(concealer),防止病毒被检测到 破坏部件(bomb)、当病毒符合激活条件,执行破坏操作。 计算机病毒的生命周期主要有两个阶段: 2.3 计算机病毒常见类型与技术 2.4 计算机病毒防范策略 对计算机文件及磁盘引导进行计算机病毒检测,一发现异常情况,确证计算机病毒的存在,主要方法如下: a.比较法 b.搜索法 c.特征字识别法 d.分析法 由于计算机病毒的危害性是不可预见的,因此切断计算机病毒的传播途径是关键防护措施,具体方法如下: a.用户具有计算机病毒防范安全意识和安全操作习惯。 b.消除计算机病毒载体。(关键计算机,专机专用;外接存储介质管控;禁用不需要的计算机服务和功能,如脚本语言、光盘自启) c.安全区域隔离(生产区域网络和办公网络进行安全分区) a.定期对计算机系进行病毒检测。 b.安装计算机病毒软件 a.备份(对计算机病毒容易侵害的文件、数据和系统进行备份,如对主引导区、引导扇区、FAT表、根目录表等系统重要数据进行备份) b.数据修复技术(修复被破坏的磁盘、文件信息) c.网络过滤技术(将遭受计算机病毒攻击的计算机或网段进行安全隔离) d.计算机病毒应急响应预案 2.5 计算机病毒防护方案 三、特洛伊木马分析与防护 3.1 特洛伊木马概念与特性 3.2 特洛伊木马分类与运行机制 根据木马的管理方式,可将特洛伊木马分为以下两类 目前,特洛伊木马一般泛指这两类,但网络木马是主要类型 木马的攻击表现受攻击者的意图影响,但基本运行机制相同,如下图 3.3 特洛伊木马植入技术 特洛伊木马植入时木马攻击目标系统最关键的一步,是后续攻击活动的基础 植入方法目前分为两大类:被动植入和主动植入 被动植入只通过人工干预方式才能将木马程序安装到目标系统,植入过程必须依赖于受害用户的手工操作;而主动植入是将木马程序通过程序自动安装到目标系统,植入过程无需受害用户操作。 被动植入主要通过社工将木马伪装成合法程序,以达到降低受害用户警觉性、诱骗用户的目的,常用方法如下: 3.4 特洛伊木马隐藏技术与存活技术 为了逃避安全检测,木马的设计者就要设法隐藏木马的行为或痕迹,其主要技术目标就是将木马的本地活动行为、木马 的远程通信过程进行隐藏 (1)本地活动行为隐藏技术 a.文件隐藏 b.进程隐藏 c.通信连接隐藏 (2)远程通信过程隐藏技术 a.通信内容加密技术 b.通信端口复用技术 c.网络隐蔽通道 特洛伊木马出的存活能力取决于木马逃避安全监测的能力,一些木马侵入目标系统时采用反监测技术,甚至中断反网络木马程序运行。一些高级的木马具有端口反向连接功能(如“boinet”“网络神偷”“灰鸽子”等木马)。端口方向连接技术是指由木马代理在目标系统主动连接外部网络的远程木马控制端以逃避防火墙的限制 3.5 特洛伊木马防范技术
四、网络蠕虫分析与防护 4.1 网络蠕虫概念与特性 网络蠕虫是一种具有自我复制能力和传播能力、可独自运行的恶意程序。它综合了和黑客技术和计算机病毒技术,通过利用系统中存在漏洞的节点主机,将蠕虫自身从一个节点传播到另外一个节点。 网络蠕虫有四个功能模块构成: 选择题有考过是哪四个模块 (1)探测模块(probe)。对特定主机的脆弱性检测,决定采取何种攻击渗透方式。该模块利用获得的安全漏洞建立传播途径,该模块在攻击方法上是开放的、可扩充的 (2)传播模块(transport)。采用各种形式生成各种形态的蠕虫副本,在不同主机间完成蠕虫副本传递。 (3)蠕虫引擎模块(worm engine)。该模块决定采用何种搜索算法对本地或者目标网络进行信息收集,内容包括本机系统信息、用户信息、邮件列表、对本机的信任或授权的主机、本机所处网络的拓扑结构、边界路由信息等。 (4)负载模块(payload)。网络蠕虫内部的实现伪代码,如图 网络蠕虫的运行机制主要分为三个阶段,如图 4.2 网络蠕虫常用技术 (1)随机扫描:网络蠕虫对整个IP空间随机抽取一个地址进行扫描。这样被感染的网络蠕虫的下一个目标具有不确定性。(“Slammer”蠕虫的传播方式就是随机扫描感染主机) (2)顺序扫描:根据感染主机的地址信息,按照本地优先原则,选择他所在网络内的IP地址进行传播。(也称“子网扫描”。扫描的规则就是,当目标IP为A,扫描的下一个IP为A+1或A-1)。该策略使得网络蠕虫避免扫描到未用的地址空间,不足是对同一台主机可能重复扫描,引起网络拥塞。(“W32.Blaster”是典型的顺序扫描) (3)选择性扫描:在事先获知一定的信息的条件下,有选择第搜索下一个感染目标主机。有以下5种方式 a.选择性随机扫描。将最有可能存在漏洞的主机的地址集作为扫描的地址空间,从中随机扫描 b.基于目标列表的扫描。预先生成一份易感染的目标列表,然后对该目标列表进行攻击尝试和传播 c.基于路由的扫描。根据网络中的路由信息,如BGP路由表信息,有选择地扫描IP地址空间。 e.基于DNS的扫描。从DNS服务器获取IP地址来建立目标地址库。 f.分而治之的扫描。网络蠕虫发送地址库的一部分给每台被感染的主机,然后每台主机再去扫描所获得的地址。 下面是几种网络蠕虫所采用的传播策略 网络蠕虫发现易感染目标主机后,利用易感染目标主机所存在的漏洞,将蠕虫程序传递给易感染目标主机。 (1)主机之间的信任关系漏洞。(1988年“小莫里斯”蠕虫就是利用UNIX系统的信任关系脆弱性进行传播) (2)目标主机的程序漏洞。(网络蠕虫利用它构造缓冲区溢出程序,进而远程控制易感染目标主机,然后传播蠕虫) (3)目标主机的默认用户和口令漏洞。(网络蠕虫直接使用用户口令进入目标系统,直接上传蠕虫) (4)目标主机的用户安全意识薄弱漏洞。(常见例子就是电子邮件蠕虫,一邮入魂) (5)目标主机的客户端程序配置漏洞,如自动执行网上下载的程序。(网络蠕虫利用这个漏洞,直接执行蠕虫程序) 4.3 网络蠕虫防范技术 五、僵尸网络分析与防护 5.1 僵尸网络概念与特性 僵尸网络 Botnet 是指采用一种或多种传播手段,将大量主机感染bot程序(僵尸程序)病毒,从而在控制者和被感染主机之间所形成的一个可一对多控制的网络。 攻击者通过各种途径传播僵尸程序感染互联网上的大量主机,而被感染的主机将通过一个控制信道接收攻击者的指令,组成一个僵尸网络。 僵尸网络主要由控制端、肉鸡、木马程序共同组成。 5.2 僵尸网络运行机制与技术 运行机制由三个基本环节构成 (1)第一步,僵尸程序的传播 (2)第二步,对僵尸程序进行远程命令操作和控制,将受害目标机组成一个网络。(僵尸网络可分为集中式和分布式,僵尸程序和控制端的通信协议方式有IRC、HTTP) (3)第三步,攻击者通过僵尸网络的控制服务器,给僵尸程序发送攻击指令,执行攻击活动,如发送垃圾电子邮件、DDoS攻击等。 僵尸网络为保护自身安全,其控制服务器和僵尸程序的通信使用加密机制,并把通信内容嵌入正常的HTTP流量中,以保护服务器的隐蔽性和匿名性。控制服务器和僵尸程序也采用认证机制,以防范开关弄直消息伪造和篡改。 5.3 僵尸网络防范技术 六、其他恶意代码分析与防护 七、恶意代码主要产品与技术指标 7.1恶意代码防护主要产品 7.2 恶意代码防护主要技术指标 (1)静态检测。通过搜索目标对象中是否蕴含恶意代码的标识特征来识别,或者通过文件指纹来辨别。 (2)动态检测,利用恶意代码运行的行为特征或活动轨迹来判断,具体技术包括安全沙箱、动态调试、系统监测、网络协议分析 (1)阻断技术措施,主要包括基于网络阻断、基于主机阻断、人工协同干预阻断 (2)阻断恶意代码的类型和数量 (3)阻断时效性,即恶意代码阻断安全措施对恶意代码处置的时效性 八、恶意代码防护技术应用 高级持续威胁(简称APT)通常利用电子邮件,攻击目标系统。攻击者将恶意代码嵌入电子邮件中,然后把它发送到目标人群,诱使收件人打开恶意电子文档或单击某个指向恶意站点的链接。一旦收件人就范,恶意代码将会安装在其计算机中,从而远程控制收件人的计算机,进而逐步渗透到收件人所在的网络,实现攻击意图。 (编辑:威海站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |