恶意代码是网络安全的主要威胁,本节主要阐述恶意代码的概念和分类,给出恶意代码攻击模型,分析恶意代码的生存技术、攻击技术、分析技术以及防范策略。
1.1 恶意代码定义与分类
恶意代码的英文是Malicious Code,它是一种违背目标系统安全策略的程序代码,会造成目标系统信息泄露、资源滥用、破坏系统的完整性及可用性。它能够经过存储介质或网络进行传播,从一台计算机系统传到另一台计算机系统,未经授权认证访问或破坏计算机系统。通常许多人认为“病毒”代表了所有感染计算机造成破坏的程序。事实上,“恶意代码”的说法更为通用,病毒只是一类恶意代码而已。恶意代码的种类主要包括计算机病毒(Computer Virus)、蠕虫(Worms)、特洛伊木马(Trojan Horse)、逻辑炸弹(Logic Bombs)、细菌(Bacteria)、恶意脚本(Malicious Scripts)和恶意ActiveX控件、间谍软件(Spyware)等。根据恶意代码的传播特性,可以将恶意代码分为两大类,被动传播和主动传播。被动传播的恶意软件有计算机病毒、特洛伊木马、间谍软件、逻辑炸弹;主动传播的恶意软件有网络蠕虫和其他。
1.2 恶意代码攻击模型
恶意代码的行为不尽相同,破坏程度也各不相同,但它们的作用机制基本相同。其作用过程可大概分为以下6个步骤:
第一步,侵入系统。恶意代码实现其恶意目的的第一步就是要侵入系统。
第二步,维持或提升已有的权限。恶意代码的传播与破坏需要建立在盗用用户或者进程的合法权限的基础之上。
第三步,隐蔽。为了隐蔽已经侵入系统的恶意代码,可能会采取对恶意代