基于网格入侵检测系统与实现
摘要网格是部署在广域网上的抽象应用,其基本单位是以实现一个任务为目标的动态组建的虚拟组织。
基于网格的入侵检测系统应该是部署在虚拟组织之上的虚拟组织。本文首先分析了网格对于入侵检测系
统的要求以及当前网格入侵检测系统的不足之处,然后提出了基于虚拟组织的网格入侵检测系统模型
(VGIDS)。
关键字网格;虚拟组织;入侵检测
1入侵检测系统分析
表 1分析了入侵检测系统结构变化。
表 1IDS出现的问题及结构的变化 IDS发展解决的问题结构特征基于主机单一主机的安全各部分运行在
单节点上基于网络局域网的安全采集部分呈现分布式分布式单一分析节点的弱势分析部分呈现分布式
网格的运行是由用户发起任务请求,然后寻找资源搭配完成任务,这样形成的团体称为虚拟组织(VO),
网格入侵检测系统是为其他 VO提供服务的 VO[1],目前其面临的主要问题如下:
(1)分布性:包括资源分布和任务分解。
(2)动态部署:系统是为 VO提供服务的,其部署应是动态的。
(3)动态形成:系统本身也是一 VO,是动态形成的。
(4)最优方案选择:本系统需多种网格资源协同进行,要选择一个最优方案。
(5)协同计算:保证按照入侵检测流程顺利运行。
(6)动态改变:防止资源失效。
目前关于网格入侵检测系统的研究[2]只能说解决了分布性、动态形成、协同计算。而对于动态部署
[1]、动态改变[3]仍处于研究中。
2VGIDS系统模型
VGIDS基于开放网格服务(OGSA)思想提出了一个公共服务――GIDSService 来解决目前网格入侵检测
系统面临的问题。整个 VGIDS结构如图 1所示。
(1)VO-Based:网格是一个虚拟组织的聚集,本系统提出一虚拟组织目录(VOL)。用户向 GIDSService提
交请求并将被检测 VO代号作为参数。GIDSSevvice查找 VOL获取 VO信息。当 VOL数量减为一就成为单
一网格应用,可由网格管理(GM)将 VO信息传给 GIDSServic。
图 1VGIDS系统结构
(2)GIDSService:负责资源发现,调度。具体包括:
RI(RequestInterface):服务接口,负责服务请求及 VO信息获取。同 VOL解决动态部署。
DA(DelegationAgent):委托代理。同用户交互获得用户委托授权。
DD(DistributedData):分布式数据。存储 VGIDS需要的资源信息。解决分布问题。
RQ(ResourceQuery):资源查询。当获得用户授权后便由 RQ根据 DD描述向资源目录(RL)查找资源。
解决分布问题。
PC(PlanChoose):最优方案选择。当从 RL获得可用资源后 PC根据 AM(任务管理)要求选择一个最优
方案。本文称为多维最优路径选择问题。
AM(AssignmentManage):任务管理。首先根据 DD存储所需资源的调度信息,当 VGIDS形成后,根据 PC
的方案选择及 DD存储的资源信息进行任务的调度和协同各分布资源的交互,解决[本文由网站公文大全
收集整理]协同计算。
IR(IntrusionReaction):入侵响应。
SN(SecurityNegotiate):安全协商。同资源和用户的安全协商。
DI(DynamicInspect):动态检查。负责检查资源失效向 RQ发起重新查找资源请求。解决动态改变问
题。
LB(LoadBalance):负载平衡。主要根据 DD信息解决网格资源调度的负载平衡问题。
3VGIDS服务描述
本系统是一动态虚拟组织,在系统运行之前必须以静态网格服务的形式部署于网格之上,当用户申请时
再动态形成。
定义 1:VGIDS的静态定义如下:VGIDS=<Base,Resource,Role,Task,Flow,Relation>
Base为 VGIDS基本描述,Base=<ID,Power,IO,Inf,log,goal,P>。ID为虚拟组织编号;Power为
获得的授权;IO为被检测对象;Inf为监控 VGIDS获得的信息文件;log为系统日志;goal为 VGIDS目
标,包括调度算法所估计的系统效率及用户要求;P为系统交互策略,需同网格资源进行交互,授予资
源角色和相关权利并同时分配相关任务。
Resource为 VGIDS的所有资源,Resource=<IP,Property,Serve,Power,P>。
IP为资源地址;Property为资源属性(存储、分析),方便角色匹配;Serve为资源可提供的服务指
标;Power为使用资源所要求的授权;P为资源交互策略。
Role为存在的角色类型,Role=<ID,Tas,Res,Power>。ID为角色的分类号,按照工作流分为 5类角
色分别对应 VGIDS的 5个环节;Tas为角色任务;Res为角色需要的资源类型;Power为角色所获得的
权利。
Task为工作流任务集合。Task=<ID,Des,Res,Role,P>。ID为任务标号;Des为任务描述;Res为
需要的资源种类;Role为任务匹配的角色;P为 Task执行策略。
Flow为工作流描述文件,Flow=<Role,Seq,P>。Role为角色集合,Seq为角色执行序列,P为对于各
个角色的控制策略。
Relation为已确定资源 Resource和 Role之间的关系。Relation=<Res,Role,Rl>。Res为资源集合,
Role为角色集合,Rl为对应关系。
4多维最优路径选择
问题描述
将图 1抽象为图 2模型定义 2:Graph=(U、D、A、{Edge})。
U为所有被检测对象的集合,Un=(Loadn、Pn),Loadn为 Un单位时间所要求处理的数据,Pn为 Un在被
检测 VO中所占权重,如果 P为空,则按照 Load大小作为权重。
D为存储服务集合,Dn=(Capn、Qosdn),Capn为 Dn提供的存储容量。Qosdn为 Dn提供的服务质量,近
似为数据吞吐率。
A为分析服务集合,An=(Classn、Qosan),Classn为 An处理的数据种类,如系统日志或网络流
量。Qosan为 An提供的服务质量,近似为处理速率。
Edge为边的集合,有网络传输速度加权 v。
图2VGIDS调度模型
定义 3:Qos定义为一个多维向量,可用一个性能度量指标的集合表示:
{M1(t)、M2(t),…,Mn(t)}
Mn(t)为一个与网格服务质量有关的量,如 CPU的主频、网络速度、内存。服务的执行过程体现出来的
性能参数是一条 n维空间的轨迹 M,这个 n维空间的每一维代表一个性能指标
M=R1*R2*…*Rn
其中,Rn是性能指标 Mn(t)的取值范围。在本系统中存在两类 Qos,分别为 D和 A。本系统强调实时
性,所以 CPU、RAM和网络速度占很大权重,Qos计算公式如下:
Wcpu表示 CPU的权重;CPUusage表示当前 CPU使用率;CPUspeed表示 CPU的实际速度;CPUmin表示要
求的 CPU速率的最小值。Wram表示 RAM的权重;RAMusage表示当前 RAM使用率;RAMsize表示 RAM的
实际大小;RAMmin表示要求的 RAM的最小值。Wnet表示网络传输的权重;NETusage表示当前网络负
载;NETspeed表示网络的实际速度;NETmin表示要求的网络传输速率的最小值。
资源调度就是利用对各个资源的量化,为每一检测对象选择一条数据传输路径。本系统目标是使整个
VO获得快速的检测,而不是对个别对象的检测速率很高。
定义 4:对于任意一个被检测 VO的检测对象,如果能够为其构造一条检测路径,称系统对于此对象是
完备的。
定义5:对于 VO,如果能够为其所有的检测对象构造检测路径,则称系统对于被检测 VO是完备的。
本调度算法的目的便是在满足被检测 VO和入侵检测工作流要求下,按照所选网格资源提供的能力为整
个 VO构造 VGIDS,使所有被检测对象检测效率之和最高。这是一非典型的线性规划问题,如下定义:
X1,…Xn是 n个独立变量,表示 VGIDS所选路径;公式<5>表示最大耗费时间;公式<6>―<8>表示所有
对于 Xn的约束条件。由于 Xn变量难以确定并且约束条件种类较多所以难以将上述问题标准化为公式
<5>―<8>。
算法描述
本文利用贪心选择和 Dijkstra算法进行调度。
按照用户给出的 U的权值 P从大到小进行排序,if(P==NULL),则按 Load从大到小进行排序得到排序
后的对象数组和负载数组为
U[i](0<i≤n,n为 U的大小);Load[i](0<i≤n,n为 U的大小)
for(i=0;i<=n;i++),循环对 U和 Load执行以下操作:
(1)对于所有边,定义其权值为网络传输时间 t=Load[i]/v,对于所有服务 D和 A定义其处理数据时
间为 t1=Load[i]/Qos,将 t1加到每一个服务的入边上得到最终各边权值,如果两点之间没有边相连则
t[j]为∞。
(2)定义 Capmin[i]为 U[i]对于数据存储能力的最低要求,Qosdmin为 U[i]对于 D中服务质量的最低
要求,Qosamin为 U[i]对于 A中服务质量的最低要求。对于所有 D中 Cap<Capmin[i]或者 Qosd<Qosdmin
的节点以及 A中 Qosa<Qosamin[i]的节点,将其所有输入和输出边的 t设为∞。
(3)设所有点集合
为 V,V0为检测对象,边 Edge定义为<Vi,Vj>。用带权连接矩阵 arcs[i][j]表示<Vi,Vj>的权值。定
义向量 D表示当前所找到的从起点 V0到终点 Vi的最短路径,初始化为若 V0到 Vi有边,则 D[i]为边
的权值,否则置 D[i]为∞。定义向量 P来保存最短路径,若 P[v][w]为 TRUE,则 W是从 V0到 V当前求
得最短路径上的顶点。
(4)for(v=0;v<;v++)
{
final[v]=false;
D[v]=arcs[v0][v];
for(w=0;w<;++w)P[v][w]=false;
//设空路径
if(D[v]<INFINITY){P[v][v0]=true;P[v][v]=true;}}
D[v0]=0;final[v0]=true;//初始化,V0顶点属于已求得最短路径的终点集合
for(i=1;i<;++i){
min=INFINITY;
for(w=0;w<;++w)
if(!final[w])
if(D[w]<min){v=w;min=D[w];}
final[v]=true;
for(w=0;w<;++w)//更新当前最短路径及距离;
if(!final[w]&&(min+arcs[v][w]<D[w])){
D[w]=min+arcs[v][w];
P[w]=P[v];P[w][w]=true;
}}}
扫描 A中各点,选取其中 D[i](Vi∈A)最小的一点 X,然后从 P中选取从 V0到 X的路径便为所选一条
VGIDS路径。
(5)将所选路径上的边的速率改为 V=V-Load[i],D的 Cap改为 Cap=Cap-Capmin,D的 Qosd改为
Qosd=Qosd-Qosdmin,A的 Qosa改为 Qosa=Qosa-Qosamin。
(6)++i,回到步骤(1)重新开始循环。
5系统开发
本项目主要利用 Globus工具包外加 CoGKits开发工具。Globus作为一个广泛应用的网格中间件其主要
是针对五层沙漏结构,并利用 GridService技术逐层对五层沙漏提出的功能单源进行实现[5],表2简
单叙述 VGIDS实现的各层功能及 Globus中对应服务调用。
实验时 VGIDS部署在 Linux系统上,采用基于 Linux核心的数据采集技术及 Oracle10g作为数据库系统
解决分布式存储问题,数据分析技术仍采用现有的基于规则的入侵检测技术。系统试验平台如图 3所
示。
表 2系统功能划分及调用接口五层结构 VGIDSGlobus应用层 GridService无汇聚层资源发现、证书管
理、目录复制、复制管理、协同分配元目录服务 MDS,目录复制和复制管理服务,在线信任仓储服务,
DUROC协同分配服务资源层访问计算、访问数据、访问系统结构与性能信息提供 GRIP、GRRP、基于
http的 GRAM用于分配资源和监视资源,提供 GridFtp数据访问管理协议及 LDAP目录访问协
议。Globus定义了这些协议的 C和 Java实现连接层通信、认证、授权提供 GSI协议用于认证、授权、
及通信保密构造层数据采集代理、数据存储、数据分析提供缺省和 GARA资源预约图 3系统试验平台
本平台共 8台机器,一台网格目录服务和 CA认证中心,一台部署 VGIDS服务。两台机器作为被检测对
象,相互之间可实现简单网格协作,本试验两台机器之间通过 Gri
dFtp服务传输数据。其余四台机器分别实现两个存储服务和两个分析服务。
6总结和展望
目前网格入侵检测系统主要是针对某一特定网格应用静态执行。而本文所提出的 VGIDS则是针对网格运
行模式――虚拟组织所提出的通用网格入侵检测服务。本系统事先进行静态定义,然后当有服务请求时
动态解析定义文件,动态形成可执行的网格入侵检测系统。本系统解决目前网格入侵检测系统面临的动
态部署、动态形成、最优方案选择、动态改变等问题。
对于网格入侵检测系统同样还面临着如何解决数据异构,如何发现分布式协同攻击,如何保障自身的安
全等问题,本模型有待进一步完善。
参考文献
[1]-
,IEEE,
-1032
[2]AlexandreSchulterandJú-
worksandManagementLaboratoryFederalUniversityofSantaCatarina,
ProceedingsoftheInternationalConferenceonNetworking,
InternationalConferenceonSystemsandInternationalConferenceonMobileCommunicationsandLearnin
,2006
[3]TolbaMF,Abdel-WahabMS,TahaIA,etal,“GIDA:
TowardEnablingGridIntrusionDetectionSystems”,CCGrid,11thMay,2005
[4]Fang-YieLeuandJia-
ChunLin(eds).
onEngineering,Tung-HaiUniversity,
Proceedingsofthe19thInternationalConferenceonAdvancedInformationNetworkingandApplications.
IEEE,-6
[5]都志辉,陈渝,刘鹏.《网格计算》.2002年 8月 17日,清华大学