嵌入式系統中入侵檢測的設計及實現
隨著通信技術和電子技術的不斷發展,嵌入式系統在電力系統中得到越來越廣泛的應用,電力嵌入式系統連接Internet將成為一大發展趨勢。但是Internet是一個不確定的網絡,存在著許多安全隱患,這是一個突出的、急待解決的問題。因此要求嵌入式操作系統設計時,除了考慮實時性,還必須考慮其安全性設計。
本文引用地址:http://www.j9360.com/article/152416.htm目前,比較流行的嵌入式操作系統有QNX、VxWorks、Widow CE、μC/OS-II等。其中,μC/OS-II內核以穩定、簡短、源代碼公開等特性得到了人們的青睞。但μC/OS-II只是一個微內核,并沒有安全方面的設計。為了更加適合應用在電力系統中,這部分功能必須增強。
本文將針對電力系統的需求,基于一個改寫的μC/OS-II說明該嵌入式操作系統中入侵檢測模塊的設計與實現。
1、針對電力系統的安全威脅分析
嵌入式系統在電力系統中主要應用于數據采集和遠程監控,所以它面臨的最大威脅是數據(指令也認為是一種數據)的保密性和完整性問題。通過現有的保密技術和網絡安全措施可以基本上保證數據的安全,但并不能絕對保證。入侵檢測模塊可以認為是整個系統的最后一道防線,在系統遭受威脅或被攻擊后,可以分析攻擊行為,有效保護系統免受同樣的攻擊。針對電力系統,可以歸納出三個主要的安全威脅,這些威脅不能通過常規的數據保密技術和網絡安全措施得到絕對有效的解決。
(1) 內部人員的違規行為。通常,數據保密技術和賬戶安全管理手段,只能防止外來人員的攻擊,而對于內部人員則束手無策。若內部人員濫用權限也會使系統面臨很大的威脅。小則造成設備損壞,大則危害公共安全和經濟生產。
(2) 非授權用戶登錄操作。一個電力監控系統不僅可以遠程采集電力終端設備的數據,同時也可以進行設備故障診斷、實時控制等操作。非授權用戶通過盜取密碼等非法手段登錄嵌入式系統并進行非法的設備控制是監控系統面臨的最大安全威脅。
(3) 對系統資源的非法訪問。這里所謂的系統資源主要包括存儲器中的數據、系統的運行參數以及用于控制電力設備的硬件。當攻擊者繞過正常的操作順序獲取數據或是硬件的控制權時,系統的所有安全措施形同虛設。
通過上述分析可知,為了進一步加強系統的安全性,必須使系統具有個人行為監控、事件重建、抵御網絡攻擊和故障分析能力。這些都將在入侵檢測模塊中實現。
2、基于主機的入侵檢測模塊設計
2.1 檢測技術
考慮到嵌入式系統資源的有限性,入侵檢測模塊將采用濫用檢測技術。所謂濫用檢測是直接對入侵行為進行特征化描述,建立某種或某類入侵的特征行為模式庫。如果發現當前行為與某個入侵模式一致,則表示發生了這種入侵。采用這種技術將降低判斷入侵檢測程序的復雜度,并且大大減少審計開銷,系統只記錄一些必要的日志信息,節省了有限的存儲器空間。
2.2 框架設計
入侵檢測模塊一般分為四部分:
(1) 事件產生器。從環境中抽取感興趣的信息,并把信息轉化為標準格式供系統其他部件使用。
(2) 事件數據庫。事件數據庫保存事件日志。
(3) 事件分析器。分析輸入的格式化后的事件,進行真正意義上的入侵檢測,并產生新的警告。
(4) 響應單元。響應單元按照警告進行相應的保護,反擊入侵行為。
根據電力應用的特性和嵌入式系統的特點,對上述入侵檢測框架進行修改如下:
(1)事件發生器產生原始日志數據,為了避免對進程實時性造成太大的影響,先不做格式化處理。
(2)事件數據庫將接收的原始日志數據進行格式化處理,并進行相應的分類保存。
(3)事件分析器與響應單元合并,以減少對系統進程的占用。
整個入侵檢測框架如圖1所示。
圖1 入侵檢測框架圖
3 基于主機的入侵檢測模塊的實現
3.1 入侵檢測模塊的實現流程
該操作系統是一個實時操作系統,為了不影響系統的實時性,入侵檢測并不是實時處理,數據流在整個處理過程中可能并不是很流暢,所以在設計時采用消息隊列形式傳遞原始記錄。即每個事件產生器發送的消息都送到一個消息隊列中,事件數據庫在系統空閑時取出消息做統一的格式化處理,并保存到數據庫中。當日志記錄累積到一定程度時,由事件數據庫觸發事件分析器做分析檢測,經過檢測的日志記錄可以適當刪除,以保持事件數據庫接收新日志的能力。事件分析器作為整個入侵檢測模塊的核心,其程序流程如圖2所示。
linux操作系統文章專題:linux操作系統詳解(linux不再難懂)
評論