赞
踩
恶意代码是网络安全的主要威胁,本节主要阐述恶意代码的概念和分类,给出恶意代码攻击模型,分析恶意代码的生存技术、攻击技术、分析技术以及防范策略。
恶意代码的英文是Malicious Code,它是一种违背目标系统安全策略的程序代码,会造成目标系统信息泄露、资源滥用、破坏系统的完整性及可用性。它能够经过存储介质或网络进行传播,从一台计算机系统传到另一台计算机系统,未经授权认证访问或破坏计算机系统。通常许多人认为“病毒”代表了所有感染计算机造成破坏的程序。事实上,“恶意代码”的说法更为通用,病毒只是一类恶意代码而已。恶意代码的种类主要包括计算机病毒(Computer Virus)、蠕虫(Worms)、特洛伊木马(Trojan Horse)、逻辑炸弹(Logic Bombs)、细菌(Bacteria)、恶意脚本(Malicious Scripts)和恶意ActiveX控件、间谍软件(Spyware)等。根据恶意代码的传播特性,可以将恶意代码分为两大类,被动传播和主动传播。被动传播的恶意软件有计算机病毒、特洛伊木马、间谍软件、逻辑炸弹;主动传播的恶意软件有网络蠕虫和其他。
恶意代码的行为不尽相同,破坏程度也各不相同,但它们的作用机制基本相同。其作用过程可大概分为以下6个步骤:
第一步,侵入系统。恶意代码实现其恶意目的的第一步就是要侵入系统。
第二步,维持或提升已有的权限。恶意代码的传播与破坏需要建立在盗用用户或者进程的合法权限的基础之上。
第三步,隐蔽。为了隐蔽已经侵入系统的恶意代码,可能会采取对恶意代码改名、删除源文件或者修改系统的安全策略等方式。
第四步,潜伏。恶意代码侵入系统后,在具有足够的权限并满足某些条件时就会发作,同时进行破坏活动。
第五步,破坏。恶意代码具有破坏性的本质,为的是造成信息丢失、泄密,系统完整性被破坏等。
第六步,重复前面5步对新的目标实施攻击过程。
恶意代码靠采用反跟踪技术来提高自身的伪装能力和防破译能力,使检测与清除恶意代码的难度大大增加。反跟踪技术大致可以分为两大类:反动态跟踪技术和反静态分析技术。
1)反动态跟踪技术
* 禁止跟踪中断。
* 检测跟踪法。
* 其他反跟踪技术。
2)反静态分析技术
* 对程序代码分块加密执行。
* 伪指令法。
加密技术
加密技术是恶意代码进行自我保护的手段之一,再配合反跟踪技术的使用,让分析者不能正常调试和阅读恶意代码,无法获得恶意代码的工作原理,自然也不能抽取特征串。从加密的内容上划分,加密手段有三种,即信息加密、数据加密和程序代码加密。
模糊变换技术
恶意代码每感染一个客体对象时都会利用模糊变换技术使潜入宿主程序的代码不尽相同。尽管是同一种恶意代码,但仍会具有多个不同样本,几乎不存在稳定的代码,只采用基于特征的检测工具一般无法有效识别它们。
目前,模糊变换技术主要分为以下几种:
自动生产技术
普通病毒能够利用“多态性发生器”编译成具有多态性的病毒。多态变换引擎能够让程序代码本身产生改变,但却可以保持原有功能。例如保加利亚的“Dark Avenger”,变换引擎每产生一个恶意代码,其程序体都会发生变化,反恶意代码软件若只是采用基于特征的扫描技术,则无法检测和清除这种恶意代码。
变形技术
在恶意代码的查杀过程中,多数杀毒厂商通过提取恶意代码特征值的方式对恶意代码进行分辨。这种基于特征码的病毒查杀技术的致命缺点是需要一个特征代码库,同时这个库中的代码要具有固定性。病毒设计者利用这一漏洞,设计出具有同一功能不同特征码的恶意代码。这种变换恶意代码特征码的技术称为变形技术。常见的恶意代码变形技术包括如下几个方面:
三线程技术
恶意代码中应用三线程技术是为了防止恶意代码被外部操作停止运行。三线程技术的工作原理是一个恶意代码同时开启了三个线程,其中一个为负责远程控制工作的主线程,另外两个为用来监视线程负责检查恶意代码程序是否被删除或被停止自启动的监视线程和守护线程。注入其他可执行文件内的守护线程,同步于恶意代码进程。只要进程被停止,它就会重新启动该进程,同时向主线程提供必要的数据,这样就使得恶意代码可以持续运行。“中国黑客”就是采用这种技术的恶意代码。
进程注入技术
在系统启动时操作系统的系统服务和网络服务一般能够自动加载。恶意代码为了实现隐藏和启动的目的,把自身嵌入与这些服务有关的进程中。这类恶意代码只需要安装一次,就能被服务加载到系统中运行,并且可以一直处于活跃状态。如Windows下的大部分关键服务程序能够被“WinEggDropShell”注入。
通信隐藏技术
实现恶意代码的通信隐藏技术一般有四类:端口定制技术、端口复用技术、通信加密技术、隐蔽通道技术。
内核级隐藏技术
1)LKM隐藏
LKM是可加载内核模块,用来扩展Linux的内核功能。LKM能够在不用重新编译内核的情况下把模块动态加载到内存中。
2)内存映射隐藏
内存映射是指由一个文件到一块内存的映射。内存映射可以将硬盘上的内容映射至内存中,用户可以通过内存指令读写文件。使用内存映射避免了多次调用I/O操作的行为,减少了不必要的资源浪费。
恶意代码分析方法由静态分析方法和动态分析方法两部分构成。其中,静态分析方法有反恶意代码软件的检查、字符串分析和静态反编译分析等;动态分析方法包括文件监测、进程监测、注册表监测和动态反汇编分析等。
要做好恶意代码的防范,一方面组织管理上必须加强恶意代码的安全防范意识。另一方面,通过技术手段来实现恶意代码防范。
零基础入门
对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享 (qq.com)
同时每个成长路线对应的板块都有配套的视频提供:


CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享 (qq.com)
因篇幅有限,仅展示部分资料,需要点击上方链接即可获取
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。