发布时间:2019-12-21 15:08:34
移动代理(Mobile Agents,简称MA)本质上是一种可以在网络中自主地从一台主机移动到另一台主机,并可以与其他 agent和资源交互的代码或程序,有自主性、智能性、可移动等特征。近年来,移动代理技术(MAT)发展迅速,出现了许多比较成熟的移动代理平台。MAT这种新的分布式编程技术,在解决计算机科学领域的一些复杂问题方面前景广阔,网络管理就是一个应用领域。MAT应用于网络管理,使用MA将管理智能移动到网络中需要它的地方,克服了传统网络管理方法的局限性,占用网络资源少,灵活,扩展性好,大大减轻了网管系统的负担,适应性强[1]。
由于SNMP简单、应用广泛,仍是IP网络中最主要的管理协议,大量的网络节点都已装配上SNMP代理。在基于MA的网络管理中,完成所有的数据收集工作,所需的代价无疑是巨大的,因此极有理由利用本地SNMP代理的能力,将MAT与传统的SNMP结合起来。
基于MA的IP网络管理系统MANMS的管理站根据管理员的指令,并不像传统的方法那样直接与网络中的节点交互,而是派出具有特定功能的MA到管理节点,由MA访问节点的数据并作计算,或做某些操作。然后MA携带获得的数据移到其它节点,直至访问完所有节点,最后返回管理站。
MANMS的核心部分包括:(1)网络管理平台(NMP);(2)移动代理服务器(MAS);(3)移动代理(MA)。
1.1 网络管理平台
网络管理工作平台运行在网络管理工作站上,包括图形用户接口(GUI)、管理应用程序组、MA工具组几个部分,结构如图1所示。
GUI向网络管理员提供友好的操作界面,显示管理应用程序的操作结果。GUI 遵循一种统一风格的标准,如微软的
Windows、OSF的Motif或是Sun的OpenLook等。
管理应用程序组是网络管理的主要工具,管理员通过执行管理应用程序来完成网络的监测与控制。管理应用程序组包括网络管理的基本功能,如状态监测、事件管理器、MIB浏览器、性能监视器、拓扑管理器、配置管理器等。这些应用工具通过 MA工具组提供的API调用,创建特定的MA,发送到节点,最后根据返回结果的分析并作下一步的操作。
MA生成组件、MA管理组件、MA安全组件、MA迁移组件等,
MA工具组运行在移动代理平台之上,可以采用基于JAVA (1) MA的创建与派遣
MA生成组件负责根据管理应用程序的需要创建特定类型的MA。它管理着一个MA代码库。MA代码库包含两种代码,即针对具体操作的代码和具有完整功能的代码。两者都符合一定的规范,以便于MA的创建和参数配置。当管理应用程序需要派出MA时,MA生成组件首先查找MA代码库,看是否有符合要求的MA代码。如果没有,则由MA生成组件根据定义产生MA代码,并存储到MA代码库中;如果有,就直接取出,装入代码。然后由管理应用程序给MA配置参数和动态更新,形成功能完整、执行具体操作的MA,这是通过MA向外界提供的符合规范的接口完成的。参数配置包括设置具体MA的名称、编号、访问地址列表、访问地址指示器、访问权限标志、生存时间等。接着管理应用程序调用MA安全组件给生成的MA代码加密以防止携带的信息泄漏,然后签名,给MA加上自己的身份标志。先保存一个副本,并用MA管理组件压缩MA代码,这样可以减少占用网络的传输带宽。最后调用MA迁移组件,将
MA代码按照访问地址指示器派到地址列表的第一个地址。
(2) MA的接收与反馈
MA迁移组件在一个端口监听和接收完成任务后返回的 MA。在接收到MA之后,解压并由MA安全组件作安全认证和解密,然后由MA管理组件根据MA的名称和编号将它交给派发它的管理应用程序。管理应用程序读取MA携带的信息,分析和处理后,将读取的数据存入本地数据库中。
1.2 MA服务器
MA迁移组件监听端口等待MA的到来。当MA到达后装入它的代码,MA迁移组件继续监听等待下一个MA的到来。然后由MA安全组件作安全认证,保证MA的可靠性,并确定MA 的访问权限,确保只有授权主机派遣的受信代理才能够有限制地访问本地资源并执行。具体的安全机制将在第3节中讨论。
当MA通过MA安全组件的安全认证之后,MA代码被激活并获得操作MA服务提供组件的权限。MA服务提供组件包括一个到SNMP代理的接口,它通过一个类似于SNMP的小型协议与SNMP代理交换信息,SNMP代理则根据获得的信息对MIB 进行get、set操作。MA服务提供组件根据MA的访问权限,通过接口与SNMP代理交换,获取MA需要的数据或传递操作信息,需要时再作计算。同时可以根据MA中定义好的机制和计算的结果进行操作,最后将结果加载到MA的数据存储区。总控进程获取MA携带的访问地址列表中的下一地址,由 MA安全组件给MA加密和签名之后,通过MA迁移组件将MA 移到下一个主机,如果已经是最后一个主机,MA将返回派遣
它的管理站。
1.3 移动代理(MA)
MA是MANMS的核心技术,在MANMS中MA就是携带着网络管理任务并可以在网络中移动的智能体,它通过与被管资源的交互完成管理应用程序下达的命令。MA在IP网络中的传输可使用传输控制协议(TCP),也可以使用用户数据报协议(UDP)。当传输的信息量比较少时后者是一个很好的选择。
2.1 安全威胁
MANMS的安全机制包括抵御各种攻击和威胁。攻击是企图非法访问系统、资源或信息,或者更改代码。攻击可以分为主动攻击和被动攻击。主动攻击有能力改变对象的内容,而被动攻击只是收集信息并不主动操作对象。
由于MA到达第一个主机后,MAS可以完全控制MA,如果此主机有问题,差不多是不能够预防的,因此我们必须假定管理站/MA与节点之间没有问题,或者在MA到达前解决了问题。分析MANMS中MA的整个生命周期,可以认为潜在的安全威胁发生在MA 迁移的过程中和到达主机后的执行过程中,攻击的目标是MA和主机,包括管理站和节点。
在MA迁移的过程中,MA最容易也最有可能遭到攻击。MA 面临的潜在威胁有:
威胁A1--窃听:由于MA传输的网络并不能保证完全是在发送方或接收方的控制之下,所以可能是不安全的,MA可能被窃听。窃听是一种被动攻击,通常难以被发现。但如果造成MA携带的敏感数据泄漏,后果将是严重的,还可能会引发进一步的主动攻击。
威胁A2- - 非法篡改:在传输过程中,MA因为网络问题或受到攻击而损坏,特别是如果丢失或者改变了网络元素的控制信息,MA可能会使主机受到损害。如果MA携带的配置信息的一部分丢失或是改变了,也会带来严重的后果。
威胁A3- - 非法复制:恶意的系统复制传输中的MA,不是为了获取MA携带的信息,而是在另外的时间将MA再次发送出去,这样可能会使主机配置发生错误的更改。
威胁A4--延迟:恶意的系统延迟发送MA,也可能会造成主机的配置错误。
在MA到达主机之后,MA和主机面临的威胁包括:
威胁B1--伪装:对于MA来说,它到达的主机可能并不是真正要去的地方,而是为了获得MA携带重要信息的伪装主机;对真正的主机来说,它接受到的MA也可能是伪装的MA,假MA之目的在于非法获取信息或操纵真正的主机。
威胁B2--欺骗:即使MA到达了真正的主机,也不能保证MA不会受到恶意主机的欺骗。例如,它不向MA提供约定的服务和资源,即拒绝服务,甚至提供虚假的信息或是在MA 移向下一个地址之前恶意修改信息。
威胁B3--权限滥用:合法的MA有一定的访问权限,主机不仅要确保MA是来自授权的管理站,还要确保不会对本身和其它到达本机的MA造成任何伤害。
威胁B4--资源滥用:即使MA是来自授权的管理站,主机也要监视MA,以防止MA有超出约定范围的行为,例如访问非授权信息。
2.2 解决办法
为了解决上面所述的安全威胁,需要采用如下一些安全措施:
验证:检查MA是否来自受信主机,并且MA知道接收者的真实身份,也就是正确的SLA约定者。还检查MA的时效性和是否属于重放攻击。验证主要解决威胁B1、威胁A3和威胁
A4。
加密:主要用于预防MA迁移过程中泄漏数据,即威胁A1 和威胁A2。同时,由于只有受信主机才有用于解密的密钥,加密也部分地用于解决威胁B1。
完整性检查:检验MA的完整性,确保MA没有在传输中丢失信息或被改动,主要用于预防威胁A2中的MA代码被恶意更改而引起的攻击。
身份认证:检查MA访问权限以严格确定MA可以访问系统中的哪些资源、做哪些操作,用来解决威胁B4。身份认证并不仅仅是根据MA 的管理站来确定MA 的访问权限,还由MA 曾经到达节点的可信度等因素来综合决定。
沙盒:限制MA访问本地资源的权限,使得它就好像运行在一个特定的盒子中,只能对本地资源施加有限的影响。沙盒主要用于解决威胁B3。
日志:日志用来记录所有的操作事件,MA和资源主机都将操作行为记录到自己的日志文件中,以供后来的分析使用。这用来解决威胁B2带来的问题。
以上这些解决办法不是单独、孤立地使用的,而是要综合为一体,这样才可以防范上面提到的安全威胁。
大客户
微信
置顶