7月號特輯:捍衛嵌入式系統資訊安全 晶片內建防毒機制啓動

本文作者:admin       點擊: 2006-07-21 00:00
前言:
由電腦病毒和不當外掛套件所引起的損害,往往足以釀成巨災;過去,鎖定某些作業系統的薄弱之處然後加以蓄意威脅是最常見的,但近來病毒攻擊的型態已有了轉變,朝向挑釁特定公司或企業部門的現象日益增多,導致財務損失難以計數;因此如何採取快速回應以應付層出不窮的病毒威脅,已迫在眉睫。

偵測病毒有4種常見的方法:首先是簽名檢視,這也是時下流行的方法,指紋辨識即是其中之一,對未知的病毒特別有用;這裏所指的“簽名”(signature),指的是具有惟一的位元數或成對的編碼模式,就如同人的指紋一樣,應具有惟一的可辨識性,才能偵察並辨識出特定的病毒。在發佈這種簽名代碼時,需特別留意它的更新工作、無縫防護和潛在失誤危機。例如:是否每天須更新代碼?資料庫的使用流量有多少?散佈新的代碼需花多久時間?一旦誤判受感染的檔案而將其隔離清掉後,會引起怎樣的後果?

其次,是利用事先設定過濾規則來進行多重偵測,在仿真的環境中執行既定指令,然後在程式的存儲區域尋找相應的識別標誌;再者,是在電郵等控制環境中執行組合編碼,以觀察有無類似病毒的行爲行爲比對,這對新型或無法辨識的病毒特別有用;最後是整合式比對,例如判別程式檔案的大小是否有因受到感染而增加,這種方法通常用於檢測主要磁片區域的整體資訊,我們一般在PC上所安裝的防毒軟體即是此類。

進化後的“模式匹配引擎”強勢登場

飛思卡爾戰略分析師Mike Hui在日前於上海舉行的FTF(Freescale Technology Forum,飛思卡爾技術論壇)中,也對嵌入式系統的資訊安全發表看法;表示Host-based和Network-based是兩種常見的防毒部署途徑。前者先將可抗毒的資料資料或類比編碼掃瞄後在主機上運行,以檢測行爲的安全性,爲PC、PDA和手機等常用的方法,有3種方式:

1.緩解對病毒感染性的反應:更新批次文件和簽名碼,耗時爲其缺點(在大企業中,想要將所有主機都操作完畢,通常需耗費數天或數周的時間);
2.以“代理伺服器”爲掃瞄單位:針對目標代理設定,所需耗費的記憶體數量不易估算;
3.外掛軟體防護:需要佔用大量的CPU資源和頻寬以完成掃瞄工作。

後者則是利用網路陣地抵禦,預防病毒在網路中擴散,這種防毒功能多已內嵌在合適的網路設備中(例如:軟體代理系統),一旦發現有病毒感染,則加以隔離或刪除,亦有3種途徑:
1.縮短病毒感染的反應時間:這種方法所必備的網路設備相對較少;
2.以“串流”爲掃瞄單位:對照前述proxy-based的方式來說,較易掌握所需佔用的記憶體資源,硬體掃瞄的演算法也較單純;
3.利用簡單的硬體防護:硬體加速可大幅降低CPU的使用率,從而允許“線速”(wire-speed)掃瞄。

Mike Hui指出,大部分的組織皆採用“網路基礎”的防護方式,以減輕新型病毒爆發所造成的影響,並用以補充Host-based在防護深度上的不足。

基於網路的解決方案必須具有很快的速度,避免對正常流量造成影響。它們在防止新攻擊方面更有效,因爲它可以爲數量更少的關鍵網路增加新的簽名。以今天的技術現況來看,以軟體爲基礎的防毒產品,其效能極限約在數百個Mbps之間。若欲加以提高,可從幾個方面著手:

1.卸載從掃瞄功能到硬體“模式匹配符”(Pattern Matcher)的加強型CPU簽名;
2.改進掃瞄引擎的演算方式;
3.盡可能利用“簽名組合”掃瞄,以節省時間;
4.卸載到通信處理器的網路處理任務。

部分防毒簽名值是代碼型式,需要經過處理器對模式匹配符的運算才能發揮作用;然而,通過先進防毒供應商的協助,以及開放原始碼的方式,一個平易近人的友善硬體簽名並非空談。有鑒於此,飛思卡爾通過在元件中設置IP區塊,能爲嵌入式系統開發商提供新一代的防毒機制,以改善元件效能並有效降低總成本。

表1:飛思卡爾通過內嵌IP區塊的SoC提供高效而具成本優勢的防毒解決方案

IP Block 可用的功能
CPU核心範圍 MIME解碼、路徑控制與管理
安全引擎 在IPSec中使用密碼機、在“統一威脅管理”(UTM)或“整合式服務路由器”(ISR)中使用SSL/TLS
表格查詢單元 L2、L3的表格導向,以及在UTM/ISR中的向前流量存取控制列表
模式匹配引擎 IDS/IPS、防毒、反垃圾郵件簽名匹配
緊縮引擎(Deflate Engine) 解壓縮前/後模式匹配
封包引擎(Packet Engine) 自動導向L2、L3,並終止NAT和TCP
串流轉換 管理流量並驅動動態管線操作

爲了達到高效且功能齊備的目標,飛思卡爾的“模式匹配引擎”(Pattern Matching Engine)是用超乎能力的“Regex程式庫”(正則導向)呈現,適用於任何需要使用規則運算式工作的用戶,常被用於非常費時的判斷,可厘清某個運算式爲何不如想象中般工作?允許使用者互動式創建運算式,並即時瀏覽在不同條件下的效果。此外,該引擎還運用“狀態規則”,可在不改變原貌下,將不同匹配的多重模式鏈結在一起;包括從偵測中資料濃縮而得的資訊。

 
圖1:飛思卡爾“模式匹配引擎”部分範例

飛思卡爾也對其他模式匹配技術做了改進,例如:加速模式資料庫的編譯工作、加速關鍵的加法運算、即時更新、支援字元通配。同時,模式資料是保存於主要的DDR DRAM中,而非SRAM或FCRAM(快速迴圈RAM);且由於該引擎屬於內建晶片解決方案,能降低系統記憶體的使用。此外,模式匹配可突破“工作單元”的界限(即可跨越不同的TCP資料段進行匹配工作)。

表2:“模式匹配符”的比較
比較基準 傳統模式匹配符 飛思卡爾改進後的模式匹配符
編譯時間 以“小時”爲計算單位,不易轉換結合後的DFA 以“分”或“秒”爲單位,易於編譯獨立的Regex語言
額外更新 需要先下載新的聯合樹狀資料 可以單獨增加新的Reges和狀態規則
即時更新 花費不低,需要先下載新的樹狀資料和轉換元件 可輕鬆增加新的Reges和狀態規則
運作時間/功能 須在使用組合後的NFA和DFA兩者之間做取捨 可匹配個別的NFA,也支援額外的狀態規則
記憶體 爲提高速率,需要昂貴的SRAM支撐;且需要從從“節點”逐一對組合後的DFA壓縮 只需要DRAM,成本相對低,也可對單一NFA做壓縮。另“萬用字元”和對上行/下行的支援能降低對記憶體資源的需求


ClamAV防毒軟體助陣  PowerQUICC效能如虎添翼

爲了保證快速取得簽名碼、不間斷地對系統系統實施監控保護,以應付不絕於道的諸多病毒,防毒平臺必須日以繼夜地進行更新工作,且簽名碼的編譯和下載時間必須快速而即時;欲達到這樣的高效水平,尋求專業的防毒供應商合作便勢在必行。

此時,一款名爲“ClamAV”的防毒軟體,便起到了關鍵的作用;它是線性檢視,可快速且以多線程方式在幕後執行程式,更重要的是其資料庫更新器支援數位簽名、C語言庫和交叉檢視,可偵測5萬種以上的病毒,並內嵌支援RAR (2.0)、Zip、Gzip、Bzip2、Tar、MS OLE2、MS Cabinet files、MS CHM (Compressed HTML)和MS SZDD多種壓縮格式,同時也支援郵箱、郵件目錄和原始郵件,以及用UPX/FSG/Petite等格式壓縮的Portable Executable檔案。
 
圖2:ClamAV軟體是獨立的平臺,可從sourceforge或debian網站下載

如今,ClamAV軟體可嵌在飛思卡爾基於PowerPC內核所發展的產品,以及MPC8555、MPC8541和MPC8349等PowerQUICC基礎的處理器中。欲在PowerQUICC中建置ClamAV防毒軟體,可於www.freescale.com/webapp/sps/site/prod_summary.jsp?code=CWB_MPC8555CDS-2-6&srch=1網站下載“PowerPC BSP for MPC8555CDS 2.6 Kernel-LTIB版本”的Linux Target Image Builder (LTIB)開發板卡支援包(BSP)。獲取檔案後,只要簡單的幾個步驟即可完成安裝:首先,開啓已下載的LTIB版本,選取“Package List”和“clamav”功能選項進行編譯,便能產生所需的目標根功能表。系統設計人員也可從網站上下載類比受感染的檔案,安裝於/usr/share/clamav-testfiles/路徑下以供測試之用。

防毒軟體會消耗大量的CPU時脈資源,其效能表現和資料庫中代碼的數量、長度有著密切的關係。ClamAV有兩個簽名碼檔案:一是單獨的daily.cvd,本身帶有797個簽名值,只需時2.777秒就能完成比對工作;另一個是將main.cvd和daily.cvd複合使用,共有超過3萬個簽名值供安全比對,整個任務也僅耗費12.676秒。一般而言在Linux操作環境下,其效能取決於架構、時脈速度和簽名值資料庫的大小。

結語
傳統的郵件防護方式是由主機在收到郵件後、轉發到終端使用者的賬號前,徑行做病毒偵測;由於偵測工作是交由“發送郵件伺服器”(SMTP)全權處理,使用者並不會感受到因防毒工作所引起的延遲。但在“統一威脅管理”(Universal Threat Management, UTM)和“整合式服務路由器”(Integrated Services Router, ISR)概念的風行下,過濾感染資料的工作是由SMTP和其他協定共同承擔,導致系統上的流量增加許多;爲了不造成終端在使用上的困擾,需要更高的傳輸量以降低延遲問題。

那麽,怎樣才能稱得上是一個高效的防毒機制呢?飛思卡爾認爲,它的系統傳輸量至少須大於1Gbps、CPU的利用率必須維持平穩,且能即時更新簽名碼,方有資格入列。而ClamAV,即是屬於備受歡迎的原始碼開放防毒軟體,現已被大量搭載於PowerPC和PowerQUICC平臺上,其在PowerQUICC上運行的效能水平與其他處理器相比也不遑多讓;通過善用飛思卡爾的Pattern Matcher硬體技術,對照親和力十足的Kaspersky SafeStream簽名對網路資料進行病毒掃描,要達到1Gbps的處理能力並非難事,能在最低延遲下實現線速傳輸。由此看來,PowerQUICC確實不失爲有心發展網路者,或其他內嵌防毒元件供應商的首選之一。

電子郵件:look@compotechasia.com

聯繫電話:886-2-27201789       分機請撥:11