APP下载

“恶意代码及其防治技术”课程的实验环境构建与实验内容设计

2009-12-11贾春福

计算机教育 2009年18期

王 志 贾春福

摘要:“恶意代码及其防治技术”是信息安全本科专业的核心课程之一,其实验环境构建与实验内容设计对学生掌握所学知识、提高分析和处理恶意代码的实践能力具有重要的意义。本文结合南开大学信息安全专业的教学实际,探讨了课程“恶意代码及其防治技术”实验教学中实验环境构建和实验内容设计问题,给出了该课程实验环境和实验内容的一个建设方案。

关键词:实验环境构建;实验内容设计;恶意代码及其防治技术

中图分类号:G642文献标识码:B

1引言

恶意代码(包括病毒、蠕虫和木马等)严重地干扰着整个计算机网络的应用环境,对网络和信息的安全造成了严重的威胁。恶意代码的研究与防治,目前已经发展成为信息安全的一个重要领域,人们从技术、管理到应用各个层面对此都极为重视。信息安全专门人才的培养中,恶意代码及其防治技术是知识体系和能力体系中的重要组成部分,课程“恶意代码及其防治技术”是信息安全专业必选课程之一;恶意代码的分析和处理也是信息安全人才必备的技能之一。

信息安全是一个实践性要求很强的学科,扎实的专业基础知识和较强的实践动手能力是信息安全专门人才的培养目标,其中的实践能力是人才培养过程中重要的能力要求之一,而实验教学是提高学生实践能力的主要环节。实验环境的构建与实验内容的设计是实验教学中的基础,对人才的培养具有重要的作用。本文结合南开大学信息安全专业的教学实际,探讨了课程“恶意代码及其防治技术”实验教学中实验环境构建和实验内容设计问题。

2实验环境构建

目前,国内信息安全专业“恶意代码及其防治技术”课程的实验教学内容,一般都是要求学生亲手编写一些简单的恶意代码程序,然后运行恶意代码以实现其恶意行为,其目标是让学生通过实验了解恶意代码的编写和运行中的行为,从而增强学生对恶意代码的编写及恶意代码的逻辑结构特点的认识。然而,在分析社会对信息安全专业人才能力的需求时,我们注意到,这些实验对学生日后实际工作中处置恶意代码时的帮助并不大。事实上,在实际工作中,人们更多的是关注如何去解决恶意代码所带来的问题,并为对抗恶意代码提出解决方案,而对恶意代码的编写的关注程度并不像我们在实验教学中要求的那样高。因此,“恶意代码及其防治技术”实验的重点应集中在让学生学会如何去识别恶意代码、分析恶意代码,并进一步提出针对恶意代码的适当的解决方案。

“恶意代码及其防治技术”实验环境与其他的计算机实验有所不同,因为恶意代码具有传播能力和破坏性,所以恶意代码的实验环境构建需要考虑防止恶意代码的扩散和破坏。为了防止恶意代码的扩散,同时又便于管理和使用,整个实验环境应包括恶意代码分析区、安全服务区、实验数据区和学生上机实验区等几个独立的区域;对恶意代码分析区采用物理防火墙进行隔离,而且整个实验环境与外部网络也采用物理防火墙进行了隔离。实验环境拓扑结构示意图如图1所示。

2.1恶意代码分析区

恶意代码分析区包括以下几个部分:

(1) 恶意代码的静态逆向分析环境

在此环境中,学生通过静态反汇编技术将恶意代码从机器指令逆向成可阅读的汇编指令,进而分析恶意代码的组织结构、恶意行为的实现细节,并从中分析出恶意代码的标志性特征,进而对恶意代码进行家族分析和变异分析。

(2) 恶意行为动态跟踪分析环境

在此环境中,学生通过动态跟踪调试工具来跟踪恶意代码的执行过程,观察恶意行为的表现,验证静态逆向分析。如果恶意代码具有复制行为,需要收集被恶意代码感染的样本。如果恶意代码具有网络行为,例如网络嗅探、网络渗透等,可以配合蜜罐网络对其行为进行监视和记录。

(3) 沙箱网络

为了引诱恶意代码对其进行攻击和入侵,沙箱网络的主机上留有各种安全漏洞。在恶意代码的攻击和入侵过程中,沙箱网络能够监视并记录系统中的所有操作和行为。通过对监视记录的研究和分析,可以得到恶意代码采用的攻击工具、攻击手段、攻击目的和攻击水平等信息,还能对恶意代码的活动范围以及下一个攻击目标进行分析。

2.2安全服务区

安全服务区包括以下几个部分:

(1) 漏洞扫描系统

漏洞扫描系统,包括信息收集(发现网络中的主机、主机系统开放了哪些端口、启动了哪些服务等)、安全检查(检查系统口令的安全性、各种服务的安全配置等)和渗透测试(对数据库、各种服务、系统漏洞等进行渗透测试)三个主要功能。学生通过漏洞扫描系统去分析那些被恶意代码攻陷的主机中存在的各种安全缺陷,总结恶意代码的生存环境,并提出相应的防御措施消除恶意代码的生存环境。

(2) 入侵检测系统

入侵检测系统通过模式匹配、协议分析、专家系统等检测手段对恶意攻击和入侵进行检测。学生通过各种检测方法对实验中的恶意代码的攻击行为和入侵行为进行分析,深入理解这些恶意行为与正常行为之间的区别并找到有效的区分策略。

(3) 多引擎联查系统

学生可以通过多引擎联查系统获得多个安全公司对恶意代码的命名、分类、行为等信息,以使学生了解当前安全公司对恶意代码的命名规则、分类方法,为学生深入分析恶意代码提供参考。

2.3实验数据区

实验数据区包括以下几个部分:

(1) 恶意代码样本数据库

统一存放学生试验用的各类恶意代码样本,通过系统隔离和安全加密等方式防止恶意代码的泄漏和扩散,学生取到恶意代码样本后只有在试验区才可以进行解密和分析。

(2) 解决方案测试服务器

用于验证学生所提出来的恶意代码样本的解决方案。发给学生的样本只是其病毒家族或某一家族变异分支的一员,测试学生上交的解决方案是否全面地解决了病毒家族或某一变异分支的全部恶意代码(即是否有漏报),并检测是否有干净文件被解决方案所误杀(即是否有误报)。

(3) 恶意样本的行为分析知识库

记录了恶意代码样本库中各个样本的恶意行为的深入分析。学生先自己动手在实验区对样本行为进行分析,然后跟知识库中的行为分析进行比对,查看是否有遗漏的或误判的恶意行为。

(4) 恶意样本解决方案知识库

记录了恶意代码样本库中各个样本的全面解决方案。学生在分析完恶意代码样本的行为并找出相应的特征后就要尝试着自己制定开发相应的解决方案,然后跟知识库中的解决方案进行对比,查看是否全面,是否高效等。

2.4学生上机实验区

学生上机实验区可以访问安全服务区、实验数据区、Internet、查找资料、写分析文档、开发解决方案等,但与恶意代码分析区隔离。

3实验内容设计

实验内容设计的出发点,也是教会学生在遇到恶意代码的情况下如何识别、分析和处置恶意代码。实验内容主要包括以下两个大类:一是,恶意代码的各种基本行为的分析实验;二是,恶意代码的防治策略制定实验。

(1) 恶意代码的各种基本行为的分析实验

恶意代码的各种基本行为的分析实验,目的是让学生尝试分析一些常见的恶意代码行为,加深对这些恶意代码的认识。实验内容可以包括:

计算机病毒感染行为的分析;

蠕虫代码的基于网络传播行为的分析;

蠕虫代码的基于邮件传播行为的分析;

特洛伊木马代码的伪装策略分析;

后门代码的秘密通道分析;

间谍代码的窃取密码行为分析;

漏洞攻击和缓冲区溢出代码的分析。

这些实验内容分别让学生分析了计算机病毒、蠕虫、特洛伊木马、后门程序、间谍软件、漏洞攻击和缓冲区溢出恶意代码。通过这些分析,学生加深了对恶意代码的分类和各类恶意代码的典型行为的认识,了解了恶意代码的组织结构、执行方式和攻击策略,为研究恶意代码的防治策略提供了重要支持。

在恶意代码的各种行为的分析实验中,学生首先从恶意代码样本库中取出需要分析的恶意代码样本,将恶意代码样本存放到恶意代码分析区,结合静态的逆向分析和动态的跟踪分析,认识恶意代码的组织结构、生存环境、攻击对象、运行机制和恶意代码的特征或者进一步分析该恶意代码的家族特征。

在分析过程中,学生可以结合漏洞扫描系统,分析那些被恶意代码攻陷的主机中存在的各种安全缺陷,得到那些基于漏洞的恶意代码的生存环境。

在沙箱网络中运行恶意代码样本,记录系统中的所有操作和行为。学生通过研究和分析监视记录,将更有针对性的进行静态逆向分析和动态跟踪分析。

入侵检测系统可以帮助学生很容易的发现恶意代码的各种攻击和渗透行为,加强学生对恶意的攻击和渗透行为的认识,帮助学生找到恶意行为与正常行为之间的异同,进而提取出恶意攻击和渗透行为的特征点。

多引擎联查系统,让学生了解到专业的安全公司对该恶意代码样本的命名,通过命名规则学生可以了解到该恶意代码的分类信息、家族信息和一些行为信息。

当学生通过各种分析方法得到恶意代码的分析结果后,他们可以将自己的分析结果和恶意样本的行为分析知识库中的完整的分析结果进行对比,发现自己的分析结果有哪些遗漏或错误,然后再次分析和验证,最终得到完整的分析结果。

(2) 恶意代码的防治策略制定实验

恶意代码的防治策略实验是要求在对恶意代码的深入分析的基础上进行的。学生根据前期深入的恶意代码行为分析的结果,结合恶意特征扫描方法来尝试开发恶意代码的检测程序。恶意特征扫描方法主要包括:

恶意特征的字节序列扫描;

恶意特征的正则表达式扫描;

带偏移量的快速恶意特征扫描;

针对首尾的快速恶意特征扫描;

针对入口点和特殊位置的快速恶意特征扫描;

带过滤机制的快速恶意特征扫描;

基于统计的恶意特征扫描。

学生根据前期的分析实验提取出恶意代码样本的特征码,选择一种恶意特征扫描方法,然后编写相应的检测程序。然后将开发出的恶意代码检测程序上传到解决方案测试服务器中进行测试,以测试该程序是否存在误报或漏报问题。如果出现误报或漏报,学生可以从服务器上下载误报或漏报的文件样本,分析误报或漏报的原因,然后改进检测程序。如果没有误报或漏报现象,学生将自己的检测方案与恶意样本解决方案知识库中的方案进行对比,查看自己开发的方案是否全面、高效。

4总结

实验是教学过程中的重要环节,是提高学生动手能力的根本途径;实验内容的设计和实验环境的构建应以满足社会对人才工作能力的需求为目标,紧跟技术及其应用的发展趋势,这样才能培养出掌握最新技术、满足社会需求的高质量人才。本文探讨了“恶意代码及其防治技术”实验环境的构建和实验内容的设计问题。希望对兄弟院校的相应工作能够提供一定的参考。

参考文献:

[1] 高敏芬,贾春福. 信息安全专业实验教程[M].南开大学出版社,2007.

[2] Peter Szor. The Art of Computer Virus Research and Defense[M]. Addison Wesley Professional,2005.

[3] John Aycock. Computer Viruses and Malware[M]. New York :Springer, 2006.