一种基于免疫的网络入侵动态取证方法
2010-06-05樊同科
樊同科
(西安外事学院 计算机中心,陕西 西安 710077)
随着计算机技术日新月异的发展,计算机应用领域的不断扩大,计算机在给人们的工作和生活带来便利的同时,计算机犯罪也成几何上升趋势,给国家、公司和人民群众带来了巨大的损失,且这些黑客的攻击技术及手段是越来越高明,他们可以在完成攻击后全面彻底地销毁证据或者篡改证据,事后即便使用最好的数据分析工具也无能为力,从而造成的恶果是:知道入侵者有罪,却缺乏证据起诉,无法定罪。在入侵检测方法和技术研究中,人们发现生物免疫系统(Immune System,IS)与入侵检测系统(Intrusion Detection System,IDS)具有惊人的相似性。本文介绍的基于生物免疫系统(Bio-logical Immune System,BIS)的网络入侵动态取证方法,对于几种不同网络入侵,可以实时进行证据的提取,有效地得到证据。
1 生物免疫系统
现代免疫学认为,人体内存在一个负责免疫功能的完整解剖系统及免疫系统,与神经系统和内分泌系统等一样,这个系统有着自身的运行机制,并可与其他系统相互配合、相互制约,共同维持机体在生命过程中总的生理平衡[1]。
免疫系统是抗击病源入侵的首要防御系统,包括许多补体种类的免疫细胞及制造这些免疫细胞的免疫器官,为数最多的免疫细胞是淋巴细胞。它主要包括B细胞和T细胞,除了淋巴细胞外,还有其他种类的免疫细胞在免疫系统中发挥着不可忽视的作用。能被T细胞及B细胞识别并刺激T及B细胞进行特异性应答的病原体,称为抗原。在骨髓中的B细胞和在胸腺中的T细胞从不活跃、未成熟经自体耐受发展为成熟的免疫细胞,一旦人体受到有关攻击时,迅速产生免疫应答。人体免疫系统是由免疫分子、免疫细胞、免疫组织和免疫器官组成的复杂系统。免疫防御指机体排斥外源性抗原异物的能力。这是人体籍以自净、不受外来物质干扰和保持物种纯洁的生理机制。免疫防御的关键是辨别“自身细胞”(机体内的无害分子)和“非自身细胞”(有害的病原体和外源性异物)。由于蛋白质是生命物质的基本成分,细胞不同,蛋白质也不同,因此它具有很好的识别性[2]。
2 计算机取证
“计算机取证”最早是1991年由国际计算机专家协会(IACIS)在美国举行的一次年会上提出的。对于这一术语,目前还没有一个准确而统一的定义。计算机取证方面的专业及资深人士Judd Robbins[3]给出定义:计算机取证不过是简单地将计算机调查和分析技术应用于对潜在的、有法律效力的证据的确定与获取上。New Technologies[4]是一家专业的计算机紧急事件响应和计算机取证咨询公司,它扩展了Judd的定义:计算机取证包括了对以磁介质编码信息方式存储的计算机证据的保护、确认、提取和归档。
从计算机取证的概念中,可以看到,电子证据是计算机取证的核心。电子证据,是指以数字形式保存于计算机主存储器或外部存储介质中,能够证明案件真实情况的数据或信息。它的外在物质形式为存有能够证明案件真实情况的电子物品或者电子记录设备。电子数据最终表现为文档、图形、图像、声音等形式[5]。电子证据除了必须具备传统证据的可信性、准确性、完整性及能被法庭认可外,还具有其自身特点:1)电子证据是不断变化的,并且容易受到破坏;2)电子证据不是直观的,不能直接被人眼所识别,必须借助一定的取证工具才能获取;3)电子证据能够被反复使用;4)电子证据存在的形式具有多样性。
3 设计思想
3.1 体系结构
基于人工免疫的网络入侵动态取证系统体系结构如图1所示。其中MoC为实时监控细胞,执行入侵检测、监控功能;DFoC为动态取证细胞,实施网络入侵动态取证。MoC和DFoC分布于内部网络中的每一台主机,从而形成一个分布式网络入侵监控系统。MoC对网络消息进行抗原提呈,实施免疫执行过程;检测该抗原是否为网络入侵,一旦确定为入侵事件,MoC分泌激素——当前主机环境、攻击类型、攻击主机地址和端口号等,刺激DFoC,DFoC开始对攻击现场进行证据的提取,完成入侵攻击的一次监控及取证过程[6]。
图1 基于免疫的动态取证体系结构
3.2 监控细胞模型
MoC是基于动态克隆选择原理[7-8]设计的网络入侵监控细胞模型,由3个功能模块构成:抗原提呈、免疫执行及激素分泌。
1)抗原提呈 将网络请求提呈为抗原表达式——96位的二进制串。抗原包括自体和非自体,初始自体集由系统管理员定义。自体一方面来自随机产生的未成熟检测细胞,并且这些未成熟检测细胞在骨髓模型中耐受成功;另一方面来自经过免疫执行过程剩余的抗原,这些抗原也在骨髓模型中耐受成功。自体和执行免疫功能的检测细胞等同,不断新增,又不断死亡,从而产生动态性。而网络信息中提呈为抗原表达式之后,那些不认为是自体的就构成非自体集合。
2)免疫执行 整个监控细胞的免疫执行功能由其中的检测细胞(包括记忆检测细胞和成熟检测细胞)完成,过程如图2所示,分3步实现:①首先记忆检测细胞对抗原进行匹配,将检测出的非自体删除,并且删除检测出自体抗原的记忆检测细胞,即记忆检测细胞本身的死亡。②记忆检测细胞检测完毕,将处理后的抗原提交给成熟检测细胞进行检测,成熟检测细胞检测删除非自体抗原;那些未激活的、年龄过大的成熟检测细胞将被删除,即成熟检测细胞的死亡;匹配次数达到一定阀值的成熟检测细胞激活为记忆检测细胞。③被检测抗原在经过上述两个过程检测之后剩下的为自体抗原,这些抗原送入骨髓模型中进行耐受,一旦耐受成功,激活为成熟检测细胞,耐受不成功则死亡。为了保证检测细胞的数量,随机生成一定数目的未成熟检测细胞,在骨髓模型中耐受成功后成为成熟检测细胞,参与到免疫执行的过程中。
图2 免疫执行过程
3)激素分泌 检测细胞(记忆或成熟检测细胞)对抗原实施免疫执行过程时,一旦检测 到为非自体,该抗原则为网络入侵,立即分泌激素至DFoC,DFoC开始对攻击现场进行证据的提取。
3.3 动态取证细胞模型
动态取证细胞DFoC如图3所示,它包括证据收集、数字签名和传递3个模块。
图3 DFoC结构模型
1)证据收集 实现对攻击现场的快照,将得到的信息写进预定义好的文件中,形成原始证据。
2)数字签名 对待发送的数据使用国家许可的算法进行数字签名并加盖时间戳,确保证据的原始性和权威性。
3)传递模块 将数字签名后的证据经安全VPN通过DFoC传送至证据服务器。
证据服务器是一台可信度非常高的机器,并且极少人接触证据服务器。通过VPN与内部网络相连,确保其独立性和安全性。证据服务器用来存放通过DFoC提取的证据,以供日后进行证据分析。当证据服务器接收到证据后,也要对证据进行一次数据签名并加盖时间戳,完成证据的移交过程。
网络入侵动态取证系统可对网络中发生的攻击过程及攻击行为进行记录和分析,并确保记录信息的真实性与完整性,满足计算机取证的要求,据此找出入侵者或入侵的机器,并解释入侵的过程,从而确定责任人,并在必要时,采取法律手段维护受害者的利益。
4 仿真实验
图4为对主机进行smurf攻击后得到的证据,大量存在echo请求和icmp回复。该攻击向网络广播地址发送一个欺骗性Ping分组 (echo请求),并将源地址伪装成目标主机地址,子网内所有主机都回应广播包请求向目标主机发送echo响应信息,使该主机受到攻击。
图4 smurf攻击证据
5 结 论
大量存在于系统中的DFoC可在入侵发生时迅速、准确、全面地提取入侵证据。由于在提取证据的过程中可及时地获取攻击的特征、类别、发生层面(用户层、系统层、进程层和网络层)及其状态、发生地点、时间等,这些信息完整地记录了入侵的时间、地点、过程等,同时DFoC还可及时地从整个网络环境中获取入侵前后的状态,将这些信息有机整合、排序,可再现入侵过程。该方法具有自适应性、分布性、实时性和可靠性,是动态计算机取证的一个较好的解决方案。
[1]马启肇.医学免疫学[M].北京:人民卫生出版社,2001.
[2]于善谦,王洪海,朱乃硕,等.免疫学导论[M].北京:高等教育出版社,1999:5-9.
[3]陈龙,王国胤.计算机取证技术综述[J].重庆邮电学院学报:自然科学版,2005,17(6):736-741.
[4]许榕生,吴海燕,刘宝旭.计算机取证概述[J].计算机工程与运用,2001,21(37):7-8.
[5]靳慧云,黄步根.计算机犯罪侦查[M].北京:中国人民公安大学出版社,2003.
[6]李涛.计算机免疫学[M].北京:电子工业出版社,2004.
[7]Kim Jungwon,Bentley Peter.Towards an artificial immune system for network intrusion detection:an investigation of clonal selection with a negative selection operator[C]//Proceedings of the Congress on Evolutionary Computation(CEC),Seoul,Korea,2001(5):215-225.
[8]Kim Jungwon,Bentley Peter.A model of gene library evolution in the dynamic clonal selection algorithm[C]//Proceedings of the first International Conference on Artificial Immune System(ICARIS)Canterbury,2002(9):158-266.