《电子技术应用》
您所在的位置:首页 > 通信与网络 > 业界动态 > 基于Multi-Agent的木马模型设计

基于Multi-Agent的木马模型设计

2008-12-12
作者:梅登华, 林耀通

    摘  要: 针对单木马的生存问题,提出了基于Multi-Agent" title="Multi-Agent">Multi-Agent思想的新型木马模型。通过实验,证明其体现了多木马协同作业的优越性,提高了生存能力。 

    关键词: 木马; 多Agent; 协同

 

    计算机中的特洛伊木马(Trojan horse)是指隐藏在正常程序中的一段具有特殊功能的恶意代码,其具有隐蔽性和非授权性的特点。所谓隐蔽性是指木马的设计者为了防止木马被发现,会采用多种手段隐藏木马。但现在众多的查杀木马工具正在不断缩小木马的生存空间[1]。因此木马的首要特征是其生存能力。 

    Fred Cohen等人[2,3]将木马作为病毒的一种特例,并给出了木马的数学模型,但未对木马的隐藏特征进行分析。Harold Thimbleby等人[4]对木马模型框架进行了研究,给出了木马的形式化模型,对木马隐藏的特征进行了描述,但未对多木马协同隐藏进行描述和分析。 

    本文在对单木马隐藏技术分析研究的基础上,针对单木马在复杂网络环境下的生存缺陷,提出了基于Multi-Agent思想的新型木马模型,体现了多木马协同隐藏的思想,增强了木马的生存能力。 

1 单木马的局限性 

    通过对木马结构分析发现,至今,所有的木马结构都是单木马结构。也就是单个的被控端只为单个的控制端" title="控制端">控制端服务,这种结构可以看作为“点对点”结构[5]。被控端和控制端都在外网时,问题不是很大,只是被控端没有得到充分的利用。但是在局域网内、外运用这种结构(即被控端在局域网内部,控制端在局域网外部)时存在以下缺点: 

    (1)用户可根据网络连接推断出控制端的地址; 

    (2)被控端的木马被删除后就不能再恢复; 

    (3)在局域网内、外只有一条通道连接,容易因流量过大而被发现。 

    因为局域网能很好地防范一些攻击,为了安全,在当前的Internet上有大量局域网存在。为了更好地进行内网" title="内网">内网攻击,本文提出了主要针对局域网的一种全新的木马模型。 

2 Multi-Agent技术

    为了解决以上问题,针对局域网防火墙对内监督能力较弱等特点,本文引入Agent技术,实现基于Multi-Agent的木马模型,利用多Agent之间的协作帮助木马更好地进行局域网外对局域网内的控制。 

2.1 Agent技术 

    学术界对Agent至今没有统一明确的定义。一般来说Agent可以理解为艾真体、主体或智能代理。也就是说,Agent可以指具有智能的任何实体,包括硬件和软件,如人、机器人、智能软件等。 

    当前对Agent的典型定义基本有两种[6]

    (1)Agent是驻留于环境中的实体,它可以解释环境中所发生事件的数据,并执行对环境产生影响的行为。这是FIPA(Foundation for Intelligent Physical Agent) 对Agent的定义。 

    (2)Agent是能为用户执行特定任务的、具有一定程度的、智能的、能自主执行任务的并能与环境相互作用的软件程序。这是软件Agent研究者对Agent的定义。 

    当前Agent不仅仅应用于人工智能,而且广泛地用于Internet的电子商务、信息搜索、人机界面、分布式计算、软件工程等领域。 

2.2 Agent特性 

    在木马中引入Agent技术与其特性有关。从广义的角度规定Agent的特性,几乎所有被称为Agent的软件或硬件系统都具有以下特性: 

    (1)自治性:可以在没有其他Agent的控制下运行,对自己的行为有某种控制能力。这与木马在单机上能够自主地完成本身的启动和隐藏等功能一样,能够独立。 

    (2)反应能力 :对周围环境有感知能力,并能通过自身行为改变环境。这与木马在各种不同单机环境上能够很好地溶入环境,并且设置一些木马需要的功能等是相同的。 

    (3)自发行为:能够通过接受某些启示信息,做出基于目标的行为。这个特性正是木马被控端接受控制端的命令,完成相应功能的体现。 

    (4)交流能力:可以和其他的Agent通过某种语言进行交互。这是引入Agent技术的主要目的之一。通过多Agent木马的互相监督,在某个Agent出现问题时,能在其他Agent的协作下恢复工作,使木马大大增强了生存能力。 

    从以上对Agent特性分析来看,Agent与木马有如此相似的特性,因此把Agent引入木马中也是很自然的,而且利用Multi-Agent的协同能力,应该能够改进木马在复杂网络环境下的生存能力。 

3 基于Multi-Agent的木马模型 

3.1木马模型的形式化描述 

    参考Harold Thimbleby木马模型[4],对基于Multi-Agent的协同作业思想进行如下形式化描述: 

    若干个协同的Server-Agent木马。定的功能, 

   

    由上述Agent木马协同作业的形式化描述可以看出,显现出不一致。引入

3.2 模型的整体结构 

    本模型采用异构的多Agent结构。每台主机的Agent都是独立的。Agent按功能分为Server-Agent和Clint-Agent两类异构的Agent。Server-Agent和Clint-Agent分别位于被控端和控制端上。由功能需要,Server-Agent和Clint-Agent又划分多个不同的功能模块,如图1所示。

 

 

3.3 模型的工作流程 

    借鉴P2P技术,基于多Agent模型的木马运行流程大致如下:当在局域网的某台主机中植入木马的Server-Agent后,利用局域网内网的一些漏洞进行渗透,种下多个Server-Agent。这些Server-Agent保持通信,互相协作。如对局域网内的某一资源进行获取时,多个Server-Agent将资源进行分块,各Server-Agent根据分配的任务,各自负责将分块数据发送到外网分散的Clint-Agent,各个Clint-Agent在收到分块数据后,与发送请示的Clint-Agent交互。发送请求的Clint-Agent在得到所有数据块后重新组合,就得到了请求答复。 

    在该模型中,每个Server-Agent保存该局域网内活动Server-Agent的信息。如果某个Server-Agent被删除,则与它最近的Server-Agent会在一定时间后重新植入Server-Agent。 

3.4 Agent部件的实现 

    (1) Clint-Agent 

    Clint-Agent相对较简单,与其他木马大致相同。Clint-Agent负责应对用户请求,将其转换为Server-Agent可以接收的请求格式,并且接收从Server-Agent送到的数据,以及与其他Clint-Agent交互数据,进行组合。并以用户要求的形式展现。Clint-Agent包括下列模块: 

    ①通信模块" title="通信模块">通信模块:负责与Clint-Agent和Server-Agent通信。 

    ②接口模块:负责与用户交互,向用户提供一个图形界面。 

    ③控制模块" title="控制模块">控制模块:负责与其他Clint-Agent协调,对数据进行解密重组等。 

    (2) Server-Agent 

    Server-Agent即木马服务端。它负责接收从Clint-Agent送到的用户请求,在与其他Server-Agent交互后,将执行结果返回给Clint-Agent。Server-Agent可保证自身安全。它可分为下列模块: 

    ①通信模块:与Clint-Agent一样,负责与其他Agent通信。 

    ②状态检查模块:专门负责Agent的安全。它定期检查本机和相关Server-Agent的状态。为隐蔽,它平时一般没有什么动作。当运行时,如发现控制模块或通信模块被删除,则用备份重新生成,并重新插入另一个系统进程中。如果与某个相关Server-Agent失去联系,则要对该地址重新渗透一次。 

    ③控制模块:Server-Agent的功能相对较多,与大部分木马类似,包括控制系统、隐藏属性、附加功能等,也有一个状态检查块,用以对状态检查模块的线程进行保护,从而形成守护线程。 

3.5 Agent的通信 

    在本模型中,Agent之间的协作通过通信实现,本实验系统采用TCP与ICMP相结合的方式,并对数据进行IDEA加密。其通信内容为一个四元组: 

    <通信内容>:=<发送Agent;接收Agent,目的Agent,加密数据> 

    不同的Agent之间使用不同通信协议。在Clint-Agent之间直接采用FTP方式通信,这是因为不用担心安全问题,用FTP能达到较好速度。在Server-Agent之间采用FTP方式通信,因为局域网网内较少屏蔽ICMP协议点。在最关键的Clint-Agent和Server-Agent之间采用HTTP遂道技术,这是无法完全封闭的。即使被一些检测系统截得,也只是一些代号和不完整的加密数据,还原相当困难。 

    Agent想与其他Agent通信时,数据经过控制模块加密后到达通信模块,通信模块根据目的地址进行转发。 

3.6 实验结果 

    实验结果表明该木马模型有以下优点: 

    (1)分散传输数据量降低了木马程序由于流量异常被发现的概率。 

    (2)多目的地址接收数据,增大追查源地址的难度。 

    (3)各Agent木马寄生于不同主机并且相互联系,增强了木马抗查杀能力。可以通过进一步完善Agent木马各自的功能,达到更好的生存能力。 

    (4)黑客间可以共享被控制端和实时交流。 

    (5)有良好的可扩展性,能方便地在Agent模块中添加更新的技术,对Agent进行强制更新,从而克服了传统木马动态更新的局限性。 

    本文引入Agent技术对当前木马进行改造。模型采用多被控端和多个控制端的分布式结构,Agent间通过协议通信,大大提升了内网控制能力。但也带来了一些问题,如将数据分散时,数据的完整性不能确保,有时因某个Clint-Agent和Server-Agent关机可能得不到完整的数据。另一个问题是在内网多台主机中植入木马,被发现的可能性相对加大。但是总体上这种基于Agent的新型木马模型相对提高了生存能力。 

    木马在同反木马的抗衡中不断的发展和进化,随着木马理论和技术的发展,木马各种能力也在不断提高。 

参考文献 

[1] 双世勇,李俊全. 检测Windows Rootkit的新方法[J]. 信息安全与通信保密,2005,(2):173-175. 

[2] ADLEMAN L M. An abstract theory of computer viruses[C]. In:8th Annual International Cryptology Conference, Santa Barbara, California, USA, 1988. 

[3] COHEN F. On the implications of computer viruses and  methods of defense[J]. Computers and Security, 1988,7(2):167-184. 

[4] THIMBLEBY H, ANDERSON S, CAIRNS P. A framework for modeling trojans and computer virus infection[J]. The Computer Journal,1998,41(7):444-458. 

[5] 康治平,向宏. 特洛伊木马隐藏技术研究及实践[J].计算机工程与应用, 2006,(9):103-105. 

[6] 张云勇. 移动Agent及其应用[M]. 北京:清华大学出版社,2002.

本站内容除特别声明的原创文章之外,转载内容只为传递更多信息,并不代表本网站赞同其观点。转载的所有的文章、图片、音/视频文件等资料的版权归版权所有权人所有。本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如涉及作品内容、版权和其它问题,请及时通过电子邮件或电话通知我们,以便迅速采取适当措施,避免给双方造成不必要的经济损失。联系电话:010-82306118;邮箱:aet@chinaaet.com。