專利名稱:基于程序行為的入侵檢測方法與系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計(jì)算機(jī)網(wǎng)絡(luò)系統(tǒng)的安全防入侵領(lǐng)域,更具體地說,本發(fā)明涉及一種基于程序行為的網(wǎng)絡(luò)入侵檢測的方法和系統(tǒng)。
背景技術(shù):
網(wǎng)絡(luò)信息系統(tǒng)的安全可劃分為多個(gè)方面,而利用系統(tǒng)中的漏洞,譬如應(yīng)用程序中的漏洞和系統(tǒng)配置及管理上可能存在的漏洞,對系統(tǒng)發(fā)動有目的的攻擊是安全中威脅最大的一個(gè)方面。由于計(jì)算機(jī)網(wǎng)絡(luò)信息系統(tǒng)及安全因素的復(fù)雜性,導(dǎo)致安全漏洞層出不窮,補(bǔ)丁中又發(fā)現(xiàn)漏洞的事件也時(shí)有發(fā)生。具權(quán)威部門的調(diào)查統(tǒng)計(jì),各種網(wǎng)絡(luò)安全漏洞的大量存在和不斷發(fā)現(xiàn),仍將是網(wǎng)絡(luò)安全的最大隱患。針對該領(lǐng)域的安全防范,目前成熟的主要防范技術(shù)為誤用檢測,產(chǎn)品有防火墻、IDS、IPS等。但該類技術(shù)主要用于防范已知網(wǎng)絡(luò)入侵攻擊手段,對已有手段的變異和新型攻擊手段難以防范,從而導(dǎo)致一些系統(tǒng)在配備了多種安全防御設(shè)施后,安全事件仍頻繁發(fā)生。
在目前網(wǎng)絡(luò)入侵檢測中使用的誤用檢測是利用已偵獲的網(wǎng)絡(luò)攻擊模式或特征作為基礎(chǔ),通過攔截網(wǎng)上的數(shù)據(jù)包并檢測其是否包含特定的模式或特征來進(jìn)行入侵檢測的。雖然這種檢測方法能夠很好地檢測已知的入侵行為,但它對檢測新型的攻擊卻無能為力,甚至應(yīng)對老手段的變異都很困難。目前進(jìn)入實(shí)用的防入侵產(chǎn)品基本都以這種比較成熟的技術(shù)為主要檢測手段。這些產(chǎn)品采用的技術(shù)有一些共同的特征(1)以網(wǎng)絡(luò)數(shù)據(jù)包為主要檢測數(shù)據(jù)源,包括協(xié)議頭信息和網(wǎng)絡(luò)包中的應(yīng)用數(shù)據(jù);(2)以網(wǎng)絡(luò)協(xié)議規(guī)范為主要技術(shù)檢測依據(jù);(3)與被保護(hù)對象相隔離;(4)以“經(jīng)驗(yàn)數(shù)據(jù)或規(guī)則”為主要檢測手段。一方面這些共性成就了它們配置靈活;對被保護(hù)對象影響較?。豢捎行У拇至6鹊母綦x網(wǎng)絡(luò)非法訪問;主動而有效的檢測已知攻擊手段等安全防范能力。但另一方面也正是這些技術(shù)屬性限制了它們在防網(wǎng)絡(luò)入侵能力上的進(jìn)一步拓展。原因是這種技術(shù)背景以有限的防御“經(jīng)驗(yàn)”和很難面面俱到的入侵行為假設(shè)去面對千變?nèi)f化不斷發(fā)展著的攻擊手段;或從另一個(gè)角度看,它所依賴的檢測信息源與被保護(hù)實(shí)體的行為有“相當(dāng)”的距離,對受保護(hù)對象的完整的正常行為數(shù)據(jù)集合缺乏全面的了解,因而難以全面識別包括攻擊在內(nèi)的各種異常行為。
與誤用檢測不同,異常檢測試圖用定量的方式描述可接受的正常行為特征,用以區(qū)別非正常的、潛在的入侵行為。由于這種方法以正常的行為模式為檢測標(biāo)準(zhǔn),所以對它來講攻擊手段無所謂新與舊,都是屬于異常行為,因而均會被檢出并加以防范。這種模式類型的技術(shù)難點(diǎn)在于面對日益復(fù)雜的信息系統(tǒng),如何建立一個(gè)即具有較好適應(yīng)能力,又便于實(shí)際應(yīng)用的正常行為的安全模型?,F(xiàn)在有關(guān)防入侵的深入研究基本集中在該領(lǐng)域。本發(fā)明“基于程序行為的入侵檢測系統(tǒng)及方法”技術(shù)正是這樣一種隸屬于異常檢測模式范疇的程序行為檢測與控制實(shí)用新技術(shù)。
于是就需要一種新的檢測系統(tǒng)及方法來克服上述各種現(xiàn)有的檢測技術(shù)的存在的各種缺陷和不足。
發(fā)明內(nèi)容
本發(fā)明的目的是提供一種行為異常模型構(gòu)造和檢測方法------“行為安全盒”技術(shù)方法,用于檢測軟件服務(wù)程序運(yùn)行過程中的異常行為,實(shí)現(xiàn)對應(yīng)用程序行為的規(guī)范控制,堵塞應(yīng)用程序中可能存在的安全漏洞、操作疏漏,為建立安全的異常監(jiān)控模型提供基本手段并構(gòu)建一個(gè)網(wǎng)絡(luò)入侵防護(hù)系統(tǒng),以大幅提高網(wǎng)絡(luò)入侵檢測與監(jiān)控的準(zhǔn)確性和效率。
根據(jù)本發(fā)明的一個(gè)方面,提供一種入侵檢測方法,通過直接獲取程序的軟件行為特征信息、構(gòu)造訪問模型,并將其反作用于程序本身來達(dá)到防止程序異常行為的發(fā)生;通過有效地集成這種方法構(gòu)造完整的系統(tǒng)網(wǎng)絡(luò)安全策略,進(jìn)而保護(hù)整個(gè)網(wǎng)絡(luò)服務(wù)器系統(tǒng)免受網(wǎng)絡(luò)入侵攻擊侵害,其中,包含如下的兩個(gè)基本過程采集并制作一“行為安全盒”;用所述“行為安全盒”對軟件行為實(shí)施監(jiān)控。
根據(jù)本發(fā)明的一實(shí)施例,所述采集并制作一“行為安全盒”包括在系統(tǒng)內(nèi)核建立一種機(jī)制,全程監(jiān)控指定應(yīng)用程序的運(yùn)行,并根據(jù)安全設(shè)定獲取該程序的行為特征信息集合,經(jīng)分析處理和安全審計(jì)后構(gòu)建應(yīng)用程序形成“行為安全盒”,具體制作步驟如下步驟11)通過專用接口接收來自用戶應(yīng)用層的采集請求信息,從中提取控制模式信息、網(wǎng)絡(luò)應(yīng)用程序名、各系統(tǒng)調(diào)用的缺省監(jiān)控要求、特殊監(jiān)控的系統(tǒng)調(diào)用、特殊監(jiān)控的文件資源信息,并將其格式化,創(chuàng)建系統(tǒng)作業(yè)控制鏈表項(xiàng),供“執(zhí)行狀態(tài)識別”時(shí)使用;根據(jù)指定的采集要求建立首層信息采集數(shù)據(jù)結(jié)構(gòu)并完成初始化;步驟12)在用戶層終止并重新啟動采集對象程序,并按正常方式運(yùn)行;步驟13)系統(tǒng)中的“文件執(zhí)行鉤子”在執(zhí)行一個(gè)新的文件時(shí),根據(jù)步驟11)建立的系統(tǒng)作業(yè)控制表鏈,判定將執(zhí)行的程序是否是要采集行為信息的程序,若不是則轉(zhuǎn)步驟18),如是則為當(dāng)前進(jìn)程創(chuàng)建系統(tǒng)進(jìn)程控制表鏈表,同時(shí)建立兩條鏈表項(xiàng)的映射關(guān)系;步驟14)“系統(tǒng)調(diào)用截獲鉤子”在系統(tǒng)調(diào)用總?cè)肟谔?,根?jù)系統(tǒng)進(jìn)程控制表鏈判斷當(dāng)前進(jìn)程是否是被采集行為特征信息的進(jìn)程,如不是則轉(zhuǎn)步驟18);如是則截獲當(dāng)前進(jìn)程的系統(tǒng)調(diào)用,并收集調(diào)用參數(shù),完成當(dāng)前進(jìn)程到系統(tǒng)作業(yè)控制表鏈中對應(yīng)項(xiàng)的映射,找到對應(yīng)的數(shù)據(jù)結(jié)構(gòu),如當(dāng)前進(jìn)程希望創(chuàng)建子進(jìn)程則轉(zhuǎn)步驟16),否則繼續(xù)下一步驟;步驟15)“行為特征數(shù)據(jù)產(chǎn)生模塊”根據(jù)用戶對控制要求的具體指定,按不同情況采集并構(gòu)造此次行為的特征數(shù)據(jù),轉(zhuǎn)步驟17);步驟16)當(dāng)前進(jìn)程希望創(chuàng)建子進(jìn)程時(shí),首先為子進(jìn)程創(chuàng)建新的系統(tǒng)進(jìn)程控制鏈表項(xiàng),并查找當(dāng)前作業(yè)結(jié)構(gòu)中是否已有下一層進(jìn)程的結(jié)構(gòu)和空間。如有,建立勾連關(guān)系并轉(zhuǎn)下一步,否則為下一層創(chuàng)建結(jié)構(gòu)和空間并完成初始化處理;步驟17)“結(jié)果分析處理模塊”對獲取的信息進(jìn)行統(tǒng)計(jì)、去重處理后記錄到相關(guān)數(shù)據(jù)結(jié)構(gòu)鏈表中;步驟18)轉(zhuǎn)入正常系統(tǒng)調(diào)用處理流程;以上步驟13-18在獲取指定服務(wù)程序行為特征信息過程中多次循環(huán)執(zhí)行,在獲取較為完整的信息數(shù)據(jù)后進(jìn)入以下處理流程步驟19)將通過靜態(tài)分析提取的程序?qū)傩院筒糠中袨樘卣餍畔⑴c內(nèi)核動態(tài)獲取的行為特征數(shù)據(jù)進(jìn)行融合處理,并通過“行為信息融合與審計(jì)模塊”提供透明、交互式的行為信息安全審計(jì)處理,對程序行為的審計(jì)按層分類進(jìn)行,審計(jì)完成的數(shù)據(jù)按“行為安全盒”規(guī)格進(jìn)行融合處理并存儲到應(yīng)用數(shù)據(jù)庫中,供監(jiān)控時(shí)使用。
根據(jù)本發(fā)明的一實(shí)施例,所述方法中包含了兩條鏈表系統(tǒng)作業(yè)控制表鏈其中的每一表項(xiàng)用于登記當(dāng)前需要采集或控制的作業(yè)的具體信息,同時(shí)包含有容納行為特征信息空間的指針;系統(tǒng)進(jìn)程控制表鏈其中的每一表項(xiàng)用于登記當(dāng)前的進(jìn)程ID、歷史關(guān)聯(lián)信息、控制類型、層次信息、容納本層程序行為信息空間的指針、所屬作業(yè)標(biāo)識、啟動時(shí)間、下一表項(xiàng)指針等。
根據(jù)本發(fā)明的一實(shí)施例所述步驟11)中的專用接口可借用系統(tǒng)已有的讀寫接口,這時(shí)可利用原系統(tǒng)未使用的資源部分;也可另建新的獨(dú)立的讀寫接口,完成與用戶層的信息交換;采集的內(nèi)容包括系統(tǒng)調(diào)用號、有關(guān)系統(tǒng)調(diào)用的空間層次信息、調(diào)用的歷史關(guān)聯(lián)信息和空間地址信息、調(diào)用涉及到的文件系統(tǒng)資源包括文件、目錄、設(shè)備、對資源的使用模式、對資源的使用頻率、還包括為指定的采集任務(wù)建立系統(tǒng)作業(yè)控制鏈表項(xiàng)并鏈入鏈表;每一個(gè)鏈接表項(xiàng)包括作業(yè)標(biāo)識信息、作業(yè)類型、指向容納本層行為信息的結(jié)構(gòu)指針、前后鏈指針、文件和IP地址緩沖;所述步驟12)確保采集機(jī)制可正常運(yùn)行,如程序已啟動,先終止再啟動;所述步驟13)中的“文件執(zhí)行鉤子”是系統(tǒng)中執(zhí)行文件的必經(jīng)之處,保證采集任務(wù)無旁路的可能性;所述步驟14)中的“系統(tǒng)調(diào)用截獲鉤子”是系統(tǒng)調(diào)用進(jìn)入系統(tǒng)的必經(jīng)之處,保證任務(wù)監(jiān)控的無旁路的可能性;所述步驟16)中的控制要求還包括針對每一種系統(tǒng)調(diào)用可設(shè)置的三種控制要求為a.層次、可用性,這是針對每一個(gè)系統(tǒng)調(diào)用的缺省設(shè)定,即記錄系統(tǒng)調(diào)用是否使用,及使用所處的進(jìn)程樹層次。
b.關(guān)聯(lián)控制,記錄該系統(tǒng)調(diào)用前N步已完成的調(diào)用情況,N通常設(shè)定為1-5;c.空間地址控制,記錄該系統(tǒng)調(diào)用的用戶指令空間返回地址,以上各種控制要求可以單獨(dú)設(shè)立,也可一次設(shè)置多項(xiàng);所述步驟17)提供對應(yīng)用程序行為實(shí)施審計(jì)的能力審計(jì)內(nèi)容包括是否侵犯了系統(tǒng)重要機(jī)密數(shù)據(jù)、是否不適當(dāng)?shù)脑L問了系統(tǒng)內(nèi)其他重要的配置文件、是否訪問了技術(shù)規(guī)范以外的其他網(wǎng)絡(luò)通訊端口、是否不適當(dāng)?shù)氖褂昧讼到y(tǒng)設(shè)備、對有關(guān)系統(tǒng)文件是否使用了不當(dāng)?shù)脑L問方式;在審計(jì)過程中可對行為特征數(shù)據(jù)進(jìn)行修正;采集和審計(jì)過程可反復(fù)進(jìn)行多次,前一次作為后一次融合的基礎(chǔ),不斷完善,最終制作出與應(yīng)用很好匹配的可用于安全控制的“行為安全盒”。
根據(jù)本發(fā)明的一實(shí)施例,所述方法用所構(gòu)建的應(yīng)用程序的“行為安全盒”數(shù)據(jù)作為控制數(shù)據(jù),并將其應(yīng)用在系統(tǒng)內(nèi)核建立起的一監(jiān)控機(jī)制上;一旦該程序進(jìn)入運(yùn)行,其程序行為將嚴(yán)格受到經(jīng)過安全審計(jì)的“行為安全盒”的約束;一旦程序出現(xiàn)異常行為,系統(tǒng)就會立即發(fā)現(xiàn),在阻斷服務(wù)的同時(shí)給出報(bào)警信息,并依據(jù)安全等級采取應(yīng)對措施,具體步驟如下步驟21)通過專用接口接收來自用戶應(yīng)用層的控制請求信息,從中提取控制模式、網(wǎng)絡(luò)應(yīng)用程序名、“行為安全盒”數(shù)據(jù);按監(jiān)控對象名創(chuàng)建系統(tǒng)作業(yè)控制鏈表項(xiàng),供“進(jìn)程狀態(tài)識別”時(shí)使用;根據(jù)指定的“行為安全盒”數(shù)據(jù)建立對應(yīng)的數(shù)據(jù)結(jié)構(gòu)并進(jìn)行初始化;步驟22)在用戶層終止并重新啟動受控對象程序;步驟23)系統(tǒng)中的“文件執(zhí)行鉤子”在執(zhí)行一個(gè)新的文件時(shí),查詢步驟1)建立的系統(tǒng)作業(yè)控制鏈,判定將執(zhí)行的程序是否是要實(shí)施監(jiān)控的程序,若不是則轉(zhuǎn)步驟29),若是,則為當(dāng)前進(jìn)程創(chuàng)建系統(tǒng)進(jìn)程控制鏈表項(xiàng),同時(shí)建立兩條鏈表項(xiàng)的映射關(guān)系;
步驟24)“系統(tǒng)調(diào)用截獲鉤子”在系統(tǒng)調(diào)用總?cè)肟谔幉樵儺?dāng)前系統(tǒng)進(jìn)程控制鏈,判斷當(dāng)前進(jìn)程是否是被監(jiān)控進(jìn)程,如不是則轉(zhuǎn)步驟29),如是則截獲當(dāng)前進(jìn)程的系統(tǒng)調(diào)用,收集調(diào)用參數(shù),并完成當(dāng)前進(jìn)程到系統(tǒng)作業(yè)控制鏈中對應(yīng)項(xiàng)的映射,找到對應(yīng)的數(shù)據(jù)結(jié)構(gòu);步驟25)“行為特征數(shù)據(jù)產(chǎn)生模塊”根據(jù)針對本作業(yè)的監(jiān)控級別和“行為安全盒”控制要求,按不同情況構(gòu)造此次軟件行為的特征數(shù)據(jù)轉(zhuǎn)步驟27);步驟26)如當(dāng)前進(jìn)程的行為是希望創(chuàng)建子進(jìn)程,則首先為子進(jìn)程創(chuàng)建新的系統(tǒng)進(jìn)程控制鏈表項(xiàng),并查找當(dāng)前作業(yè)結(jié)構(gòu)中是否已有下一層進(jìn)程的信息結(jié)構(gòu)和空間;如有,建立勾連關(guān)系并轉(zhuǎn)步驟29),否則,報(bào)警并錯(cuò)誤返回;;如不是創(chuàng)建子進(jìn)程,則轉(zhuǎn)步驟29);步驟27)“結(jié)果分析仲裁模塊”根據(jù)用戶指定的監(jiān)控級別,將構(gòu)造的當(dāng)前的行為特征信息與本進(jìn)程相應(yīng)的“行為安全盒”信息進(jìn)行分析對照,實(shí)施訪問仲裁,如果仲裁通過,則轉(zhuǎn)步驟26);如果仲裁失敗,則轉(zhuǎn)步驟28);步驟28)“實(shí)時(shí)報(bào)警與應(yīng)對模塊”根據(jù)“行為安全盒”中指定控制要求實(shí)時(shí)發(fā)出等級報(bào)警,并根據(jù)內(nèi)核部分應(yīng)對措施實(shí)施錯(cuò)誤處理,譬如封鎖客戶IP地址等;步驟29)繼續(xù)執(zhí)行正常的系統(tǒng)調(diào)用功能;每次用戶層應(yīng)用程序進(jìn)入系統(tǒng)調(diào)用,都將循環(huán)以上23)-29)步驟的處理,保證整個(gè)監(jiān)控過程的連續(xù)性與完整性。
根據(jù)本發(fā)明的一實(shí)施例所述步驟21)中的專用接口可借用系統(tǒng)已有的讀寫接口,這時(shí)可利用原系統(tǒng)未使用的資源部分;也可另建新的獨(dú)立的讀寫接口,完成與用戶層的信息交換;采集的內(nèi)容包括系統(tǒng)調(diào)用號、有關(guān)系統(tǒng)調(diào)用的空間層次信息、調(diào)用的歷史關(guān)聯(lián)信息和空間地址信息、調(diào)用涉及到的文件系統(tǒng)資源包括文件、目錄、設(shè)備、對資源的使用模式、對資源的使用頻率、還包括為指定的采集任務(wù)建立系統(tǒng)作業(yè)控制鏈表項(xiàng)并鏈入鏈表;每一個(gè)鏈接表項(xiàng)包括作業(yè)標(biāo)識信息、作業(yè)類型、指向容納本層行為信息的結(jié)構(gòu)指針、前后鏈指針、文件和IP地址緩沖;用戶指定的“行為安全盒”是采集制作過程產(chǎn)生的具有層次的結(jié)構(gòu)化數(shù)據(jù)集合,通常存儲在用戶層數(shù)據(jù)庫中,“行為安全盒”與應(yīng)用程序有嚴(yán)格的一對一特性,如不匹配將導(dǎo)致應(yīng)用程序無法運(yùn)行;所述步驟22)必須保證受控服務(wù)程序的重新啟動,如在對應(yīng)的“行為安全盒”完成初始化之前已啟動,應(yīng)先將其終止后再啟動,以確??刂茩C(jī)制可以正常實(shí)施監(jiān)控;所述步驟23)中的“文件執(zhí)行鉤子”中的“文件執(zhí)行鉤子”是系統(tǒng)中執(zhí)行文件的必經(jīng)之處,保證采集任務(wù)無旁路的可能性;所述步驟24)中的“系統(tǒng)調(diào)用截獲鉤子”是系統(tǒng)調(diào)用進(jìn)入系統(tǒng)的必經(jīng)之處,保證任務(wù)監(jiān)控的無旁路的可能性;所述步驟25)確保在子進(jìn)程實(shí)際運(yùn)行之前,完成對應(yīng)的系統(tǒng)進(jìn)程控制鏈表項(xiàng)的創(chuàng)建,并建立與作業(yè)結(jié)構(gòu)中下一層進(jìn)程信息結(jié)構(gòu)和空間的勾連,以保證子進(jìn)程一旦運(yùn)行就立即被“行為安全盒”監(jiān)控,不會發(fā)生失控情況;所述步驟26)的“監(jiān)控級別”還包含四種不同級別,由低到高分別為基本級僅對系統(tǒng)調(diào)用在對應(yīng)層次的可用性進(jìn)行檢查。即,如“行為安全和盒”的對應(yīng)層指示本次調(diào)用存在,則判定為訪問合法,否則為不合法;較強(qiáng)級除按基本級條件實(shí)施檢查外,還檢查相關(guān)文件、設(shè)備是否可用、使用方式是否正確;強(qiáng)級除完成基本級、較強(qiáng)級內(nèi)的檢查外,還檢查相關(guān)調(diào)用關(guān)聯(lián)(n步)是否正確;超強(qiáng)級除完成上述三級級內(nèi)的檢查外,還構(gòu)造并檢查相關(guān)調(diào)用的空間地址是否正確;所述步驟26)中的“控制要求”控制要求還包括針對每一種系統(tǒng)調(diào)用可設(shè)置的三種控制要求為a.層次、可用性,這是針對每一個(gè)系統(tǒng)調(diào)用的缺省設(shè)定,即記錄系統(tǒng)調(diào)用是否使用,及使用所處的進(jìn)程樹層次。
b.關(guān)聯(lián)控制,記錄該系統(tǒng)調(diào)用前N步已完成的調(diào)用情況,N通常設(shè)定為1-5;c.空間地址控制,記錄該系統(tǒng)調(diào)用的用戶指令空間返回地址,以上各種控制要求可以單獨(dú)設(shè)立,也可一次設(shè)置多項(xiàng);同過程一中方法描述;所述步驟27)中的對照分析、訪問仲裁包含根據(jù)當(dāng)前作業(yè)監(jiān)控級別,將調(diào)用的行為特征信息與“行為安全盒”中對應(yīng)類別的記錄分別進(jìn)行對比,如有一種條件不符則仲裁為失??;所述步驟28)還包含等級報(bào)警分為三級,每一報(bào)警等級設(shè)有相應(yīng)的應(yīng)對措施一級報(bào)警控制要求指定為關(guān)聯(lián)和空間地址監(jiān)控的系統(tǒng)調(diào)用在執(zhí)行中出現(xiàn)異常,或訪問的文件系統(tǒng)資源違反了特定的控制要求,譬如關(guān)聯(lián)或空間地址異常,對應(yīng)的錯(cuò)誤應(yīng)對措施為防火墻聯(lián)動,在特殊設(shè)定下會終止對應(yīng)的網(wǎng)絡(luò)服務(wù)程序;二級報(bào)警控制要求指定為關(guān)聯(lián)或空間地址監(jiān)控的系統(tǒng)調(diào)用在執(zhí)行中出現(xiàn)異常,或?qū)Α靶袨榘踩小敝兄辉试S讀的文件和/或設(shè)備出現(xiàn)了非法的“寫”操作。對應(yīng)的錯(cuò)誤應(yīng)對措施為封鎖客戶IP地址,重啟網(wǎng)絡(luò)服務(wù)程序等;三級報(bào)警對控制要求設(shè)定為可用性的系統(tǒng)調(diào)用出現(xiàn)了異常,或一般的文件/設(shè)備訪問出現(xiàn)異常,對應(yīng)的錯(cuò)誤應(yīng)對措施為一般報(bào)警。
根據(jù)本發(fā)明的一實(shí)施例,所述方法中包含的兩條鏈表系統(tǒng)作業(yè)控制表鏈其中的每一表項(xiàng)用于登記當(dāng)前需要采集或控制的作業(yè)的具體信息,同時(shí)包含有容納行為特征信息空間的指針;系統(tǒng)進(jìn)程控制表鏈其中的每一表項(xiàng)用于登記當(dāng)前的進(jìn)程ID、歷史關(guān)聯(lián)信息、控制類型、層次信息、容納本層程序行為信息空間的指針、所屬作業(yè)標(biāo)識、啟動時(shí)間、下一表項(xiàng)指針等。
根據(jù)本發(fā)明的另一方面,提供一種適用于如上所述的檢測入侵方法的網(wǎng)絡(luò)入侵防護(hù)系統(tǒng),應(yīng)用上述的方法作為監(jiān)控的核心技術(shù),配以輔助的網(wǎng)絡(luò)訪問控制、進(jìn)程運(yùn)行狀態(tài)控制創(chuàng)建一個(gè)完整的系統(tǒng)級的安全監(jiān)控模型和策略體系,即通過“行為安全盒”技術(shù)方法,對所有為外部網(wǎng)絡(luò)提供服務(wù)的應(yīng)用軟件的程序行為進(jìn)行超細(xì)粒度、全程的實(shí)時(shí)監(jiān)控,對系統(tǒng)內(nèi)的所有其他不受“行為安全盒”約束的程序,實(shí)施與外部網(wǎng)絡(luò)完全隔離;對外部網(wǎng)絡(luò)來說,構(gòu)建起一個(gè)完全受控于異常監(jiān)控模型的、高等級安全和可用的網(wǎng)絡(luò)入侵防護(hù)系統(tǒng);該系統(tǒng)包括用戶層安全交互模塊以及內(nèi)核層數(shù)據(jù)處理與監(jiān)控模塊。
根據(jù)本發(fā)明的一實(shí)施例,用戶層安全交互模塊運(yùn)行在用戶層面,提供一個(gè)可操控的工作平臺,也是用戶層與內(nèi)核層數(shù)據(jù)交互的主要通道;它主要完成對軟件行為特征信息的采集、制作、管理和實(shí)施監(jiān)控所需的前端與后臺管理等工作,主要的行為特征數(shù)據(jù)的采集和實(shí)質(zhì)性監(jiān)控均由系統(tǒng)內(nèi)核完成;它集成了網(wǎng)絡(luò)安全人員完成各種任務(wù)所需的模塊包括注冊模塊、任務(wù)調(diào)度模塊、行為特征信息采集與制作請求模塊、行為特征信息監(jiān)控請求模塊、策略配置與管理請求模塊、行為數(shù)據(jù)融合與審計(jì)模塊、實(shí)時(shí)報(bào)警與應(yīng)對模塊、數(shù)據(jù)通訊處理模塊、行為特征數(shù)據(jù)庫;其基本工作流程是在用戶層通過用戶安全注冊后,由任務(wù)調(diào)度模塊接收網(wǎng)絡(luò)安全人員的操作指令和參數(shù),并將其傳遞到相關(guān)模塊,譬如“行為特征信息監(jiān)控請求”模塊;多數(shù)模塊在完成必要的處理后,將組織數(shù)據(jù)并通過“數(shù)據(jù)通訊處理”模塊與內(nèi)核接口,將安全監(jiān)控指令和數(shù)據(jù)傳遞給內(nèi)核IO接口模塊,由內(nèi)核完成所要求的工作,譬如,對指定的軟件應(yīng)用程序?qū)嵤┍O(jiān)控;同時(shí)“數(shù)據(jù)通訊處理”模塊還接收來自內(nèi)核的數(shù)據(jù)、報(bào)警信息和應(yīng)對請求,將數(shù)據(jù)傳遞給用戶層的相關(guān)模塊,并與其他安全設(shè)施聯(lián)動處理;各模塊的基本功能是注冊模塊完成系統(tǒng)用戶的安全注冊、注銷,
任務(wù)調(diào)度模塊通過字符或窗口界面完成用戶安全指令及控制參數(shù)的獲取,進(jìn)行有關(guān)處理后,并按系統(tǒng)約定形成請求包傳遞給相關(guān)模塊;行為特征信息采集與制作請求模塊針對指定軟件應(yīng)用程序,完成特定安全控制要求的設(shè)定和初始化,包括對特定的系統(tǒng)調(diào)用設(shè)定關(guān)聯(lián)控制、空間地址控制;對特定系統(tǒng)資源使用的控制,譬如對指定文件使用關(guān)聯(lián)控制等,形成請求包傳遞給“數(shù)據(jù)通訊處理模塊”;以及完成指定軟件的特征信息獲取、制作并構(gòu)建數(shù)據(jù)庫記錄,包括從核心層獲取動態(tài)監(jiān)控所采集到的行為特征信息集合,以及在應(yīng)用層靜態(tài)獲取行為特征信息,將二者進(jìn)行融合處理形成“行為安全盒”,并在數(shù)據(jù)庫中保留記錄;行為特征信息監(jiān)控請求模塊將指定軟件的“行為安全盒”數(shù)據(jù)和其他控制參數(shù)形成請求包,傳遞給“數(shù)據(jù)通訊處理模塊”,將其加載入系統(tǒng)內(nèi)核;策略配置請求模塊設(shè)定了三種控制狀態(tài)(1)網(wǎng)絡(luò)控制狀態(tài),有“行為安全盒”制約的進(jìn)程可以在約束下進(jìn)行網(wǎng)絡(luò)通訊,其他進(jìn)程不能進(jìn)行網(wǎng)絡(luò)通訊;(2)完全控制狀態(tài),僅有“行為安全盒”制約的進(jìn)程可以在系統(tǒng)內(nèi)運(yùn)行,其他進(jìn)程不能繼續(xù)運(yùn)行;(3)維護(hù)狀態(tài),系統(tǒng)臨時(shí)進(jìn)入維護(hù)狀態(tài)。該模塊根據(jù)安全人員對狀態(tài)的設(shè)置以及對其他策略參數(shù)的設(shè)置形成請求包,并通過“數(shù)據(jù)通訊模塊”傳遞給內(nèi)核處理模塊;行為數(shù)據(jù)融合與審計(jì)模塊對指定的“行為安全盒”數(shù)據(jù)進(jìn)行安全審計(jì),參照應(yīng)用的技術(shù)說明資料,可審計(jì)內(nèi)容包括是否侵犯了系統(tǒng)重要機(jī)密數(shù)據(jù);是否不適當(dāng)?shù)脑L問了系統(tǒng)內(nèi)其他重要的配置文件;是否訪問了技術(shù)規(guī)范以外的其他網(wǎng)絡(luò)通訊端口;是否不適當(dāng)?shù)氖褂昧讼到y(tǒng)設(shè)備;對有關(guān)系統(tǒng)文件是否使用了不當(dāng)?shù)脑L問方式;在審計(jì)過程中可對行為特征數(shù)據(jù)進(jìn)行修正;完成安全審計(jì)后將“行為安全盒”數(shù)據(jù)由待審狀態(tài)確認(rèn)為有效;實(shí)時(shí)報(bào)警與應(yīng)對模塊實(shí)時(shí)監(jiān)視內(nèi)核對受控軟件應(yīng)用程序的監(jiān)控報(bào)警,并根據(jù)報(bào)警級別采取應(yīng)對措施;包括防火墻聯(lián)動、終止服務(wù)進(jìn)程等;數(shù)據(jù)通訊處理模塊接收其他模塊的控制請求包,并將其傳遞給內(nèi)核IO接口模塊,同時(shí)負(fù)責(zé)接收內(nèi)核送出的行為特征數(shù)據(jù)、報(bào)警等信息;行為特征數(shù)據(jù)庫包括各個(gè)應(yīng)用軟件的待定行為特征數(shù)據(jù)集合庫;經(jīng)過安全審計(jì)與修正后確認(rèn)的“行為安全盒”集合庫;報(bào)警信息庫;用戶數(shù)據(jù)庫;安全策略配置庫;根據(jù)本發(fā)明的一實(shí)施例,內(nèi)核層數(shù)據(jù)處理與監(jiān)控模塊是入侵防御系統(tǒng)的核心部分,負(fù)責(zé)應(yīng)用本發(fā)明所描述的方法,實(shí)施應(yīng)用程序的行為特征信息的采集,對具有“行為安全盒”的軟件實(shí)施應(yīng)用行為的安全監(jiān)控;同時(shí)實(shí)現(xiàn)安全策略配置;網(wǎng)絡(luò)和進(jìn)程輔助控制,實(shí)施防入侵的整體安全策略,包括將未受“行為安全盒”監(jiān)控進(jìn)程與外部網(wǎng)絡(luò)隔離,所述模塊具體包括信息IO與任務(wù)總控模塊、數(shù)據(jù)結(jié)構(gòu)初始化模塊、進(jìn)程狀態(tài)識別與控制模塊、網(wǎng)絡(luò)通訊控制模塊、系統(tǒng)調(diào)用信息截獲模塊、策略配置與管理模塊、行為特征數(shù)據(jù)產(chǎn)生模塊、訪問仲裁模塊、報(bào)警與應(yīng)對模塊;其基本工作流程如下信息IO與任務(wù)總控模塊接收來自用戶層的請求包,分析請求包內(nèi)容,并分發(fā)任務(wù),包括以下幾個(gè)主要分支流程(1)軟件特征信息內(nèi)核采集,這時(shí)將調(diào)用數(shù)據(jù)初始化模塊,完成初始數(shù)據(jù)結(jié)構(gòu)的創(chuàng)建,激活進(jìn)程狀態(tài)識別與控制模塊、系統(tǒng)調(diào)用信息截獲模和塊行為特征數(shù)據(jù)產(chǎn)生模塊,完成行為特征信息的采集構(gòu)造工作;(2)軟件特征信息內(nèi)核監(jiān)控,這時(shí)將從用戶層獲取“行為安全盒”數(shù)據(jù),調(diào)用數(shù)據(jù)初始化模塊,完成行為特征信息的數(shù)據(jù)結(jié)構(gòu)的建立等,同時(shí)激活進(jìn)程狀態(tài)識別與控制模塊、訪問仲裁模塊,系統(tǒng)可同時(shí)提供對多道用戶應(yīng)用程序的監(jiān)控;(3)安全策略的配置,完成內(nèi)核安全策略參數(shù)的配置,激活網(wǎng)絡(luò)通訊控制模塊、報(bào)警與應(yīng)對模塊;(4)網(wǎng)絡(luò)通訊控制,不是受控或采集狀態(tài)的進(jìn)程嚴(yán)禁與外部網(wǎng)絡(luò)通訊;其中,各模塊功能如下信息IO與任務(wù)總控模塊接收來自用戶層的請求包,分析請求包內(nèi)容,并分發(fā)任務(wù),向用戶層提供數(shù)據(jù)、配置和狀態(tài)信息;數(shù)據(jù)結(jié)構(gòu)初始化模塊根據(jù)用戶采集請求包,完成采集任務(wù)的基礎(chǔ)信息結(jié)構(gòu)的創(chuàng)建和原始數(shù)據(jù)的初始化;創(chuàng)建系統(tǒng)作業(yè)控制鏈表項(xiàng)并建立與基礎(chǔ)數(shù)據(jù)結(jié)構(gòu)的勾聯(lián);根據(jù)用戶控制請求包,完成所需的“行為安全盒”控制數(shù)據(jù)結(jié)構(gòu)的建立并初始化,創(chuàng)建系統(tǒng)作業(yè)控制鏈表項(xiàng)并建立與控制數(shù)據(jù)結(jié)構(gòu)的勾連;系統(tǒng)其他安全策略參數(shù)、隊(duì)列及控制結(jié)構(gòu)的初始化;進(jìn)程狀態(tài)識別與控制模塊依據(jù)系統(tǒng)中進(jìn)程PID號的唯一性,從系統(tǒng)進(jìn)程控制鏈表中識別當(dāng)前進(jìn)程是采集或受控進(jìn)程,根據(jù)控制表項(xiàng)映射到對應(yīng)層次采集或控制數(shù)據(jù)結(jié)構(gòu);網(wǎng)絡(luò)通訊控制模塊識別當(dāng)前進(jìn)程是否受控狀態(tài),隔離未受“行為安全盒”控制的進(jìn)程與外部網(wǎng)絡(luò)的通訊;系統(tǒng)調(diào)用信息截獲模塊識別當(dāng)前進(jìn)程是否采集或受控狀態(tài),屬兩狀態(tài)之一,則在用戶層與系統(tǒng)的總?cè)肟谔帞r截系統(tǒng)調(diào)用,收集調(diào)用號,參數(shù),當(dāng)前調(diào)用層次等信息;行為特征數(shù)據(jù)產(chǎn)生模塊根據(jù)系統(tǒng)調(diào)用信息截獲模塊截獲信息和相關(guān)“行為安全盒”中控制要求,構(gòu)造當(dāng)前調(diào)用的行為特征信息;如為采集狀態(tài),則完成數(shù)據(jù)記錄的相關(guān)處理;如為受控狀態(tài),則轉(zhuǎn)訪問仲裁處理;訪問仲裁模塊根據(jù)當(dāng)前的策略配置、當(dāng)前作業(yè)的監(jiān)控等級、當(dāng)前作業(yè)的“行為安全盒”數(shù)據(jù),對作業(yè)的當(dāng)前行為實(shí)施訪問仲裁;報(bào)警與應(yīng)對模塊當(dāng)仲裁模塊對當(dāng)前的訪問仲裁失敗時(shí),本模塊發(fā)出等級報(bào)警信息并采取有關(guān)應(yīng)對措施。
采用本發(fā)明的技術(shù)方案有效地利用了軟件應(yīng)用程序行為的不變性特征,實(shí)現(xiàn)了對應(yīng)用程序行為特征的“緊耦合”控制。在達(dá)到對程序行為的細(xì)粒度控制、保障應(yīng)用程序不偏離“行為安全盒”約束的情況下,實(shí)現(xiàn)的算法較為簡單、流程清晰、可控性好,對系統(tǒng)性能損失較低。該發(fā)明用于抵御利用應(yīng)用軟件存在的漏洞、弱點(diǎn)進(jìn)行“堆棧溢出”、“特洛伊木馬”、“后門”等典型入侵手段,尤其是應(yīng)對新型入侵手段有很好的效果。作為本發(fā)明的第二個(gè)目的(構(gòu)建網(wǎng)絡(luò)入侵防護(hù)系統(tǒng)),將發(fā)明的方法作為基本手段應(yīng)用于整個(gè)計(jì)算機(jī)系統(tǒng)的安全防御,使其對與外部網(wǎng)絡(luò)來說完全處于受“行為安全盒”監(jiān)控的狀態(tài),系統(tǒng)對外界提供的服務(wù)功能,以及服務(wù)過程找中對系統(tǒng)資源的使用都經(jīng)過安全審計(jì),因而將大大提高系統(tǒng)的網(wǎng)絡(luò)安全防御能力。
本發(fā)明上述的以及其他的特征、性質(zhì)和優(yōu)勢將在下面結(jié)合附圖和實(shí)施例進(jìn)一步描述,在附圖中相同的附圖標(biāo)記始終表示相同的特征,其中,圖1是根據(jù)本發(fā)明一實(shí)施例的系統(tǒng)作業(yè)控制表鏈和系統(tǒng)進(jìn)程控制表鏈及其關(guān)系的示意圖。
圖2是根據(jù)本發(fā)明一實(shí)施例的特征信息采集方法的控制流程圖。
圖3是根據(jù)本發(fā)明一實(shí)施例的特征信息控制方法的控制流程圖。
圖4是根據(jù)本發(fā)明一實(shí)施例的用戶層模塊的控制流程圖。
圖5是根據(jù)本發(fā)明一實(shí)施例的入侵防護(hù)系統(tǒng)防范網(wǎng)絡(luò)入侵原理示意圖。
圖6是根據(jù)本發(fā)明一實(shí)施例的內(nèi)核層數(shù)據(jù)處理與監(jiān)控模塊的主要工作流程圖。
圖7是根據(jù)本發(fā)明一實(shí)施例的入侵防護(hù)系統(tǒng)用戶層與系統(tǒng)內(nèi)核層模塊結(jié)構(gòu)示意圖。
具體實(shí)施例方式
下面結(jié)合附圖進(jìn)一步說明本發(fā)明的技術(shù)方案。
為便于說明發(fā)明內(nèi)容,先作一些必要的定義和說明某軟件行為特征為達(dá)到該軟件設(shè)計(jì)的全部或部分功能而向系統(tǒng)軟件操作平臺(OS)所提出的服務(wù)、資源請求,以及這些請求的各種特性構(gòu)成的信息集合。所謂服務(wù)是指系統(tǒng)提供的各種設(shè)施,譬如創(chuàng)建進(jìn)程、網(wǎng)絡(luò)連接等。所謂資源是指為了完成預(yù)定的功能而需要訪問的文件(包括數(shù)據(jù)文件、配置文件、共享庫類的執(zhí)行文件)、設(shè)備等。特性是指其有序性、關(guān)聯(lián)性和(虛)地址空間特性等。這些行為特征集合構(gòu)成了一道軟件程序完成各種任務(wù)所不可或缺的要素。
“行為安全盒”某一道程序的“行為安全盒”是指,為了安全檢測和控制的要求,對指定程序的軟件行為特征集合進(jìn)行特定處理后所構(gòu)成的,具有特定結(jié)構(gòu)和附加信息的結(jié)構(gòu)化數(shù)據(jù)集合。
根據(jù)本發(fā)明提供一種入侵檢測方法,其中,通過直接獲取程序的軟件行為特征信息、構(gòu)造訪問模型,并將其反作用于程序本身來達(dá)到防止程序異常行為的發(fā)生;通過有效地集成這種方法構(gòu)造完整的系統(tǒng)網(wǎng)絡(luò)安全策略,進(jìn)而保護(hù)整個(gè)網(wǎng)絡(luò)服務(wù)器系統(tǒng)免受網(wǎng)絡(luò)入侵攻擊侵害,具體包含如下的兩個(gè)過程“行為安全盒”的采集制作;用“行為安全盒”對軟件行為的監(jiān)控;上述兩過程是一個(gè)有機(jī)整體的兩個(gè)部分。
根據(jù)本發(fā)明的一實(shí)施例,在系統(tǒng)內(nèi)核建立一種機(jī)制,全程監(jiān)控指定應(yīng)用程序的運(yùn)行,并根據(jù)安全設(shè)定獲取該程序的行為特征信息集合,經(jīng)分析處理和安全審計(jì)后構(gòu)建應(yīng)用程序形成“行為安全盒”,結(jié)合附圖2和附圖5,具體制作步驟如下步驟11)通過專用接口接收來自用戶應(yīng)用層的采集請求信息,從中提取控制模式信息(行為數(shù)據(jù)獲取模式)、網(wǎng)絡(luò)應(yīng)用程序名(采集對象)、各系統(tǒng)調(diào)用的缺省監(jiān)控要求、特殊監(jiān)控的系統(tǒng)調(diào)用、特殊監(jiān)控的文件資源信息,并將其格式化,創(chuàng)建系統(tǒng)作業(yè)控制鏈表項(xiàng),供“執(zhí)行狀態(tài)識別”時(shí)使用;根據(jù)指定的采集要求建立首層信息采集數(shù)據(jù)結(jié)構(gòu)并完成初始化;步驟12)在用戶層終止并重新啟動采集對象程序,并按正常方式運(yùn)行;步驟13)系統(tǒng)中的“文件執(zhí)行鉤子”在執(zhí)行一個(gè)新的文件時(shí),根據(jù)步驟11)建立的系統(tǒng)作業(yè)控制表鏈,判定將執(zhí)行的程序是否是要采集行為信息的程序,若不是則轉(zhuǎn)步驟18),如是則為當(dāng)前進(jìn)程創(chuàng)建系統(tǒng)進(jìn)程控制表鏈表,同時(shí)建立兩條鏈表項(xiàng)的映射關(guān)系;步驟14)“系統(tǒng)調(diào)用截獲鉤子”在系統(tǒng)調(diào)用總?cè)肟谔?,根?jù)系統(tǒng)進(jìn)程控制表鏈判斷當(dāng)前進(jìn)程是否是被采集行為特征信息的進(jìn)程,如不是則轉(zhuǎn)步驟18)如是則截獲當(dāng)前進(jìn)程的系統(tǒng)調(diào)用,并收集調(diào)用參數(shù),完成當(dāng)前進(jìn)程到系統(tǒng)作業(yè)控制表鏈中對應(yīng)項(xiàng)的映射,找到對應(yīng)的數(shù)據(jù)結(jié)構(gòu),如當(dāng)前進(jìn)程希望創(chuàng)建子進(jìn)程則轉(zhuǎn)步驟16),否則繼續(xù)下一步驟;步驟15)“行為特征數(shù)據(jù)產(chǎn)生模塊”根據(jù)用戶對控制要求的具體指定,按不同情況采集并構(gòu)造此次行為的特征數(shù)據(jù)。轉(zhuǎn)步驟17);步驟16)當(dāng)前進(jìn)程希望創(chuàng)建子進(jìn)程時(shí),首先為子進(jìn)程創(chuàng)建新的系統(tǒng)進(jìn)程控制鏈表項(xiàng),并查找當(dāng)前作業(yè)結(jié)構(gòu)中是否已有下一層進(jìn)程的結(jié)構(gòu)和空間。如有,建立勾連關(guān)系并轉(zhuǎn)下一步,否則為下一層創(chuàng)建結(jié)構(gòu)和空間并完成初始化處理;
步驟17)“結(jié)果分析處理模塊”對獲取的信息進(jìn)行統(tǒng)計(jì)、去重處理后記錄到相關(guān)數(shù)據(jù)結(jié)構(gòu)鏈表中;步驟18)轉(zhuǎn)入正常系統(tǒng)調(diào)用處理流程;以上13-18步驟在獲取指定服務(wù)程序行為特征信息過程中多次循環(huán)執(zhí)行,在獲取較為完整的信息數(shù)據(jù)后進(jìn)入以下處理流程步驟19)將通過靜態(tài)分析提取的程序?qū)傩院筒糠中袨樘卣餍畔⑴c內(nèi)核動態(tài)獲取的行為特征數(shù)據(jù)進(jìn)行融合處理,并通過“行為信息融合與審計(jì)模塊”提供透明、交互式的行為信息安全審計(jì)處理,對程序行為的審計(jì)按層分類進(jìn)行,審計(jì)完成的數(shù)據(jù)按“行為安全盒”規(guī)格進(jìn)行融合處理并存儲到應(yīng)用數(shù)據(jù)庫中,供監(jiān)控時(shí)使用。
根據(jù)本發(fā)明的一實(shí)施例,所述方法描述了一種準(zhǔn)確獲取指定程序行為特征集合的運(yùn)行步驟和機(jī)制,其中包含了兩條鏈表(1)系統(tǒng)作業(yè)控制表鏈其中的每一表項(xiàng)用于登記當(dāng)前需要采集或控制的作業(yè)的具體信息,同時(shí)包含有容納行為特征信息空間的指針。
(2)系統(tǒng)進(jìn)程控制表鏈其中的每一表項(xiàng)用于登記當(dāng)前的進(jìn)程ID、歷史關(guān)聯(lián)信息、控制類型、層次信息、容納本層程序行為信息空間的指針、所屬作業(yè)標(biāo)識、啟動時(shí)間、下一表項(xiàng)指針等。
參考圖1,圖1描述了上述兩鏈表兩條主要的數(shù)據(jù)鏈表,一條是作業(yè)控制鏈表,它是一條雙向鏈表。其中每一鏈表結(jié)構(gòu)項(xiàng)包含以下作業(yè)基本控制信息(主要字段)及二者的關(guān)系。
作業(yè)名(Object_name)具體應(yīng)用程序的全路徑名。譬如/usr/sbin/vsftpd(FTP文件服務(wù)器守護(hù)程序)。
控制類型(O_type)采集型或控制型。
行為信息首結(jié)構(gòu)指針(O_datap)用于存放作業(yè)行為特征信息的數(shù)據(jù)結(jié)構(gòu)的地址。
標(biāo)志信息(O_flag)用于存放各種操作標(biāo)志。
同步鎖(O_lock)用于行為信息的操作同步。
該鏈表可同時(shí)存在多個(gè)表項(xiàng),即可同時(shí)對多個(gè)作業(yè)實(shí)施采集或監(jiān)控。
另一條是進(jìn)程控制鏈,它也是一條雙向鏈表。其中每一鏈表結(jié)構(gòu)項(xiàng)包含以下進(jìn)程基本控制信息(主要字段)進(jìn)程標(biāo)識號(p_pid)它是系統(tǒng)中唯一的進(jìn)程標(biāo)識。
控制類型(p_type)表明進(jìn)程是采集或受控狀態(tài)。
鏈表指針(p_p)指向本層行為信息結(jié)構(gòu)空間。
層級號(p_level)進(jìn)程在作業(yè)中所處的層級;進(jìn)程啟動時(shí)間(p_stime)進(jìn)程在系統(tǒng)中實(shí)際啟動的時(shí)間。
進(jìn)程調(diào)用歷史記錄(p_l)進(jìn)程執(zhí)行系統(tǒng)調(diào)用的歷史。
該鏈表可同時(shí)存在多個(gè)表項(xiàng),記錄了所有采集或受控作業(yè)的相關(guān)進(jìn)程信息。
其中所述步驟11)中的專用接口可借用系統(tǒng)已有的讀寫接口,這時(shí)可利用原系統(tǒng)未使用的資源部分(譬如特定的數(shù)字區(qū)間),也可另建新的獨(dú)立的讀寫接口,完成與用戶層的信息交換。具體采集的對象和采集信息的種類由用戶根據(jù)實(shí)際需求確定,譬如指定采集WEB服務(wù)端的程序行為。具體采集的內(nèi)容包括系統(tǒng)調(diào)用號;有關(guān)系統(tǒng)調(diào)用的空間層次信息;調(diào)用的歷史關(guān)聯(lián)信息和空間地址信息;調(diào)用涉及到的文件系統(tǒng)資源,包括文件、目錄、設(shè)備;對資源的使用模式(讀/寫、讀寫、執(zhí)行);對資源的使用頻率等;還包括,為指定的采集任務(wù)建立系統(tǒng)作業(yè)控制鏈表項(xiàng)并鏈入鏈表。每一個(gè)鏈接表項(xiàng)包括作業(yè)標(biāo)識信息;作業(yè)類型(采集/控制);指向容納本層行為信息的結(jié)構(gòu)指針;前后鏈指針;文件和IP地址緩沖等;所述步驟12)用于確保采集機(jī)制可正常運(yùn)行。如程序已啟動,應(yīng)先終止再啟動;所述步驟13)中的“文件執(zhí)行鉤子”應(yīng)是系統(tǒng)中執(zhí)行文件的必經(jīng)之處,保證采集任務(wù)無旁路的可能性;所述步驟14)中的“系統(tǒng)調(diào)用截獲鉤子”應(yīng)是系統(tǒng)調(diào)用進(jìn)入系統(tǒng)的必經(jīng)之處,保證任務(wù)監(jiān)控的不可無旁路性;所述步驟16)中的控制要求還包括本方法將控制要求分為三種,可由安全人員在實(shí)施“行為安全盒”定制時(shí)設(shè)定。針對每一種系統(tǒng)調(diào)用可設(shè)置的三種控制要求為a.層次、可用性,這是針對每一個(gè)系統(tǒng)調(diào)用的缺省設(shè)定,即記錄系統(tǒng)調(diào)用是否使用,及使用所處的進(jìn)程樹層次。
b.關(guān)聯(lián)控制。記錄該系統(tǒng)調(diào)用前N步已完成的調(diào)用情況。N為安全人員設(shè)定,通常為1-5。
c.空間地址控制。記錄該系統(tǒng)調(diào)用的用戶指令空間返回地址。
以上各種控制要求可以單獨(dú)設(shè)立,也可一次設(shè)置多項(xiàng),所述步驟17)的融合與審計(jì)處理為安全人員提供了對應(yīng)用程序行為實(shí)施審計(jì)的可能。參照具體應(yīng)用的技術(shù)資料,可審計(jì)內(nèi)容包括是否侵犯了系統(tǒng)重要機(jī)密數(shù)據(jù)(文件);是否不適當(dāng)?shù)脑L問了系統(tǒng)內(nèi)其他重要的配置文件;是否訪問了技術(shù)規(guī)范以外的其他網(wǎng)絡(luò)通訊端口;是否不適當(dāng)?shù)氖褂昧讼到y(tǒng)設(shè)備;對有關(guān)系統(tǒng)文件是否使用了不當(dāng)?shù)脑L問方式等。在審計(jì)過程中可對行為特征數(shù)據(jù)進(jìn)行修正;采集和審計(jì)過程可反復(fù)進(jìn)行多次,前一次作為后一次融合的基礎(chǔ),不斷完善,最終制作出與應(yīng)用很好匹配的可用于安全控制的“行為安全盒”。
采集和審計(jì)過程可反復(fù)進(jìn)行多次,前一次作為后一次融合的基礎(chǔ),不斷完善,最終制作出與應(yīng)用很好匹配的可用于安全控制的“行為安全盒”。
圖2是本發(fā)明的采集并制作一“行為安全盒”的過程(特征信息采集方法)的控制流程圖,包括如下的步驟10a),準(zhǔn)備流程圖中的準(zhǔn)備部分負(fù)責(zé)完成的主要工作是產(chǎn)生行為特征信息采集請求包并傳遞給內(nèi)核。請求包含有有關(guān)采集要求的具體信息。包括控制模式信息、網(wǎng)絡(luò)應(yīng)用程序名(采集對象)、各系統(tǒng)調(diào)用的缺省安全等級、特殊監(jiān)控的系統(tǒng)調(diào)用、特殊監(jiān)控的文件資源信等。
11a)通過設(shè)置的專用IO接口接收來自用戶層的信息采集請求。該專用接口在LINUX系統(tǒng)中可用/proc文件系統(tǒng)實(shí)現(xiàn),也可通過利用系統(tǒng)中原有調(diào)用Write中未用的FD區(qū)域?qū)崿F(xiàn)。
12a)由于某種原因要采集行為特征信息的應(yīng)用程序可能已經(jīng)處于運(yùn)行狀態(tài),這時(shí)必須將其終止并重新啟動運(yùn)行,以保障采集機(jī)制能被激活運(yùn)行。本步驟的工作是在用戶層完成的,不是內(nèi)核模塊的一部分。譬如對文件服務(wù)器守護(hù)程序“/usr/sbin/vsftpd”,可用“/etc/init.d/vsffpd restart”完成需要的工作。
13a)在系統(tǒng)執(zhí)行文件的接口內(nèi)設(shè)置調(diào)用鉤子,譬如在“sys_execve”,用于及時(shí)識別是否是要采集信息的程序?qū)⒁\(yùn)行。如是則在系統(tǒng)進(jìn)程控制鏈中創(chuàng)建一項(xiàng),相應(yīng)的表項(xiàng)內(nèi)容為進(jìn)程標(biāo)識號(p_pid)當(dāng)前進(jìn)程的PID。它在系統(tǒng)中是唯一的。
控制類型(p_type)表明進(jìn)程是采集或受控狀態(tài),取自相關(guān)的作業(yè)控制鏈表。
層級號(p_level)進(jìn)程在作業(yè)中所處的層級。在此屬于第一層,故設(shè)為1,以后遞增;鏈表指針(p_p)指針指向所屬的作業(yè)鏈表項(xiàng)中對應(yīng)層的信息采集結(jié)構(gòu)。
進(jìn)程啟動時(shí)間(p_stime)進(jìn)程在系統(tǒng)中實(shí)際啟動的時(shí)間。
進(jìn)程調(diào)用歷史記錄(p_l)由于首次進(jìn)入采集,故設(shè)置為空。
建立該表項(xiàng)并與數(shù)據(jù)結(jié)構(gòu)勾連后,本進(jìn)程接下來的所有行為特征信息將按預(yù)定的要求被采集。本次的調(diào)用行為屬于其父進(jìn)程,所以不作采集。然后轉(zhuǎn)入正常執(zhí)行。
14a)本步驟的實(shí)施是在系統(tǒng)調(diào)用的總?cè)肟谔幵O(shè)置鉤子,譬如,在“syscall_entry”過程中。在實(shí)際執(zhí)行前,首先判斷當(dāng)前進(jìn)程是采集進(jìn)程還是受控進(jìn)程,如是采集進(jìn)程則調(diào)用行為特征信息構(gòu)造模塊。如當(dāng)前進(jìn)程不是所關(guān)心的進(jìn)程,則按正常情況繼續(xù)運(yùn)行。
15a)按11a)中設(shè)定的采集要求,構(gòu)造當(dāng)前調(diào)用的特征信息。他們是調(diào)用層次該信息說明調(diào)用應(yīng)該存在的層次。它可以直接從當(dāng)前進(jìn)程的控制鏈表項(xiàng)中獲取。
涉及到的系統(tǒng)資源信息名稱、使用方式和標(biāo)志等。譬如,打開文件的“open”調(diào)用。其中包含有文件名(fname),打開方式(mode)(讀、寫、讀寫),打開標(biāo)志(flag)。為監(jiān)控時(shí)檢索有高效率,涉及到資源名稱等的字符串使用編碼存儲,要求編碼算法對唯一的字符串僅產(chǎn)生唯一的值。
關(guān)聯(lián)信息如本調(diào)用被設(shè)置為要求產(chǎn)生調(diào)用的歷史關(guān)聯(lián)信息,則從保存在進(jìn)程鏈表項(xiàng)中p_l字段的數(shù)組中提取歷史信息,并作為本次調(diào)用的特征信息保存。
空間地址信息如本調(diào)用被設(shè)置為要求產(chǎn)生調(diào)用的空間地址信息,可從當(dāng)前進(jìn)程的系統(tǒng)核心堆棧保留的信息中獲取。并作為本次調(diào)用的特征信息保存。
同時(shí),還在本進(jìn)程鏈表項(xiàng)中記錄本次調(diào)用號等信息,作為其下一次調(diào)用系統(tǒng)的歷史關(guān)聯(lián)信息。
上述步驟15a)說明的是針對一次系統(tǒng)調(diào)用所可能采集的特征信息,整個(gè)作業(yè)的完整運(yùn)行將產(chǎn)生大量的特征信息。不同層次的特征信息量也是不同的,應(yīng)考慮對不同規(guī)模程序信息量大小變化的適應(yīng)性。
16a)對構(gòu)造的行為特征信息進(jìn)行統(tǒng)計(jì)、去重處理后記錄到相關(guān)數(shù)據(jù)結(jié)構(gòu)鏈表中。
17a)如當(dāng)前調(diào)用是創(chuàng)建新的子進(jìn)程,則首先確認(rèn)對應(yīng)下一層子進(jìn)程的特征信息結(jié)構(gòu)的存儲空間是否已存在,如已存在(即歷史上已創(chuàng)建過子進(jìn)程),則使用已存在的結(jié)構(gòu)空間(共享數(shù)據(jù)),不再創(chuàng)建。如不存在,則申請新的數(shù)據(jù)空間,并按父進(jìn)程的信息采集要求進(jìn)行初始化。然后,為新的子進(jìn)程創(chuàng)建系統(tǒng)進(jìn)程控制鏈表項(xiàng),并與特征信息結(jié)構(gòu)建立勾連。其中p_pid為新的子進(jìn)程的PID。當(dāng)新的子進(jìn)程投入運(yùn)行時(shí),系統(tǒng)將立即對其實(shí)施特征信息采集。
通過在用戶層面對被采集的應(yīng)用程序完成類似功能測試方式的運(yùn)行后,步驟13a)-17a)多次循環(huán)處理將產(chǎn)生指定程序的比較完整的行為特征信息集合(內(nèi)存中)。
18a)本步驟的工作是在用戶層完成的,不是內(nèi)核模塊的一部分。它利用系統(tǒng)專用IO接口將內(nèi)核中的特征行為信息數(shù)據(jù)集合提取到應(yīng)用層的磁盤數(shù)據(jù)庫中。并對其進(jìn)行如下處理(1)融合處理,由于某些原因,一次獲取的行為特征信息可能不夠完整,需要二次對應(yīng)用程序進(jìn)行采集,多次采集的信息需要適當(dāng)?shù)暮铣蔀橐粋€(gè)整體,要保持?jǐn)?shù)據(jù)的有效,有較少的冗余。
(2)安全審計(jì)。所獲取的程序行為特征信息,以分層、分類、透明的方式提供給系統(tǒng)安全人員進(jìn)行安全審查。譬如,是否不合理的使用了某文件數(shù)據(jù)、訪問了不應(yīng)訪問的機(jī)密數(shù)據(jù)、訪問了不相干的系統(tǒng)配置文件等。行為特征信息詳盡的說明了該應(yīng)用程序?yàn)榱送瓿伤O(shè)計(jì)的功能所需要的系統(tǒng)內(nèi)核對它的支持,包括支撐文件集合、系統(tǒng)軟件機(jī)制(進(jìn)程管理、網(wǎng)絡(luò)通訊、消息隊(duì)列)等。這里不包括應(yīng)用程序加工的新數(shù)據(jù),對新數(shù)據(jù)的加工可通過輔助機(jī)制有限“開放”實(shí)現(xiàn)。它屬于利用該方法創(chuàng)建的入侵防護(hù)系統(tǒng)。
經(jīng)過可能的融合與審計(jì)處理,最終產(chǎn)生了可用于對程序?qū)嵤┬袨楸O(jiān)控的數(shù)據(jù)集合“行為安全盒”。
圖3是特征信息控制方法,即用上一過程構(gòu)建的應(yīng)用程序的“行為安全盒”數(shù)據(jù)作為控制數(shù)據(jù),并將其應(yīng)用在系統(tǒng)內(nèi)核建立起的一種監(jiān)控機(jī)制上過程的控制流程圖。特征信息采集方法與特征信息控制方法是一個(gè)整體的前后兩個(gè)部分。而且方法涉及的一些步驟和技術(shù)是相似或相同的。
下面是二者的主要差別前者主要用于獲取指定程序的完整的行為特征信息,后者是依據(jù)所獲取的行為特征信息對指定的應(yīng)用程序?qū)嵤﹪?yán)格的行為監(jiān)控,阻止異常行為的執(zhí)行。
根據(jù)本發(fā)明的一實(shí)施例,所述方法用上一過程構(gòu)建的應(yīng)用程序的“行為安全盒”數(shù)據(jù)作為控制數(shù)據(jù),并將其應(yīng)用在系統(tǒng)內(nèi)核建立起的一種監(jiān)控機(jī)制上;一旦該程序進(jìn)入運(yùn)行,其程序行為將嚴(yán)格受到經(jīng)過安全審計(jì)的“行為安全盒”的約束;一旦程序出現(xiàn)異常行為,系統(tǒng)就會立即發(fā)現(xiàn),在阻斷服務(wù)的同時(shí)給出報(bào)警信息,并依據(jù)安全等級采取應(yīng)對措施,結(jié)合附圖3和附圖5,具體步驟如下步驟21)通過專用接口接收來自用戶應(yīng)用層的控制請求信息,從中提取控制模式(行為數(shù)據(jù)控制模式)、網(wǎng)絡(luò)應(yīng)用程序名(監(jiān)控對象)、“行為安全盒”數(shù)據(jù)等。按監(jiān)控對象名創(chuàng)建系統(tǒng)作業(yè)控制鏈表項(xiàng),供“進(jìn)程狀態(tài)識別”時(shí)使用。根據(jù)指定的“行為安全盒”數(shù)據(jù)建立對應(yīng)的數(shù)據(jù)結(jié)構(gòu)并進(jìn)行初始化;步驟22)在用戶層終止并重新啟動受控對象程序;步驟23)系統(tǒng)中的“文件執(zhí)行鉤子”在執(zhí)行一個(gè)新的文件時(shí),查詢步驟21)建立的系統(tǒng)作業(yè)控制鏈,判定將執(zhí)行的程序是否是要實(shí)施監(jiān)控的程序,若不是則轉(zhuǎn)步驟29),若是,則為當(dāng)前進(jìn)程創(chuàng)建系統(tǒng)進(jìn)程控制鏈表項(xiàng),同時(shí)建立兩條鏈表項(xiàng)的映射關(guān)系。
步驟24)“系統(tǒng)調(diào)用截獲鉤子”在系統(tǒng)調(diào)用總?cè)肟谔幉樵儺?dāng)前系統(tǒng)進(jìn)程控制鏈,判斷當(dāng)前進(jìn)程是否是被監(jiān)控進(jìn)程,如不是則轉(zhuǎn)步驟9),如是則截獲當(dāng)前進(jìn)程的系統(tǒng)調(diào)用,收集調(diào)用參數(shù),并完成當(dāng)前進(jìn)程到系統(tǒng)作業(yè)控制鏈中對應(yīng)項(xiàng)的映射,找到對應(yīng)的數(shù)據(jù)結(jié)構(gòu)。
步驟25)“行為特征數(shù)據(jù)產(chǎn)生模塊”根據(jù)針對本作業(yè)的監(jiān)控級別和“行為安全盒”控制要求,按不同情況構(gòu)造此次軟件行為的特征數(shù)據(jù)轉(zhuǎn)步驟27);步驟26)如當(dāng)前進(jìn)程的行為是希望創(chuàng)建子進(jìn)程,則首先為子進(jìn)程創(chuàng)建新的系統(tǒng)進(jìn)程控制鏈表項(xiàng),并查找當(dāng)前作業(yè)結(jié)構(gòu)中是否已有下一層進(jìn)程的信息結(jié)構(gòu)和空間。如有,建立勾連關(guān)系并轉(zhuǎn)步驟29),否則,報(bào)警并錯(cuò)誤返回;如不是創(chuàng)建子進(jìn)程,則轉(zhuǎn)步驟29)。
步驟27)“結(jié)果分析仲裁模塊”根據(jù)用戶指定的監(jiān)控級別,將構(gòu)造的當(dāng)前的行為特征信息與本進(jìn)程相應(yīng)的“行為安全盒”信息進(jìn)行分析對照,實(shí)施訪問仲裁。如果仲裁通過,則轉(zhuǎn)步驟26);如果仲裁失敗,則轉(zhuǎn)步驟28);步驟28)“實(shí)時(shí)報(bào)警與應(yīng)對模塊”根據(jù)“行為安全盒”中指定控制要求實(shí)時(shí)發(fā)出等級報(bào)警,并根據(jù)內(nèi)核部分應(yīng)對措施實(shí)施錯(cuò)誤處理,譬如封鎖客戶IP地址等;步驟29)繼續(xù)執(zhí)行正常的系統(tǒng)調(diào)用功能;每次用戶層應(yīng)用程序進(jìn)入系統(tǒng)調(diào)用,都將循環(huán)以上23)-29)步驟的處理,保證整個(gè)監(jiān)控過程的連續(xù)性與完整性。
根據(jù)本發(fā)明的一實(shí)施例,所述步驟21)中的專用接口同過程一中說明,用戶指定的“行為安全盒”是采集制作過程產(chǎn)生的具有層次的結(jié)構(gòu)化數(shù)據(jù)集合,通常存儲在用戶層數(shù)據(jù)庫中,“行為安全盒”與應(yīng)用程序有嚴(yán)格的一對一特性,如不匹配將導(dǎo)致應(yīng)用程序無法運(yùn)行;所述步驟22)必須保證受控服務(wù)程序的重新啟動,如在對應(yīng)的“行為安全盒”完成初始化之前已啟動,應(yīng)先將其終止后再啟動,以確??刂茩C(jī)制可以正常實(shí)施監(jiān)控;所述步驟23)中的“文件執(zhí)行鉤子”和步驟24)中的“系統(tǒng)調(diào)用鉤子”要求同過程一中的說明;所述步驟25)必須確保在子進(jìn)程實(shí)際運(yùn)行之前,完成對應(yīng)的系統(tǒng)進(jìn)程控制鏈表項(xiàng)的創(chuàng)建,并建立與作業(yè)結(jié)構(gòu)中下一層進(jìn)程信息結(jié)構(gòu)和空間的勾連,以保證子進(jìn)程一旦運(yùn)行就立即被“行為安全盒”監(jiān)控,不會發(fā)生失控情況。
所述步驟26)的“監(jiān)控級別”還包含本方法將檢測仲裁劃分為四種不同級別,可由安全人員在實(shí)施監(jiān)控時(shí)設(shè)定。由低到高分別為(1)基本級;僅對系統(tǒng)調(diào)用在對應(yīng)層次的可用性進(jìn)行檢查。即,如“行為安全和盒”的對應(yīng)層指示本次調(diào)用存在,則判定為訪問合法,否則為不合法;(2)較強(qiáng)級。除按(1)級即基本級條件實(shí)施檢查外,還檢查相關(guān)文件、設(shè)備是否可用、使用方式是否正確;(3)強(qiáng)級。除完成(1)、(2)兩級即基本級和較強(qiáng)級內(nèi)的檢查外,還檢查相關(guān)調(diào)用關(guān)聯(lián)(n步)是否正確;(4)超強(qiáng)級。除完成(1)、(2)和(3)級即基本級、較強(qiáng)級和強(qiáng)級內(nèi)的檢查外,還構(gòu)造并檢查相關(guān)調(diào)用的空間地址是否正確;所述步驟26)中的“控制要求”同過程一中方法描述;所述步驟27)中的對照分析、訪問仲裁包含根據(jù)當(dāng)前作業(yè)監(jiān)控級別,將調(diào)用的行為特征信息與“行為安全盒”中對應(yīng)類別的記錄分別進(jìn)行對比,如有一種條件不符則仲裁為失??;所述步驟28)還包含等級報(bào)警分為三級,每一報(bào)警等級設(shè)有相應(yīng)的應(yīng)對措施一級報(bào)警控制要求指定為關(guān)聯(lián)和空間地址監(jiān)控的系統(tǒng)調(diào)用在執(zhí)行中出現(xiàn)異常,或訪問的文件系統(tǒng)資源違反了特定的控制要求,譬如關(guān)聯(lián)或空間地址異常,對應(yīng)的錯(cuò)誤應(yīng)對措施為防火墻聯(lián)動,在特殊設(shè)定下會終止對應(yīng)的網(wǎng)絡(luò)服務(wù)程序;二級報(bào)警控制要求指定為關(guān)聯(lián)或空間地址監(jiān)控的系統(tǒng)調(diào)用在執(zhí)行中出現(xiàn)異常,或?qū)Α靶袨榘踩小敝兄辉试S讀的文件和/或設(shè)備出現(xiàn)了非法的“寫”操作。對應(yīng)的錯(cuò)誤應(yīng)對措施為封鎖客戶IP地址,重啟網(wǎng)絡(luò)服務(wù)程序等;三級報(bào)警對控制要求設(shè)定為可用性的系統(tǒng)調(diào)用出現(xiàn)了異常,或一般的文件/設(shè)備訪問出現(xiàn)異常,對應(yīng)的錯(cuò)誤應(yīng)對措施為一般報(bào)警。
根據(jù)本發(fā)明的一實(shí)施例,所述方法中包含的兩條鏈表(1)系統(tǒng)作業(yè)控制表鏈(2)系統(tǒng)進(jìn)程控制鏈;與前面描述的過程中描述的一致。
圖3是第二過程,特征信息控制方法的控制流程圖,參考圖3可見,包括如下的主要流程21a)通過專用接口接收來自用戶應(yīng)用層的控制請求信息,按監(jiān)控對象名創(chuàng)建系統(tǒng)作業(yè)控制鏈表項(xiàng)。根據(jù)指定的“行為安全盒”數(shù)據(jù)建立對應(yīng)的數(shù)據(jù)結(jié)構(gòu),并進(jìn)行初始化。譬如“/uar/sbin/vsftpd”是三層數(shù)據(jù)結(jié)構(gòu),如圖1所示。
22a)由于某種原因要受控的應(yīng)用程序可能已經(jīng)處于運(yùn)行狀態(tài),這時(shí)必須將其終止并重新啟動運(yùn)行,以保障控制機(jī)制能被激活運(yùn)行。本步驟的工作是在用戶層完成的,不是內(nèi)核模塊的一部分。譬如對文件服務(wù)器守護(hù)程序“/usr/sbin/vsftpd”,可用“/etc/init.d/vsftpd restart”完成需要的工作。
23a)在系統(tǒng)執(zhí)行文件的接口內(nèi)設(shè)置調(diào)用鉤子,用于及時(shí)識別是否是要控制的應(yīng)用程序?qū)⒁\(yùn)行。如是則在系統(tǒng)進(jìn)程控制鏈中創(chuàng)建一項(xiàng),相應(yīng)的表項(xiàng)內(nèi)容與采集方法中基本相同。然后建立該表項(xiàng)并與行為數(shù)據(jù)結(jié)構(gòu)勾連。本進(jìn)程接下來的所有的行為特征信息將按預(yù)定的要求實(shí)施訪問仲裁。本次的調(diào)用行為屬于其未受控的父進(jìn)程,所以不作仲裁。然后轉(zhuǎn)入正常執(zhí)行。
24a)本步驟的實(shí)施是在系統(tǒng)調(diào)用的總?cè)肟谔幵O(shè)置鉤子,在實(shí)際執(zhí)行前,首先判斷當(dāng)前進(jìn)程是采集進(jìn)程還是受控進(jìn)程,如是受控進(jìn)程則調(diào)用行為特征信息構(gòu)造模塊。如當(dāng)前進(jìn)程不是所關(guān)心的進(jìn)程,則按正常情況繼續(xù)運(yùn)行。
25a)按步驟(1)中設(shè)定的控制要求,構(gòu)造當(dāng)前調(diào)用的特征信息,同上一過程的描述。
26a)對此次調(diào)用行為實(shí)施仲裁。仲裁的依據(jù)是當(dāng)前的調(diào)用行為特征是否符合經(jīng)審計(jì)的安全行為特征集中已有的特征條件,包括a.層次、可用性。當(dāng)前的調(diào)用是否處在正確的層次、合法的特征集合中是否包含本次調(diào)用。
b.關(guān)聯(lián)可用性檢查。如原控制要求中指定了關(guān)聯(lián)特征,則檢查當(dāng)前調(diào)用的歷史關(guān)聯(lián)是否在屬于合法的特征集合。當(dāng)前調(diào)用的關(guān)聯(lián)信息保存在進(jìn)程控制鏈表項(xiàng)結(jié)構(gòu)中。
c.空間地址可用性檢查。如原控制要求中指定了空間地址特征,則檢查當(dāng)前調(diào)用的空間地址是否在屬于合法的特征集合。當(dāng)前調(diào)用的空間地址可通過當(dāng)前進(jìn)程的核心堆棧獲得。
d.資源可用性檢查。如當(dāng)前調(diào)用涉及到系統(tǒng)資源的使用,則檢查對資源的使用是否合法,即該資源是否在合法行為特征集中;使用的方式是否正確;訪問的資源是否屬于開放資源。
27a)如當(dāng)前調(diào)用是創(chuàng)建新的子進(jìn)程,則首先確認(rèn)對應(yīng)下一層子進(jìn)程的特征信息結(jié)構(gòu)的存儲空間是否已存在,如已存在,則使用已存在的結(jié)構(gòu)空間(共享數(shù)據(jù))。如不存在,則判定為一次行為錯(cuò)誤,并中斷執(zhí)行返回用戶。然后,為新的子進(jìn)程創(chuàng)建系統(tǒng)進(jìn)程控制鏈表項(xiàng),并與特征信息結(jié)構(gòu)建立勾連。其中p_pid為新的子進(jìn)程的PID。當(dāng)新的子進(jìn)程投入運(yùn)行時(shí),系統(tǒng)將立即對其實(shí)施監(jiān)控。
在執(zhí)行上述仲裁時(shí)可考慮安全人員設(shè)定的監(jiān)控等級,由監(jiān)控等級確定具體使用上述檢測特征的那些部分。譬如,如設(shè)定監(jiān)控級為“層次、可用性”,則只檢測(1)所描述的特性。上述檢查中任何一項(xiàng)未獲通過,此次訪問仲裁即判為失敗。如通過訪問仲裁則轉(zhuǎn)入,本次調(diào)用的正常執(zhí)行。
28a)當(dāng)訪問仲裁失敗時(shí),將依據(jù)控制等級發(fā)出等級報(bào)警,并完成部分應(yīng)對措施實(shí)施錯(cuò)誤處理。
步驟24a)-28a)是控制方法中的主要循環(huán)處里部分,實(shí)施對被監(jiān)控程序的實(shí)時(shí)監(jiān)控。
參考圖5和圖7,圖5是入侵防護(hù)系統(tǒng)防范網(wǎng)絡(luò)入侵原理示意圖;圖7是入侵防護(hù)系統(tǒng)用戶層與系統(tǒng)內(nèi)核層模塊結(jié)構(gòu)示意圖。根據(jù)本發(fā)明的一實(shí)施例,提供一種適用于所述的檢測入侵方法的網(wǎng)絡(luò)入侵防護(hù)系統(tǒng),其中,應(yīng)用本發(fā)明所闡述的方法作為監(jiān)控的核心技術(shù),配以輔助的網(wǎng)絡(luò)訪問控制、進(jìn)程運(yùn)行狀態(tài)控制等,創(chuàng)建一個(gè)完整的系統(tǒng)級的安全監(jiān)控模型和策略體系,即通過“行為安全盒”技術(shù)方法,對所有為外部網(wǎng)絡(luò)提供服務(wù)的應(yīng)用軟件的程序行為進(jìn)行超細(xì)粒度、全程的實(shí)時(shí)監(jiān)控,對系統(tǒng)內(nèi)的所有其他不受“行為安全盒”約束的程序,實(shí)施與外部網(wǎng)絡(luò)完全隔離;對外部網(wǎng)絡(luò)來說,構(gòu)建起一個(gè)完全受控于異常監(jiān)控模型的、高等級安全和可用的網(wǎng)絡(luò)入侵防護(hù)系統(tǒng);該系統(tǒng)包括用戶層安全交互模塊;以及內(nèi)核層數(shù)據(jù)處理與監(jiān)控模塊。
根據(jù)本發(fā)明的一實(shí)施例,用戶層安全交互模塊運(yùn)行在用戶層面,提供一個(gè)可操控的工作平臺,也是用戶層與內(nèi)核層數(shù)據(jù)交互的主要通道;它主要完成對軟件行為特征信息的采集(靜態(tài)部分)、制作、管理和實(shí)施監(jiān)控所需的前端與后臺管理等工作,主要的行為特征數(shù)據(jù)的采集和實(shí)質(zhì)性監(jiān)控均由系統(tǒng)內(nèi)核完成;它集成了網(wǎng)絡(luò)安全人員完成各種任務(wù)所需的模塊;參考圖4可見,該模塊包括注冊模塊;用戶交互輸入模塊;任務(wù)調(diào)度模塊;行為特征信息采集與制作請求模塊;行為特征信息監(jiān)控請求模塊;策略配置與管理請求模塊;行為數(shù)據(jù)融合與審計(jì)模塊;實(shí)時(shí)報(bào)警與應(yīng)對模塊(用戶層部分);數(shù)據(jù)通訊處理(用戶層部分)模塊;行為特征數(shù)據(jù)庫功能;其基本工作流程是在用戶層通過用戶安全注冊后,由任務(wù)調(diào)度模塊接收網(wǎng)絡(luò)安全人員的操作指令和參數(shù),并將其傳遞到相關(guān)模塊,譬如“行為特征信息監(jiān)控請求”模塊。多數(shù)模塊在完成必要的處理后,將組織數(shù)據(jù)并通過“數(shù)據(jù)通訊處理”模塊與內(nèi)核接口,將安全監(jiān)控指令和數(shù)據(jù)傳遞給內(nèi)核IO接口模塊,由內(nèi)核完成所要求的工作,譬如,對指定的軟件應(yīng)用程序?qū)嵤┍O(jiān)控等。同時(shí)“數(shù)據(jù)通訊處理”模塊還接收來自內(nèi)核的數(shù)據(jù)、報(bào)警信息和應(yīng)對請求等,將數(shù)據(jù)傳遞給用戶層的相關(guān)模塊,并與其他安全設(shè)施聯(lián)動處理;各模塊的基本功能是“注冊模塊”完成系統(tǒng)用戶的安全注冊、注銷,“任務(wù)調(diào)度模塊”通過字符或窗口界面完成用戶安全指令及控制參數(shù)的獲取,進(jìn)行有關(guān)處理后,并按系統(tǒng)約定形成請求包傳遞給相關(guān)模塊;“行為特征信息采集與制作請求模塊”(1)針對指定軟件應(yīng)用程序,完成特定安全控制要求的設(shè)定和初始化,包括對特定的系統(tǒng)調(diào)用設(shè)定關(guān)聯(lián)控制、空間地址控制;對特定系統(tǒng)資源使用的控制,譬如對指定文件使用關(guān)聯(lián)控制等,形成請求包傳遞給“數(shù)據(jù)通訊處理模塊”;(2)完成指定軟件的特征信息獲取、制作并構(gòu)建數(shù)據(jù)庫記錄,包括從核心層獲取動態(tài)監(jiān)控所采集到的行為特征信息集合,以及在應(yīng)用層靜態(tài)獲取行為特征信息,將二者進(jìn)行融合處理形成“行為安全盒”,并在數(shù)據(jù)庫中保留記錄;“行為特征信息監(jiān)控請求模塊”將指定軟件的“行為安全盒”數(shù)據(jù)和其他控制參數(shù)形成請求包,傳遞給“數(shù)據(jù)通訊處理模塊”,將其加載入系統(tǒng)內(nèi)核;“策略配置請求模塊”防御系統(tǒng)設(shè)定了三種控制狀態(tài)(1)網(wǎng)絡(luò)控制狀態(tài),有“行為安全盒”制約的進(jìn)程可以在約束下進(jìn)行網(wǎng)絡(luò)通訊,其他進(jìn)程不能進(jìn)行網(wǎng)絡(luò)通訊;(2)完全控制狀態(tài),僅有“行為安全盒”制約的進(jìn)程可以在系統(tǒng)內(nèi)運(yùn)行,其他進(jìn)程不能繼續(xù)運(yùn)行;(3)維護(hù)狀態(tài),系統(tǒng)臨時(shí)進(jìn)入維護(hù)狀態(tài)。該模塊根據(jù)安全人員對狀態(tài)的設(shè)置以及對其他策略參數(shù)的設(shè)置形成請求包,并通過“數(shù)據(jù)通訊模塊”傳遞給內(nèi)核處理模塊;“行為數(shù)據(jù)融合與審計(jì)模塊”對指定的“行為安全盒”數(shù)據(jù)進(jìn)行安全審計(jì),參照應(yīng)用的技術(shù)說明資料,可審計(jì)內(nèi)容包括是否侵犯了系統(tǒng)重要機(jī)密數(shù)據(jù)(文件);是否不適當(dāng)?shù)脑L問了系統(tǒng)內(nèi)其他重要的配置文件;是否訪問了技術(shù)規(guī)范以外的其他網(wǎng)絡(luò)通訊端口;是否不適當(dāng)?shù)氖褂昧讼到y(tǒng)設(shè)備;對有關(guān)系統(tǒng)文件是否使用了不當(dāng)?shù)脑L問方式等。在審計(jì)過程中可對行為特征數(shù)據(jù)進(jìn)行修正。完成安全審計(jì)后將“行為安全盒”數(shù)據(jù)由待審狀態(tài)確認(rèn)為有效;“實(shí)時(shí)報(bào)警與應(yīng)對模塊”實(shí)時(shí)監(jiān)視內(nèi)核對受控軟件應(yīng)用程序的監(jiān)控報(bào)警,并根據(jù)報(bào)警級別采取應(yīng)對措施;包括防火墻聯(lián)動、終止服務(wù)進(jìn)程等;“數(shù)據(jù)通訊處理模塊”接收其他模塊的控制請求包,并將其傳遞給內(nèi)核IO接口模塊,同時(shí)負(fù)責(zé)接收內(nèi)核送出的行為特征數(shù)據(jù)、報(bào)警等信息;行為特征數(shù)據(jù)庫包括各個(gè)應(yīng)用軟件的待定(原始)行為特征數(shù)據(jù)集合庫;經(jīng)過安全審計(jì)與修正后確認(rèn)的“行為安全盒”集合庫;報(bào)警信息庫;用戶數(shù)據(jù)庫;安全策略配置庫等;根據(jù)本發(fā)明的一實(shí)施例,內(nèi)核層數(shù)據(jù)處理與監(jiān)控模塊是入侵防御系統(tǒng)的核心部分,負(fù)責(zé)應(yīng)用本發(fā)明所描述的方法,實(shí)施應(yīng)用程序的行為特征信息的采集,對具有“行為安全盒”的軟件實(shí)施應(yīng)用行為的安全監(jiān)控;同時(shí)實(shí)現(xiàn)安全策略配置;網(wǎng)絡(luò)和進(jìn)程輔助控制等功能,實(shí)施防入侵的整體安全策略,包括將未受“行為安全盒”監(jiān)控進(jìn)程與外部網(wǎng)絡(luò)隔離等,所述模塊具體包括信息IO與任務(wù)總控模塊;數(shù)據(jù)結(jié)構(gòu)初始化模塊;進(jìn)程狀態(tài)識別與控制模塊;網(wǎng)絡(luò)通訊控制模塊;系統(tǒng)調(diào)用信息截獲模塊;策略配置與管理模塊;行為特征數(shù)據(jù)產(chǎn)生模塊;訪問仲裁模塊;報(bào)警與應(yīng)對模塊;主要工作流程,參考圖6可見,包括信息IO與任務(wù)總控模塊接收來自用戶層的請求包,分析請求包內(nèi)容,并分發(fā)任務(wù)。有以下幾個(gè)主要分支流程(1)軟件特征信息內(nèi)核采集,這時(shí)將調(diào)用數(shù)據(jù)初始化模塊,完成初始數(shù)據(jù)結(jié)構(gòu)的創(chuàng)建,激活進(jìn)程狀態(tài)識別與控制模塊、系統(tǒng)調(diào)用信息截獲模和塊行為特征數(shù)據(jù)產(chǎn)生模塊,完成行為特征信息的采集構(gòu)造工作等;(2)軟件特征信息內(nèi)核監(jiān)控,這時(shí)將從用戶層獲取“行為安全盒”數(shù)據(jù),調(diào)用數(shù)據(jù)初始化模塊,完成行為特征信息的數(shù)據(jù)結(jié)構(gòu)的建立等,同時(shí)激活進(jìn)程狀態(tài)識別與控制模塊、訪問仲裁模塊等,系統(tǒng)可同時(shí)提供對多道用戶應(yīng)用程序的監(jiān)控;(3)安全策略的配置,完成內(nèi)核安全策略參數(shù)的配置,激活網(wǎng)絡(luò)通訊控制模塊、報(bào)警與應(yīng)對模塊;(4)網(wǎng)絡(luò)通訊控制,不是受控或采集狀態(tài)的進(jìn)程嚴(yán)禁與外部網(wǎng)絡(luò)通訊;各模塊的基本功能是信息IO與任務(wù)總控模塊接收來自用戶層的請求包,分析請求包內(nèi)容,并分發(fā)任務(wù),向用戶層提供數(shù)據(jù)、配置和狀態(tài)信息等;數(shù)據(jù)結(jié)構(gòu)初始化模塊根據(jù)用戶采集請求包,完成采集任務(wù)的基礎(chǔ)信息結(jié)構(gòu)的創(chuàng)建和原始數(shù)據(jù)的初始化;創(chuàng)建系統(tǒng)作業(yè)控制鏈表項(xiàng)并建立與基礎(chǔ)數(shù)據(jù)結(jié)構(gòu)的勾聯(lián);根據(jù)用戶控制請求包,完成所需的“行為安全盒”控制數(shù)據(jù)結(jié)構(gòu)的建立并初始化,創(chuàng)建系統(tǒng)作業(yè)控制鏈表項(xiàng)并建立與控制數(shù)據(jù)結(jié)構(gòu)的勾連;系統(tǒng)其他安全策略參數(shù)、隊(duì)列及控制結(jié)構(gòu)的初始化;進(jìn)程狀態(tài)識別與控制模塊依據(jù)系統(tǒng)中進(jìn)程PID號的唯一性,從系統(tǒng)進(jìn)程控制鏈表中識別當(dāng)前進(jìn)程是采集或受控進(jìn)程,根據(jù)控制表項(xiàng)映射到對應(yīng)層次采集或控制數(shù)據(jù)結(jié)構(gòu);網(wǎng)絡(luò)通訊控制模塊識別當(dāng)前進(jìn)程是否受控狀態(tài),隔離未受“行為安全盒”控制的進(jìn)程與外部網(wǎng)絡(luò)的通訊等;系統(tǒng)調(diào)用信息截獲模塊識別當(dāng)前進(jìn)程是否采集或受控狀態(tài),屬兩狀態(tài)之一,則在用戶層與系統(tǒng)的總?cè)肟谔帞r截系統(tǒng)調(diào)用,收集調(diào)用號,參數(shù),當(dāng)前調(diào)用層次等信息;行為特征數(shù)據(jù)產(chǎn)生模塊根據(jù)系統(tǒng)調(diào)用信息截獲模塊截獲信息和相關(guān)“行為安全盒”中控制要求,構(gòu)造當(dāng)前調(diào)用的行為特征信息;如為采集狀態(tài),則完成數(shù)據(jù)記錄的相關(guān)處理。如為受控狀態(tài),則轉(zhuǎn)訪問仲裁處理;訪問仲裁模塊根據(jù)當(dāng)前的策略配置、當(dāng)前作業(yè)的監(jiān)控等級、當(dāng)前作業(yè)的“行為安全盒”數(shù)據(jù),對作業(yè)的當(dāng)前行為實(shí)施訪問仲裁;報(bào)警與應(yīng)對模塊當(dāng)仲裁模塊對當(dāng)前的訪問仲裁失敗時(shí),本模塊發(fā)出等級報(bào)警信息并采取有關(guān)應(yīng)對措施。
采用本發(fā)明所揭示的一種入侵檢測的方法及其系統(tǒng)有效地利用了軟件應(yīng)用程序行為的不變性特征,實(shí)現(xiàn)了對應(yīng)用程序行為特征的“緊耦合”控制。在達(dá)到對程序行為的細(xì)粒度控制、保障應(yīng)用程序不偏離“行為安全盒”約束的情況下,實(shí)現(xiàn)的算法較為簡單、流程清晰、可控性好,對系統(tǒng)性能損失較低,該發(fā)明用于抵御利用應(yīng)用軟件存在的漏洞、弱點(diǎn)進(jìn)行“堆棧溢出”、“特洛伊木馬”、“后門”等典型入侵手段,尤其是應(yīng)對新型入侵手段有很好的效果。作為本發(fā)明的第二個(gè)目的(構(gòu)建網(wǎng)絡(luò)入侵防護(hù)系統(tǒng)),將發(fā)明的方法作為基本手段應(yīng)用于整個(gè)計(jì)算機(jī)系統(tǒng)的安全防御,使其對與外部網(wǎng)絡(luò)來說完全處于受“行為安全盒”監(jiān)控的狀態(tài),系統(tǒng)對外界提供的服務(wù)功能,以及服務(wù)過程找中對系統(tǒng)資源的使用都經(jīng)過安全審計(jì),因而將大大提高系統(tǒng)的網(wǎng)絡(luò)安全防御能力。該項(xiàng)技術(shù)具有良好的環(huán)境適應(yīng)能力,可針對各種應(yīng)用系統(tǒng)進(jìn)行安全保護(hù)。
雖然本發(fā)明的技術(shù)方案已經(jīng)結(jié)合較佳的實(shí)施例說明于上,但是本領(lǐng)域的技術(shù)人員應(yīng)該理解,對于上述的實(shí)施例的各種修改或改變是可以預(yù)見的,這不應(yīng)當(dāng)被視為超出了本發(fā)明的保護(hù)范圍,因此,本發(fā)明的保護(hù)范圍不限于上述具體描述的實(shí)施例,而應(yīng)該是符合此處所揭示的創(chuàng)新性特征的最寬泛的范圍。
權(quán)利要求
1.一種入侵檢測方法,其特征在于,通過直接獲取程序的軟件行為特征信息、構(gòu)造訪問模型,并將其反作用于程序本身來達(dá)到防止程序異常行為的發(fā)生;通過有效地集成這種方法構(gòu)造完整的系統(tǒng)網(wǎng)絡(luò)安全策略,進(jìn)而保護(hù)整個(gè)網(wǎng)絡(luò)服務(wù)器系統(tǒng)免受網(wǎng)絡(luò)入侵攻擊侵害,其中,包含如下的兩個(gè)過程采集并制作一“行為安全盒”;用所述“行為安全盒”對軟件行為的監(jiān)控。
2.如權(quán)利要求1所述的入侵檢測方法,其特征在于,所述采集并制作一“行為安全盒”包括在系統(tǒng)內(nèi)核建立一種機(jī)制,全程監(jiān)控指定應(yīng)用程序的運(yùn)行,并根據(jù)安全設(shè)定獲取該程序的行為特征信息集合,經(jīng)分析處理和安全審計(jì)后構(gòu)建相應(yīng)應(yīng)用程序的形成“行為安全盒”,具體制作步驟如下步驟11)通過專用接口接收來自用戶應(yīng)用層的采集請求信息,從中提取控制模式信息、網(wǎng)絡(luò)應(yīng)用程序名、各系統(tǒng)調(diào)用的缺省監(jiān)控要求、特殊監(jiān)控的系統(tǒng)調(diào)用、特殊監(jiān)控的文件資源信息,并將其格式化,創(chuàng)建系統(tǒng)作業(yè)控制鏈表項(xiàng),供“執(zhí)行狀態(tài)識別”時(shí)使用;根據(jù)指定的采集要求建立首層信息采集數(shù)據(jù)結(jié)構(gòu)并完成初始化;步驟12)在用戶層終止并重新啟動采集對象程序,并按正常方式運(yùn)行;步驟13)系統(tǒng)中的“文件執(zhí)行鉤子”在執(zhí)行一個(gè)新的文件時(shí),根據(jù)步驟11)建立的系統(tǒng)作業(yè)控制表鏈,判定將執(zhí)行的程序是否是要采集行為信息的程序,若不是則轉(zhuǎn)步驟18),如是則為當(dāng)前進(jìn)程創(chuàng)建系統(tǒng)進(jìn)程控制表鏈表,同時(shí)建立兩條鏈表項(xiàng)的映射關(guān)系;步驟14)“系統(tǒng)調(diào)用截獲鉤子”在系統(tǒng)調(diào)用總?cè)肟谔?,根?jù)系統(tǒng)進(jìn)程控制表鏈判斷當(dāng)前進(jìn)程是否是被采集行為特征信息的進(jìn)程,如不是則轉(zhuǎn)步驟18);如是則截獲當(dāng)前進(jìn)程的系統(tǒng)調(diào)用,并收集調(diào)用參數(shù),完成當(dāng)前進(jìn)程到系統(tǒng)作業(yè)控制表鏈中對應(yīng)項(xiàng)的映射,找到對應(yīng)的數(shù)據(jù)結(jié)構(gòu),如當(dāng)前進(jìn)程希望創(chuàng)建子進(jìn)程則轉(zhuǎn)步驟16),否則繼續(xù)下一步驟;步驟15)“行為特征數(shù)據(jù)產(chǎn)生模塊”根據(jù)用戶對控制要求的具體指定,按不同情況采集并構(gòu)造此次行為的特征數(shù)據(jù),轉(zhuǎn)步驟17);步驟16)當(dāng)前進(jìn)程希望創(chuàng)建子進(jìn)程時(shí),首先為子進(jìn)程創(chuàng)建新的系統(tǒng)進(jìn)程控制鏈表項(xiàng),并查找當(dāng)前作業(yè)結(jié)構(gòu)中是否已有下一層進(jìn)程的結(jié)構(gòu)和空間。如有,建立勾連關(guān)系并轉(zhuǎn)下一步,否則為下一層創(chuàng)建結(jié)構(gòu)和空間并完成初始化處理;步驟17)“結(jié)果分析處理模塊”對獲取的信息進(jìn)行統(tǒng)計(jì)、去重處理后記錄到相關(guān)數(shù)據(jù)結(jié)構(gòu)鏈表中;步驟18)轉(zhuǎn)入正常系統(tǒng)調(diào)用處理流程;以上步驟13-18在獲取指定服務(wù)程序行為特征信息過程中多次循環(huán)執(zhí)行,在獲取較為完整的信息數(shù)據(jù)后進(jìn)入以下處理流程步驟19)將通過靜態(tài)分析提取的程序?qū)傩院筒糠中袨樘卣餍畔⑴c內(nèi)核動態(tài)獲取的行為特征數(shù)據(jù)進(jìn)行融合處理,并通過“行為信息融合與審計(jì)模塊”提供透明、交互式的行為信息安全審計(jì)處理,對程序行為的審計(jì)按層分類進(jìn)行,審計(jì)完成的數(shù)據(jù)按“行為安全盒”規(guī)格進(jìn)行融合處理并存儲到應(yīng)用數(shù)據(jù)庫中,供監(jiān)控時(shí)使用。
3.如權(quán)利要求2所述的入侵檢測方法,其特征在于,所述方法中包含了兩條鏈表系統(tǒng)作業(yè)控制表鏈其中的每一表項(xiàng)用于登記當(dāng)前需要采集或控制的作業(yè)的具體信息,同時(shí)包含有容納行為特征信息空間的指針;系統(tǒng)進(jìn)程控制表鏈其中的每一表項(xiàng)用于登記當(dāng)前的進(jìn)程ID、歷史關(guān)聯(lián)信息、控制類型、層次信息、容納本層程序行為信息空間的指針、所屬作業(yè)標(biāo)識、啟動時(shí)間、下一表項(xiàng)指針等。
4.如權(quán)利要求3所述的入侵檢測方法,其特征在于,所述步驟11)中的專用接口可借用系統(tǒng)已有的讀寫接口,這時(shí)可利用原系統(tǒng)未使用的資源部分;也可另建新的獨(dú)立的讀寫接口,完成與用戶層的信息交換;采集的內(nèi)容包括系統(tǒng)調(diào)用號、有關(guān)系統(tǒng)調(diào)用的空間層次信息、調(diào)用的歷史關(guān)聯(lián)信息和空間地址信息、調(diào)用涉及到的文件系統(tǒng)資源包括文件、目錄、設(shè)備、對資源的使用模式、對資源的使用頻率、還包括為指定的采集任務(wù)建立系統(tǒng)作業(yè)控制鏈表項(xiàng)并鏈入鏈表;每一個(gè)鏈接表項(xiàng)包括作業(yè)標(biāo)識信息、作業(yè)類型、指向容納本層行為信息的結(jié)構(gòu)指針、前后鏈指針、文件和IP地址緩沖;所述步驟12)確保采集機(jī)制可正常運(yùn)行,如程序已啟動,先終止再啟動;所述步驟13)中的“文件執(zhí)行鉤子”是系統(tǒng)中執(zhí)行文件的必經(jīng)之處,保證采集任務(wù)無旁路的可能性;所述步驟14)中的“系統(tǒng)調(diào)用截獲鉤子”是系統(tǒng)調(diào)用進(jìn)入系統(tǒng)的必經(jīng)之處,保證任務(wù)監(jiān)控的無旁路的可能性;所述步驟16)中的控制要求還包括針對每一種系統(tǒng)調(diào)用可設(shè)置的三種控制要求為a.層次、可用性,這是針對每一個(gè)系統(tǒng)調(diào)用的缺省設(shè)定,即記錄系統(tǒng)調(diào)用是否使用,及使用所處的進(jìn)程樹層次。b.關(guān)聯(lián)控制,記錄該系統(tǒng)調(diào)用前N步已完成的調(diào)用情況,N通常設(shè)定為1-5;c.空間地址控制,記錄該系統(tǒng)調(diào)用的用戶指令空間返回地址,以上各種控制要求可以單獨(dú)設(shè)立,也可一次設(shè)置多項(xiàng);所述步驟17)提供對應(yīng)用程序行為實(shí)施審計(jì)的能力審計(jì)內(nèi)容包括是否侵犯了系統(tǒng)重要機(jī)密數(shù)據(jù)、是否不適當(dāng)?shù)脑L問了系統(tǒng)內(nèi)其他重要的配置文件、是否訪問了技術(shù)規(guī)范以外的其他網(wǎng)絡(luò)通訊端口、是否不適當(dāng)?shù)氖褂昧讼到y(tǒng)設(shè)備、對有關(guān)系統(tǒng)文件是否使用了不當(dāng)?shù)脑L問方式;在審計(jì)過程中可對行為特征數(shù)據(jù)進(jìn)行修正;采集和審計(jì)過程可反復(fù)進(jìn)行多次,前一次作為后一次融合的基礎(chǔ),不斷完善,最終制作出與應(yīng)用很好匹配的可用于安全控制的“行為安全盒”。
5.如權(quán)利要求1所述的一種檢測方法,其特征在于,所述方法用所構(gòu)建的應(yīng)用程序的“行為安全盒”數(shù)據(jù)作為控制數(shù)據(jù),并將其應(yīng)用在系統(tǒng)內(nèi)核建立起的一監(jiān)控機(jī)制上;一旦該程序進(jìn)入運(yùn)行,其程序行為將嚴(yán)格受到經(jīng)過安全審計(jì)的“行為安全盒”的約束;一旦程序出現(xiàn)異常行為,系統(tǒng)就會立即發(fā)現(xiàn),在阻斷服務(wù)的同時(shí)給出報(bào)警信息,并依據(jù)安全等級采取應(yīng)對措施,具體步驟如下步驟21)通過專用接口接收來自用戶應(yīng)用層的控制請求信息,從中提取控制模式、網(wǎng)絡(luò)應(yīng)用程序名、“行為安全盒”數(shù)據(jù);按監(jiān)控對象名創(chuàng)建系統(tǒng)作業(yè)控制鏈表項(xiàng),供“進(jìn)程狀態(tài)識別”時(shí)使用;根據(jù)指定的“行為安全盒”數(shù)據(jù)建立對應(yīng)的數(shù)據(jù)結(jié)構(gòu)并進(jìn)行初始化;步驟22)在用戶層終止并重新啟動受控對象程序;步驟23)系統(tǒng)中的“文件執(zhí)行鉤子”在執(zhí)行一個(gè)新的文件時(shí),查詢步驟1)建立的系統(tǒng)作業(yè)控制鏈,判定將執(zhí)行的程序是否是要實(shí)施監(jiān)控的程序,若不是則轉(zhuǎn)步驟29),若是,則為當(dāng)前進(jìn)程創(chuàng)建系統(tǒng)進(jìn)程控制鏈表項(xiàng),同時(shí)建立兩條鏈表項(xiàng)的映射關(guān)系;步驟24)“系統(tǒng)調(diào)用截獲鉤子”在系統(tǒng)調(diào)用總?cè)肟谔幉樵儺?dāng)前系統(tǒng)進(jìn)程控制鏈,判斷當(dāng)前進(jìn)程是否是被監(jiān)控進(jìn)程,如不是則轉(zhuǎn)步驟29),如是則截獲當(dāng)前進(jìn)程的系統(tǒng)調(diào)用,收集調(diào)用參數(shù),并完成當(dāng)前進(jìn)程到系統(tǒng)作業(yè)控制鏈中對應(yīng)項(xiàng)的映射,找到對應(yīng)的數(shù)據(jù)結(jié)構(gòu);步驟25)“行為特征數(shù)據(jù)產(chǎn)生模塊”根據(jù)針對本作業(yè)的監(jiān)控級別和“行為安全盒”控制要求,按不同情況構(gòu)造此次軟件行為的特征數(shù)據(jù)轉(zhuǎn)步驟27);步驟26)如當(dāng)前進(jìn)程的行為是希望創(chuàng)建子進(jìn)程,則首先為子進(jìn)程創(chuàng)建新的系統(tǒng)進(jìn)程控制鏈表項(xiàng),并查找當(dāng)前作業(yè)結(jié)構(gòu)中是否已有下一層進(jìn)程的信息結(jié)構(gòu)和空間;如有,建立勾連關(guān)系并轉(zhuǎn)步驟29),否則,報(bào)警并錯(cuò)誤返回;;如不是創(chuàng)建子進(jìn)程,則轉(zhuǎn)步驟29);步驟27)“結(jié)果分析仲裁模塊”根據(jù)用戶指定的監(jiān)控級別,將構(gòu)造的當(dāng)前的行為特征信息與本進(jìn)程相應(yīng)的“行為安全盒”信息進(jìn)行分析對照,實(shí)施訪問仲裁,如果仲裁通過,則轉(zhuǎn)步驟26);如果仲裁失敗,則轉(zhuǎn)步驟28);步驟28)“實(shí)時(shí)報(bào)警與應(yīng)對模塊”根據(jù)“行為安全盒”中指定控制要求實(shí)時(shí)發(fā)出等級報(bào)警,并根據(jù)內(nèi)核部分應(yīng)對措施實(shí)施錯(cuò)誤處理,譬如封鎖客戶IP地址等;步驟29)繼續(xù)執(zhí)行正常的系統(tǒng)調(diào)用功能;每次用戶層應(yīng)用程序進(jìn)入系統(tǒng)調(diào)用,都將循環(huán)以上23)-29)步驟的處理,保證整個(gè)監(jiān)控過程的連續(xù)性與完整性。
6.如權(quán)利要求5所述的入侵檢測方法,其特征在于,所述步驟21)中的專用接口可借用系統(tǒng)已有的讀寫接口,這時(shí)可利用原系統(tǒng)未使用的資源部分;也可另建新的獨(dú)立的讀寫接口,完成與用戶層的信息交換;采集的內(nèi)容包括系統(tǒng)調(diào)用號、有關(guān)系統(tǒng)調(diào)用的空間層次信息、調(diào)用的歷史關(guān)聯(lián)信息和空間地址信息、調(diào)用涉及到的文件系統(tǒng)資源包括文件、目錄、設(shè)備、對資源的使用模式、對資源的使用頻率、還包括為指定的采集任務(wù)建立系統(tǒng)作業(yè)控制鏈表項(xiàng)并鏈入鏈表;每一個(gè)鏈接表項(xiàng)包括作業(yè)標(biāo)識信息、作業(yè)類型、指向容納本層行為信息的結(jié)構(gòu)指針、前后鏈指針、文件和IP地址緩沖;用戶指定的“行為安全盒”是采集制作過程產(chǎn)生的具有層次的結(jié)構(gòu)化數(shù)據(jù)集合,通常存儲在用戶層數(shù)據(jù)庫中,“行為安全盒”與應(yīng)用程序有嚴(yán)格的一對一特性,如不匹配將導(dǎo)致應(yīng)用程序無法運(yùn)行;所述步驟22)必須保證受控服務(wù)程序的重新啟動,如在對應(yīng)的“行為安全盒”完成初始化之前已啟動,應(yīng)先將其終止后再啟動,以確??刂茩C(jī)制可以正常實(shí)施監(jiān)控;所述步驟23)中的“文件執(zhí)行鉤子”中的“文件執(zhí)行鉤子”是系統(tǒng)中執(zhí)行文件的必經(jīng)之處,保證采集任務(wù)無旁路的可能性;所述步驟24)中的“系統(tǒng)調(diào)用截獲鉤子”是系統(tǒng)調(diào)用進(jìn)入系統(tǒng)的必經(jīng)之處,保證任務(wù)監(jiān)控的無旁路的可能性;所述步驟25)確保在子進(jìn)程實(shí)際運(yùn)行之前,完成對應(yīng)的系統(tǒng)進(jìn)程控制鏈表項(xiàng)的創(chuàng)建,并建立與作業(yè)結(jié)構(gòu)中下一層進(jìn)程信息結(jié)構(gòu)和空間的勾連,以保證子進(jìn)程一旦運(yùn)行就立即被“行為安全盒”監(jiān)控,不會發(fā)生失控情況;所述步驟26)的“監(jiān)控級別”還包含四種不同級別,由低到高分別為基本級僅對系統(tǒng)調(diào)用在對應(yīng)層次的可用性進(jìn)行檢查。即,如“行為安全和盒”的對應(yīng)層指示本次調(diào)用存在,則判定為訪問合法,否則為不合法;較強(qiáng)級除按基本級條件實(shí)施檢查外,還檢查相關(guān)文件、設(shè)備是否可用、使用方式是否正確;強(qiáng)級除完成基本級、較強(qiáng)級內(nèi)的檢查外,還檢查相關(guān)調(diào)用關(guān)聯(lián)(n步)是否正確;超強(qiáng)級除完成上述三級級內(nèi)的檢查外,還構(gòu)造并檢查相關(guān)調(diào)用的空間地址是否正確;所述步驟26)中的“控制要求”控制要求還包括針對每一種系統(tǒng)調(diào)用可設(shè)置的三種控制要求為a.層次、可用性,這是針對每一個(gè)系統(tǒng)調(diào)用的缺省設(shè)定,即記錄系統(tǒng)調(diào)用是否使用,及使用所處的進(jìn)程樹層次。b.關(guān)聯(lián)控制,記錄該系統(tǒng)調(diào)用前N步已完成的調(diào)用情況,N通常設(shè)定為1-5;c.空間地址控制,記錄該系統(tǒng)調(diào)用的用戶指令空間返回地址,以上各種控制要求可以單獨(dú)設(shè)立,也可一次設(shè)置多項(xiàng);同過程一中方法描述;所述步驟27)中的對照分析、訪問仲裁包含根據(jù)當(dāng)前作業(yè)監(jiān)控級別,將調(diào)用的行為特征信息與“行為安全盒”中對應(yīng)類別的記錄分別進(jìn)行對比,如有一種條件不符則仲裁為失??;所述步驟28)還包含等級報(bào)警分為三級,每一報(bào)警等級設(shè)有相應(yīng)的應(yīng)對措施一級報(bào)警控制要求指定為關(guān)聯(lián)和空間地址監(jiān)控的系統(tǒng)調(diào)用在執(zhí)行中出現(xiàn)異常,或訪問的文件系統(tǒng)資源違反了特定的控制要求,譬如關(guān)聯(lián)或空間地址異常,對應(yīng)的錯(cuò)誤應(yīng)對措施為防火墻聯(lián)動,在特殊設(shè)定下會終止對應(yīng)的網(wǎng)絡(luò)服務(wù)程序;二級報(bào)警控制要求指定為關(guān)聯(lián)或空間地址監(jiān)控的系統(tǒng)調(diào)用在執(zhí)行中出現(xiàn)異常,或?qū)Α靶袨榘踩小敝兄辉试S讀的文件和/或設(shè)備出現(xiàn)了非法的“寫”操作。對應(yīng)的錯(cuò)誤應(yīng)對措施為封鎖客戶IP地址,重啟網(wǎng)絡(luò)服務(wù)程序等;三級報(bào)警對控制要求設(shè)定為可用性的系統(tǒng)調(diào)用出現(xiàn)了異常,或一般的文件/設(shè)備訪問出現(xiàn)異常,對應(yīng)的錯(cuò)誤應(yīng)對措施為一般報(bào)警。
7.如權(quán)利要求5所述的入侵檢測方法,其特征在于,所述方法中包含的兩條鏈表系統(tǒng)作業(yè)控制表鏈其中的每一表項(xiàng)用于登記當(dāng)前需要采集或控制的作業(yè)的具體信息,同時(shí)包含有容納行為特征信息空間的指針;系統(tǒng)進(jìn)程控制表鏈其中的每一表項(xiàng)用于登記當(dāng)前的進(jìn)程ID、歷史關(guān)聯(lián)信息、控制類型、層次信息、容納本層程序行為信息空間的指針、所屬作業(yè)標(biāo)識、啟動時(shí)間、下一表項(xiàng)指針等。
8.一種適用于如權(quán)利要求1所述的檢測入侵方法的網(wǎng)絡(luò)入侵防護(hù)系統(tǒng),其特征在于,應(yīng)用如權(quán)利要求1所述的方法作為監(jiān)控的核心技術(shù),配以輔助的網(wǎng)絡(luò)訪問控制、進(jìn)程運(yùn)行狀態(tài)控制創(chuàng)建一個(gè)完整的系統(tǒng)級的安全監(jiān)控模型和策略體系,即通過“行為安全盒”技術(shù)方法,對所有為外部網(wǎng)絡(luò)提供服務(wù)的應(yīng)用軟件的程序行為進(jìn)行超細(xì)粒度、全程的實(shí)時(shí)監(jiān)控,對系統(tǒng)內(nèi)的所有其他不受“行為安全盒”約束的程序,實(shí)施與外部網(wǎng)絡(luò)完全隔離;對外部網(wǎng)絡(luò)來說,構(gòu)建起一個(gè)完全受控于異常監(jiān)控模型的、高等級安全和可用的網(wǎng)絡(luò)入侵防護(hù)系統(tǒng);該系統(tǒng)包括用戶層安全交互模塊以及內(nèi)核層數(shù)據(jù)處理與監(jiān)控模塊。
9.如權(quán)利要求8所述的檢測入侵方法的網(wǎng)絡(luò)入侵防護(hù)系統(tǒng),其特征在于,用戶層安全交互模塊運(yùn)行在用戶層面,提供一個(gè)可操控的工作平臺,也是用戶層與內(nèi)核層數(shù)據(jù)交互的主要通道;它主要完成對軟件行為特征信息的采集、制作、管理和實(shí)施監(jiān)控所需的前端與后臺管理等工作,主要的行為特征數(shù)據(jù)的采集和實(shí)質(zhì)性監(jiān)控均由系統(tǒng)內(nèi)核完成;它集成了網(wǎng)絡(luò)安全人員完成各種任務(wù)所需的模塊包括注冊模塊、任務(wù)調(diào)度模塊、行為特征信息采集與制作請求模塊、行為特征信息監(jiān)控請求模塊、策略配置與管理請求模塊、行為數(shù)據(jù)融合與審計(jì)模塊、實(shí)時(shí)報(bào)警與應(yīng)對模塊、數(shù)據(jù)通訊處理模塊、行為特征數(shù)據(jù)庫;其基本工作流程是在用戶層通過用戶安全注冊后,由任務(wù)調(diào)度模塊接收網(wǎng)絡(luò)安全人員的操作指令和參數(shù),并將其傳遞到相關(guān)模塊,譬如“行為特征信息監(jiān)控請求”模塊;多數(shù)模塊在完成必要的處理后,將組織數(shù)據(jù)并通過“數(shù)據(jù)通訊處理”模塊與內(nèi)核接口,將安全監(jiān)控指令和數(shù)據(jù)傳遞給內(nèi)核IO接口模塊,由內(nèi)核完成所要求的工作,譬如,對指定的軟件應(yīng)用程序?qū)嵤┍O(jiān)控;同時(shí)“數(shù)據(jù)通訊處理”模塊還接收來自內(nèi)核的數(shù)據(jù)、報(bào)警信息和應(yīng)對請求,將數(shù)據(jù)傳遞給用戶層的相關(guān)模塊,并與其他安全設(shè)施聯(lián)動處理;各模塊的基本功能是注冊模塊完成系統(tǒng)用戶的安全注冊、注銷,任務(wù)調(diào)度模塊通過字符或窗口界面完成用戶安全指令及控制參數(shù)的獲取,進(jìn)行有關(guān)處理后,并按系統(tǒng)約定形成請求包傳遞給相關(guān)模塊;行為特征信息采集與制作請求模塊針對指定軟件應(yīng)用程序,完成特定安全控制要求的設(shè)定和初始化,包括對特定的系統(tǒng)調(diào)用設(shè)定關(guān)聯(lián)控制、空間地址控制;對特定系統(tǒng)資源使用的控制,譬如對指定文件使用關(guān)聯(lián)控制等,形成請求包傳遞給“數(shù)據(jù)通訊處理模塊”;以及完成指定軟件的特征信息獲取、制作并構(gòu)建數(shù)據(jù)庫記錄,包括從核心層獲取動態(tài)監(jiān)控所采集到的行為特征信息集合,以及在應(yīng)用層靜態(tài)獲取行為特征信息,將二者進(jìn)行融合處理形成“行為安全盒”,并在數(shù)據(jù)庫中保留記錄;行為特征信息監(jiān)控請求模塊將指定軟件的“行為安全盒”數(shù)據(jù)和其他控制參數(shù)形成請求包,傳遞給“數(shù)據(jù)通訊處理模塊”,將其加載入系統(tǒng)內(nèi)核;策略配置請求模塊設(shè)定了三種控制狀態(tài)(1)網(wǎng)絡(luò)控制狀態(tài),有“行為安全盒”制約的進(jìn)程可以在約束下進(jìn)行網(wǎng)絡(luò)通訊,其他進(jìn)程不能進(jìn)行網(wǎng)絡(luò)通訊;(2)完全控制狀態(tài),僅有“行為安全盒”制約的進(jìn)程可以在系統(tǒng)內(nèi)運(yùn)行,其他進(jìn)程不能繼續(xù)運(yùn)行;(3)維護(hù)狀態(tài),系統(tǒng)臨時(shí)進(jìn)入維護(hù)狀態(tài)。該模塊根據(jù)安全人員對狀態(tài)的設(shè)置以及對其他策略參數(shù)的設(shè)置形成請求包,并通過“數(shù)據(jù)通訊模塊”傳遞給內(nèi)核處理模塊;行為數(shù)據(jù)融合與審計(jì)模塊對指定的“行為安全盒”數(shù)據(jù)進(jìn)行安全審計(jì),參照應(yīng)用的技術(shù)說明資料,可審計(jì)內(nèi)容包括是否侵犯了系統(tǒng)重要機(jī)密數(shù)據(jù);是否不適當(dāng)?shù)脑L問了系統(tǒng)內(nèi)其他重要的配置文件;是否訪問了技術(shù)規(guī)范以外的其他網(wǎng)絡(luò)通訊端口;是否不適當(dāng)?shù)氖褂昧讼到y(tǒng)設(shè)備;對有關(guān)系統(tǒng)文件是否使用了不當(dāng)?shù)脑L問方式;在審計(jì)過程中可對行為特征數(shù)據(jù)進(jìn)行修正;完成安全審計(jì)后將“行為安全盒”數(shù)據(jù)由待審狀態(tài)確認(rèn)為有效;實(shí)時(shí)報(bào)警與應(yīng)對模塊實(shí)時(shí)監(jiān)視內(nèi)核對受控軟件應(yīng)用程序的監(jiān)控報(bào)警,并根據(jù)報(bào)警級別采取應(yīng)對措施;包括防火墻聯(lián)動、終止服務(wù)進(jìn)程等;數(shù)據(jù)通訊處理模塊接收其他模塊的控制請求包,并將其傳遞給內(nèi)核IO接口模塊,同時(shí)負(fù)責(zé)接收內(nèi)核送出的行為特征數(shù)據(jù)、報(bào)警等信息;行為特征數(shù)據(jù)庫包括各個(gè)應(yīng)用軟件的待定行為特征數(shù)據(jù)集合庫;經(jīng)過安全審計(jì)與修正后確認(rèn)的“行為安全盒”集合庫;報(bào)警信息庫;用戶數(shù)據(jù)庫;安全策略配置庫。
10.如權(quán)利要求8所述的一種檢測入侵方法的網(wǎng)絡(luò)入侵防護(hù)系統(tǒng),其特征在于,內(nèi)核層數(shù)據(jù)處理與監(jiān)控模塊是入侵防御系統(tǒng)的核心部分,負(fù)責(zé)應(yīng)用本發(fā)明所描述的方法,實(shí)施應(yīng)用程序的行為特征信息的采集,對具有“行為安全盒”的軟件實(shí)施應(yīng)用行為的安全監(jiān)控;同時(shí)實(shí)現(xiàn)安全策略配置;網(wǎng)絡(luò)和進(jìn)程輔助控制,實(shí)施防入侵的整體安全策略,包括將未受“行為安全盒”監(jiān)控進(jìn)程與外部網(wǎng)絡(luò)隔離,所述模塊具體包括信息IO與任務(wù)總控模塊、數(shù)據(jù)結(jié)構(gòu)初始化模塊、進(jìn)程狀態(tài)識別與控制模塊、網(wǎng)絡(luò)通訊控制模塊、系統(tǒng)調(diào)用信息截獲模塊、策略配置與管理模塊、行為特征數(shù)據(jù)產(chǎn)生模塊、訪問仲裁模塊、報(bào)警與應(yīng)對模塊;其基本工作流程如下信息IO與任務(wù)總控模塊接收來自用戶層的請求包,分析請求包內(nèi)容,并分發(fā)任務(wù),包括以下幾個(gè)主要分支流程(1)軟件特征信息內(nèi)核采集,這時(shí)將調(diào)用數(shù)據(jù)初始化模塊,完成初始數(shù)據(jù)結(jié)構(gòu)的創(chuàng)建,激活進(jìn)程狀態(tài)識別與控制模塊、系統(tǒng)調(diào)用信息截獲模和塊行為特征數(shù)據(jù)產(chǎn)生模塊,完成行為特征信息的采集構(gòu)造工作;(2)軟件特征信息內(nèi)核監(jiān)控,這時(shí)將從用戶層獲取“行為安全盒”數(shù)據(jù),調(diào)用數(shù)據(jù)初始化模塊,完成行為特征信息的數(shù)據(jù)結(jié)構(gòu)的建立等,同時(shí)激活進(jìn)程狀態(tài)識別與控制模塊、訪問仲裁模塊,系統(tǒng)可同時(shí)提供對多道用戶應(yīng)用程序的監(jiān)控;(3)安全策略的配置,完成內(nèi)核安全策略參數(shù)的配置,激活網(wǎng)絡(luò)通訊控制模塊、報(bào)警與應(yīng)對模塊;(4)網(wǎng)絡(luò)通訊控制,不是受控或采集狀態(tài)的進(jìn)程嚴(yán)禁與外部網(wǎng)絡(luò)通訊;其中,各模塊功能如下信息IO與任務(wù)總控模塊接收來自用戶層的請求包,分析請求包內(nèi)容,并分發(fā)任務(wù),向用戶層提供數(shù)據(jù)、配置和狀態(tài)信息;數(shù)據(jù)結(jié)構(gòu)初始化模塊根據(jù)用戶采集請求包,完成采集任務(wù)的基礎(chǔ)信息結(jié)構(gòu)的創(chuàng)建和原始數(shù)據(jù)的初始化;創(chuàng)建系統(tǒng)作業(yè)控制鏈表項(xiàng)并建立與基礎(chǔ)數(shù)據(jù)結(jié)構(gòu)的勾聯(lián);根據(jù)用戶控制請求包,完成所需的“行為安全盒”控制數(shù)據(jù)結(jié)構(gòu)的建立并初始化,創(chuàng)建系統(tǒng)作業(yè)控制鏈表項(xiàng)并建立與控制數(shù)據(jù)結(jié)構(gòu)的勾連;系統(tǒng)其他安全策略參數(shù)、隊(duì)列及控制結(jié)構(gòu)的初始化;進(jìn)程狀態(tài)識別與控制模塊依據(jù)系統(tǒng)中進(jìn)程PID號的唯一性,從系統(tǒng)進(jìn)程控制鏈表中識別當(dāng)前進(jìn)程是采集或受控進(jìn)程,根據(jù)控制表項(xiàng)映射到對應(yīng)層次采集或控制數(shù)據(jù)結(jié)構(gòu);網(wǎng)絡(luò)通訊控制模塊識別當(dāng)前進(jìn)程是否受控狀態(tài),隔離未受“行為安全盒”控制的進(jìn)程與外部網(wǎng)絡(luò)的通訊;系統(tǒng)調(diào)用信息截獲模塊識別當(dāng)前進(jìn)程是否采集或受控狀態(tài),屬兩狀態(tài)之一,則在用戶層與系統(tǒng)的總?cè)肟谔帞r截系統(tǒng)調(diào)用,收集調(diào)用號,參數(shù),當(dāng)前調(diào)用層次等信息;行為特征數(shù)據(jù)產(chǎn)生模塊根據(jù)系統(tǒng)調(diào)用信息截獲模塊截獲信息和相關(guān)“行為安全盒”中控制要求,構(gòu)造當(dāng)前調(diào)用的行為特征信息;如為采集狀態(tài),則完成數(shù)據(jù)記錄的相關(guān)處理;如為受控狀態(tài),則轉(zhuǎn)訪問仲裁處理;訪問仲裁模塊根據(jù)當(dāng)前的策略配置、當(dāng)前作業(yè)的監(jiān)控等級、當(dāng)前作業(yè)的“行為安全盒”數(shù)據(jù),對作業(yè)的當(dāng)前行為實(shí)施訪問仲裁;報(bào)警與應(yīng)對模塊當(dāng)仲裁模塊對當(dāng)前的訪問仲裁失敗時(shí),本模塊發(fā)出等級報(bào)警信息并采取有關(guān)應(yīng)對措施。
全文摘要
本發(fā)明揭示了一種入侵檢測方法,其通過直接獲取程序的軟件行為特征信息、構(gòu)造訪問模型,并將其反作用于程序本身來達(dá)到防止程序異常行為的發(fā)生;通過有效地集成這種方法構(gòu)造完整的系統(tǒng)網(wǎng)絡(luò)安全策略,進(jìn)而保護(hù)整個(gè)網(wǎng)絡(luò)服務(wù)器系統(tǒng)免受網(wǎng)絡(luò)入侵攻擊侵害。方法包含如下兩個(gè)基本過程“行為安全盒”的采集與制作;用“行為安全盒”對軟件行為實(shí)施監(jiān)控;本發(fā)明還揭示了構(gòu)建一個(gè)適用于上述方法的網(wǎng)絡(luò)入侵防護(hù)系統(tǒng)。采用本發(fā)明的技術(shù)方案實(shí)現(xiàn)了對應(yīng)用程序行為特征的“緊耦合”控制,使服務(wù)系統(tǒng)對于外部網(wǎng)絡(luò)來說完全處于受“行為安全盒”監(jiān)控的狀態(tài),其對外界提供的服務(wù)功能,以及服務(wù)過程中對系統(tǒng)資源的使用都必須經(jīng)過安全審計(jì),可大大提高系統(tǒng)網(wǎng)絡(luò)安全防御能力。
文檔編號H04L12/24GK1794645SQ200510029040
公開日2006年6月28日 申請日期2005年8月24日 優(yōu)先權(quán)日2005年8月24日
發(fā)明者馮敏, 韓欣, 閻光 申請人:上海浦東軟件園信息技術(shù)有限公司