论文部分内容阅读
随着互联网的飞速发展,越来越多的企业和用户连接到互联网中。人们在充分享受着互联网所带来的便捷与高效的同时,也不断受到各种计算机病毒感染和黑客恶意攻击的侵扰。网络安全成为信息安全中的重要研究内容之一,也是当前信息安全领域中的研究热点。保护网络系统中的数据不受偶然或恶意原因而遭到破坏、更改、泄露,是网络安全的主要内容之一。木马作为一种危害性大、隐蔽性高的远程控制工具,是目前比较常用的网络入侵技术。但是随着各种杀毒软件检测技术不断提高,采用传统用户态技术的木马生存空间越来越小,于是产生了一种面向Rootkit技术的内核级木马。该种木马程序深入到能够修改系统内核中的关键数据,使得常规安全检测方法和工具被欺骗而变得不再可信。本文在对木马结构和各种基于rootkit内核层的隐藏技术进行分析的基础上,提出一种模块化的基于驱动的通用木马结构,该结构融合了各种基于内核rootkit的隐藏技术,具有通用性,并能有效地将运行在用户态的木马主体部分和运行在内核态的驱动程序部分有机联系起来,驱动程序通过和用户态程序相互通信实现隐蔽通信和木马程序自身的隐藏。本文重点研究的NDIS协议驱动,在VC++平台上,编写NDIS协议驱动程序,实现木马在驱动层的数据传输。木马主程序完成调度木马的服务启动模块,进程隐藏模块,以及加密模块,在通信时做到数据的加解密。编写了含有DES(Data Encryption Standard)和RSA(Ron Rivest, Adi Shamir和Leonard Adleman)加密算法的加密模块,以动态链接库的形式存在。在数据传输时,由木马主程序的调用,实现传输数据的加解密。本文实现了木马系统通信隐藏模块,针对普通防火墙实现了非接触穿越,使之无法截获传输数据:针对日趋发展的个人防火墙系统,本文通过对DES和RSA加密技术进行分析,在VC++平台上设计实现了网络数据加解密系统。建立了个安全的数据传输系统,包括信息交换格式、交换协议和加解密算法,从而保证木马系统在通讯中网络数据的安全传输。在系统的具体实现上,充分利用了VC++平台的特点与优势,大大提高了系统的的可靠性。经过在模拟Internet网络环境中的测试,木马系统在内核层的隐蔽通信传输可以穿透普通防火墙,而针对基于内核层的防火墙,可以做到数据的加密传输,使防火墙无法获得明文信息。