自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

你的深度包檢測(cè)有多深:DPI技術(shù)評(píng)估提案

安全 應(yīng)用安全
深度包檢測(cè)(DPI)技術(shù)及其相關(guān)產(chǎn)品的評(píng)估,乍看之下似乎不難,然而,出于某些原因,還真就難以得出準(zhǔn)確結(jié)論。

深度包檢測(cè)(DPI)技術(shù)及其相關(guān)產(chǎn)品的評(píng)估,乍看之下似乎不難,然而,出于某些原因,還真就難以得出準(zhǔn)確結(jié)論。

[[191950]]

難點(diǎn)有多個(gè)方面。大多數(shù)公司不肯交出描述其DPI實(shí)現(xiàn)的代碼庫(kù)。于是,想要真正對(duì)比,就得進(jìn)行黑箱測(cè)試,包括對(duì)每個(gè)設(shè)備來(lái)一場(chǎng)模糊測(cè)試。同時(shí),不同協(xié)議有不同的復(fù)雜度和特性,各廠商可能有自己特定的函數(shù)或?qū)崿F(xiàn),未必會(huì)嚴(yán)格遵守協(xié)議規(guī)范,這些都是在部署DPI實(shí)現(xiàn)的時(shí)候應(yīng)該納入考慮的內(nèi)容。

產(chǎn)品對(duì)比中應(yīng)考慮的因素遠(yuǎn)不止上述這些。或許可以經(jīng)由某種方法,或者至少構(gòu)建一個(gè)框架,將定性的想法轉(zhuǎn)化為定量的比較體系。

首先,要搞懂控制平面和數(shù)據(jù)平面的概念。數(shù)據(jù)平面包括人機(jī)接口(HMI)讀寫(xiě)指令,可從可編程邏輯控制器(PLC)讀取壓力或溫度數(shù)據(jù),或者在時(shí)鐘間隔里向特定寄存器寫(xiě)入數(shù)據(jù)。這就是PLC上跑的實(shí)際過(guò)程數(shù)據(jù)或梯形邏輯。同時(shí),控制平面是能夠更新固件或完全停止控制器的全部操作。其指令包括了運(yùn)行PLC的底層操作系統(tǒng)。這有點(diǎn)類(lèi)似在 Windows PC 上執(zhí)行Windows更新。由于很多PLC都利用與數(shù)據(jù)讀取相同的網(wǎng)絡(luò)流來(lái)更新固件版本,了解這一點(diǎn)是十分重要的。

基本上,控制平面和數(shù)據(jù)平面流量穿過(guò)的是同一個(gè)TCP連接,這也是為什么我們需要DPI的原因所在。因?yàn)橛脩?hù)肯定想要從HMI收取數(shù)據(jù),但又不想冒著自家PLC遭非授權(quán)攻擊者固件更新的風(fēng)險(xiǎn)。缺了DPI防火墻,你便無(wú)法區(qū)分?jǐn)?shù)據(jù)平面和控制平面消息。

實(shí)現(xiàn)DPI防火墻的方法很多,包括完整協(xié)議實(shí)現(xiàn)、基于特征碼的方法、基于代理的方法、或者機(jī)器學(xué)習(xí)。各有優(yōu)劣。

工業(yè)控制系統(tǒng)(ICS)領(lǐng)域里,基于特征碼的方法是很糟糕的機(jī)制。基于特征碼的方法僅僅是反應(yīng)式機(jī)制。特征碼基于已發(fā)現(xiàn)的漏洞,意味著攻擊方法早已出現(xiàn),且有可能影響正在運(yùn)行的系統(tǒng)。特征碼只能提供淺薄的檢查,還要求特征碼數(shù)據(jù)庫(kù)不斷更新。(車(chē)間里有互聯(lián)網(wǎng)接入?想都別想。)一個(gè)特征碼通常專(zhuān)屬一個(gè)特定漏洞。攻擊方法只要修改了一個(gè)字節(jié),就得新弄個(gè)特征碼出來(lái)緩解。

另外,該方法實(shí)際上就是建立了一張黑名單,而不是白名單。黑名單方法很糟糕??梢詫⒅胂蟪蓸?gòu)筑了一道1.8米高的墻,然后攻擊者架個(gè)2米的梯子就翻進(jìn)來(lái)了。然后你把墻加高到2.3米,但是攻擊者又造了個(gè)2.5米的梯子,再次翻墻進(jìn)來(lái)。畫(huà)面太美,不忍直視。這種被動(dòng)防御的方法顯然是不符合時(shí)代發(fā)展需要的。主動(dòng)方法更為有效。

實(shí)現(xiàn)的深度比廣度更重要。防火墻廠商可能宣稱(chēng)支持500種協(xié)議,但支持到何種程度呢?驗(yàn)證某個(gè)協(xié)議里的每一個(gè)字節(jié)并不意味著就支持該協(xié)議的DPI。

產(chǎn)品對(duì)比的評(píng)分方案是個(gè)不錯(cuò)的選擇。我們?cè)趺磳?duì)比產(chǎn)品?DPI實(shí)現(xiàn)中最重要的因素是什么?80-90%的 ICS-CERT 漏洞都落入同一分類(lèi):惡意軟件/數(shù)據(jù)包模糊/緩沖區(qū)溢出/實(shí)現(xiàn)糟糕。

這些都?xì)w結(jié)為一個(gè)問(wèn)題:特定協(xié)議的包結(jié)構(gòu)符合協(xié)議規(guī)范嗎?如果不符合,丟棄該數(shù)據(jù)包。

于是,結(jié)構(gòu)良好的DPI實(shí)現(xiàn)應(yīng)該包含哪些元素,是該好好列一列了。

1. 完整性檢查

DPI引擎理解協(xié)議完整性和數(shù)據(jù)包結(jié)構(gòu)排列的能力。如果是 Ethernet/IP CIP 消息帶了個(gè)長(zhǎng)度域,描述對(duì)“模擬輸入對(duì)象”和“獲取所有屬性”的操作,這意味著什么?允許的長(zhǎng)度?還是說(shuō)每個(gè)域的字節(jié)數(shù)?DPI實(shí)現(xiàn)必須知道內(nèi)部和外部的協(xié)議,尤其是旨在捕獲那80-90%的 ICS-CERT 漏洞的時(shí)候。

2. 行為過(guò)濾

允許/拒絕特定功能代碼的能力,EtherNet/IP上的CIP服務(wù),分布式網(wǎng)絡(luò)協(xié)議3(DNP3)中的DNP3對(duì)象等等。這是區(qū)分控制平面和數(shù)據(jù)平面操作的能力,讓用戶(hù)可以持續(xù)監(jiān)測(cè)溫度或壓力儀表,同時(shí)確保固件更新操作不能進(jìn)行。

3. 狀態(tài)檢查

調(diào)查響應(yīng)是否有對(duì)應(yīng)的請(qǐng)求。如果響應(yīng)不是跟在初始請(qǐng)求之后回來(lái)的,那就是偽造的響應(yīng)數(shù)據(jù)包,應(yīng)丟棄。

4. 響應(yīng)驗(yàn)證

仔細(xì)看DNP3,你會(huì)發(fā)現(xiàn),大多數(shù)已公布漏洞實(shí)際上攻擊的是HMI,而不是PLC或RTU(遠(yuǎn)程終端單元)。這指示了響應(yīng)消息應(yīng)驗(yàn)證的深度。

5. 廠商特定支持

另一種說(shuō)法是廠商特定驗(yàn)證。比如施奈爾的 Modbus FC 90 或者羅克韋爾的PCCC/CSPv4。如果DPI引擎理解你所用的廠商特定元素,那這就是一個(gè)重要的指標(biāo)。

6. 管道支持

TCP/UDP消息包含多種ICS協(xié)議消息的地方。可以想象一下一幀數(shù)據(jù)里放進(jìn)4條Modbus消息。DPI實(shí)現(xiàn)必須能處理這個(gè),要能遍歷每條消息,確保沒(méi)有嵌入任何寫(xiě)指令或固件更新。

上述六條的類(lèi)型評(píng)分方案如下圖:

結(jié)構(gòu)良好的DPI實(shí)現(xiàn)應(yīng)該包含哪些元素

完整性檢查得分為4的依據(jù)是什么?有什么意義?這就是更難以解釋的部分了。如今,我們對(duì)要評(píng)估的方面有了共識(shí),也有了分級(jí)評(píng)分機(jī)制。

基于該協(xié)議,"4"分意味著不是每一個(gè)域都被驗(yàn)證了。比如說(shuō),Modbus FC15 (寫(xiě)多個(gè)線圈)不驗(yàn)證輸出的數(shù)量;或許就不驗(yàn)證所有回復(fù)的數(shù)量。

Modbus FC15結(jié)構(gòu)

Modbus FC15結(jié)構(gòu)

而"6"分,就意味著DPI引擎驗(yàn)證每一個(gè)域,確保數(shù)據(jù)包完全符合協(xié)議規(guī)范。

若缺乏產(chǎn)品細(xì)節(jié),深度是個(gè)很難衡量的東西。公司愿意列出他們驗(yàn)證協(xié)議的深度嗎?評(píng)分方案里的數(shù)字是很主觀的,每個(gè)DPI特性都可以再細(xì)分,得出更精準(zhǔn)的視圖。

毫無(wú)疑問(wèn),DPI方法和基于特征碼的系統(tǒng)也可以與完全協(xié)議遵從或代理設(shè)置進(jìn)行比較。另外,每個(gè)協(xié)議的DPI引擎深度可能各不相同,所以,按協(xié)議比較而不是各產(chǎn)品間進(jìn)行比較,也是有意義的。通過(guò)檢查多個(gè)產(chǎn)品,產(chǎn)品間的關(guān)系也會(huì)改變,比如“產(chǎn)品X做這個(gè)比產(chǎn)品Y好“——這一點(diǎn)才是更有價(jià)值的。

最后,需要考慮的其他因素也還有。什么都支持,但用戶(hù)界面晦澀難懂的DPI引擎,對(duì)客戶(hù)而言也不是那么有用。

DPI引擎識(shí)別出無(wú)效幀時(shí),有哪些操作是重要的呢?

  • 丟棄該幀?
  • 發(fā)送TCP重置?
  • 產(chǎn)生事件消息?

這里沒(méi)提到吞吐量和延時(shí),因?yàn)檫@不是關(guān)于產(chǎn)品速度而是關(guān)于功能的。然而,像GOOSE這種要求低延時(shí)的協(xié)議,這些至少應(yīng)該考慮到?;旧希涀?,不是所有DPI實(shí)現(xiàn)都是一樣的。

【本文是51CTO專(zhuān)欄作者“”李少鵬“”的原創(chuàng)文章,轉(zhuǎn)載請(qǐng)通過(guò)安全牛(微信公眾號(hào)id:gooann-sectv)獲取授權(quán)】

戳這里,看該作者更多好文

責(zé)任編輯:趙寧寧 來(lái)源: 51CTO專(zhuān)欄
相關(guān)推薦

2017-01-19 14:35:10

數(shù)據(jù)包DPInDPI

2012-06-25 11:06:07

2010-02-03 16:56:24

Python包

2023-10-10 19:00:57

云網(wǎng)關(guān)報(bào)文檢測(cè)

2021-12-26 07:48:55

網(wǎng)絡(luò)保險(xiǎn)網(wǎng)絡(luò)攻擊網(wǎng)絡(luò)風(fēng)險(xiǎn)

2015-09-17 14:54:07

SDNNFV網(wǎng)絡(luò)架構(gòu)

2022-05-30 10:09:27

技術(shù)債

2012-06-21 11:02:43

前端開(kāi)發(fā)

2018-03-29 14:23:56

整機(jī)電商安裝

2013-11-14 09:13:50

2010-04-13 11:24:42

光纖端面檢測(cè)布線

2011-12-20 15:46:01

評(píng)估

2010-11-24 16:29:00

2012-07-10 14:15:42

前端開(kāi)發(fā)

2012-06-20 10:18:00

2024-09-12 09:38:13

2015-03-13 09:10:29

2021-11-23 13:21:10

通信加班職場(chǎng)

2020-03-31 20:00:59

人工智能AI

2020-09-21 05:58:40

深度學(xué)習(xí)算法目標(biāo)檢測(cè)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)