999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于移動Agent和MYSQL的分布式入侵檢測系統研究

2008-12-31 00:00:00軒松生陳仲民
電腦知識與技術 2008年24期

摘要:通過分析各種入侵檢測系統的特點,提出了一種基于移動Agent和主從數據庫模式的分布式入侵檢測系統的模型MADIDS,實現了基于該模型的分布式入侵檢測系統,該模型中的Agent相互獨立、互相協作,并有效的對數據庫進行層次劃分,提高了系統的效率、健壯性、可擴展性和可靠性。

關鍵詞:入侵檢測;移動Agent;MYSQL

中圖分類號:TP393文獻標識碼:A文章編號:1009-3044(2008)24-1181-04

The Research of Distributed Intrusion Detection System Based on Mobile Agent and MYSQL

XUAN Song-sheng, CHEN Zhong-min

(College of Science, Huazhong Agricultural University, Wuhan 430070, China)

Abstract: Through analysis of the characteristics of Intrusion Detection System, the model of a distributed intrusion detection system called MADIDS based on mobile agent and master-slave database model is proposed and simply realized.The Agents are independent and cooperative. The layered construction is used to the model of database.The MADIDS has advantages of efficiency,robustness,scalability and reliability.

Key words: intrusion detection; mobile agent; MYSQL

1 引言

隨著網絡的發展和應用的深入,黑客入侵事件變得越來越猖獗,人們發現,僅僅依靠傳統的操作系統加固和防火墻隔離等靜態安全防御技術已經遠遠無法滿足現有網絡安全的需要了。入侵檢測系統作為近十多年來發展起來的新一代安全防范技術,得到了深入的研究和廣泛的應用。[1]

入侵檢測系統按系統結構分為集中式入侵檢測系統和分布式入侵檢測系統。

1) 集中式入侵檢測系統CIDS(Centralized Intrusion Detection System)中,無論監視的網絡有多少主機,數據分析都在一個固定的位置進行。CIDS采用單個數據分析組件進行數據分析,因此其擴展性較差,存在單點故障問題,同時也耗費大量的通信和處理資源。

2) 分布式入侵檢測系統DIDS(Distributed Intrusion Detection System)則將數據分析任務分配給多個處于不同位置的數據分析組件,這些組件采用完全分布方式或分層方式進行協作。根據分布的程度,又可再分為部分分

布式和完全分布式結構。

2 移動Agent和Aglet概述

移動Agent技術是集分布式對象技術、軟件Agent技術、移動代碼技術于一體的技術,它是為解決復雜、動態、分布式智能應用而提出的一種全新的計算手段,不僅結合了代理的自治、智能的特點,而且引入了移動的思想,極大的延伸了分布式計算的概念。該技術融合了人工智能和分布式計算技術的技術將很可能成為智能化分布式計算的一個重要組成部分。移動Agent理論方面的研究比較成熟,目前市場已有的移動Agent平臺有IBM公司的Aglet。

Aglet是由日本IBM公司所提出,完全用Java發展的移動agent技術,并提供實用的平臺Aglets Workbench來完成開發或執行mobile agent系統。Aglets中的移動agent稱為Aglet,是一個可移動的Java對象。Aglet以線程的形式產生于一臺機器上,可隨時暫停正在執行的工作,之后可將整個Aglet分派到另一臺機器上重新啟動,執行任務。因為Aglet是線程的,所以不會消耗太多的系統資源。[2]

目前使用移動Agent技術開發入侵檢測系統有:

Purdue大學開發的AAFID(Autonomous Agents For Intrusion Detection,自治代理入侵檢測系統)采用了agent分層控制和報告的層次結構,包括四類基本組件:agent、過濾器(Filter)、轉發器(Transceiver)和監視器(Monitor)。[3]

美國Iowa州立大學開發的MAIDS(Mobile Agent Intrusion Detection System)是一個基于移動agent技術的分布式入侵檢測系統。該系統提供了一個實現移動agent網絡的有色Petri網體系結構。[4]

3 基于移動agent的MADIDS的設計

作為網絡安全的補充,本文在現有入侵檢測系統基礎上,將移動agent技術運用于入侵檢測系統的數據采集部分和檢測分析部分,提出了基于移動agent的網絡入侵檢測系統MADIDS。

3.1 MADIDS系統結構設計

為了提高檢測效率,增強系統的健壯性,系統決定采用完全分布式協同檢測結構,如圖1所示。

在該系統結構中,最下層的數據采集節點負責采集數據,根據安全策略對大量數據進行過濾,以減輕上層分析檢測節點的數據處理壓力,提高檢測效率。每個數據采集節點負責采集一個或幾個主機的網絡數據,當某個節點出現故障或者流量過大時,可以和其他節點通信,由其他節點全部或部分接管該節點的數據采集工作。除此之外,節點間需要實時傳遞自己狀態信息,以便某個節點出現故障時其他節點接管其工作。數據節點間相互協作,以保證迅速快捷的數據采集。

分析檢測節點從數據采集節點接收數據并利用檢測規則檢測數據是否是入侵數據。如果是入侵數據則提交給上層,由上層采取相應的響應措施。管理控制節點負責系統策略的生成、發布和對于入侵的響應等。

3.2 MADIDS系統模型的設計

圖2為MADIDS系統的模型。

在入侵檢測系統中使用代理完成數據采集、數據預處理和數據分析等功能,使用移動代理實時就地處理數據和突發事件,可減少系統內部通信量,加速對入侵響應和追蹤等,因此具有能夠減輕網絡負載、減少網絡延遲、動態適應網絡變化、可擴展性好及能夠在異構環境下執行等優點。[5]

3.3 MADIDS數據庫的設計

一個好的分布式入侵檢測系統數據庫的設計至關重要,而且分布式入侵檢測需要有分布式的數據庫管理與之相對應。數據庫存儲各種規則、事件、策略和管理員的配置信息等。

1) 數據庫模式

數據庫采用MYSQL主從服務器模式,主服務器負責各種信息的寫入,從服務器自動從主服務器復制數據,并提供本機上相應模塊的數據讀取。使用主從式數據庫模式既可以提高系統訪問數據的速度,同時可以避免由于某個數據庫服務器出現故障而造成系統癱瘓。

2) 數據庫詳細設計

事件庫中存放某些出現攻擊的數據包的摘要以及做出的反應,如表1所示。用戶配置信息中包含對某些協議屏蔽、日期時間等信息,如表2所示。

3.4 MADIDS模型中各功能模塊的設計

系統分為數據采集模塊、數據分析模塊、管理控制模塊三大部分。

1) 數據采集模塊:數據采集模塊由數據采集代理完成,使用包過濾技術。數據采集模塊分布在被監視的主機中,每個代理監控某幾個主機。代理截獲數據包后,首先做簡要的分析,根據過濾策略把需要向上層傳遞的數據包轉發給上層。數據采集代理之間需要相互協作,某個代理如果出現故障或者流量過大,需要其他代理協作。

2) 數據分析模塊:數據分析模塊是系統最重要的模塊,由數據分析代理完成。數據分析代理從數據采集代理那里接受數據并檢測是否是入侵數據包,根據檢測結果向上層發出報告。數據分析代理與數據采集代理之間需要經常交換狀態信息,如果某個代理數據處理任務過重,需要向下層傳遞其過重狀態,由下層選擇空閑代理完成數據解析任務。

3) 管理控制模塊:管理控制模塊包含響應代理、數據庫代理和用戶接口代理管理三個部分。

① 響應代理:響應代理根據不同的入侵行為按照預先指定的響應策略做出相應反饋。

② 數據庫代理:數據庫代理負責和數據庫交互,讀取數據庫中的配置信息和向數據庫中寫入規則或者響應等信息。

③ 用戶接口代理:用戶接口代理以一種可視化的方式提供了用戶與該入侵檢測系統的接口,不具有移動性。該代理功能較多,主要負責整個系統的管理,包括Aglet生存管理、Aglet狀態監視、Aglet初始參數設置、安全管理器設置和保證Aglet的正常運行等,便于用戶監視系統中各子agent的運行狀態,并根據具體情況設定各種系統參數完成特定功能的檢測分析agent的配置。

4 基于移動agent的MADIDS的初步實現

4.1 分布式數據庫的建立

數據庫分主從兩種,主數據庫服務器可以安裝在系統管理模塊主機上,也以安裝在單獨主機上,從服務器安裝在管理模塊和分析檢測模塊上。

主從服務器的設置增加了健壯性。通過在主服務器和從服務器之間切分處理客戶查詢的負荷,可以得到更好的客戶響應時間。

假設主服務器IP為192.168.0.1,從服務器IP為192.168.0.3,實現Mysql主從服務器的具體步驟是:

1) 在主服務器上為從服務器建立一個用戶:

grant replication slave on *.* to 'db1'@'192.168.0.3' identified by 'abcdef';

2) 編輯主服務器上的my.ini文件,一般位于C:\\Windows\\my.ini。

server-id=1

log-bin=mysql-bin

binlog-do-db=madids

3) 編輯從服務器上的my.ini文件,加入以下語句:

server-id=2

master-host=192.168.0.1

master-user=db1

master-password=abcdef

master-port=3306

replicate-do-db=madids

4) 將主服務器上的madids數據庫拷貝到從服務器,重啟各個主從服務器。

如果需要設置多個從服務器,參考上面步驟即可,可以寫一個bat程序來執行上述操作。

5) 數據庫的連接

Java數據庫連接性(Java Database connectivity,JDBC)是一種Java API,支持結構化查詢語言的執行。SQL是連接RDBMS所用的、事實上的行業標準。

JDBC提供各種工具,以支持下述功能:建立到RDMS的連接,發送SQL語句,處理結果。[6]

本系統中,連接數據庫的代碼如下:

Connection sqlConn=1;

Statement sqlStm=1;

try{

Class.forName(\"com.mysql.jdbc.Driver\");

sqlConn=DriverManager.getConnection(\"jdbc:mysql://localhost:3306/madids\",\"root\",\"abcdef\");

sqlStm=sqlConn.createStatement();}

catch(Exception e){

System.out.println(e.toString()+e.getMessage());}

4.2 數據采集模塊的實現

1) 數據采集部分

數據采集代理是基于混雜網卡模式下的數據監聽,利用WinPcap和Jpcap函數庫從網絡上直接抓取數據包并做簡單的過濾。

為了捕獲包,API提供了JpcapCaptor.getDeviceList()方法實現利用Jpcap監聽哪個網絡設備的選擇。該方法返回了一個NetworkInterface類的實例,出現的多個設備名稱都記錄其中。openDevice()方法需要指定即將打開的設備名,從設備上一次讀取的最大字節數,說明是否將設備設為混雜模式的Boolean值和以后調用processPacket()方法要使用到的超時值四個參數。openDevice()方法將一個參數返回到用以捕獲的Jpcap對象。

public class CaptureAgent extends Aglet implements PacketReceiver{

public void receivePacket(Packet packet){

try{

if(packet instanceof TCPPacket)

{ String destip=((IPPacket)packet).dst_ip.getHostAddress();

StringTokenizer st = new StringTokenizer(destip,\".\");

String[] ips = new String[st.countTokens()];

ips[0] = st.nextToken();

ips[1] = st.nextToken();

ips[2] = st.nextToken();

ips[3] = st.nextToken();

if(Integer.parseInt(ips[0])==ipwatchs[0]Integer.parseInt(ips[1])==ipwatchs[1]Integer.parseInt(ips[2])==ipwatchs[2](Integer.parseInt(ips[3])>=ipwatchs[3]Integer.parseInt(ips[3])<=ipwatchs[4]))

{SendPacket(packet);}}}

catch (IOException e){}}

public void run()

{…

try{

NetworkInterface[] devices = JpcapCaptor.getDeviceList();

JpcapCaptor jpcap = JpcapCaptor.openDevice(devices[1], 65535,true,20);

jpcap.loopPacket(-1, new CaptureAgent());

}catch(IOException e){}

…}}

2) 相互協作部分

數據采集代理之間為了保證流量均衡,需要協作。某個代理流量過大需要其他代理分擔。基本思想是采用定時器,1分鐘內如果流量大于某個預定值則表示負擔過重,需要向其他代理發送過重消息,并把自己需要放棄監視的IP傳遞過去。

AgletProxy remote= context.getAgletProxy(url,remoteID);

Message msg = new Message(\"heavy\");

//將192.168.0.10的流量讓相鄰Agent處理

msg.setArg(\"content\", \"192.168.0.10\");

remote.sendMessage(msg);

4.3 檢測分析模塊的實現

它是入侵檢測系統MADIDS的核心,用以分析每個數據包是否發生了入侵行為,其功能是否完善將直接影響入侵檢測的性能是否優良。

1) 代碼的框架:

public boolean handleMessage(Message msg)

{//當處理的消息是packet時

if(msg.sameKind(\"packet\"))

{Packet packet=msg.getArg(\"content\")

Checkout(packet,low,high);

}

return true;}

2) 發現攻擊向上層傳遞

AgletProxy remote= context.getAgletProxy(url,remoteID);

Message msg = new Message(\"attack\");

msg.setArg(\"content\", packet);

remote.sendMessage(msg);

4.4 配置管理模塊的實現

管理控制模塊包含響應代理、數據庫代理和用戶接口代理管理三個部分。因為Jpcap只能截獲報文,并沒有丟棄網絡數據報的功能。所以系統的響應功能只是簡單的將數據包內容寫入數據庫,管理員可以通過WEB頁面或者數據庫界面直接查詢那些可疑的連接。

5 結論

移動agent最初起源于分布式系統研究領域,是分布式技術逐漸發展的結果,使用移動agent進行入侵檢測可以提高系統性能和可擴展性,使用分布式數據庫可以提高系統可靠性以免出現單點故障問題。不過移動Agent本身還存在很多問題,而且系統還需要結合其他智能的分析檢測技術才能更好地實現入侵檢測。

參考文獻:

[1] 潘瑜,臧海娟,何勝.計算機網絡安全技術[M].北京:科學出版社,2006:293.

[2] 劉錦德,張云勇.一個實用的移動Agent系統(Aglet)的綜述[J].計算機應用,2001(21):1-3.

[3] Spafford E H,Zamboni D.Intrusion detection using autonomous agents[J].Computer Networks,2000(34):547-570.

[4] Slagell M.The design and implementation of MAIDS(mobile agent intrusion detection system)[R].Technical Report TR01-07,Ames,IA,USA,2001.

[5] 劉金偉,劉玉珍,張煥國.多代理技術在分布式入侵檢測系統中的應用研究[J].計算機應用研究,2005(3):116.

[6] Lyon D A,著.朱劍平,汪青青,譯.JAVA程序員指南[M].北京:清華大學出版社,2005:454.

主站蜘蛛池模板: 亚洲男人天堂久久| 无码日韩精品91超碰| 欧美视频在线第一页| 91福利在线看| 日本人又色又爽的视频| 日韩专区欧美| 九九热视频精品在线| 国产精品午夜福利麻豆| 高清视频一区| 广东一级毛片| av一区二区无码在线| 都市激情亚洲综合久久| 欧美a级完整在线观看| 精品剧情v国产在线观看| 国产人人干| 在线观看亚洲天堂| 久久国产精品影院| 亚洲人成影院午夜网站| 久久精品波多野结衣| 人妻无码中文字幕第一区| 国产成人综合日韩精品无码不卡| 男人的天堂久久精品激情| 国产成在线观看免费视频| 亚洲天堂视频网站| 好紧好深好大乳无码中文字幕| 伊人久久福利中文字幕| 黄网站欧美内射| 中文字幕 欧美日韩| 青青久久91| 91精品啪在线观看国产| 日韩欧美国产中文| 色婷婷在线播放| 亚洲欧美人成电影在线观看| 一级高清毛片免费a级高清毛片| 激情影院内射美女| 91黄视频在线观看| 999国内精品久久免费视频| 日韩欧美国产另类| 欧美劲爆第一页| 99久久婷婷国产综合精| 国产打屁股免费区网站| 日本精品视频一区二区| 亚洲最猛黑人xxxx黑人猛交| 久久香蕉国产线| 亚洲欧美另类专区| 这里只有精品在线| 99这里只有精品6| 美女无遮挡免费视频网站| 亚洲久悠悠色悠在线播放| 最新亚洲av女人的天堂| 亚洲欧洲日韩综合色天使| 国产SUV精品一区二区6| 91九色国产在线| 日本不卡免费高清视频| 毛片卡一卡二| 国产成人精品2021欧美日韩| a在线观看免费| 在线国产毛片手机小视频| 国产又粗又爽视频| 国产91视频观看| 亚洲国产系列| 亚洲大学生视频在线播放| 夜夜爽免费视频| 亚洲精品视频在线观看视频| 91小视频在线| 国产欧美精品午夜在线播放| 香蕉99国内自产自拍视频| 91精品在线视频观看| 亚洲天堂网视频| 91视频99| 99九九成人免费视频精品| 好紧好深好大乳无码中文字幕| 婷婷六月激情综合一区| 日本三级欧美三级| 国产jizz| 2021天堂在线亚洲精品专区 | 欧美精品H在线播放| 97青青青国产在线播放| 久草视频中文| 久久人妻xunleige无码| 国产成人精品日本亚洲| 91在线精品麻豆欧美在线|