專(zhuān)利名稱(chēng):自主元素模型控制系統(tǒng)、方法及服務(wù)器受侵保護(hù)檢測(cè)系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計(jì)算機(jī)軟件的自主計(jì)算技術(shù)和Web技術(shù)領(lǐng)域,尤其涉及ー種新的含兩個(gè)控制循環(huán)的自主元素模型的控制系統(tǒng)和控制方法,以及基于該模型控制系統(tǒng)來(lái)實(shí)現(xiàn)智能化的Web服務(wù)器受侵檢測(cè)和保護(hù)的系統(tǒng)。
背景技術(shù):
自主計(jì)算(autonomic computing)又稱(chēng)自治計(jì)算,是美國(guó)IBM公司的P. Horn于 2001 年 10 月在Autonomic Computing IBM’ s Perspective on tne State of Information Technology—文中提出的ー種新概念及參考標(biāo)準(zhǔn)。IBM將自主計(jì)算定義為“能夠保證電子商務(wù)基礎(chǔ)結(jié)構(gòu)服務(wù)水平的自我管理(self-managing)技木”。其最終目的在于使信息系統(tǒng)能夠自動(dòng)地對(duì)自身進(jìn)行管理,并維持其可靠性。關(guān)于自主計(jì)算的定義,目前的看法尚不統(tǒng)一,根據(jù)K印hart的The Vision of Autonomic Computing 一文一般認(rèn)為自主計(jì)算系統(tǒng)應(yīng)該至少具有如下4個(gè)主要特性自配置(self-configuration)、自修復(fù)(self-healing)、自保護(hù)(self-protection)和自?xún)?yōu)化 (self-optimization) 0其中,自配置是指系統(tǒng)能夠根據(jù)高層策略自動(dòng)配置自己,以適應(yīng)環(huán)境的變化;自修復(fù)是指當(dāng)軟/硬件發(fā)生故障或異常時(shí),系統(tǒng)能夠自動(dòng)地發(fā)現(xiàn)、診斷和修復(fù)故障;自保護(hù)是指當(dāng)系統(tǒng)遇到惡意攻擊或者由于自修復(fù)措施無(wú)效而發(fā)生連串失敗時(shí),能夠從整體上保護(hù)自己,同時(shí),它也可以根據(jù)來(lái)自傳感器的相關(guān)報(bào)告預(yù)測(cè)問(wèn)題,并采取措施加以預(yù)防;自?xún)?yōu)化是指系統(tǒng)能夠不斷尋找方法來(lái)改善性能、降低消耗。自主計(jì)算系統(tǒng)(autonomic computing system)由若干相互聯(lián)系的自主元素 (autonomic element)組成。在策略(policy)的指導(dǎo)下,這些自主元素在實(shí)現(xiàn)內(nèi)部自適應(yīng)的同時(shí)(即局部自主管理),通過(guò)交互和協(xié)作實(shí)現(xiàn)整個(gè)系統(tǒng)的自適應(yīng)(即全局自主管理)。
IBM ^ Si^-zP An Architectural Blueprint for Autonomic Computing 中有關(guān) Autonomic Computing Reference Architecture 的描述。自主元素(autonomic element)是自主計(jì)算系統(tǒng)的基本構(gòu)造塊,它由ー個(gè)自主管理者(autonomic manager)和一到多個(gè)被管元素(managed element)組成。被管元素既可以是各種內(nèi)部資源,包括數(shù)據(jù)庫(kù)、服務(wù)器、路由器、應(yīng)用模塊、Web服務(wù)或虛擬機(jī)器等,也可以是其他自主元素,例如負(fù)責(zé)全局編排的父自主元素可以管理多個(gè)下級(jí)的子自主元素。被管理的內(nèi)部資源一般都提供標(biāo)準(zhǔn)化的接ロ(touchpoint)。每個(gè)touchpoint對(duì)應(yīng)于一個(gè)傳感器(sensor)/效應(yīng)器(effector)組。單個(gè)自主元素一方面通過(guò)自主管理者管理內(nèi)部資源, 另ー方面,它向外提供標(biāo)準(zhǔn)接ロ(傳感器/效應(yīng)器組)接受管理,包括接受IT管理者指定的策略以及與其他自主元素的協(xié)作信息等。自主管理者代替了那些原本需要人工進(jìn)行的管理工作,包括狀態(tài)覺(jué)察和系統(tǒng)配置(configuration)、修復(fù)(healing)、優(yōu)化(optimization) 和保護(hù)(protection)等。自主管理者通過(guò)ー個(gè)“監(jiān)視(monitor)-分析(analyze)-規(guī)劃 (plan)-執(zhí)行(execute) ”控制循環(huán)(control loop)來(lái)實(shí)現(xiàn)這種管理任務(wù)。雖然該控制循環(huán)本身可以多次重復(fù)進(jìn)行,但從結(jié)構(gòu)上講,ー個(gè)經(jīng)典的自主元素只包含ー個(gè)循環(huán)。例如美國(guó)專(zhuān)不丨J US7490095 B2 Scope and Distribution of knowledge in an Autonomic Computing System 中的 FIG. 1。從已有專(zhuān)利來(lái)看,如:US7370098B2,US7490095B2, US7542956B2 和 US7657779B2,均著重于自主計(jì)算技術(shù)的細(xì)化和具體應(yīng)用,而沒(méi)有對(duì)自主元素模型進(jìn)行裁剪和修改。
發(fā)明內(nèi)容
本發(fā)明的目的在于解決上述問(wèn)題,提供了ー種自主元素模型的控制系統(tǒng),更加清晰的表達(dá)依次運(yùn)用兩個(gè)控制循環(huán)來(lái)實(shí)現(xiàn)自主管理的設(shè)計(jì)方案。本發(fā)明的另一目的在于提供了ー種自主元素模型的控制方法,更加清晰的表達(dá)依次運(yùn)用兩個(gè)控制循環(huán)來(lái)實(shí)現(xiàn)自主管理的設(shè)計(jì)理念。本發(fā)明的又一目的在于提供了一種服務(wù)器受侵檢測(cè)保護(hù)系統(tǒng),基于自主計(jì)算技術(shù)即含兩個(gè)控制循環(huán)的自主元素模型來(lái)實(shí)現(xiàn)智能化。本發(fā)明的技術(shù)方案為本發(fā)明掲示了ー種自主元素模型的控制系統(tǒng),包括自主管理裝置、第一被管裝置、第二被管裝置、知識(shí)庫(kù)裝置、第一傳感器接ロ、第一效應(yīng)器、第二傳感器接ロ、第二效應(yīng)器,所述自主管理裝置內(nèi)包括第一循環(huán)控制裝置和第二循環(huán)控制裝置, 其中第一循環(huán)控制裝置包括第一監(jiān)視模塊、第一分析模塊、第一規(guī)劃模塊、第一執(zhí)行模塊, 第二循環(huán)控制裝置包括第二監(jiān)視模塊、第二分析模塊、第二規(guī)劃模塊、第二執(zhí)行模塊,其中所述第一循環(huán)控制裝置和所述第二循環(huán)控制裝置共享所述知識(shí)庫(kù)裝置。根據(jù)本發(fā)明的自主元素模型的控制系統(tǒng)的ー項(xiàng)實(shí)施例,所述第一循環(huán)控制裝置包括所述第一監(jiān)視模塊,通過(guò)所述第一傳感器接ロ收集、聚合、關(guān)聯(lián)和過(guò)濾由所述第一被管裝置發(fā)來(lái)的事件,找出需要進(jìn)ー步分析的癥狀;所述第一分析模塊,連接所述第一監(jiān)視模塊,對(duì)癥狀進(jìn)行進(jìn)一步觀察和分析,以做出是否需要進(jìn)行調(diào)整的決定;所述第一規(guī)劃模塊,連接所述第一分析模塊,產(chǎn)生相應(yīng)的調(diào)整計(jì)劃,以便對(duì)所述第
一被管裝置或所述第二被管裝置進(jìn)行調(diào)整;所述第一執(zhí)行模塊,連接所述第一規(guī)劃模塊,執(zhí)行所述第一規(guī)劃模塊產(chǎn)生的調(diào)整計(jì)劃。根據(jù)本發(fā)明的自主元素模型的控制系統(tǒng)的ー項(xiàng)實(shí)施例,所述第二循環(huán)控制裝置進(jìn)一歩包括所述第二監(jiān)視模塊,當(dāng)所述第一監(jiān)視模塊不能從所述第一被管裝置中收集到所有需要的癥狀或信息以明確病因時(shí),收集、聚合、關(guān)聯(lián)和過(guò)濾由所述第二被管裝置發(fā)來(lái)的事件,找出進(jìn)一歩分析所需要的癥狀或信息;所述第二分析模塊,連接所述第二監(jiān)視模塊,根據(jù)所述知識(shí)庫(kù)裝置中存儲(chǔ)的信息對(duì)從所述第二被管裝置中收集到的癥狀或信息進(jìn)行進(jìn)一歩的分析,以做出是否需要進(jìn)行調(diào)整的決定,其中所述知識(shí)庫(kù)裝置中存儲(chǔ)的信息包括所述第一監(jiān)視模塊收集到的癥狀或信息;所述第二規(guī)劃模塊,連接所述第二分析模塊,產(chǎn)生相應(yīng)的調(diào)整計(jì)劃,以便對(duì)所述第
ニ被管裝置進(jìn)行調(diào)整;
所述第二執(zhí)行模塊,連接所述第二規(guī)劃模塊,執(zhí)行所述第二分析模塊產(chǎn)生的調(diào)整計(jì)劃。本發(fā)明還掲示了ー種自主元素模型的控制方法,在自主元素模型的控制系統(tǒng)上實(shí)施,所述自主元素模型的控制系統(tǒng)包括自主管理裝置、第一被管裝置、第二被管裝置、知識(shí)庫(kù)裝置、第一傳感器接ロ、第一效應(yīng)器、第二傳感器接ロ、第二效應(yīng)器,自主管理裝置包括第一循環(huán)控制裝置和第二循環(huán)控制裝置,其中第一循環(huán)控制裝置包括第一監(jiān)視模塊、第一分析模塊、第一規(guī)劃模塊、第一執(zhí)行模塊,第二循環(huán)控制裝置包括第二監(jiān)視模塊、第二分析模塊、第二規(guī)劃模塊、第二執(zhí)行模塊,其中第一循環(huán)控制裝置和第二循環(huán)控制裝置共享所述知識(shí)庫(kù)裝置。根據(jù)本發(fā)明的自主元素模型的控制方法的一項(xiàng)實(shí)施例,所述控制方法包括第一監(jiān)視模塊收集、聚合、關(guān)聯(lián)和過(guò)濾由第一被管裝置發(fā)來(lái)的事件,找出需要進(jìn)ー 步分析的癥狀;第一分析模塊對(duì)癥狀進(jìn)行進(jìn)一步觀察和分析,以做出是否需要進(jìn)行調(diào)整的決定;第一規(guī)劃模塊產(chǎn)生相應(yīng)的調(diào)整計(jì)劃,以便對(duì)第一被管裝置或第二被管裝置進(jìn)行調(diào)整;第一執(zhí)行模塊執(zhí)行第一規(guī)劃模塊產(chǎn)生的調(diào)整計(jì)劃;其中當(dāng)?shù)谝槐O(jiān)視模塊從第一被管裝置收集到所有需要的癥狀或信息吋,一個(gè)控制循環(huán)就能完成ー個(gè)管理任務(wù)而不必進(jìn)入第二個(gè)控制循環(huán)。根據(jù)本發(fā)明的自主元素模型的控制方法的一項(xiàng)實(shí)施例,該控制方法還包括當(dāng)?shù)谝槐O(jiān)視模塊不能從第一被管裝置收集到所有需要的癥狀或信息吋,第一執(zhí)行模塊發(fā)出信息或請(qǐng)求,以便進(jìn)ー步從第一被管裝置收集所有需要的信息,開(kāi)始第二個(gè)控制循環(huán)第二監(jiān)視模塊收集、聚合、關(guān)聯(lián)和過(guò)濾由第二被管裝置發(fā)來(lái)的事件,找出進(jìn)一歩分折所需要的癥狀或信息;第二分析模塊根據(jù)知識(shí)庫(kù)模塊中已有的信息對(duì)從第二監(jiān)視模塊收集到的癥狀或信息進(jìn)行進(jìn)一歩的分析,以做出是否需要進(jìn)行調(diào)整的決定;第二規(guī)劃模塊產(chǎn)生相應(yīng)的調(diào)整計(jì)劃,以便對(duì)第二被管裝置進(jìn)行調(diào)整;第二執(zhí)行模塊執(zhí)行第二規(guī)劃模塊產(chǎn)生的調(diào)整計(jì)劃。本發(fā)明還掲示了一種服務(wù)器受侵檢測(cè)保護(hù)系統(tǒng),基于自主元素模型的控制系統(tǒng), 所述服務(wù)器受侵檢測(cè)保護(hù)系統(tǒng)包括http請(qǐng)求數(shù)據(jù)收集裝置、http響應(yīng)數(shù)據(jù)收集裝置、自主管理裝置、用戶(hù)接口裝置、知識(shí)庫(kù)服務(wù)器,其中自主管理裝置包括請(qǐng)求控制循環(huán)裝置和響應(yīng)控制循環(huán)裝置,其中http請(qǐng)求數(shù)據(jù)收集裝置,收集http的請(qǐng)求數(shù)據(jù),在http層過(guò)濾掉請(qǐng)求中不需要的數(shù)據(jù),然后將需要的數(shù)據(jù)傳送給自主管理裝置;http響應(yīng)數(shù)據(jù)收集裝置,收集http的響應(yīng)數(shù)據(jù),在http層過(guò)濾掉響應(yīng)中不需要的數(shù)據(jù),然后將需要的數(shù)據(jù)傳送給自主管理裝置;請(qǐng)求控制循環(huán)裝置,檢測(cè)拒絕和防止所有已知類(lèi)型的惡意請(qǐng)求;響應(yīng)控制循環(huán)裝置,修改響應(yīng)中包含的非法內(nèi)容;知識(shí)庫(kù)服務(wù)器,存儲(chǔ)用于判斷請(qǐng)求或響應(yīng)是否正常的定義規(guī)則、關(guān)于請(qǐng)求和響應(yīng)
7的統(tǒng)計(jì)數(shù)據(jù)和動(dòng)態(tài)分析信息;用戶(hù)接口裝置,是系統(tǒng)控制臺(tái),對(duì)知識(shí)庫(kù)服務(wù)器提供人工管理和干預(yù)。根據(jù)本發(fā)明的服務(wù)器受侵檢測(cè)保護(hù)系統(tǒng)的一項(xiàng)實(shí)施例,所述請(qǐng)求控制循環(huán)裝置包括請(qǐng)求監(jiān)視模塊、請(qǐng)求分析模塊、請(qǐng)求規(guī)劃模塊以及請(qǐng)求執(zhí)行模塊,其中請(qǐng)求監(jiān)視模塊,監(jiān)視用戶(hù)通過(guò)互聯(lián)網(wǎng)發(fā)送過(guò)來(lái)的http請(qǐng)求,根據(jù)知識(shí)庫(kù)服務(wù)器提供的定義規(guī)則,將其中的http異常請(qǐng)求傳遞給請(qǐng)求分析模塊,將http正常請(qǐng)求直接發(fā)送到服務(wù)器上的應(yīng)用程序中;請(qǐng)求分析模塊,連接請(qǐng)求監(jiān)視模塊,根據(jù)知識(shí)庫(kù)服務(wù)器提供的信息,對(duì)請(qǐng)求監(jiān)視模塊傳來(lái)的http異常請(qǐng)求進(jìn)行分析,將分析結(jié)果存儲(chǔ)到知識(shí)庫(kù)服務(wù)器中;請(qǐng)求規(guī)劃模塊,連接請(qǐng)求分析模塊,根據(jù)知識(shí)庫(kù)服務(wù)器提供的信息決定自主管理裝置下一步應(yīng)采取的行動(dòng),并將行動(dòng)步驟通知請(qǐng)求執(zhí)行模塊;請(qǐng)求執(zhí)行模塊,連接請(qǐng)求規(guī)劃模塊,根據(jù)請(qǐng)求規(guī)劃模塊的決定實(shí)施行動(dòng)。根據(jù)本發(fā)明的服務(wù)器受侵檢測(cè)保護(hù)系統(tǒng)的一項(xiàng)實(shí)施例,所述響應(yīng)控制循環(huán)裝置包括響應(yīng)監(jiān)視模塊、響應(yīng)分析模塊、響應(yīng)規(guī)劃模塊、響應(yīng)執(zhí)行模塊,其中響應(yīng)監(jiān)視模塊,監(jiān)視從應(yīng)用程序發(fā)送回用戶(hù)的http響應(yīng),基于知識(shí)服務(wù)器提供的定義,將異常的http響應(yīng)傳輸給響應(yīng)分析模塊,將正常的http響應(yīng)直接通過(guò)互聯(lián)網(wǎng)發(fā)送給用戶(hù);響應(yīng)分析模塊,連接響應(yīng)監(jiān)視模塊,根據(jù)知識(shí)庫(kù)服務(wù)器提供的信息,對(duì)從響應(yīng)監(jiān)視模塊傳來(lái)的異常的http響應(yīng)進(jìn)行分析,將分析結(jié)果存儲(chǔ)到知識(shí)庫(kù)服務(wù)器中;響應(yīng)規(guī)劃模塊,連接響應(yīng)分析模塊,根據(jù)知識(shí)庫(kù)服務(wù)器提供的信息,決定自主管理裝置下一步應(yīng)采取的行動(dòng),并將行動(dòng)步驟通知響應(yīng)執(zhí)行模塊;響應(yīng)執(zhí)行模塊,連接響應(yīng)規(guī)劃模塊,根據(jù)響應(yīng)規(guī)劃模塊的決定而實(shí)施行動(dòng)。根據(jù)本發(fā)明的服務(wù)器受侵檢測(cè)保護(hù)系統(tǒng)的一項(xiàng)實(shí)施例,在應(yīng)用程序處理正常http 請(qǐng)求和產(chǎn)生正常http響應(yīng),以及應(yīng)用程序再次受到某種惡意http請(qǐng)求和產(chǎn)生正常http響應(yīng)時(shí),服務(wù)器受侵檢測(cè)保護(hù)系統(tǒng)中僅有請(qǐng)求監(jiān)視模塊參加請(qǐng)求控制循環(huán),以及響應(yīng)監(jiān)視模塊參加響應(yīng)控制循環(huán)。根據(jù)本發(fā)明的服務(wù)器受侵檢測(cè)保護(hù)系統(tǒng)的一項(xiàng)實(shí)施例,在應(yīng)用程序處理正常的 http請(qǐng)求和產(chǎn)生異常http響應(yīng)吋,服務(wù)器受侵檢測(cè)保護(hù)系統(tǒng)中的請(qǐng)求監(jiān)視模塊參加請(qǐng)求控制循環(huán),響應(yīng)監(jiān)視模塊、響應(yīng)分析模塊、響應(yīng)規(guī)劃模塊、響應(yīng)執(zhí)行模塊均參加響應(yīng)控制循環(huán)。根據(jù)本發(fā)明的服務(wù)器受侵檢測(cè)保護(hù)系統(tǒng)的一項(xiàng)實(shí)施例,在應(yīng)用程序第一次處理某種異常http請(qǐng)求和產(chǎn)生正常http響應(yīng),以及應(yīng)用程序第一次處理某種異常http請(qǐng)求和產(chǎn)生異常http響應(yīng)吋,服務(wù)器受侵檢測(cè)保護(hù)系統(tǒng)中的請(qǐng)求監(jiān)視模塊、請(qǐng)求分析模塊、請(qǐng)求規(guī)劃模塊和請(qǐng)求執(zhí)行模塊參加請(qǐng)求控制循環(huán),服務(wù)器受侵檢測(cè)保護(hù)系統(tǒng)中的響應(yīng)監(jiān)視模塊、 響應(yīng)分析模塊、響應(yīng)規(guī)劃模塊、響應(yīng)執(zhí)行模塊參加響應(yīng)控制循環(huán)。根據(jù)本發(fā)明的服務(wù)器受侵檢測(cè)保護(hù)系統(tǒng)的一項(xiàng)實(shí)施例,當(dāng)應(yīng)用程序再次受到某種惡意的http請(qǐng)求而立即拒絕吋,服務(wù)器受侵檢測(cè)保護(hù)系統(tǒng)中僅有請(qǐng)求監(jiān)視模塊、請(qǐng)求分析模塊、請(qǐng)求規(guī)劃模塊和請(qǐng)求執(zhí)行模塊參加請(qǐng)求控制循環(huán),沒(méi)有響應(yīng)控制循環(huán)。本發(fā)明對(duì)比現(xiàn)有技術(shù)有如下的有益效果。本發(fā)明提出了一種含兩個(gè)控制循環(huán)的自主元素模型的控制系統(tǒng),包含ー個(gè)自主管理裝置和兩個(gè)被管裝置,而自主管理裝置本身包含兩個(gè)不同的控制循環(huán),每個(gè)控制循環(huán)經(jīng)過(guò)“監(jiān)視(monitor)-分析(analyze)-規(guī)劃 (plan)-執(zhí)行(execute)”的四個(gè)步驟來(lái)實(shí)現(xiàn)被管裝置的管理任務(wù),這一系統(tǒng)可以更加清晰的表達(dá)依次運(yùn)動(dòng)兩個(gè)控制循環(huán)(這兩個(gè)控制循環(huán)的內(nèi)容有所不同但它們?nèi)怨蚕硗粋€(gè)知識(shí)庫(kù))來(lái)實(shí)現(xiàn)自主管理的設(shè)計(jì)理念。本發(fā)明將自主元素模型的控制系統(tǒng)應(yīng)用于web服務(wù)器受侵檢測(cè)和保護(hù)的系統(tǒng),其中智能化的部份是基于自主計(jì)算技術(shù)(即含兩個(gè)控制循環(huán)的自主元素模型)來(lái)實(shí)現(xiàn)的,本發(fā)明的含兩個(gè)控制循環(huán)的自主元素模型尤其適用于主從 (server-client)結(jié)構(gòu)軟件系統(tǒng)中主從雙方需要同時(shí)管理的場(chǎng)合。
圖Ia是本發(fā)明的自主元素模型的控制系統(tǒng)的實(shí)施例的結(jié)構(gòu)圖。圖Ib是本發(fā)明的自主元素模型的控制方法的實(shí)施例的流程圖。圖2示出了本發(fā)明的服務(wù)器受侵檢測(cè)保護(hù)系統(tǒng)的實(shí)施例的結(jié)構(gòu)圖。圖3示出了本發(fā)明的服務(wù)器受侵檢測(cè)保護(hù)系統(tǒng)處理正常http請(qǐng)求和正常http響應(yīng)(web應(yīng)用程序正常使用情況),以及再次受到某種惡意http請(qǐng)求和正常http響應(yīng)(web 應(yīng)用程序已有防止該種惡意請(qǐng)求的能力)的執(zhí)行流程圖。圖4示出了本發(fā)明的服務(wù)器受侵檢測(cè)保護(hù)系統(tǒng)處理正常http請(qǐng)求和異常http響應(yīng)(web應(yīng)用程序可能出錯(cuò))的執(zhí)行流程圖。圖5示出了本發(fā)明的服務(wù)器受侵檢測(cè)保護(hù)系統(tǒng)第一次處理某種異常http請(qǐng)求和正常http響應(yīng)(web應(yīng)用程序已有防止該種的惡意請(qǐng)求的能力),以及第一次處理某種異常http請(qǐng)求和異常http響應(yīng)(web應(yīng)用程序沒(méi)有防止該種的惡意請(qǐng)求的能力)的執(zhí)行流程圖。圖6示出了本發(fā)明的服務(wù)器受侵檢測(cè)保護(hù)系統(tǒng)再次受到某種惡意http請(qǐng)求而立即拒絕(web應(yīng)用程序沒(méi)有防止該種惡意請(qǐng)求的能力)的執(zhí)行流程圖。圖7示出了通用的Java Web應(yīng)用程序的http請(qǐng)求和響應(yīng)的處理流程圖。圖8示出了本發(fā)明的服務(wù)器受侵檢測(cè)保護(hù)系統(tǒng)中環(huán)繞通知的處理流程圖。圖9示出了本發(fā)明的服務(wù)器受侵檢測(cè)保護(hù)系統(tǒng)中第一個(gè)控制循環(huán)(Request Handler)的處理流程圖。圖10示出了本發(fā)明的服務(wù)器受侵檢測(cè)保護(hù)系統(tǒng)中第二個(gè)控制循環(huán)(Request Handler)的處理流程圖。
具體實(shí)施例方式下面結(jié)合附圖和實(shí)施例對(duì)本發(fā)明作進(jìn)ー步的描述。自主元素模型的控制系統(tǒng)的實(shí)施例圖Ia示出了本發(fā)明的自主元素模型的控制系統(tǒng)的實(shí)施例。請(qǐng)參見(jiàn)圖la,本實(shí)施例的自主元素模型的控制系統(tǒng)包括自主管理裝置80、第一被管裝置81、第二被管裝置82、知識(shí)庫(kù)裝置83、第一傳感器接ロ 84、第一效應(yīng)器85、第二傳感器接ロ 86、第二效應(yīng)器87。自主管理裝置80包括第一循環(huán)控制裝置800和第二循環(huán)控制裝置802。第一循環(huán)控制裝置800 和第二循環(huán)控制裝置802共享知識(shí)庫(kù)裝置83。
第一循環(huán)控制裝置800包括第一監(jiān)視模塊8000、第一分析模塊8001、第一規(guī)劃模塊8002、第一執(zhí)行模塊8003,這四個(gè)模塊依序連接。第一監(jiān)視模塊8000通過(guò)第一傳感器接ロ 84收集、聚合、關(guān)聯(lián)和過(guò)濾由第一被管裝置81發(fā)來(lái)的事件,找出需要進(jìn)ー步分析的癥狀。第一分析模塊8001對(duì)癥狀進(jìn)行進(jìn)ー步觀察和分析,以做出是否需要進(jìn)行調(diào)整的決定。第一規(guī)劃模塊8002產(chǎn)生相應(yīng)的調(diào)整計(jì)劃,以便對(duì)第一被管裝置81或第二被管裝置82進(jìn)行調(diào)整。第一執(zhí)行模塊8003執(zhí)行第一規(guī)劃模塊8002產(chǎn)生的調(diào)整計(jì)劃。第二循環(huán)控制裝置802包括第二監(jiān)視模塊8020、第二分析模塊8021、第二規(guī)劃模塊8022以及第ニ執(zhí)行模塊8023,這四個(gè)模塊之間是依序連接的。當(dāng)?shù)谝槐O(jiān)視模塊8000不能從第一被管裝置81中收集到所有需要的癥狀或信息以明確病因吋,第二監(jiān)視模塊8020收集、聚合、關(guān)聯(lián)和過(guò)濾由第二被管裝置82發(fā)來(lái)的事件,找出進(jìn)ー步分析所需要的癥狀或信息。第二分析模塊8021根據(jù)知識(shí)庫(kù)裝置83中存儲(chǔ)的信息對(duì)從第二被管裝置82中收集到的癥狀或信息進(jìn)行進(jìn)一歩的分析,以做出是否需要進(jìn)行調(diào)整的決定,其中知識(shí)庫(kù)裝置83中存儲(chǔ)的信息包括第一監(jiān)視模塊8000收集到的癥狀或信息。 第二規(guī)劃模塊8022產(chǎn)生相應(yīng)的調(diào)整計(jì)劃,以便對(duì)第二被管裝置82進(jìn)行調(diào)整。第二執(zhí)行模塊8023執(zhí)行第二分析模塊8021產(chǎn)生的調(diào)整計(jì)劃。從結(jié)構(gòu)上來(lái)說(shuō),ー個(gè)經(jīng)典的自主元素只包含一個(gè)控制循環(huán),一個(gè)知識(shí)庫(kù)以及一到多個(gè)被管元素。自主管理者根據(jù)知識(shí)庫(kù)提供的信息,通過(guò)ー個(gè)“監(jiān)視(monitor)-分析 (analyze)-規(guī)劃(plan)-執(zhí)行(execute) ”控制循環(huán)(control loop)來(lái)實(shí)現(xiàn)對(duì)被管元素的管理任務(wù)。但對(duì)于通過(guò)兩個(gè)不同的控制循環(huán)對(duì)兩個(gè)被管元素依此進(jìn)行操作(在操作時(shí)享用 ー個(gè)知識(shí)庫(kù)),來(lái)完成ー個(gè)管理任務(wù)的情況,則經(jīng)典的自主元素模型通常不能清晰地表達(dá)。 而上述需要實(shí)現(xiàn)對(duì)兩個(gè)被管元素依此進(jìn)行操作管理的情況,在主從(server-client)結(jié)構(gòu)軟件系統(tǒng)中尤為普遍。為了解決現(xiàn)有存在的問(wèn)題,本實(shí)施例提供了上述ー種含兩個(gè)控制循環(huán)的自主元素模型。本實(shí)施例的創(chuàng)新點(diǎn)在干,可以更加清晰地表達(dá)兩個(gè)控制循環(huán)(兩種控制循環(huán)的內(nèi)容有所不同但它們?nèi)怨蚕硗粋€(gè)知識(shí)庫(kù)knowledge base)的設(shè)計(jì)理念。而模型本身也與 IBM的經(jīng)典自主元素模型有很大的區(qū)別。它既不是同一種經(jīng)典自主元素的簡(jiǎn)單重復(fù)(簡(jiǎn)單重復(fù)即單個(gè)自主管理者被重復(fù)應(yīng)用多次來(lái)管理不同的被管元素),也不是兩種經(jīng)典自主元素的簡(jiǎn)單相加(簡(jiǎn)單相加即兩個(gè)自主元素分別擁有各自的控制循環(huán)及知識(shí)庫(kù)而都管理同一個(gè)被管元素)。i ^Tnmit^^^TfeilTffe^^MM圖Ib示出了本發(fā)明的自主元素模型的控制方法的實(shí)施例的流程。本實(shí)施例的自主元素模型的控制方法是建立在上述自主元素模型的控制系統(tǒng)的基礎(chǔ)之上實(shí)施的。以下是控制系統(tǒng)上運(yùn)行的控制方法的各步驟的詳細(xì)描述。步驟S100 第一監(jiān)視模塊收集、聚合、關(guān)聯(lián)和過(guò)濾由第一被管裝置發(fā)來(lái)的事件,找出需要進(jìn)ー步分析的癥狀。步驟SlOl 第一分析模塊對(duì)癥狀進(jìn)行進(jìn)一步觀察和分析,以做出是否需要進(jìn)行調(diào)整的決定。步驟S102 第一規(guī)劃模塊產(chǎn)生相應(yīng)的調(diào)整計(jì)劃,以便對(duì)第一被管裝置或第二被管裝置進(jìn)行調(diào)整。步驟S103 第一執(zhí)行模塊執(zhí)行第一規(guī)劃模塊產(chǎn)生的調(diào)整計(jì)劃。步驟S104 當(dāng)?shù)谝槐O(jiān)視模塊從第一被管裝置收集到所有需要的癥狀或信息吋,一個(gè)控制循環(huán)就能完成ー個(gè)管理任務(wù)而不必進(jìn)入第二個(gè)控制循環(huán)。步驟S105 當(dāng)?shù)谝槐O(jiān)視模塊不能從第一被管裝置收集到所有需要的癥狀或信息吋,第一執(zhí)行模塊發(fā)出信息或請(qǐng)求,以便進(jìn)ー步從第一被管裝置收集所有需要的信息,開(kāi)始第二個(gè)控制循環(huán)。步驟S106 第二監(jiān)視模塊收集、聚合、關(guān)聯(lián)和過(guò)濾由第二被管裝置發(fā)來(lái)的事件,找出進(jìn)ー步分析所需要的癥狀或信息。步驟S107 第二分析模塊根據(jù)知識(shí)庫(kù)模塊中已有的信息對(duì)從第二監(jiān)視模塊收集到的癥狀或信息進(jìn)行進(jìn)一歩的分析,以做出是否需要進(jìn)行調(diào)整的決定。步驟S108 第二規(guī)劃模塊產(chǎn)生相應(yīng)的調(diào)整計(jì)劃,以便對(duì)第二被管裝置進(jìn)行調(diào)整。步驟S109 第二執(zhí)行模塊執(zhí)行第二規(guī)劃模塊產(chǎn)生的調(diào)整計(jì)劃。服各器警停檢測(cè)保護(hù)系統(tǒng)的實(shí)施例圖2示出了本發(fā)明的服務(wù)器受侵檢測(cè)保護(hù)系統(tǒng)的實(shí)施例的結(jié)構(gòu)。請(qǐng)參見(jiàn)圖2,本實(shí)施例的服務(wù)器受侵檢測(cè)保護(hù)系統(tǒng)是上述的自主元素模型的實(shí)用性的體現(xiàn),其中智能化的部分是基于自主計(jì)算技術(shù)即含兩個(gè)控制循環(huán)的自主元素模型來(lái)實(shí)現(xiàn)的,這種含有兩個(gè)控制循環(huán)的自主元素模型尤其適用于主從(server-client)結(jié)構(gòu)軟件系統(tǒng)中主從雙方需要同時(shí)管理的場(chǎng)合。普遍的入侵檢測(cè)和防御系統(tǒng)是通過(guò)與已知的入侵方式進(jìn)行比較,確定入侵是否發(fā)生以及發(fā)生入侵的類(lèi)型,在攻擊剛剛開(kāi)始的時(shí)候進(jìn)行確認(rèn)并進(jìn)行防御。ー個(gè)典型的入侵檢測(cè)和防御系統(tǒng)通常有四部分組成傳感器(sensor)、管理服務(wù)器(management server)、數(shù)據(jù)庫(kù)服務(wù)器(database server)和控制臺(tái)(console)。本實(shí)施例的服務(wù)器受侵檢測(cè)保護(hù)系統(tǒng)是基于上述的自主元素模型的控制系統(tǒng)來(lái)實(shí)現(xiàn)的,包括http請(qǐng)求數(shù)據(jù)收集裝置210、http響應(yīng)數(shù)據(jù)收集裝置211、自主管理裝置 200 (autonomic manager)、知識(shí)庫(kù)服務(wù)器 209 (knowledge base)和用戶(hù)接口裝置 222。http請(qǐng)求數(shù)據(jù)收集裝置210和http響應(yīng)數(shù)據(jù)收集裝置211實(shí)質(zhì)上是http servlets的aspect程序,從模型角度看相當(dāng)于兩個(gè)傳感器。其中http請(qǐng)求數(shù)據(jù)收集裝置 210是外部http請(qǐng)求傳到后首先遇到的模塊,用來(lái)收集http的請(qǐng)求數(shù)據(jù)。而http響應(yīng)數(shù)據(jù)收集裝置211用來(lái)收集http的響應(yīng)數(shù)據(jù)。http請(qǐng)求數(shù)據(jù)收集裝置210和http響應(yīng)數(shù)據(jù)收集裝置211在http層過(guò)濾請(qǐng)求或響應(yīng)中不需要的內(nèi)容,然后將需要的數(shù)據(jù)傳給自主管理裝置200。由傳感器來(lái)監(jiān)視http請(qǐng)求是Web服務(wù)器入侵檢測(cè)的通常采用的手段。例如埃莫西約等人(Hermosillo et al.)設(shè)計(jì)的AproSec就是采用這種手段。而本實(shí)施例的服務(wù)器入侵檢測(cè)保護(hù)系統(tǒng)不僅監(jiān)視http請(qǐng)求,而且還監(jiān)視服務(wù)器的http響應(yīng)。Http響應(yīng)包含了從Web應(yīng)用程序發(fā)送回Web客戶(hù)端的響應(yīng)數(shù)據(jù)。通過(guò)分析http響應(yīng),服務(wù)器入侵檢測(cè)保護(hù)系統(tǒng)可以判斷出服務(wù)器上的Web應(yīng)用程序是否已有防止某些類(lèi)型惡意攻擊的能力。因此, 服務(wù)器入侵檢測(cè)保護(hù)系統(tǒng)中的自主管理者(autonomic manager) 200含有兩個(gè)控制循環(huán),一個(gè)用于http請(qǐng)求,另ー個(gè)用于http響應(yīng)。
知識(shí)庫(kù)服務(wù)器209存儲(chǔ)了用于判斷請(qǐng)求或響應(yīng)是否正常的定義規(guī)則、關(guān)于請(qǐng)求和響應(yīng)的統(tǒng)計(jì)數(shù)據(jù)和動(dòng)態(tài)分析信息。自主管理裝置200中包含兩個(gè)控制循環(huán)的裝置請(qǐng)求控制循環(huán)裝置和響應(yīng)控制循環(huán)裝置。根據(jù)知識(shí)庫(kù)服務(wù)器209定義的規(guī)則,請(qǐng)求控制循環(huán)裝置用于http請(qǐng)求的控制循環(huán)能夠檢測(cè)拒絕和防止所有已知類(lèi)型的惡意請(qǐng)求,而響應(yīng)控制循環(huán)裝置用于http響應(yīng)的控制循環(huán)回路可以修改響應(yīng)中包含的非法內(nèi)容。請(qǐng)求控制循環(huán)裝置包括了請(qǐng)求監(jiān)視模塊201 (request monitor)、請(qǐng)求分析?!缐?02 (request analyzer)、請(qǐng)求規(guī)劃?!缐?03 (request planner)和請(qǐng)求執(zhí)行模塊204(request executor)。請(qǐng)求監(jiān)視模塊201、請(qǐng)求分析模塊202、請(qǐng)求規(guī)劃模塊203 和請(qǐng)求執(zhí)行模塊204之間是依序相連的關(guān)系。響應(yīng)控制循環(huán)裝置包括了響應(yīng)監(jiān)視模塊 205 (response monitor)、口向應(yīng)分析模塊 206 (response analyzer)、口向應(yīng)規(guī)劃模塊 207 (response planner)禾口口向應(yīng)執(zhí)行模塊 208 (response executor)??谙驊?yīng)監(jiān)視模塊 205、口向應(yīng)分析模塊206、響應(yīng)規(guī)劃模塊207和響應(yīng)執(zhí)行模塊208之間是依序相連的關(guān)系。請(qǐng)求監(jiān)視模塊201用于監(jiān)視用戶(hù)通過(guò)互聯(lián)網(wǎng)220發(fā)送過(guò)來(lái)的http請(qǐng)求。http請(qǐng)求有兩類(lèi)正常的請(qǐng)求和異常的請(qǐng)求。它們各自的定義均存放在知識(shí)庫(kù)服務(wù)器209中?;谥R(shí)庫(kù)服務(wù)器209提供的定義規(guī)則,請(qǐng)求監(jiān)視模塊201對(duì)于上述兩類(lèi)請(qǐng)求分別采取不同的行動(dòng)。異常的請(qǐng)求將被傳遞給請(qǐng)求分析模塊202作進(jìn)一步分析;正常的請(qǐng)求將不作任何修改而直接被送到服務(wù)器上的應(yīng)用程序221 (web application)去。請(qǐng)求分析模塊202根據(jù)知識(shí)庫(kù)服務(wù)器209提供的信息,對(duì)從請(qǐng)求監(jiān)視模塊201傳來(lái)的http異常請(qǐng)求進(jìn)行深入分析。分析的結(jié)果,將被存儲(chǔ)到知識(shí)庫(kù)服務(wù)器209中。請(qǐng)求規(guī)劃模塊203根據(jù)知識(shí)庫(kù)服務(wù)器209提供的信息,決定自主管理裝置200下一步應(yīng)采取的行動(dòng)并將行動(dòng)步驟通知請(qǐng)求執(zhí)行模塊204。請(qǐng)求執(zhí)行模塊204根據(jù)請(qǐng)求規(guī)劃模塊203的決定而實(shí)施具體行動(dòng)。例如,在應(yīng)用程序221不能防護(hù)某種類(lèi)型的惡意請(qǐng)求的情況下,請(qǐng)求執(zhí)行模塊204將直接向用戶(hù)發(fā)送一個(gè)http拒絕響應(yīng)信號(hào)。響應(yīng)監(jiān)視模塊205用于監(jiān)視從應(yīng)用程序發(fā)送回用戶(hù)的http響應(yīng)。Http響應(yīng)也可以分為兩類(lèi)正常的響應(yīng)和異常的響應(yīng)。它們的定義也均存放在知識(shí)庫(kù)服務(wù)器209中?;谥R(shí)庫(kù)服務(wù)器209提供的定義,響應(yīng)監(jiān)視模塊206對(duì)于上述兩類(lèi)響應(yīng)分別采取不同的行動(dòng)。異常的響應(yīng)將被傳遞給響應(yīng)分析模塊206作進(jìn)一步分析;正常的響應(yīng)將不作任何過(guò)濾而通過(guò)互聯(lián)網(wǎng)220被送給用戶(hù)。響應(yīng)分析模塊206根據(jù)知識(shí)庫(kù)服務(wù)器209提供的信息,對(duì)從響應(yīng)監(jiān)視模塊205傳來(lái)的http異常響應(yīng)進(jìn)行深入分析。例如檢查http響應(yīng)中是否包含有敏感信息(如管理員賬號(hào)信息)。響應(yīng)分析模塊206分析的結(jié)果,將被存儲(chǔ)到知識(shí)庫(kù)服務(wù)器209中。響應(yīng)規(guī)劃模塊207根據(jù)知識(shí)庫(kù)服務(wù)器209提供的信息,決定自主管理裝置200下一步應(yīng)采取的行動(dòng)并將行動(dòng)步驟通知響應(yīng)執(zhí)行模塊208。響應(yīng)執(zhí)行模塊208根據(jù)響應(yīng)規(guī)劃模塊207的決定而實(shí)施具體行動(dòng)。例如,在明確 http響應(yīng)中包含有非法的敏感信息情況下,響應(yīng)執(zhí)行模塊204會(huì)先過(guò)濾掉http響應(yīng)中敏感信息,然后向用戶(hù)發(fā)送一個(gè)干凈的http響應(yīng)信號(hào)。圖2中,知識(shí)庫(kù)服務(wù)器209存儲(chǔ)有用于判斷請(qǐng)求或響應(yīng)是否正常的定義規(guī)則;各種關(guān)于請(qǐng)求和響應(yīng)的統(tǒng)計(jì)數(shù)據(jù)和動(dòng)態(tài)分析信息。例如,請(qǐng)求監(jiān)視模塊201基于知識(shí)庫(kù)服務(wù)器209提供的定義規(guī)則來(lái)判斷的http請(qǐng)求否是正常;請(qǐng)求監(jiān)視模塊201還可以收集某時(shí)間窗口內(nèi)的所有事件數(shù)據(jù),并將它們存儲(chǔ)在知識(shí)庫(kù)服務(wù)器209中。這些存儲(chǔ)在知識(shí)庫(kù)中的事件數(shù)據(jù),為請(qǐng)求分析模塊202對(duì)http請(qǐng)求作進(jìn)一步分析提供了豐富的參考資料。知識(shí)庫(kù)服務(wù)器209經(jīng)過(guò)較長(zhǎng)時(shí)間的學(xué)習(xí)和積累Web應(yīng)用程序和客戶(hù)端之間的活動(dòng)數(shù)據(jù),能夠規(guī)定哪些是常見(jiàn)的請(qǐng)求和響應(yīng)數(shù)據(jù),哪些是異常的請(qǐng)求和響應(yīng)數(shù)據(jù)。在此基礎(chǔ)上,判別出未知類(lèi)型的網(wǎng)絡(luò)攻擊發(fā)生的潛在可能性,從而提醒用戶(hù)加以關(guān)注。因此,知識(shí)庫(kù)是智能化的Web服務(wù)器入侵檢測(cè)保護(hù)系統(tǒng)的重要組成部分。圖2中,基于Web的用戶(hù)接口裝置222是服務(wù)器入侵檢測(cè)保護(hù)系統(tǒng)的控制臺(tái)。它本身利用了 Web服務(wù)器上的Web應(yīng)用程序,對(duì)自主管理裝置200提供人工管理或干預(yù)。例如增加或更新知識(shí)庫(kù)服務(wù)器209中關(guān)于惡意請(qǐng)求的類(lèi)型或定義規(guī)則。請(qǐng)參照?qǐng)D3,為本實(shí)施例的服務(wù)器入侵檢測(cè)保護(hù)系統(tǒng)處理正常http請(qǐng)求和正常 http響應(yīng)的執(zhí)行流程圖。圖3中,請(qǐng)求監(jiān)視模塊301接收到正常的http請(qǐng)求,而服務(wù)器上的Web應(yīng)用程序321發(fā)送的正常http響應(yīng)。其執(zhí)行流程如下步驟331,請(qǐng)求監(jiān)視模塊301接收到http請(qǐng)求。步驟332,請(qǐng)求監(jiān)視模塊301根據(jù)知識(shí)庫(kù)服務(wù)器309存儲(chǔ)的規(guī)則,判定該http請(qǐng)求是正常的。步驟333,請(qǐng)求監(jiān)視模塊301將正常的http請(qǐng)求傳遞給服務(wù)器。步驟334,服務(wù)器發(fā)送http響應(yīng)。步驟335,響應(yīng)監(jiān)視模塊305根據(jù)知識(shí)庫(kù)服務(wù)器309存儲(chǔ)的規(guī)則,判定該http響應(yīng)是正常的。步驟336,響應(yīng)監(jiān)視模塊305將正常的http響應(yīng)發(fā)送給用戶(hù)。請(qǐng)參照?qǐng)D4,為本實(shí)施例的服務(wù)器入侵檢測(cè)保護(hù)系統(tǒng)的處理正常http請(qǐng)求和異常 http響應(yīng)的執(zhí)行流程圖。在圖4中,請(qǐng)求監(jiān)視模塊401接收到正常的http請(qǐng)求,而服務(wù)器上的Web應(yīng)用程序421發(fā)送了的不正常http響應(yīng)。其執(zhí)行流程如下步驟431,請(qǐng)求監(jiān)視模塊401接收到http請(qǐng)求。步驟432,請(qǐng)求監(jiān)視模塊401根據(jù)知識(shí)庫(kù)服務(wù)器409存儲(chǔ)的規(guī)則,判定該http請(qǐng)求是正常的。步驟433,請(qǐng)求監(jiān)視模塊401將正常的http請(qǐng)求傳遞給服務(wù)器。步驟434,服務(wù)器發(fā)送http響應(yīng)。步驟435,響應(yīng)監(jiān)視模塊405根據(jù)知識(shí)庫(kù)服務(wù)器409存儲(chǔ)的規(guī)則,判定該http響應(yīng)是異常的。步驟436,響應(yīng)監(jiān)視模塊405將http響應(yīng)傳遞給響應(yīng)分析模塊406做進(jìn)一步分析。步驟437,響應(yīng)分析模塊406將分析結(jié)果存儲(chǔ)入知識(shí)庫(kù)服務(wù)器409。步驟438,響應(yīng)規(guī)劃模塊407通知響應(yīng)執(zhí)行模塊408發(fā)出警告。步驟439,響應(yīng)執(zhí)行模塊408將過(guò)濾后的http響應(yīng)及警告發(fā)送給用戶(hù)。以通知用戶(hù)Web應(yīng)用程序421可能出錯(cuò)了(malfunction)。請(qǐng)參照?qǐng)D5,為本實(shí)施例的服務(wù)器入侵檢測(cè)和保護(hù)系統(tǒng)在第一次受到某種已知類(lèi)型的惡意http請(qǐng)求,而發(fā)現(xiàn)被保護(hù)Web應(yīng)用程序已有防止該種的惡意請(qǐng)求的能力的執(zhí)行流程圖。在圖5中,請(qǐng)求監(jiān)視模塊501接收到不正常的http請(qǐng)求,而服務(wù)器上的Web應(yīng)用程序521發(fā)送了的正常http響應(yīng)。其執(zhí)行流程如下步驟531,請(qǐng)求監(jiān)視模塊501接收到http請(qǐng)求。步驟532,請(qǐng)求監(jiān)視模塊501根據(jù)知識(shí)庫(kù)服務(wù)器509存儲(chǔ)的規(guī)則,判定該http請(qǐng)求是異常的。步驟533,請(qǐng)求監(jiān)視模塊501將異常的http請(qǐng)求傳遞到請(qǐng)求分析模塊502。請(qǐng)求分析模塊502檢查是否第一次收到該種異常請(qǐng)求。如果是的話,則做深入分析,并將結(jié)果記錄在知識(shí)庫(kù)服務(wù)器509中。然后,請(qǐng)求分析模塊502將請(qǐng)求進(jìn)一步傳遞到請(qǐng)求規(guī)劃模塊503 和請(qǐng)求執(zhí)行模塊504。步驟534,如果該種異常http請(qǐng)求對(duì)Web應(yīng)用程序521具有破壞性,例如,刪除一個(gè)表,該請(qǐng)求將被立即拒絕。步驟535,如果該種異常http請(qǐng)求對(duì)Web應(yīng)用程序521沒(méi)有破壞性,則請(qǐng)求將被傳遞給服務(wù)器。步驟536,服務(wù)器發(fā)送http響應(yīng)。步驟537,響應(yīng)監(jiān)視模塊505根據(jù)知識(shí)庫(kù)服務(wù)器509存儲(chǔ)的規(guī)則,判定該http響應(yīng)是正常的。步驟538,響應(yīng)分析模塊506將分析結(jié)果存儲(chǔ)入知識(shí)庫(kù)服務(wù)器509。步驟539,響應(yīng)執(zhí)行模塊508將正常的http響應(yīng)發(fā)送給用戶(hù)。值得注意的是,本實(shí)施例的服務(wù)器入侵檢測(cè)和保護(hù)系統(tǒng)再次受到某種已知類(lèi)型的惡意http請(qǐng)求而發(fā)現(xiàn)被保護(hù)Web應(yīng)用程序已有防止該種的惡意請(qǐng)求的能力的執(zhí)行流程圖與圖3同,故不贅畫(huà),請(qǐng)依舊參照?qǐng)D3。其執(zhí)行流程如下步驟331,請(qǐng)求監(jiān)視模塊301接收到http請(qǐng)求。步驟332,請(qǐng)求監(jiān)視模塊301根據(jù)知識(shí)庫(kù)服務(wù)器309存儲(chǔ)的信息,知道該種http請(qǐng)求是惡意的,并且知道被保護(hù)Web應(yīng)用程序321已有防止該種的惡意請(qǐng)求的能力。步驟333,請(qǐng)求監(jiān)視模塊301將該種異常的http請(qǐng)求傳遞給服務(wù)器。步驟334,服務(wù)器發(fā)送http響應(yīng)。步驟335,請(qǐng)求監(jiān)視模塊305根據(jù)知識(shí)庫(kù)服務(wù)器309存儲(chǔ)的規(guī)則,判定該http響應(yīng)是正常的。步驟336,請(qǐng)求監(jiān)視模塊305將正常的http響應(yīng)發(fā)送給用戶(hù)。值得注意的是,本實(shí)施例的服務(wù)器入侵檢測(cè)保護(hù)系統(tǒng)在第一次受到某種已知類(lèi)型的惡意http請(qǐng)求而發(fā)現(xiàn)被保護(hù)Web應(yīng)用程序沒(méi)有防止該種的惡意請(qǐng)求的能力的執(zhí)行流程圖與圖5同,故不贅畫(huà),請(qǐng)依舊參照?qǐng)D5。步驟531,響應(yīng)監(jiān)視模塊501接收到http請(qǐng)求。步驟532,響應(yīng)監(jiān)視模塊501根據(jù)知識(shí)庫(kù)服務(wù)器509存儲(chǔ)的規(guī)則,判定該http請(qǐng)求是異常的。步驟533,響應(yīng)監(jiān)視模塊501將異常的http請(qǐng)求傳遞到響應(yīng)分析模塊502。響應(yīng)分析模塊502檢查是否第一次收到該種異常請(qǐng)求。如果是的話,則做深入分析,并將結(jié)果記錄在知識(shí)庫(kù)服務(wù)器509中。然后,響應(yīng)分析模塊502將請(qǐng)求進(jìn)一步傳遞到響應(yīng)規(guī)劃模塊503 和響應(yīng)執(zhí)行模塊504。步驟534,如果該種異常http請(qǐng)求對(duì)Web應(yīng)用程序521具有破壞性,例如,刪除一個(gè)表,該請(qǐng)求將被立即拒絕。步驟535,如果該種異常http請(qǐng)求對(duì)Web應(yīng)用程序521沒(méi)有破壞性,則請(qǐng)求將被傳遞給服務(wù)器。步驟536,服務(wù)器發(fā)送http響應(yīng)。步驟537,響應(yīng)監(jiān)視模塊505根據(jù)知識(shí)庫(kù)服務(wù)器509存儲(chǔ)的規(guī)則,判定該http響應(yīng)是非法的。步驟538,響應(yīng)分析模塊506將分析結(jié)果存儲(chǔ)入知識(shí)庫(kù)服務(wù)器509,并告知Web應(yīng)用程序521對(duì)該類(lèi)異常http請(qǐng)求沒(méi)有識(shí)別及防護(hù)能力。步驟539,響應(yīng)執(zhí)行模塊508將警告發(fā)送給用戶(hù)。請(qǐng)參照?qǐng)D6,為本實(shí)施例的服務(wù)器入侵檢測(cè)保護(hù)系統(tǒng)在再次受到某種已知類(lèi)型的惡意http請(qǐng)求,而被保護(hù)Web應(yīng)用程序沒(méi)有防止該種的惡意請(qǐng)求的能力的執(zhí)行流程圖。其執(zhí)行流程如下步驟631,請(qǐng)求監(jiān)視模塊601接收到http請(qǐng)求。步驟632,請(qǐng)求監(jiān)視模塊601根據(jù)知識(shí)庫(kù)服務(wù)器609存儲(chǔ)的規(guī)則,判定該http請(qǐng)求是是異常的。請(qǐng)求監(jiān)視模塊601將異常的http請(qǐng)求傳遞到請(qǐng)求執(zhí)行模塊602。步驟633,請(qǐng)求執(zhí)行模塊602進(jìn)一步判定該http請(qǐng)求是否是惡意的,并且知道被保護(hù)Web應(yīng)用程序621沒(méi)有防止該種的惡意請(qǐng)求的能力。步驟634,請(qǐng)求執(zhí)行模塊604拒絕該http請(qǐng)求。為了進(jìn)一步說(shuō)明圖2中有關(guān)http請(qǐng)求數(shù)據(jù)收集裝置和http響應(yīng)數(shù)據(jù)收集裝置的(其實(shí)質(zhì)是http servlets的aspect程序)210和211的工作原理,這里先介紹“通用的”Java Web應(yīng)用程序的http請(qǐng)求和響應(yīng)的處理流程,請(qǐng)參照?qǐng)D7。圖7中,一個(gè)典型的客戶(hù)和Web應(yīng)用程序的交互過(guò)程如下步驟731,客戶(hù)(Web client) 710發(fā)送http請(qǐng)求給Web服務(wù)器。步驟732,Web服務(wù)器將請(qǐng)求轉(zhuǎn)換成一個(gè)HttpkrvletRequest類(lèi)的對(duì)象。這個(gè)對(duì)象被傳給一個(gè)Web組件(component)。步驟733734,該Web組件能與JavaBeans組件或數(shù)據(jù)庫(kù)進(jìn)行交互并產(chǎn)生動(dòng)態(tài)內(nèi)容。步驟735,該Web組件能產(chǎn)生一個(gè)HttpkrvletResponse類(lèi)的對(duì)象?;蛘邔⒄?qǐng)求傳給另一個(gè)Web組件。步驟736,Web服務(wù)器將該對(duì)象轉(zhuǎn)換成一個(gè)http響應(yīng)并發(fā)送給用戶(hù)。眾所周知,Java源程序的擴(kuò)展名為java而AspectJ源程序的擴(kuò)展名為.aj。圖2中 http servlets的aspect程序210和211在具體實(shí)現(xiàn)中的文件名為:HttpServletAspect. aj。它是傳感器的核心。AOP(Aspect-Oriented Programming) 43, ^ (jointpoint) ^^jMiiAlS 用程序的地方,該點(diǎn)能被方法(method)調(diào)用,而且也會(huì)被拋出意外。連接點(diǎn)是應(yīng)用程序提供給切面插入的地方,可以添加新的方法。通知,又稱(chēng)處理邏輯(advice)是切面功能的實(shí)現(xiàn),它通知程序新的行為。如在logging里,logging advice包括logging的實(shí)現(xiàn)代碼。通知(advice)在連接點(diǎn) (jointpoint)處插入到應(yīng)用程序中。切點(diǎn)(pointcut)可以控制把哪些advice應(yīng)用于連接點(diǎn)(jointpoint)上去,通常使用切點(diǎn)通過(guò)正則表達(dá)式來(lái)把明顯的名字和模式進(jìn)行匹配應(yīng)用。決定了那個(gè)連接點(diǎn)會(huì)獲得通知。在HttpkrvletAspect中,定義了一個(gè)混合的切點(diǎn)(pointcut)名為 servletRequestExec。public pointcut servletRequestExec()within(HttpServlet+)&&call (*HttpServlet. do*(..));在上述混合切點(diǎn)servletRequestExec中,使用布爾操作符&&混合了兩個(gè)切點(diǎn) withinO和call ()。首先,它會(huì)識(shí)別執(zhí)行代碼中匹配Httpkrvlet+類(lèi)型的每個(gè)連接點(diǎn) (joint point)。換句話說(shuō),任何 Httpkrvlet 類(lèi)及其子類(lèi)中(即 HttpServletRequest 和HttpServletRequest)的連接點(diǎn)都會(huì)被挑選出來(lái)。其次,它將識(shí)別每一個(gè)匹配 Httpkrvlet. do*方法調(diào)用(method call)的連接點(diǎn),而不管其返回類(lèi)型和參數(shù)是什么。 我們的目標(biāo)是要找出每一在Httpkrvlet以及它的子類(lèi)(即HttpServletRequest和 HttpServletRequest)中的執(zhí)行 doGet()和 doPostO 方法的連接點(diǎn)。編寫(xiě)了與切點(diǎn)servletRequestExec匹配的環(huán)繞通知(around advice),以及從連接點(diǎn)傳入該通知的上下文(context)void around(Object servlet, Object request, Object reponse)servletRequestExec () &&this (servlet) &&args (request, response)()如上述源代碼所示,切點(diǎn)除了 servletRequestExec外,還有this ()和args ()。 切點(diǎn)this()和args()是AspectJ用來(lái)收集連接點(diǎn)的上下文(context)的。這樣,當(dāng)切點(diǎn)servletRequestExec被切到時(shí),當(dāng)前的執(zhí)行對(duì)象“servlet”和它的參數(shù)“request”和 "response,,(艮HttpServletRequest 對(duì)象禾口 HttpServletResponse 對(duì)象)被傳遞給環(huán)繞通知。請(qǐng)參照?qǐng)D8,為本實(shí)施例的Web服務(wù)器入侵檢測(cè)保護(hù)系統(tǒng)中環(huán)繞通知(around advice)的處理流程。它是AspectJ程序的核心。也是信息出入自主管理者的必經(jīng)通道。它包含了兩個(gè)獨(dú)立步驟第一個(gè)步驟是驗(yàn)證的http請(qǐng)求。在這個(gè)過(guò)程中,一個(gè)包含原始http 請(qǐng)求的新的包裹響應(yīng)(即wrapped response)對(duì)象被創(chuàng)建起來(lái)。環(huán)繞通知將原始的http 請(qǐng)求以及新的包裹響應(yīng)對(duì)象傳給自主管理者(autonomic manager) 200 (具體地說(shuō),就是請(qǐng)求處理RequestHandler,請(qǐng)參見(jiàn)下文)做入侵檢測(cè),請(qǐng)參照?qǐng)D2。請(qǐng)求處理RequestHandler 的對(duì)象將保存有自主管理裝置的分析結(jié)果。如果分析結(jié)果表明,原始的http請(qǐng)求不應(yīng)該傳遞給Web應(yīng)用程序或者用戶(hù),則環(huán)繞通知就會(huì)將拒絕信息傳達(dá)給用戶(hù)。否則,原始的請(qǐng)求將被傳遞給Web應(yīng)用程序221,請(qǐng)參照?qǐng)D2。第二個(gè)步驟是分析的http響應(yīng)。請(qǐng)求處理RequestHandler的對(duì)象保存有自主管理者的分析結(jié)果,如果結(jié)果表明需要檢查http響應(yīng),則環(huán)繞通知將會(huì)把http響應(yīng)(包含有原h(huán)ttp請(qǐng)求信息)傳給自主管理裝置200 (具體地說(shuō),就是響應(yīng)處理ResponseHandler,請(qǐng)參見(jiàn)下文)做進(jìn)一步檢測(cè)。否則,http響應(yīng)將不作任何修改經(jīng)hternet/Intranet 220傳遞給用戶(hù),請(qǐng)參照?qǐng)D2。如上所述,http響應(yīng)有時(shí)需要做進(jìn)一步檢測(cè),以確定Web應(yīng)用程序是否已有防止某種的惡意請(qǐng)求的能力。值得注意的是,在Java Servlet API中原有的包裹響應(yīng)HttpkrvletResponseWrapper并不提供getContentO方法以方便開(kāi)發(fā)人員提取http 響應(yīng)的內(nèi)容。因此我們只好創(chuàng)建我們自己的名為WrapperResponse的包裹響應(yīng)。它是有的包裹響應(yīng)HttpkrvletResponseWrapper的擴(kuò)展,并且覆蓋了原有的getOutputStream()和 getffriter ()方法。由此,響應(yīng)內(nèi)容將會(huì)寫(xiě)入到WrapperResponse的輸出流中,而不是原有的 HttpServletResponseWrapper 中。在 WrapperResponse 中新建的 getContent ()方法貝是用來(lái)返回響應(yīng)內(nèi)容的。請(qǐng)參照?qǐng)D2,服務(wù)器入侵檢測(cè)保護(hù)系統(tǒng)中的自主管理裝置200不僅檢查http請(qǐng)求, 有時(shí)還檢查Web應(yīng)用程序的http響應(yīng)。在具體實(shí)施中,一個(gè)處理程序(Handler)是一個(gè)對(duì)象,是系統(tǒng)用于連接的monitor,analyzer,planner和executor四個(gè)模塊的程序。處理程序 Handler 有兩種類(lèi)型RequestHandler 和 ResponseHandler。他們?cè)谧灾鞴芾碚?autonomic manager) 200中分別處理http請(qǐng)求和http響應(yīng)。請(qǐng)參照?qǐng)D9,服務(wù)器入侵檢測(cè)保護(hù)系統(tǒng)中RequestHandler (第一個(gè)控制循環(huán))的處理流程。自主管理者將http請(qǐng)求傳給RequestHandler,以檢查請(qǐng)求的數(shù)據(jù),然后決定下一步的行動(dòng)。RequestHandler的首先為每個(gè)http請(qǐng)求創(chuàng)建一個(gè)請(qǐng)求監(jiān)視模塊的對(duì)象。請(qǐng)求監(jiān)視模塊決定是否將原始請(qǐng)求傳遞到Web應(yīng)用程序。如果是,請(qǐng)求監(jiān)視模塊對(duì)象將返回一個(gè)true值給自主管理者。否則,該請(qǐng)求將被傳遞到請(qǐng)求分析模塊的對(duì)象作進(jìn)一步調(diào)查。請(qǐng)求分析模塊決定是否將請(qǐng)求傳遞到Web應(yīng)用程序。如果請(qǐng)求被拒絕,請(qǐng)求執(zhí)行模塊對(duì)象將產(chǎn)生拒絕響應(yīng)。如果請(qǐng)求被接受,則該請(qǐng)求將被傳遞到Web應(yīng)用程序。請(qǐng)參照?qǐng)D10,服務(wù)器入侵檢測(cè)保護(hù)系統(tǒng)中ResponseHandler (第二個(gè)控制循環(huán))的處理流程。首先ResponseHandler的將為http響應(yīng)創(chuàng)建一個(gè)響應(yīng)監(jiān)視模塊對(duì)象。響應(yīng)監(jiān)視模塊則通過(guò)handlehttpContentO方法檢查響應(yīng)是否正常。如果是,響應(yīng)監(jiān)視模塊對(duì)象將返回一個(gè)true值給自主管理者,而正常http響應(yīng)將被傳給用戶(hù)。否則,該響應(yīng)將被傳遞到響應(yīng)分析模塊對(duì)象作進(jìn)一步驗(yàn)證。響應(yīng)分析模塊將把驗(yàn)證結(jié)果記錄到的知識(shí)庫(kù)中。這一驗(yàn)證結(jié)果會(huì)表明Web應(yīng)用程序是否對(duì)某種惡意請(qǐng)求已具有入侵檢測(cè)和保護(hù)的能力。另一方面,知識(shí)庫(kù)也獲得了更多關(guān)于被保護(hù)的Web應(yīng)用程序自有防護(hù)能力的知識(shí)。請(qǐng)參照?qǐng)D10,響應(yīng)分析模塊負(fù)責(zé)對(duì)Web應(yīng)用程序的http響應(yīng)做深入分析。例如,響應(yīng)分析模塊能夠分析某個(gè)http響應(yīng)中的腳本(Script)是正常的腳本還是惡意的 cross-site scripting (即XSS)。通常,一個(gè)XSS嵌入在http請(qǐng)求中的腳本和http響應(yīng)中的腳本沒(méi)有任何不同。因此,響應(yīng)分析模塊可以在比較http請(qǐng)求和http響應(yīng)腳本的基礎(chǔ)上來(lái)判斷是否受到了 XSS類(lèi)的網(wǎng)絡(luò)攻擊。請(qǐng)參照?qǐng)D10,響應(yīng)執(zhí)行模塊是用來(lái)產(chǎn)生拒絕響應(yīng)的。當(dāng)系統(tǒng)再次受到某種惡意 http請(qǐng)求而Web應(yīng)用程序已有防止該種的惡意請(qǐng)求的能力時(shí),則響應(yīng)執(zhí)行模塊不會(huì)被調(diào)用。請(qǐng)參照?qǐng)D2,服務(wù)器入侵檢測(cè)保護(hù)系統(tǒng)中的知識(shí)庫(kù)服務(wù)器209是其重要組成部分。 知識(shí)庫(kù)服務(wù)器209包括兩個(gè)子模塊動(dòng)態(tài)子模塊和靜態(tài)子模塊。動(dòng)態(tài)子模塊主要由監(jiān)視模塊201、205調(diào)用,而靜態(tài)動(dòng)態(tài)子模塊大多數(shù)情況下供分析模塊202、206使用。動(dòng)態(tài)子模塊主要用以檢測(cè)http請(qǐng)求是否異常。它由一組存儲(chǔ)在數(shù)據(jù)庫(kù)或文件中的規(guī)則組成。這些規(guī)則定義了(根據(jù)人工輸入的)已知類(lèi)型的惡意http請(qǐng)求或(根據(jù)系統(tǒng)檢測(cè)的)已經(jīng)經(jīng)受過(guò)的網(wǎng)絡(luò)攻擊。例如,某個(gè)規(guī)則用來(lái)檢測(cè)SQL注入攻擊經(jīng)常包含字符串“--”和單引號(hào)。另一方面,靜態(tài)子模塊由存儲(chǔ)在數(shù)據(jù)庫(kù)中的數(shù)據(jù)組成。這些數(shù)據(jù)記錄了網(wǎng)頁(yè)的URL,入侵的類(lèi)型及其它們兩者間的相互關(guān)系。在運(yùn)行時(shí),請(qǐng)求分析模塊202可以通過(guò)向數(shù)據(jù)庫(kù)執(zhí)行一個(gè)查詢(xún)來(lái)檢查被保護(hù)Web應(yīng)用程序是否有防止某種的惡意請(qǐng)求的能力。而響應(yīng)分析模塊206則負(fù)責(zé)創(chuàng)建和更新這些記錄。這些記錄存儲(chǔ)了響應(yīng)監(jiān)視模塊205和響應(yīng)分析模塊206驗(yàn)證各類(lèi)Web應(yīng)用程序響應(yīng)的結(jié)論數(shù)據(jù)。在具體實(shí)現(xiàn)中,監(jiān)視模塊201、205和分析模塊202、206是通過(guò)DatabaseManager 類(lèi)和其子類(lèi)與數(shù)據(jù)庫(kù)進(jìn)行通信的。靜態(tài)子模塊通過(guò)一個(gè)DatabaseManager的對(duì)象將所有數(shù)據(jù)存儲(chǔ)入數(shù)據(jù)庫(kù)中,并通過(guò)一個(gè)Java緩存來(lái)提高從數(shù)據(jù)庫(kù)中讀取數(shù)據(jù)的效率。動(dòng)態(tài)子模塊的實(shí)現(xiàn)則是應(yīng)用了復(fù)雜事件處理器(complex event processing)。更具體地說(shuō),是hper引擎。開(kāi)發(fā)了一個(gè)名為hperAdaptor的適配器將hper引擎引入知識(shí)庫(kù)。Esper引擎在系統(tǒng)啟動(dòng)時(shí)被初始化。而用事件處理語(yǔ)言(event processing language) 寫(xiě)成的查詢(xún)語(yǔ)句(可理解為復(fù)雜事件處理器中的規(guī)則)被添加到引擎的實(shí)例(instance) 中。然后兩個(gè)偵聽(tīng)器IistenerO被初始化化,并插入到引擎中以接收由監(jiān)視模塊201、205 和分析模塊202、206產(chǎn)生的事件。當(dāng)接收到的事件滿足查詢(xún)語(yǔ)句的條件時(shí),IistenerO中的更新updateO方法將被執(zhí)行。而updateO將根據(jù)查詢(xún)語(yǔ)句的條件來(lái)判定它遇到了哪一中異常以便進(jìn)一步采取措施。這些進(jìn)一步措施的具體步驟請(qǐng)參見(jiàn)圖3到圖6中的判斷框 (菱形)。以上結(jié)合附圖實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)說(shuō)明。本發(fā)明的服務(wù)器受侵檢測(cè)保護(hù)系統(tǒng)是本發(fā)明的自主元素模型的控制系統(tǒng)在特定場(chǎng)合的一個(gè)實(shí)施。而本發(fā)明服務(wù)器受侵檢測(cè)保護(hù)系統(tǒng)的具體實(shí)現(xiàn)可以采用多種不同的方法。上述說(shuō)明的實(shí)施例細(xì)節(jié)僅是基于Aspect 程序和hper引擎開(kāi)發(fā)技術(shù)來(lái)實(shí)現(xiàn)的。本領(lǐng)域中的研究技術(shù)人員可根據(jù)上述說(shuō)明對(duì)本發(fā)明做出種種變化例,例如用Drools Expert引擎來(lái)代替hper引擎。因而,實(shí)施例中的某些細(xì)節(jié)不應(yīng)構(gòu)成對(duì)本發(fā)明的限定,本發(fā)明將以所附權(quán)利要求書(shū)界定的范圍作為本發(fā)明的保護(hù)范圍。
權(quán)利要求
1.ー種自主元素模型的控制系統(tǒng),包括自主管理裝置、第一被管裝置、第二被管裝置、 知識(shí)庫(kù)裝置、第一傳感器接ロ、第一效應(yīng)器、第二傳感器接ロ、第二效應(yīng)器,所述自主管理裝置內(nèi)包括第一循環(huán)控制裝置和第二循環(huán)控制裝置,其中第一循環(huán)控制裝置包括第一監(jiān)視模塊、第一分析模塊、第一規(guī)劃模塊、第一執(zhí)行模塊,第二循環(huán)控制裝置包括第二監(jiān)視模塊、第二分析模塊、第二規(guī)劃模塊、第二執(zhí)行模塊,其中所述第一循環(huán)控制裝置和所述第二循環(huán)控制裝置共享所述知識(shí)庫(kù)裝置。
2.根據(jù)權(quán)利要求1所述的自主元素模型的控制系統(tǒng),其特征在干,所述第一循環(huán)控制裝置包括所述第一監(jiān)視模塊,通過(guò)所述第一傳感器接ロ收集、聚合、關(guān)聯(lián)和過(guò)濾由所述第一被管裝置發(fā)來(lái)的事件,找出需要進(jìn)ー步分析的癥狀;所述第一分析模塊,連接所述第一監(jiān)視模塊,對(duì)癥狀進(jìn)行進(jìn)一步觀察和分析,以做出是否需要進(jìn)行調(diào)整的決定;所述第一規(guī)劃模塊,連接所述第一分析模塊,產(chǎn)生相應(yīng)的調(diào)整計(jì)劃,以便對(duì)所述第一被管裝置或所述第二被管裝置進(jìn)行調(diào)整;所述第一執(zhí)行模塊,連接所述第一規(guī)劃模塊,執(zhí)行所述第一規(guī)劃模塊產(chǎn)生的調(diào)整計(jì)劃。
3.根據(jù)權(quán)利要求2所述的自主元素模型的控制系統(tǒng),其特征在干,所述第二循環(huán)控制裝置進(jìn)ー步包括所述第二監(jiān)視模塊,當(dāng)所述第一監(jiān)視模塊不能從所述第一被管裝置中收集到所有需要的癥狀或信息以明確病因時(shí),收集、聚合、關(guān)聯(lián)和過(guò)濾由所述第二被管裝置發(fā)來(lái)的事件,找出進(jìn)ー步分析所需要的癥狀或信息;所述第二分析模塊,連接所述第二監(jiān)視模塊,根據(jù)所述知識(shí)庫(kù)裝置中存儲(chǔ)的信息對(duì)從所述第二被管裝置中收集到的癥狀或信息進(jìn)行進(jìn)一歩的分析,以做出是否需要進(jìn)行調(diào)整的決定,其中所述知識(shí)庫(kù)裝置中存儲(chǔ)的信息包括所述第一監(jiān)視模塊收集到的癥狀或信息;所述第二規(guī)劃模塊,連接所述第二分析模塊,產(chǎn)生相應(yīng)的調(diào)整計(jì)劃,以便對(duì)所述第二被管裝置進(jìn)行調(diào)整;所述第二執(zhí)行模塊,連接所述第二規(guī)劃模塊,執(zhí)行所述第二分析模塊產(chǎn)生的調(diào)整計(jì)劃。
4.ー種自主元素模型的控制方法,在如權(quán)利要求1所述的自主元素模型的控制系統(tǒng)上實(shí)施,所述自主元素模型的控制系統(tǒng)包括自主管理裝置、第一被管裝置、第二被管裝置、知識(shí)庫(kù)裝置、第一傳感器接ロ、第一效應(yīng)器、第二傳感器接ロ、第二效應(yīng)器,自主管理裝置包括第一循環(huán)控制裝置和第二循環(huán)控制裝置,其中第一循環(huán)控制裝置包括第一監(jiān)視模塊、第一分析模塊、第一規(guī)劃模塊、第一執(zhí)行模塊,第二循環(huán)控制裝置包括第二監(jiān)視模塊、第二分析模塊、第二規(guī)劃模塊、第二執(zhí)行模塊,其中第一循環(huán)控制裝置和第二循環(huán)控制裝置共享所述知識(shí)庫(kù)裝置,所述控制方法包括第一監(jiān)視模塊收集、聚合、關(guān)聯(lián)和過(guò)濾由第一被管裝置發(fā)來(lái)的事件,找出需要進(jìn)ー步分折的癥狀;第一分析模塊對(duì)癥狀進(jìn)行進(jìn)一步觀察和分析,以做出是否需要進(jìn)行調(diào)整的決定; 第一規(guī)劃模塊產(chǎn)生相應(yīng)的調(diào)整計(jì)劃,以便對(duì)第一被管裝置或第二被管裝置進(jìn)行調(diào)整; 第一執(zhí)行模塊執(zhí)行第一規(guī)劃模塊產(chǎn)生的調(diào)整計(jì)劃;其中當(dāng)?shù)谝槐O(jiān)視模塊從第一被管裝置收集到所有需要的癥狀或信息吋,ー個(gè)控制循環(huán)就能完成ー個(gè)管理任務(wù)而不必進(jìn)入第二個(gè)控制循環(huán)。
5.根據(jù)權(quán)利要求4所述的自主元素模型的控制方法,其特征在干,該控制方法還包括 當(dāng)?shù)谝槐O(jiān)視模塊不能從第一被管裝置收集到所有需要的癥狀或信息吋,第一執(zhí)行模塊發(fā)出信息或請(qǐng)求,以便進(jìn)ー步從第一被管裝置收集所有需要的信息,開(kāi)始第二個(gè)控制循環(huán)第二監(jiān)視模塊收集、聚合、關(guān)聯(lián)和過(guò)濾由第二被管裝置發(fā)來(lái)的事件,找出進(jìn)一歩分析所需要的癥狀或信息;第二分析模塊根據(jù)知識(shí)庫(kù)模塊中已有的信息對(duì)從第二監(jiān)視模塊收集到的癥狀或信息進(jìn)行進(jìn)一歩的分析,以做出是否需要進(jìn)行調(diào)整的決定;第二規(guī)劃模塊產(chǎn)生相應(yīng)的調(diào)整計(jì)劃,以便對(duì)第二被管裝置進(jìn)行調(diào)整; 第二執(zhí)行模塊執(zhí)行第二規(guī)劃模塊產(chǎn)生的調(diào)整計(jì)劃。
6.一種服務(wù)器受侵檢測(cè)保護(hù)系統(tǒng),基于如權(quán)利要求1所述的自主元素模型的控制系統(tǒng),所述服務(wù)器受侵檢測(cè)保護(hù)系統(tǒng)包括http請(qǐng)求數(shù)據(jù)收集裝置、http響應(yīng)數(shù)據(jù)收集裝置、 自主管理裝置、用戶(hù)接口裝置、知識(shí)庫(kù)服務(wù)器,其中自主管理裝置包括請(qǐng)求控制循環(huán)裝置和響應(yīng)控制循環(huán)裝置,其中http請(qǐng)求數(shù)據(jù)收集裝置,收集http的請(qǐng)求數(shù)據(jù),在http層過(guò)濾掉請(qǐng)求中不需要的數(shù)據(jù),然后將需要的數(shù)據(jù)傳送給自主管理裝置;http響應(yīng)數(shù)據(jù)收集裝置,收集http的響應(yīng)數(shù)據(jù),在http層過(guò)濾掉響應(yīng)中不需要的數(shù)據(jù),然后將需要的數(shù)據(jù)傳送給自主管理裝置;請(qǐng)求控制循環(huán)裝置,檢測(cè)拒絕和防止所有已知類(lèi)型的惡意請(qǐng)求; 響應(yīng)控制循環(huán)裝置,修改響應(yīng)中包含的非法內(nèi)容;知識(shí)庫(kù)服務(wù)器,存儲(chǔ)用于判斷請(qǐng)求或響應(yīng)是否正常的定義規(guī)則、關(guān)于請(qǐng)求和響應(yīng)的統(tǒng)計(jì)數(shù)據(jù)和動(dòng)態(tài)分析信息;用戶(hù)接口裝置,是系統(tǒng)控制臺(tái),對(duì)知識(shí)庫(kù)服務(wù)器提供人工管理和干預(yù)。
7.根據(jù)權(quán)利要求6所述的服務(wù)器受侵檢測(cè)保護(hù)系統(tǒng),其特征在于,所述請(qǐng)求控制循環(huán)裝置包括請(qǐng)求監(jiān)視模塊、請(qǐng)求分析模塊、請(qǐng)求規(guī)劃模塊以及請(qǐng)求執(zhí)行模塊,其中請(qǐng)求監(jiān)視模塊,監(jiān)視用戶(hù)通過(guò)互聯(lián)網(wǎng)發(fā)送過(guò)來(lái)的http請(qǐng)求,根據(jù)知識(shí)庫(kù)服務(wù)器提供的定義規(guī)則,將其中的http異常請(qǐng)求傳遞給請(qǐng)求分析模塊,將http正常請(qǐng)求直接發(fā)送到服務(wù)器上的應(yīng)用程序中;請(qǐng)求分析模塊,連接請(qǐng)求監(jiān)視模塊,根據(jù)知識(shí)庫(kù)服務(wù)器提供的信息,對(duì)請(qǐng)求監(jiān)視模塊傳來(lái)的http異常請(qǐng)求進(jìn)行分析,將分析結(jié)果存儲(chǔ)到知識(shí)庫(kù)服務(wù)器中;請(qǐng)求規(guī)劃模塊,連接請(qǐng)求分析模塊,根據(jù)知識(shí)庫(kù)服務(wù)器提供的信息決定自主管理裝置下一步應(yīng)采取的行動(dòng),并將行動(dòng)步驟通知請(qǐng)求執(zhí)行模塊;請(qǐng)求執(zhí)行模塊,連接請(qǐng)求規(guī)劃模塊,根據(jù)請(qǐng)求規(guī)劃模塊的決定實(shí)施行動(dòng)。
8.根據(jù)權(quán)利要求7所述的服務(wù)器受侵檢測(cè)保護(hù)系統(tǒng),其特征在干,所述響應(yīng)控制循環(huán)裝置包括響應(yīng)監(jiān)視模塊、響應(yīng)分析模塊、響應(yīng)規(guī)劃模塊、響應(yīng)執(zhí)行模塊,其中響應(yīng)監(jiān)視模塊,監(jiān)視從應(yīng)用程序發(fā)送回用戶(hù)的http響應(yīng),基于知識(shí)服務(wù)器提供的定義,將異常的http響應(yīng)傳輸給響應(yīng)分析模塊,將正常的http響應(yīng)直接通過(guò)互聯(lián)網(wǎng)發(fā)送給用戶(hù);響應(yīng)分析模塊,連接響應(yīng)監(jiān)視模塊,根據(jù)知識(shí)庫(kù)服務(wù)器提供的信息,對(duì)從響應(yīng)監(jiān)視模塊傳來(lái)的異常的http響應(yīng)進(jìn)行分析,將分析結(jié)果存儲(chǔ)到知識(shí)庫(kù)服務(wù)器中;響應(yīng)規(guī)劃模塊,連接響應(yīng)分析模塊,根據(jù)知識(shí)庫(kù)服務(wù)器提供的信息,決定自主管理裝置下一步應(yīng)采取的行動(dòng),并將行動(dòng)步驟通知響應(yīng)執(zhí)行模塊;響應(yīng)執(zhí)行模塊,連接響應(yīng)規(guī)劃模塊,根據(jù)響應(yīng)規(guī)劃模塊的決定而實(shí)施行動(dòng)。
9.根據(jù)權(quán)利要求8所述的服務(wù)器受侵檢測(cè)保護(hù)系統(tǒng),其特征在于,在應(yīng)用程序處理正常http請(qǐng)求和產(chǎn)生正常http響應(yīng),以及應(yīng)用程序再次受到某種惡意http請(qǐng)求和產(chǎn)生正常 http響應(yīng)吋,服務(wù)器受侵檢測(cè)保護(hù)系統(tǒng)中僅有請(qǐng)求監(jiān)視模塊參加請(qǐng)求控制循環(huán),以及響應(yīng)監(jiān)視模塊參加響應(yīng)控制循環(huán)。
10.根據(jù)權(quán)利要求8所述的服務(wù)器受侵檢測(cè)保護(hù)系統(tǒng),其特征在于,在應(yīng)用程序處理正常的http請(qǐng)求和產(chǎn)生異常http響應(yīng)吋,服務(wù)器受侵檢測(cè)保護(hù)系統(tǒng)中的請(qǐng)求監(jiān)視模塊參加請(qǐng)求控制循環(huán),響應(yīng)監(jiān)視模塊、響應(yīng)分析模塊、響應(yīng)規(guī)劃模塊、響應(yīng)執(zhí)行模塊均參加響應(yīng)控制循環(huán)。
11.根據(jù)權(quán)利要求8所述的服務(wù)器受侵檢測(cè)保護(hù)系統(tǒng),其特征在于,在應(yīng)用程序第一次處理某種異常http請(qǐng)求和產(chǎn)生正常http響應(yīng),以及應(yīng)用程序第一次處理某種異常http請(qǐng)求和產(chǎn)生異常http響應(yīng)吋,服務(wù)器受侵檢測(cè)保護(hù)系統(tǒng)中的請(qǐng)求監(jiān)視模塊、請(qǐng)求分析模塊、 請(qǐng)求規(guī)劃模塊和請(qǐng)求執(zhí)行模塊參加請(qǐng)求控制循環(huán),服務(wù)器受侵檢測(cè)保護(hù)系統(tǒng)中的響應(yīng)監(jiān)視模塊、響應(yīng)分析模塊、響應(yīng)規(guī)劃模塊、響應(yīng)執(zhí)行模塊參加響應(yīng)控制循環(huán)。
12.根據(jù)權(quán)利要求8所述的服務(wù)器受侵檢測(cè)保護(hù)系統(tǒng),其特征在干,當(dāng)應(yīng)用程序再次受到某種惡意的http請(qǐng)求而立即拒絕吋,服務(wù)器受侵檢測(cè)保護(hù)系統(tǒng)中僅有請(qǐng)求監(jiān)視模塊、請(qǐng)求分析模塊、請(qǐng)求規(guī)劃模塊和請(qǐng)求執(zhí)行模塊參加請(qǐng)求控制循環(huán),沒(méi)有響應(yīng)控制循環(huán)。
全文摘要
本發(fā)明公開(kāi)了自主元素模型控制系統(tǒng)、方法及服務(wù)器受侵保護(hù)檢測(cè)系統(tǒng),清晰的表達(dá)依次運(yùn)用兩個(gè)控制循環(huán)來(lái)實(shí)現(xiàn)自主管理的設(shè)計(jì)理念。其技術(shù)方案為一種含兩個(gè)控制循環(huán)的自主元素模型的控制系統(tǒng),包含一個(gè)自主管理裝置和兩個(gè)被管裝置,而自主管理裝置本身包含兩個(gè)不同的控制循環(huán),每個(gè)控制循環(huán)經(jīng)過(guò)“監(jiān)視-分析-規(guī)劃-執(zhí)行”的四個(gè)步驟來(lái)實(shí)現(xiàn)被管裝置的管理任務(wù),更加清晰的表達(dá)依次運(yùn)動(dòng)兩個(gè)控制循環(huán)(這兩個(gè)控制循環(huán)的內(nèi)容有所不同但它們?nèi)怨蚕硗粋€(gè)知識(shí)庫(kù))來(lái)實(shí)現(xiàn)自主管理的設(shè)計(jì)理念。本發(fā)明將自主元素模型的控制系統(tǒng)應(yīng)用于web服務(wù)器受侵檢測(cè)和保護(hù)的系統(tǒng),其中智能化的部份是基于自主計(jì)算技術(shù)(即含兩個(gè)控制循環(huán)的自主元素模型)來(lái)實(shí)現(xiàn)的。
文檔編號(hào)H04L29/08GK102541674SQ20111044187
公開(kāi)日2012年7月4日 申請(qǐng)日期2011年12月26日 優(yōu)先權(quán)日2011年12月26日
發(fā)明者朱勤, 湯傳斌 申請(qǐng)人:運(yùn)軟網(wǎng)絡(luò)科技(上海)有限公司