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

下下下一代防火墻關(guān)鍵技術(shù)漫談

安全 網(wǎng)站安全
防火墻雖然是個網(wǎng)絡(luò)設(shè)備,但其功能不需要與其他防火墻之間互聯(lián)互通,所以沒有“互聯(lián)”標(biāo)準(zhǔn)化的誕生。

防火墻到底幾代了?

Siri:“抱歉,很難回答你的問題”。

防火墻雖然是個網(wǎng)絡(luò)設(shè)備,但其功能不需要與其他防火墻之間互聯(lián)互通,所以沒有“互聯(lián)”標(biāo)準(zhǔn)化的誕生。

[[339216]]

防火墻是在一個L2/L3網(wǎng)絡(luò)設(shè)備基礎(chǔ)上疊加不同的功能的軟件系統(tǒng),“功能”的標(biāo)準(zhǔn)化最后只停留在了“營銷話術(shù)”,“第三方認(rèn)證評級”,“市場調(diào)查機構(gòu)”,“等保國標(biāo)”的手上。

但有一點不可否認(rèn),相對上一代,下一代防火墻其實是“下一層”防火墻,將對網(wǎng)絡(luò)流量的認(rèn)知深入一層。

如果說ACL,五元祖的防火墻規(guī)則是第一代,那么相當(dāng)于3層,網(wǎng)絡(luò)層。

其下一代,狀態(tài)防火墻可以認(rèn)知TCP三次握手,位于4-5層,傳輸和會話層。

再下一代,UTM防病毒等認(rèn)知到了應(yīng)用數(shù)據(jù),位于6-7層,應(yīng)用層。

那下下下一代呢,已經(jīng)超出網(wǎng)絡(luò)的層次了,那么合理的推論就是在,在以上幾代都檢查不出來的情況下,認(rèn)知對用戶業(yè)務(wù)的威脅。

所以下下下一代算是目前看到防火墻的終極形態(tài)了。

如何理解針對業(yè)務(wù)的威脅?

這個看起來是個玄學(xué),因為這個層面上已經(jīng)沒有了協(xié)議的約束,所以是道“主觀題”,還是文科的。

“主觀題”在市場營銷上可謂隨意發(fā)揮,各種危機案例,駭人場景,人工智能,深度學(xué)習(xí)都上了。

但真正的工程角度,還是要把文科“主觀題”轉(zhuǎn)化給理科的“證明題”。

如何證明這道題目呢?既然我們知道主觀因素很多,那么人的因素增加大,理解業(yè)務(wù)的深度和廣度增大了。我們需要:

  • 更加深入靈活的規(guī)則
  • 更深更廣的數(shù)據(jù)支撐
  • 更全面及時的情報
  • 更智能的分析邏輯

所以最終這題關(guān)鍵考點“數(shù)據(jù)分析”。翻譯成“人話”就是“找規(guī)律,找不同”。

比如:張三總是半夜訪問,和正常人不同。李四像個機器人,每天都是固定模式讀圖。

工程與技術(shù)如何選擇?

大數(shù)據(jù)分析,機器學(xué)習(xí),深度學(xué)習(xí)技術(shù)在過去10年有了一次越遷,技術(shù)層出不窮,但落地到安全場景是否合適?

拋開市場營銷不說,只談干貨。安全領(lǐng)域需求是主要分類“正常”與“不正常”的問題。

(1) 深度學(xué)習(xí):基于神經(jīng)網(wǎng)絡(luò)技術(shù),用于自然語言理解,圖形圖像視頻識別,語音識別場景,其都是人的感官模擬。

看過一些論文將網(wǎng)絡(luò)流特征弄成圖片,然后做圖像學(xué)習(xí),感覺明顯畫蛇添足。雖然用了深度學(xué)習(xí),其效果比傳統(tǒng)機器學(xué)習(xí)還差。

目前我才疏學(xué)淺,還沒認(rèn)知到基于流量的安全領(lǐng)域使用深度學(xué)習(xí)的必要場景,而且人因素最大,算力資源要求也最大。

(補充: NPL可用于URL參數(shù)注入分析場景)

(2) 機器學(xué)習(xí)/大數(shù)據(jù)分析:相比統(tǒng)計規(guī)則,機器學(xué)習(xí)相當(dāng)于在一定公式下進行最優(yōu)解查找,找到最合適的參數(shù)。方法也很多。

但也都需要“訓(xùn)練”過程,這個過程在防火墻設(shè)備中進行目前還不是很適合,因為需要人指導(dǎo),但訓(xùn)練后的模型進行“預(yù)測”完全可以在防火墻中進行。

目前我覺得決策樹及其衍生模型,包括隨機森林,GBDT均適用于實時預(yù)測,可以使用的工程框架如 XGBoost 的 C++ 版本。

其可行性論文網(wǎng)上已經(jīng)有很多。

關(guān)鍵技術(shù)指標(biāo)在哪里?

首先防火墻都是以性能指標(biāo)為參照,實現(xiàn)相同功能下以硬件代價小(成本)性能高為競爭力。

除了算法的領(lǐng)先,需要在架構(gòu)上領(lǐng)先。無論使用機器學(xué)習(xí),還是統(tǒng)計規(guī)則,都要在比過去大幾個數(shù)量級的數(shù)據(jù)下提取特征為基礎(chǔ)的。

也就是“數(shù)據(jù)量”與“計算速度”還有“靈活性”的能力要超過上一代。而這三者關(guān)系卻是互斥的,需要做減法。

既然是“數(shù)據(jù)分析”是關(guān)鍵,我們看看現(xiàn)在有的技術(shù)Hadoop生態(tài),顯然可以處理大數(shù)據(jù)量,但是速度慢,成本高。

后起之秀 Spark / Flink 解決速度問題,但還是基于Hadoop生態(tài),是一個通用框架,靈活性上更好,性能還是太慢。

而下下下一代防火墻被限定在一個固定輸入的“數(shù)據(jù)分析”系統(tǒng)下,顯然靈活性可以犧牲一些,數(shù)據(jù)量也可以犧牲一些,但速度絕對不能妥協(xié),因為防火墻是嵌入在關(guān)鍵路徑上的。

首先需要一個通用的深度解析引擎,能靈活將業(yè)務(wù)字段從流量中提取,顯然當(dāng)代防火墻都已經(jīng)具備。

然后需要一個通用的計算分析引擎,能夠緩存大量的關(guān)鍵數(shù)據(jù),然后根據(jù)規(guī)則進行計算。

基于狀態(tài)管理的流計算分析

首先這個不是新東西,做過狀態(tài)防火墻的都知道,流表(Flow Session Table)就是基于流或會話關(guān)系的狀態(tài)管理。

從會話產(chǎn)生,狀態(tài)變遷到結(jié)束的過程,需要符合一定規(guī)律,這個規(guī)律是網(wǎng)絡(luò)協(xié)議定義的,所有的檢查都是基于這個狀態(tài)進行疊加的。

對應(yīng)到業(yè)務(wù)風(fēng)險就是對業(yè)務(wù)狀態(tài)的管理,一般來說正常人在線完成一個業(yè)務(wù)的平均值為30分鐘以內(nèi)。所以通常這個數(shù)據(jù)量只需要1個小時即可解決90%的場景,數(shù)據(jù)量的問題被減掉了。

然后是會話的key,在業(yè)務(wù)安全層面上,可以使用傳統(tǒng)的IP,F(xiàn)lowId,但更需要使用的是AppId,UserId,DeviceId,SessionId這種業(yè)務(wù)維度的key,這是一個開放字段,但不會超過10種,需要通用支持,也就是從報文任意位置解析出來的字段,都可以作為這個狀態(tài)的key。

業(yè)務(wù)中也可以同時有很多key的狀態(tài),需要進行聚合(AGG)關(guān)聯(lián)(JOIN)或合并(UNION)。

第二個不確定就是規(guī)律,這個業(yè)務(wù)規(guī)律是無法事先定義的,沒有協(xié)議,只能事后分析產(chǎn)生,所以機器學(xué)習(xí)和人工分析在這里需要能指導(dǎo)這個規(guī)律,具體不展開講。

這個狀態(tài)管理的計算也就是速度與靈活性的取舍,比如還是流表狀態(tài)管理,這個顯然是針對3層流量定制的狀態(tài)管理,所以速度快。

但業(yè)務(wù)層面沒法犧牲字段和計算表達(dá)的靈活性了,所以這里的功能和一個Flink CEP系統(tǒng)相似。(已經(jīng)不少安全公司在云安全上使用了)

https://ci.apache.org/projects/flink/flink-docs-stable/dev/libs/cep.html

其底層就是一個通用的狀態(tài)計算決定的,這個通用狀態(tài)可以抽象定義為

摘抄 Spark 中的一段代碼,看起來就是這么回事,F(xiàn)link中也是類似的的,所有大數(shù)據(jù)流計算都相似,但速度一定不會快了,

  1. // A mapping function that maintains an integer state and returns a String 
  2.     def mappingFunction(key: String, value: Option[Int], state: State[Int]): Option[String] = { 
  3.       // Check if state exists 
  4.       if (state.exists) { 
  5.         val existingState = state.get  // Get the existing state 
  6.         val shouldRemove = ...         // Decide whether to remove the state 
  7.         if (shouldRemove) { 
  8.           state.remove()     // Remove the state 
  9.         } else { 
  10.           val newState = ... 
  11.           state.update(newState)    // Set the new state 
  12.         } 
  13.       } else { 
  14.         val initialState = ... 
  15.         state.update(initialState)  // Set the initial state 
  16.       } 
  17.       ... // return something 
  18.     } 

但有一些場景我們還可以減法,比如分布式,故障恢復(fù)場景,還有Exactly Once等情況都是通用框架下的問題,但在防火墻安全領(lǐng)域的數(shù)據(jù)分析下是可以簡化的。

還有語言實現(xiàn)層面,甚至硬件加速的方案,可以優(yōu)化,盡量使單節(jié)點性能大幅提升,以我的經(jīng)驗,現(xiàn)在的硬件能力是可以支撐的。

我認(rèn)為將一個通用流計算框架裁剪移植到防火墻里,也許是下下下一代防火墻上繞不開的關(guān)鍵特性,甚至是最關(guān)鍵特性。

最后

當(dāng)然系統(tǒng)還有許多細(xì)節(jié),比如狀態(tài)存儲的設(shè)計,靈活狀態(tài)規(guī)則的定義,多狀態(tài)表下決策的統(tǒng)一,柔性的處置機制,修正機制等等。

一個未來的產(chǎn)品,還有很多未來的因素,由于才疏學(xué)淺,可能一葉障目,僅出于最近幾年的所學(xué)所思,供探討。

 

責(zé)任編輯:趙寧寧 來源: FreeBuf
相關(guān)推薦

2011-06-30 11:02:22

2012-12-12 10:29:57

2011-06-27 13:31:21

2012-12-10 16:15:43

下一代防火墻NGWF

2010-12-10 10:16:54

下一代防火墻

2014-08-06 11:46:53

2013-06-27 11:21:17

2010-05-12 17:05:07

2011-12-08 10:16:53

2013-09-11 20:09:08

下一代防火墻NGFW

2010-09-29 11:01:46

2011-06-15 13:20:33

2010-12-06 16:45:32

下一代防火墻

2010-12-08 09:02:24

2013-06-19 10:38:58

下一代防火墻下一代智能防火墻山石網(wǎng)科

2014-10-11 10:47:50

2013-09-27 10:14:46

2013-02-21 10:25:57

2011-07-13 10:30:34

2010-12-08 09:33:51

點贊
收藏

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