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

基于ARM的嵌入式蠕蟲檢測系統(tǒng)設計與實現(xiàn)*

2013-07-20 09:40:54娟,劉娜,魏
微處理機 2013年3期
關鍵詞:嵌入式用戶檢測

鮑 娟,劉 娜,魏 剛

(1.湖北醫(yī)藥學院計算機教研室,十堰 442000;2.湖北醫(yī)藥學院附屬人民醫(yī)院,十堰 442000)

1 引言

隨著互聯(lián)網(wǎng)應用的普及和深入,計算機病毒、木馬程序、網(wǎng)絡蠕蟲等惡意程序,對計算機系統(tǒng)和網(wǎng)絡的安全威脅日益增加。與傳統(tǒng)病毒不同,蠕蟲病毒以計算機為載體,以網(wǎng)絡為攻擊對象。在掃描漏洞主機的過程中,蠕蟲病毒會產(chǎn)生巨大的網(wǎng)絡流量,導致整個網(wǎng)絡癱瘓,造成經(jīng)濟損失。

Linux 操作系統(tǒng)作為目前流行的開源操作系統(tǒng),為許多硬軟件產(chǎn)品的開發(fā)提供了良好的平臺。開發(fā)者可對內(nèi)核進行裁減和修改,定制最適合的操作系統(tǒng)平臺。文中結(jié)合嵌入式設備成本低、體積小的特點,提出了一種適合移植到嵌入式系統(tǒng)上的蠕蟲病毒檢測方法。

2 蠕蟲檢測技術(shù)分析

蠕蟲檢測可以分為誤用檢測和異常檢測[1]。目前較常用的蠕蟲檢測方法是誤用檢測,通過蠕蟲代碼特征來檢測蠕蟲的存在。該方法只能在蠕蟲爆發(fā)后,通過對相應蠕蟲進行分析得到檢測特征,但是無法檢測未知蠕蟲,無法實現(xiàn)對蠕蟲的有效防范。

另一蠕蟲檢測方法是異常檢測,通過檢測主機的異常行為或者流量的異常模式來確定蠕蟲的存在。

文獻[2]提出通過判斷失敗連接數(shù)是否達到閾值來檢測遠程蠕蟲。通常該閾值的選擇是比較困難的:過低則提高誤報率,過高則提高漏報率。

目前,主流的開源檢測系統(tǒng)包括Snort 和Bro[3]。

Snort是輕量級的入侵檢測系統(tǒng),通過用戶態(tài)的Libpcap,從內(nèi)核中獲取數(shù)據(jù)包。但數(shù)據(jù)包流量較大時,大量的數(shù)據(jù)包就會被丟棄,從而導致Snort 系統(tǒng)的效率大大降低。

Bro 也是通過Libpcap 庫來獲取網(wǎng)絡數(shù)據(jù)包,Libpcap 包捕獲機制的原理是在數(shù)據(jù)鏈路層增加一個旁路處理,通過系統(tǒng)調(diào)用把數(shù)據(jù)包從內(nèi)核空間傳入到用戶空間再進行分析處理[4],這增加了內(nèi)存拷貝次數(shù),影響系統(tǒng)捕包的性能。因此如何減少內(nèi)存拷貝次數(shù)及系統(tǒng)調(diào)用、能快速的檢測是關鍵所在。

為了減少內(nèi)存拷貝及系統(tǒng)調(diào)用時間,降低用戶態(tài)存儲空間的需求。文中設計實現(xiàn)了一個基于Linux 內(nèi)核、Netfilter 框架的內(nèi)核流量采集和分析模塊,并且同時能夠進行內(nèi)網(wǎng)的蠕蟲檢測,通過動態(tài)加載功能模塊的方式,運行在Linux 內(nèi)核空間,所有的包截獲分析、蠕蟲檢測等任務都是在內(nèi)核空間完成,因此比起其他的運行在用戶空間的網(wǎng)絡監(jiān)控應用程序,該模塊大大降低了從內(nèi)核空間到用戶空間的內(nèi)存拷貝操作,因此極大地提高了位于內(nèi)網(wǎng)的檢測系統(tǒng)的整體性能。

3 系統(tǒng)設計

3.1 基于Netfilter 框架的流量采集模塊

在混雜模式下,利用Netfilter 框架,當數(shù)據(jù)包被傳遞到Hook 中時便開始進行采集。Hook 函數(shù)接收到的數(shù)據(jù)有:skbuff 結(jié)構(gòu)、網(wǎng)絡設備的數(shù)據(jù)結(jié)構(gòu)指針。skbuff 中包括了鏈路層、網(wǎng)絡層及傳輸層包頭,通過分析這些包頭信息可以得到該數(shù)據(jù)包的源地址、目的地址和協(xié)議類型,Netfilter 通過Hook 函數(shù)的返回值決定該包的去向。文中選擇PRE_ROUTING和POST_ROUTING參考點注冊回調(diào)函數(shù),并設置其優(yōu)先級最高,并以NF_ACCEPT為返回值告訴Netfilter,即到目前為止該數(shù)據(jù)包一直被接收。

3.2 基于主機級別的蠕蟲檢測模塊

蠕蟲主機流量主要由FCC(第一次連接)流量組成。而這些連接請求大多數(shù)是不能成功的,或者沒有應答,或者被拒絕(RST 包)。根據(jù)實驗分析,網(wǎng)絡蠕蟲連接請求失敗的概率在80%左右。根據(jù)蠕蟲檢測算法,設計了蠕蟲檢測模塊。該模塊的基本流程圖如圖1 所示。

當某臺主機判斷為失敗連接時,先計算該主機發(fā)起的FCC 數(shù)是否到達給定閾值NCE,若達到了閾值,再判斷這臺主機的FCC 失敗連接比率是否達到給定閾值。若真,則該主機被判斷為蠕蟲;否則,考察該主機的FCC是否具有正常主機的重尾分布特性。若真,則該主機被認為是正常主機,反之,該主機被認為是蠕蟲。

圖1 蠕蟲檢測流程圖

4 系統(tǒng)實現(xiàn)

將設計和實現(xiàn)的蠕蟲檢測系統(tǒng)移植到ARM 開發(fā)板上,在搭建的內(nèi)網(wǎng)環(huán)境中運行,用來進行本地局域網(wǎng)的蠕蟲檢測。嵌入式實現(xiàn)的原因如下:

(1)前面提到的系統(tǒng)是在PC 機上SUSE 10.3(Linux2.6 內(nèi)核)運行實現(xiàn)的,內(nèi)核比較龐大,但是通過內(nèi)核的裁剪和重編譯,可以在ARM 開發(fā)板上運行,以解決資源問題。

(2)移植到開發(fā)板上以后,開發(fā)板的網(wǎng)口可以直接連到交換機上,監(jiān)測局域網(wǎng)的流量異常情況,攜帶方便,占用空間更小。

4.1 系統(tǒng)硬件平臺

本系統(tǒng)的開發(fā)板是EP9315(Cirrus Logic 公司出品)處理器,基于ARM920T 內(nèi)核,內(nèi)帶MMU,16KB的指令 cache,16KB的數(shù)據(jù) cache 和 Maverick Crunch。主頻200MHz,系統(tǒng)總線100MHz,可提供工業(yè)級;兩片F(xiàn)lash 共32MBNorFlash,64MB SDRAM。

4.2 嵌入式linux 系統(tǒng)的軟件平臺構(gòu)建

嵌入式Linux 系統(tǒng)的構(gòu)建主要分為五個步驟[5]:①交叉編譯環(huán)境的建立;②引導程序Bootloader的開發(fā);③Linux 內(nèi)核的開發(fā);④根文件系統(tǒng)的定制;⑤文件燒寫。

下面主要介紹Linux 內(nèi)核編譯、制作根文件系統(tǒng)和文件燒寫。

4.2.1 嵌入式Linux 內(nèi)核編譯

內(nèi)核配置完后進行Linux 內(nèi)核編譯。

(1)執(zhí)行如下指令,刪除過時的文件#make clean

(2)執(zhí)行如下指令,生成可執(zhí)行內(nèi)核映像文件#make zImage

執(zhí)行完后,會在arch/arm/boot/下生成一個內(nèi)核映像文件vmlinux。

嵌入式內(nèi)核編譯的不同之處在于之后還要將vmlinux 轉(zhuǎn)換成可以下載到嵌入式系統(tǒng)板上運行的內(nèi)核映像vmlinux.gz.img。

4.2.2 根文件系統(tǒng)

對于一個實際的嵌入式應用系統(tǒng)來說,僅包含Linux 內(nèi)核是不夠的,還必須有文件系統(tǒng)的支持。在嵌入式Linux 內(nèi)核啟動后,需要加載根文件系統(tǒng),以支持系統(tǒng)與用戶交互。下面描述如何制作根文件系統(tǒng)[6]。

對于嵌入式Linux 來說,最簡單最常用的根文件系統(tǒng)是RAMDISK。RAMDISK是指使用系統(tǒng)的一部分內(nèi)存空間來模擬一個用戶熟悉的磁盤分區(qū)。

(1)從開發(fā)系統(tǒng)提供商獲得一個RAMDISK,復制壓縮文件ramdisk.gz 到工作目錄/home/work。

解壓該文件,#gzip-d ramdisk.gz

(2)將文件RAMDIAK 掛載到一個臨時目錄,如ram_disk,執(zhí)行如下命令:

之后用戶可以查看文件ramdisk 包含的所有子文件系統(tǒng)內(nèi)容。

(3)根據(jù)需求對文件進行增減,操作完畢后卸載目錄ram_disk 與文件RAMDISK的連接。并對新的RAMDISK 文件進行壓縮。執(zhí)行如下命令:

此時,有了嵌入式Linux 內(nèi)核和根文件系統(tǒng),一個完整的嵌入式Linux 系統(tǒng)就編譯完成了。下面將生成的內(nèi)核映像文件vmlinux.gz.img 和ramdisk.gz.img 下載到系統(tǒng)的FLASH 中,就形成了一個完整的嵌入式系統(tǒng)。

4.2.3 文件燒寫

一般情況,目標機上的Bootloader 通過串口與主機之間進行文件傳輸,但是,串口傳輸?shù)乃俣仁怯邢薜?,因此通過以太網(wǎng)連接并借助TFTP 協(xié)議來下載文件是個更好的選擇。

通過以下命令將u-boot.bin,vmlinux.gz.img,ramdisk.gz.img 燒寫到開發(fā)板上。

三個文件燒寫到目標板上后,就可以運行用戶自己的程序(交叉編譯環(huán)境編譯),例如在嵌入式Linux 內(nèi)核態(tài),動態(tài)加載檢測局域網(wǎng)內(nèi)的蠕蟲主機模塊。

內(nèi)核模塊的動態(tài)裝載性使得內(nèi)核映像的尺寸保持在最小,并且具有最大的靈活性,而且不需重新編譯內(nèi)核及重新引導。

4.3 內(nèi)核與用戶態(tài)的通信

在Linux 2.4 版以后的內(nèi)核中,幾乎全部的中斷過程與用戶態(tài)進程的通信都是使用Netlink 套接字實現(xiàn)的。Netlink 套接字的最大特點是對中斷過程的支持,它在內(nèi)核空間接收用戶空間數(shù)據(jù)時,不再需要用戶啟動一個內(nèi)核線程,而是通過另一個軟中斷調(diào)用用戶事先指定的接收函數(shù)。使用軟中斷而不是內(nèi)核線程來接收數(shù)據(jù),這樣就可以保證數(shù)據(jù)接收的實時性。

下面將闡述Linux 內(nèi)核中Netlink 消息機制的實現(xiàn),并且通過Netlink 消息通信機制,實現(xiàn)用戶態(tài)與動態(tài)加載的內(nèi)核模塊之間的消息交互。

4.3.1 Netlink 通信機制

Netlink 用于在內(nèi)核空間和用戶空間之間傳遞信息,它提供了一種內(nèi)核與用戶的雙向異步通信機制。它包括為用戶進程設計的標準套接口和基于內(nèi)核模塊設計的內(nèi)核API。內(nèi)核與用戶空間之間傳遞的消息保存在Socket 緩存隊列中,發(fā)送消息只是把消息保存在接收者的Socket 接收隊列,而不需要等待接收者收到消息,是一種全雙工無阻塞通信方式。具體方法是在用戶態(tài)下使用標準的Socket API,在內(nèi)核空間使用特殊API 來實現(xiàn)。

那么內(nèi)核是如何識別用戶進程的呢?

以內(nèi)核模塊和用戶進程之間單播通信為例。

內(nèi)核模塊向用戶進程單播時,對目的用戶進程的識別是以進程pid 作為依據(jù)的。因此在各自創(chuàng)建了套接字后,用戶進程需要首先將自身的pid 發(fā)送給內(nèi)核模塊,內(nèi)核模塊(回調(diào)函數(shù))保存此pid,供以后向用戶進程發(fā)送數(shù)據(jù)時使用。

下面將從內(nèi)核態(tài)和用戶態(tài)兩方面具體描述如何相互實現(xiàn)消息傳遞。

4.3.2 內(nèi)核態(tài)工作

如圖2 所示,運行在內(nèi)核態(tài)的蠕蟲檢測模塊實時監(jiān)測內(nèi)網(wǎng)的流量情況,若發(fā)現(xiàn)蠕蟲病毒,將檢測到的蠕蟲機信息,傳遞到用戶態(tài),進行結(jié)果顯示。

圖2 內(nèi)核與用戶態(tài)的Netlink 通信

4.3.3 用戶態(tài)工作

用戶態(tài)使用標準的socket API:socket(),bind(),sendmsg(),recvmsg()和close()就能很容易地使用Netlink socket,與內(nèi)核進行通信。

用戶態(tài)主要實現(xiàn)兩方面的功能:①發(fā)送數(shù)據(jù)到內(nèi)核,即自身的進程pid 傳給內(nèi)核;②接收內(nèi)核發(fā)送的數(shù)據(jù)并在用戶態(tài)顯示接收結(jié)果。

5 系統(tǒng)測試

5.1 搭建內(nèi)網(wǎng)環(huán)境

(1)路由器上配置兩個網(wǎng)段,分別是192.168.1.0 內(nèi)網(wǎng)段和192.168.2.0 外網(wǎng),測試網(wǎng)段192.168.1.0 到192.168.2.0 網(wǎng)段進行Web 頁的訪問(見圖3)。

(2)內(nèi)網(wǎng)段(192.168.1.0)分布:查看測試結(jié)果的PC 機(IP:192.168.1.101)、ARM 開發(fā)板、蠕蟲主機(IP:192.168.1.102)和其它主機(IP:192.168.1.103)分別連接內(nèi)網(wǎng)的交換機。

位于內(nèi)網(wǎng)段的ARM 板,在192.168.1.0 網(wǎng)段內(nèi)的交換機上端口進行了端口鏡像。

(3)蠕蟲主機上運行avserve2.exe,使得該主機感染振蕩波蠕蟲。

(4)外網(wǎng)段(192.168.2.1)分布:兩臺Web 服務器連接交換機,IP是:192.168.2.102、192.168.2.103。

圖3 測試連接圖

5.2 運行與測試結(jié)果

利用tftp,下載*.ko 文件和與之對應的用戶態(tài)程序到ARM 板上。

在開發(fā)板的shell 下,先執(zhí)行insmod *.ko 文件,啟動該檢測系統(tǒng);再運行用戶態(tài)程序,例如./user,創(chuàng)建Netlink 套接字與內(nèi)核模塊交互信息。加載模塊、運行用戶態(tài)程序如圖4 所示。

內(nèi)核態(tài)模塊檢測到內(nèi)網(wǎng)的蠕蟲機后,內(nèi)核態(tài)傳遞蠕蟲主機的源IP 地址到用戶態(tài),并使用打印函數(shù)輸出信息到控制臺,進行終端顯示。內(nèi)核檢測結(jié)果和用戶態(tài)接收到的結(jié)果如圖5 所示。

圖4 加載檢測模塊和用戶態(tài)程序

圖5 內(nèi)核和用戶態(tài)顯示結(jié)果

6 結(jié)束語

創(chuàng)新點:蠕蟲檢測系統(tǒng)移植到ARM 開發(fā)板上,在搭建的內(nèi)網(wǎng)環(huán)境中運行,進行蠕蟲檢測,并顯示了測試結(jié)果。實驗證明,系統(tǒng)進行相關的裁減和編譯后,燒寫到開發(fā)板上,捕捉內(nèi)網(wǎng)的數(shù)據(jù)包,實現(xiàn)蠕蟲流量檢測。最后在嵌入式開發(fā)板上實現(xiàn)了內(nèi)核態(tài)的蠕蟲檢測系統(tǒng)與用戶態(tài)的消息交互。

[1]蔣建春,馬恒太,任黨恩,等.網(wǎng)絡安全入侵檢測:研究綜述[J].軟件學報,2000,11(11):1460-1466.

[2]Seth Robertson,Eric V.Siegel,Matt Miller,Salvatore J.Stolfo.Surveillance detection in high bandwidth environments[C].Proc.of DARPA DISCEX III Conference,2003:130-139.

[3]Bro intrusion detection system[EB/OL].http://bro-ids.org/.

[4]楊建華,謝高崗,李忠誠.基于Linux 內(nèi)核的流量分析方法[J].計算機工程,2006,32(8):67-69.

[5]王亞軍,劉金剛.Linux 運用于嵌入式系統(tǒng)的技術(shù)分析[J].計算機應用研究,2005,20(5):102-104.

[6]李駒光,鄭耿,江澤明.嵌入式Linux 系統(tǒng)開發(fā)詳解—基于EP93XX 系列ARM(第一版)[M].北京:清華大學出版社,2006.

猜你喜歡
嵌入式用戶檢測
“不等式”檢測題
“一元一次不等式”檢測題
“一元一次不等式組”檢測題
搭建基于Qt的嵌入式開發(fā)平臺
嵌入式軟PLC在電鍍生產(chǎn)流程控制系統(tǒng)中的應用
關注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
關注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
小波變換在PCB缺陷檢測中的應用
關注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
如何獲取一億海外用戶
主站蜘蛛池模板: 亚洲成人网在线播放| 国产理论一区| 国模私拍一区二区 | 伊人网址在线| 毛片免费视频| 蜜臀AV在线播放| 国产日韩欧美精品区性色| 强乱中文字幕在线播放不卡| 久青草网站| 日本爱爱精品一区二区| 国产欧美在线观看精品一区污| 日本高清视频在线www色| 国产高潮视频在线观看| 91麻豆国产视频| 国产成人免费高清AⅤ| 国产三级毛片| 午夜不卡视频| 亚洲欧洲一区二区三区| 中文无码日韩精品| jizz国产视频| www.youjizz.com久久| …亚洲 欧洲 另类 春色| 亚洲中文字幕久久精品无码一区 | 国产91全国探花系列在线播放| 国模粉嫩小泬视频在线观看| 中文字幕中文字字幕码一二区| 精品无码视频在线观看| 亚洲第一天堂无码专区| 国产乱子伦精品视频| 综1合AV在线播放| 在线一级毛片| 毛片最新网址| 日本黄色a视频| 在线看免费无码av天堂的| 国产男人天堂| 色综合色国产热无码一| 91娇喘视频| 国产精品免费入口视频| 国产精品漂亮美女在线观看| 欧美成一级| 亚洲欧美日韩久久精品| 亚洲无码高清视频在线观看| 熟女日韩精品2区| 四虎成人免费毛片| 国产一区二区免费播放| 又大又硬又爽免费视频| a毛片在线| 澳门av无码| 亚洲免费三区| 美臀人妻中出中文字幕在线| 中文字幕欧美日韩高清| 高清精品美女在线播放| 日本91在线| 视频一本大道香蕉久在线播放| 免费一级大毛片a一观看不卡| 亚洲高清日韩heyzo| 免费看av在线网站网址| 成人午夜视频免费看欧美| 香港一级毛片免费看| 精品五夜婷香蕉国产线看观看| 亚洲人成网站日本片| 97超碰精品成人国产| 免费激情网址| 天堂成人在线| 亚洲欧美一区二区三区麻豆| 18黑白丝水手服自慰喷水网站| 亚洲人成高清| 精品人妻无码区在线视频| 又粗又硬又大又爽免费视频播放| 青青草原国产免费av观看| 亚洲欧美在线综合图区| 国产精品无码久久久久久| 国产网友愉拍精品视频| 91在线精品麻豆欧美在线| 国产十八禁在线观看免费| 亚洲Av综合日韩精品久久久| 国产色伊人| 国产h视频在线观看视频| 日韩国产亚洲一区二区在线观看| 久久公开视频| 人妻21p大胆| 欧美国产三级|