新聞中心

        EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 嵌入式系統(tǒng)中入侵檢測(cè)的設(shè)計(jì)及實(shí)現(xiàn)

        嵌入式系統(tǒng)中入侵檢測(cè)的設(shè)計(jì)及實(shí)現(xiàn)

        作者: 時(shí)間:2009-07-21 來(lái)源:網(wǎng)絡(luò) 收藏

        圖2 事件分析器程序流程圖


        從圖2可以看出,目前只檢測(cè)三種安全威脅,這是針對(duì)電力的威脅而確定。檢測(cè)的結(jié)果保存到威脅日志中并生成相應(yīng)錯(cuò)誤號(hào),輔助響應(yīng)單元完成后續(xù)操作。可以根據(jù)需求,通過(guò)修改檢測(cè)策略庫(kù)增加檢測(cè)的攻擊類型,但是為了不影響的實(shí)時(shí)性,原則上只檢測(cè)必要的攻擊行為。

        3.2 主要數(shù)據(jù)結(jié)構(gòu)和方法

          大型系統(tǒng)采用標(biāo)準(zhǔn)的日志數(shù)據(jù)結(jié)構(gòu),以方便系統(tǒng)之間的數(shù)據(jù)交流。但作為一個(gè)的應(yīng)用,目前并沒(méi)有做分布式架構(gòu)的。若采用標(biāo)準(zhǔn)數(shù)據(jù)結(jié)構(gòu),則會(huì)使日志記錄的數(shù)據(jù)量大大增加,占用大量有限的存儲(chǔ)器空間。因此系統(tǒng)自定義了一個(gè)日志記錄的數(shù)據(jù)結(jié)構(gòu),而事件數(shù)據(jù)庫(kù)以一個(gè)結(jié)構(gòu)體數(shù)組形式存在,并通過(guò)一個(gè)結(jié)構(gòu)體控制數(shù)組使其成為一個(gè)循環(huán)區(qū)域。日志記錄和控制循環(huán)區(qū)域的結(jié)構(gòu)體數(shù)據(jù)格式如下:

        struct log {
        unsigned char tp; //說(shuō)明日志文件類型
        unsigned char action; //說(shuō)明操作類型
        unsigned long time; //說(shuō)明操作時(shí)間
        unsigned long ip; //說(shuō)明操作地點(diǎn)
        long backup; //供擴(kuò)展用
        }

        日志記錄是整個(gè)模塊中最占用存儲(chǔ)器的部分,為了盡量減少占用存儲(chǔ)區(qū)域,各個(gè)字段都做了優(yōu)化處理。在時(shí)間上并不采用傳統(tǒng)標(biāo)準(zhǔn)的年/月/日/時(shí)/分/秒表示,而是以一個(gè)無(wú)符號(hào)的長(zhǎng)整型表示時(shí)間差來(lái)計(jì)算時(shí)間。這樣不僅節(jié)省了存儲(chǔ)空間,還簡(jiǎn)化了檢測(cè)過(guò)程中時(shí)間差計(jì)算的復(fù)雜度。具體操作類型通過(guò)char tp與char action確定,用每一個(gè)bit位表示一個(gè)操作,這樣可以表示64個(gè)具體操作類型。

        struct logchain {
        struct log* start; //緩存區(qū)開(kāi)始的地址
        struct log* end; //緩存區(qū)結(jié)束的地址
        unsigned short lpoint//上次提取的最后一條記錄
        unsigned short ttsize//整個(gè)緩存區(qū)的大小
        unsigned short entries//目前被占用的記錄數(shù)目
        unsigned short curpoint//指向當(dāng)前可以寫(xiě)入的緩存區(qū)點(diǎn)
        }

        上述數(shù)據(jù)結(jié)構(gòu)將控制整個(gè)事件數(shù)據(jù)庫(kù)日志的存儲(chǔ)管理。事件數(shù)據(jù)庫(kù)以一個(gè)循環(huán)的結(jié)構(gòu)體數(shù)組表示,可以避免數(shù)據(jù)緩沖區(qū)的溢出。

        整個(gè)模塊主要有以下幾個(gè)功能函數(shù)。為了保證通用性,所有函數(shù)都是以標(biāo)準(zhǔn)C語(yǔ)言編寫(xiě)。

        (1)入侵檢測(cè)模塊的啟動(dòng):unsigned char audit_init(void)。該功能函數(shù)將完成事件數(shù)據(jù)庫(kù)存儲(chǔ)區(qū)域的初始化、消息隊(duì)列的初始化和常駐任務(wù)的建立。

        (2)常駐任務(wù):void audittrail_thread(void*arg)。當(dāng)系統(tǒng)啟動(dòng)入侵檢測(cè)服務(wù)后,該任務(wù)將作為常駐任務(wù)運(yùn)行在系統(tǒng)中。常駐任務(wù)是接收事件產(chǎn)生器發(fā)送的消息,經(jīng)格式化處理保存在事件數(shù)據(jù)庫(kù)中,并根據(jù)事件數(shù)據(jù)庫(kù)的情況觸發(fā)事件分析器。

        (3)檢測(cè)函數(shù)

        密碼猜測(cè)攻擊:void check_countguess(void)
        異常操作行為:void check_abnormalaction(void)
        資源訪問(wèn)情況:void check_resoucestatus(void)
        這三個(gè)功能函數(shù)用來(lái)分析用戶登錄日志記錄,檢測(cè)是否存在惡意攻擊。

        (4)響應(yīng)單元主函數(shù):void response_main(unsigned char alarm)。該函數(shù)根據(jù)分析器得出的警告,調(diào)用響應(yīng)策略庫(kù)中的相關(guān)策略,實(shí)施保護(hù)或者反擊措施。

        本文提出的基于改進(jìn)的μC/OS-II入侵檢測(cè)模塊的已基本。并且,作者修改了本實(shí)驗(yàn)室已的智能脫扣器項(xiàng)目的軟件,并把它加載到修改后的操作系統(tǒng)上進(jìn)行初步測(cè)試。測(cè)試結(jié)果表明:系統(tǒng)的實(shí)時(shí)性和安全性均能滿足要求。在本論文的基礎(chǔ)上,作者將對(duì)入侵檢測(cè)的策略進(jìn)行進(jìn)一步改進(jìn)和擴(kuò)充,增強(qiáng)其穩(wěn)定性和實(shí)時(shí)性,以使其能更適應(yīng)實(shí)際的電力應(yīng)用領(lǐng)域。

        linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

        上一頁(yè) 1 2 下一頁(yè)

        評(píng)論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 皋兰县| 临海市| 遂川县| 海淀区| 南昌市| 花莲县| 清水河县| 西乌| 淳安县| 澜沧| 三门县| 邳州市| 鄂伦春自治旗| 江门市| 鹤壁市| 济阳县| 龙游县| 德钦县| 武汉市| 辰溪县| 丹东市| 福海县| 潢川县| 铁力市| 松桃| 东平县| 宁国市| 温宿县| 双牌县| 曲沃县| 裕民县| 清水河县| 同仁县| 二连浩特市| 临夏市| 特克斯县| 黄陵县| 德兴市| 临高县| 仁布县| 施秉县|