專利名稱:基于spm的入侵檢測方法
技術(shù)領(lǐng)域:
本發(fā)明涉及嵌入式操作系統(tǒng)安全領(lǐng)域,更具體的說,是涉及一種基于SPM 的入侵檢測方法。
背景技術(shù):
隨著計(jì)算機(jī)使用的普及,人們的工作和生活越來越離不開計(jì)算機(jī)的應(yīng)用。 特別在金融,消費(fèi),工業(yè),控制等領(lǐng)域,除了需要計(jì)算機(jī)的不間斷的工作保證 外,更重要的是對運(yùn)行期間的可靠性與安全性的保障。又由于互聯(lián)網(wǎng)的逐步普 及和第三代乃至第四代無線網(wǎng)絡(luò)通訊技術(shù)的發(fā)展,除了已經(jīng)連入互聯(lián)網(wǎng)的許多 大型服務(wù)器和個人電腦,甚至手機(jī),PDA等小型嵌入式系統(tǒng)也逐步地加入了互 聯(lián)網(wǎng)終端的行列。大型服務(wù)器往往有專業(yè)的技術(shù)人員進(jìn)行維護(hù)和支持,而個人電腦由于存儲 了較少的敏感和機(jī)密信息,很少成為攻擊的主要目標(biāo)。另外個人防火墻的普及 和人們安全意識的提高也使這些已經(jīng)成為互聯(lián)網(wǎng)終端多年的機(jī)器安全性越來越 高。而新進(jìn)連入互聯(lián)網(wǎng)的手機(jī),PDA等小型嵌入式設(shè)備由于通訊技術(shù)的新發(fā)展, 進(jìn)入了新的環(huán)境,安全性的問題也逐漸突出出來。入侵檢測系統(tǒng)正是為了保證接入網(wǎng)絡(luò)的終端的安全性而開發(fā)設(shè)計(jì)的 -個網(wǎng) 絡(luò)數(shù)據(jù)流檢測系統(tǒng)。它被安裝在網(wǎng)絡(luò)驅(qū)動的最底層,以此保證對低層網(wǎng)絡(luò)數(shù)據(jù) 的實(shí)時監(jiān)控。但是,由于現(xiàn)在的入侵檢測系統(tǒng)都是運(yùn)行在操作系統(tǒng)之上,并利用操作系 統(tǒng)提供的一些服務(wù),這就造成了可信鏈的缺失。因?yàn)樽鳛槿肭謾z測系統(tǒng)基礎(chǔ)的 操作系統(tǒng)底層服務(wù)接口是操作系統(tǒng)的一部分,盡管運(yùn)行在內(nèi)核空間中,但并不 具有完全的安全性。無論入侵檢測系統(tǒng)的處理策略,智能學(xué)習(xí)作的再出色,一 旦操作系統(tǒng)被控制,攻擊者可以改變底層接口的控制路徑,運(yùn)行任意的非法代 碼。另外由于嵌入式技術(shù)的迅猛發(fā)展,越來越多嵌入式處理器在內(nèi)部簽入了高效節(jié)能的片內(nèi)靜態(tài)隨機(jī)存儲器。這種片內(nèi)靜態(tài)隨機(jī)存儲器的物理性能類似與常 用的處理器內(nèi)部緩存,因此可以提高很快的訪問速度。同時,盡管片內(nèi)靜態(tài)隨 機(jī)存儲器獨(dú)立于主內(nèi)存而位于處理器內(nèi)部,但它可以根據(jù)用戶的需要進(jìn)程編程 存儲。正是由于片內(nèi)靜態(tài)隨機(jī)存儲器具有這樣的高效性,節(jié)能性,可控制性和物 理獨(dú)立性,因此可以將原本位于通用操作系統(tǒng)上層的入侵檢測系統(tǒng)放如片內(nèi)存 儲器中。這樣的框架不但保證了入侵檢測系統(tǒng)本身的安全性,同時也使該系統(tǒng) 的運(yùn)行在比通用操作系統(tǒng)更高的級別上。在更新和兼容性方面,該入侵檢測系 統(tǒng)的升級更新將與操作系統(tǒng)無關(guān),已有的操作系統(tǒng)也可以不經(jīng)修改直接運(yùn)行在 這樣一個框架中。發(fā)明內(nèi)容本發(fā)明的主要目的在于克服現(xiàn)有技術(shù)中的不足,提供一種涉及一種基于SPM的入侵檢測方法。為了解決上述技術(shù)問題,本發(fā)明是通過以下技術(shù)方案實(shí)現(xiàn)的。(1) 啟動原始boot loader:啟動原始boot loader,將片內(nèi)操作系統(tǒng)鏡像裝 載進(jìn)入處理器內(nèi)置的靜態(tài)隨機(jī)存儲器中,并將控制權(quán)交給片內(nèi)操作系統(tǒng)開始運(yùn) 行;(2) 片內(nèi)操作系統(tǒng)的初始化片內(nèi)操作系統(tǒng)初始化處理器、時鐘、處理器內(nèi)置的靜態(tài)隨機(jī)存儲器和主內(nèi)存以及網(wǎng)卡;(3) 片內(nèi)操作系統(tǒng)的運(yùn)行啟動片內(nèi)操作系統(tǒng)的主線程,響應(yīng)用戶的命令參數(shù)以及啟動處理基本的網(wǎng) 絡(luò)數(shù)據(jù)的網(wǎng)絡(luò)模塊;為以后運(yùn)行的通用操作系統(tǒng)提供網(wǎng)卡驅(qū)動的接口;最后將 網(wǎng)絡(luò)監(jiān)控所用到的數(shù)字簽名和規(guī)則從閃存或從網(wǎng)絡(luò)指定路徑中讀取并存儲在處 理器內(nèi)置的靜態(tài)隨機(jī)存儲器中以便以后使用;(4) 通用操作系統(tǒng)的裝載和啟動通過在片內(nèi)操作系統(tǒng)提供的命令界面中鍵入指定位置將通用操作系統(tǒng)的內(nèi) 核鏡像裝載進(jìn)入主內(nèi)存的內(nèi)核區(qū),該內(nèi)核區(qū)的具體位置由用戶的參數(shù)指定;然 后,通過啟動命令將控制權(quán)交給通用操作系統(tǒng),完成通用操作系統(tǒng)的啟動工作;(5) 啟動通用操作系統(tǒng)的網(wǎng)絡(luò)驅(qū)動監(jiān)控;(6) 網(wǎng)絡(luò)數(shù)據(jù)獲取網(wǎng)絡(luò)數(shù)據(jù)到來時首先被網(wǎng)卡驅(qū)動放入網(wǎng)絡(luò)適配器的緩存中,然后由入侵檢 測系統(tǒng)將這些原始數(shù)據(jù)拷貝到片內(nèi)靜態(tài)存儲器的指定區(qū)域進(jìn)行臨時存儲以備以 后處理;(7) 網(wǎng)絡(luò)數(shù)據(jù)分包并統(tǒng)計(jì) 首先將網(wǎng)絡(luò)流的數(shù)據(jù)分成一個個的數(shù)據(jù)包,然后根據(jù)協(xié)議進(jìn)行分類,并將IP和ARP的對應(yīng)關(guān)系存儲在處理器內(nèi)置的靜態(tài)隨機(jī)存儲器固定地址屮,用來 作為防止ARP欺騙攻擊的數(shù)據(jù)記錄;記錄按照最近最少使用的方式進(jìn)行替換, 同時根據(jù)IP地址和MAC地址進(jìn)行分類,記錄最常出現(xiàn)的前N條記錄,N由用 戶在片內(nèi)操作系統(tǒng)的命令行里指定;(8) 與記錄庫進(jìn)行比較-對每個數(shù)據(jù)包進(jìn)行檢查,如果該記錄出現(xiàn)排在前N并且在數(shù)字流中檢測到 相應(yīng)的數(shù)字簽名則根據(jù)已經(jīng)存儲的策略進(jìn)行處理;(9) 報(bào)告并刪除被檢測出的可疑數(shù)據(jù)包如果在(8)中的比較成功,那么該數(shù)據(jù)包被認(rèn)為是惡意數(shù)據(jù)包,于是向通 用操作系統(tǒng)報(bào)告檢測的結(jié)果并根據(jù)策略進(jìn)行處理;(10) 向通用操作系統(tǒng)提供過濾后的數(shù)據(jù) 將過濾后的數(shù)據(jù)存儲在主內(nèi)存中網(wǎng)絡(luò)驅(qū)動程序指定的地方,以便通用操作系統(tǒng)從這里取走已經(jīng)是合法的數(shù)據(jù)流。作為一種改進(jìn),在處理器內(nèi)置的靜態(tài)隨機(jī)存儲器中運(yùn)行獨(dú)立于通用操作系 統(tǒng)的片內(nèi)操作系統(tǒng),以及實(shí)時的檢測方式。與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果是(1) 高效性。本發(fā)明實(shí)現(xiàn)了在嵌入式環(huán)境下入侵檢測系統(tǒng)工作的方法,通 過將入侵檢測系統(tǒng)在高速的片內(nèi)靜態(tài)隨機(jī)存儲器中運(yùn)行,利用了片內(nèi)靜態(tài)隨機(jī) 存儲器的存取高效性,加快了入侵檢測系統(tǒng)處理數(shù)據(jù)的速度,降低了由于網(wǎng)絡(luò) 數(shù)據(jù)的處理對通用操作系統(tǒng)乃至應(yīng)用程序的性能影響。(2) 可靠性。本發(fā)明中的基于SPM的入侵檢測方法,使入侵檢測系統(tǒng)獨(dú) 立于原通用操作系統(tǒng),不但保證了入侵檢測系統(tǒng)本身的安全性,同時也使該系 統(tǒng)的運(yùn)行在比通用操作系統(tǒng)更高的級別上,因此增強(qiáng)了入侵檢測的能力和自我 保護(hù)的能力。(3) 實(shí)用性。本發(fā)明提出的基于SPM的入侵檢測方法,可以使用在各種具有片內(nèi)靜態(tài)存儲器的嵌入式設(shè)備上,特別是對于接入互聯(lián)網(wǎng)的手機(jī)的PDA等嵌入式設(shè)備的安全性和可靠性提供了保障。
圖1是本發(fā)明的總體結(jié)構(gòu)框架圖。圖2是入侵檢測系統(tǒng)的流程圖。
具體實(shí)施方式
結(jié)合附圖,通過具體實(shí)施例對本發(fā)明進(jìn)一步說明。 首先解釋一下用到的名詞Boot loader: —段固定代碼,用于裝載系統(tǒng)內(nèi)核并啟動。IP::網(wǎng)際協(xié)議,用于傳輸互聯(lián)網(wǎng)網(wǎng)絡(luò)數(shù)據(jù)。TCP:傳輸控制協(xié)議,以IP協(xié)議為基礎(chǔ),提供可靠的流傳輸。ARP:地址解析協(xié)議,提供通過IP地址查詢物理地址的服務(wù)。ICMP:互聯(lián)網(wǎng)控制消息協(xié)議,用于在主機(jī)與路由器之間傳遞控制信息,包括報(bào)告錯誤、交換受限控制和狀態(tài)信息等。SPM:處理器內(nèi)部的靜態(tài)隨機(jī)存儲器,具有高效,低能耗,物理獨(dú)立性等優(yōu)點(diǎn)。一種基于SPM的入侵檢測方法,包括以下步驟(1) 啟動原始boot loader:啟動原始boot loader,將片內(nèi)操作系統(tǒng)鏡像裝 載進(jìn)入處理器內(nèi)置的靜態(tài)隨機(jī)存儲器中,并將控制權(quán)交給片內(nèi)操作系統(tǒng)開始運(yùn) 行;(2) 片內(nèi)操作系統(tǒng)的初始化片內(nèi)操作系統(tǒng)初始化處理器、時鐘、處理器內(nèi)置的靜態(tài)隨機(jī)存儲器和主內(nèi)存以及網(wǎng)卡;(3) 片內(nèi)操作系統(tǒng)的運(yùn)行初始化工作結(jié)束后,啟動片內(nèi)操作系統(tǒng)的主線程,用于響應(yīng)用戶的命令參 數(shù)以及啟動處理基本的網(wǎng)絡(luò)數(shù)據(jù)的網(wǎng)絡(luò)模塊。該網(wǎng)絡(luò)模塊為以后運(yùn)行的通用操 作系統(tǒng)提供網(wǎng)卡驅(qū)動的接口 。最后將網(wǎng)絡(luò)監(jiān)控所用到的數(shù)字簽名和規(guī)則從閃存 或從網(wǎng)絡(luò)指定路徑中讀取并存儲在處理器內(nèi)置的靜態(tài)隨機(jī)存儲器中以便以后使 用。(4) 通用操作系統(tǒng)的裝載和啟動通過在片內(nèi)操作系統(tǒng)提供的命令界面中鍵入指定位置將通用操作系統(tǒng)的內(nèi) 核鏡像裝載進(jìn)入主內(nèi)存的內(nèi)核區(qū),該內(nèi)核區(qū)的具體位置由用戶的參數(shù)指定;然 后,通過啟動命令將控制權(quán)交給通用操作系統(tǒng),完成通用操作系統(tǒng)的啟動工作;(5) 啟動通用操作系統(tǒng)的網(wǎng)絡(luò)驅(qū)動監(jiān)控 由于通用操作系統(tǒng)的網(wǎng)卡驅(qū)動利用的是底層片內(nèi)操作系統(tǒng)提供的網(wǎng)絡(luò)接口,因此每次有網(wǎng)絡(luò)數(shù)據(jù)到來的時候,都會由位于處理器內(nèi)置的靜態(tài)隨機(jī)存儲 器片內(nèi)操作系統(tǒng)內(nèi)部的網(wǎng)絡(luò)處理函數(shù)來進(jìn)行前期檢查。這樣的體系結(jié)構(gòu)保證了 處理檢測的代碼運(yùn)行在高于通用操作系統(tǒng)網(wǎng)絡(luò)驅(qū)動的優(yōu)先級上,也以此保證了 通用操作系統(tǒng)的安全性;(6) 網(wǎng)絡(luò)數(shù)據(jù)獲取網(wǎng)絡(luò)數(shù)據(jù)到來時首先被網(wǎng)卡驅(qū)動放入網(wǎng)絡(luò)適配器的緩存中,然后由入侵檢 測系統(tǒng)將這些原始數(shù)據(jù)拷貝到片內(nèi)靜態(tài)存儲器的指定區(qū)域進(jìn)行臨時存儲以備以 后處理;(7) 網(wǎng)絡(luò)數(shù)據(jù)分包并統(tǒng)計(jì)-首先將網(wǎng)絡(luò)流的數(shù)據(jù)分成一個個的數(shù)據(jù)包,然后根據(jù)協(xié)議進(jìn)行分類,比如有IP類,ARP類,ICMP類。并將IP和ARP的對應(yīng)關(guān)系存儲在處理器內(nèi)置的 靜態(tài)隨機(jī)存儲器固定地址中,用來作為防止ARP欺騙攻擊的數(shù)據(jù)記錄。但是這 些存儲空間有限,因此記錄將按照最近最少使用的方式進(jìn)行替換。同時要根據(jù) IP地址和MAC地址進(jìn)行分類,記錄最常出現(xiàn)的前N條記錄,N可以由用戶在 片內(nèi)操作系統(tǒng)的命令行里指定;(8) 與記錄庫進(jìn)行比較對每個數(shù)據(jù)包進(jìn)行檢査,如果該記錄出現(xiàn)排在前N并且在數(shù)字流中檢測到 相應(yīng)的數(shù)字簽名則根據(jù)已經(jīng)存儲的策略進(jìn)行處理;(9) 報(bào)告并刪除被檢測出的可疑數(shù)據(jù)包如果在(8)中的比較成功,那么該數(shù)據(jù)包被認(rèn)為是惡意數(shù)據(jù)包,于是向通 用操作系統(tǒng)報(bào)告檢測的結(jié)果并根據(jù)策略進(jìn)行處理,比如屏蔽該IP地址的數(shù)據(jù)包 或直接刪除該數(shù)據(jù)包等;(10) 向通用操作系統(tǒng)提供過濾后的數(shù)據(jù) 將過濾后的數(shù)據(jù)存儲在主內(nèi)存中網(wǎng)絡(luò)驅(qū)動程序指定的地方,以便通用操作系統(tǒng)可以從這里取走己經(jīng)是合法的數(shù)據(jù)流。8本發(fā)明所述的是一種基于SPM的入侵檢測方法,其主要功能利用了嵌入式 處理器的片內(nèi)隨機(jī)靜態(tài)存儲器存取的高效性和物理獨(dú)立性,將入侵檢測系統(tǒng)放 置在其中運(yùn)行, 一方面降低了入侵檢測系統(tǒng)對通用操作系統(tǒng)性能影響,另一方 面通過提高了入侵檢測系統(tǒng)的運(yùn)行級別,提高檢測能力,同時提高了本身的安 全性保障。本框架具有很好的通用性,可以在各種具有片內(nèi)靜態(tài)隨機(jī)存儲器的嵌入式設(shè)備中使用。最后,還需要注意的是,以上列舉的僅是本發(fā)明的具體實(shí)施例子。顯然, 本發(fā)明不限于以上實(shí)施例子,還可以有許多變形。本領(lǐng)域的普通技術(shù)人員能從 本發(fā)明公開的內(nèi)容直接導(dǎo)出或聯(lián)想到的所有變形,均應(yīng)認(rèn)為是本發(fā)明的保護(hù)范 圍。
權(quán)利要求
1、基于SPM的入侵檢測方法,其特征在于,包括以下步驟(1)啟動原始boot loader啟動原始boot loader,將片內(nèi)操作系統(tǒng)鏡像裝載進(jìn)入處理器內(nèi)置的靜態(tài)隨機(jī)存儲器中,并將控制權(quán)交給片內(nèi)操作系統(tǒng)開始運(yùn)行;(2)片內(nèi)操作系統(tǒng)的初始化片內(nèi)操作系統(tǒng)初始化處理器、時鐘、處理器內(nèi)置的靜態(tài)隨機(jī)存儲器和主內(nèi)存以及網(wǎng)卡;(3)片內(nèi)操作系統(tǒng)的運(yùn)行啟動片內(nèi)操作系統(tǒng)的主線程,響應(yīng)用戶的命令參數(shù)以及啟動處理基本的網(wǎng)絡(luò)數(shù)據(jù)的網(wǎng)絡(luò)模塊;為以后運(yùn)行的通用操作系統(tǒng)提供網(wǎng)卡驅(qū)動的接口;最后將網(wǎng)絡(luò)監(jiān)控所用到的數(shù)字簽名和規(guī)則從閃存或從網(wǎng)絡(luò)指定路徑中讀取并存儲在處理器內(nèi)置的靜態(tài)隨機(jī)存儲器中以便以后使用;(4)通用操作系統(tǒng)的裝載和啟動通過在片內(nèi)操作系統(tǒng)提供的命令界面中鍵入指定位置將通用操作系統(tǒng)的內(nèi)核鏡像裝載進(jìn)入主內(nèi)存的內(nèi)核區(qū),該內(nèi)核區(qū)的具體位置由用戶的參數(shù)指定;然后,通過啟動命令將控制權(quán)交給通用操作系統(tǒng),完成通用操作系統(tǒng)的啟動工作;(5)啟動通用操作系統(tǒng)的網(wǎng)絡(luò)驅(qū)動監(jiān)控;(6)網(wǎng)絡(luò)數(shù)據(jù)獲取網(wǎng)絡(luò)數(shù)據(jù)到來時首先被網(wǎng)卡驅(qū)動放入網(wǎng)絡(luò)適配器的緩存中,然后由入侵檢測系統(tǒng)將這些原始數(shù)據(jù)拷貝到片內(nèi)靜態(tài)存儲器的指定區(qū)域進(jìn)行臨時存儲以備以后處理;(7)網(wǎng)絡(luò)數(shù)據(jù)分包并統(tǒng)計(jì)首先將網(wǎng)絡(luò)流的數(shù)據(jù)分成一個個的數(shù)據(jù)包,然后根據(jù)協(xié)議進(jìn)行分類,并將IP和ARP的對應(yīng)關(guān)系存儲在處理器內(nèi)置的靜態(tài)隨機(jī)存儲器固定地址中,用來作為防止ARP欺騙攻擊的數(shù)據(jù)記錄;記錄按照最近最少使用的方式進(jìn)行替換,同時根據(jù)IP地址和MAC地址進(jìn)行分類,記錄最常出現(xiàn)的前N條記錄,N由用戶在片內(nèi)操作系統(tǒng)的命令行里指定;(8)與記錄庫進(jìn)行比較對每個數(shù)據(jù)包進(jìn)行檢查,如果該記錄出現(xiàn)排在前N并且在數(shù)字流中檢測到相應(yīng)的數(shù)字簽名則根據(jù)已經(jīng)存儲的策略進(jìn)行處理;(9)報(bào)告并刪除被檢測出的可疑數(shù)據(jù)包如果在(8)中的比較成功,那么該數(shù)據(jù)包被認(rèn)為是惡意數(shù)據(jù)包,于是向通用操作系統(tǒng)報(bào)告檢測的結(jié)果并根據(jù)策略進(jìn)行處理;(10)向通用操作系統(tǒng)提供過濾后的數(shù)據(jù)將過濾后的數(shù)據(jù)存儲在主內(nèi)存中網(wǎng)絡(luò)驅(qū)動程序指定的地方,以便通用操作系統(tǒng)從這里取走已經(jīng)是合法的數(shù)據(jù)流。
2、根據(jù)權(quán)利要求1所述的基于SPM的入侵檢測方法,其特征在于,在處理器內(nèi)置的靜態(tài)隨機(jī)存儲器中運(yùn)行獨(dú)立于通用操作系統(tǒng)的片內(nèi)操作系統(tǒng),以及 實(shí)時的檢測方式。
全文摘要
本發(fā)明涉及嵌入式操作系統(tǒng)安全領(lǐng)域,旨在提供一種基于SPM的入侵檢測方法。包括以下步驟(1)啟動原始boot loader;(2)片內(nèi)操作系統(tǒng)的初始化;(3)片內(nèi)操作系統(tǒng)的運(yùn)行;(4)通用操作系統(tǒng)的裝載和啟動;(5)啟動通用操作系統(tǒng)的網(wǎng)絡(luò)驅(qū)動監(jiān)控;(6)網(wǎng)絡(luò)數(shù)據(jù)獲??;(7)網(wǎng)絡(luò)數(shù)據(jù)分包并統(tǒng)計(jì);(8)與記錄庫進(jìn)行比較;(9)報(bào)告并刪除被檢測出的可疑數(shù)據(jù)包;(10)向通用操作系統(tǒng)提供過濾后的數(shù)據(jù)。本發(fā)明所述的基于SPM的入侵檢測方法,一方面降低了入侵檢測系統(tǒng)對通用操作系統(tǒng)性能影響,另一方面通過提高了入侵檢測系統(tǒng)的運(yùn)行級別,提高檢測能力,同時提高了本身的安全性保障。
文檔編號H04L12/26GK101282244SQ20081006234
公開日2008年10月8日 申請日期2008年5月9日 優(yōu)先權(quán)日2008年5月9日
發(fā)明者嚴(yán)力科, 馮德貴, 居立晗, 楠 張, 章鐵飛, 斌 謝, 劍 陳, 陳天洲, 偉 馬, 黃長賓 申請人:浙江大學(xué)