數(shù)據(jù)包的激流將涌入數(shù)據(jù)中心,其中包括源源不斷的物聯(lián)網(wǎng) (IoT) 數(shù)據(jù)流,大規(guī)模進(jìn)入虛擬網(wǎng)絡(luò)功能的蜂窩網(wǎng)絡(luò)流量,以及對 Web 應(yīng)用程序的大量信息輸入。在信息瀑布的深處,隱藏著試圖蒙混過關(guān)的黑暗面:網(wǎng)絡(luò)攻擊。他們可能企圖干擾應(yīng)用程序、竊取私有數(shù)據(jù)、將服務(wù)器納入僵尸網(wǎng)絡(luò)、感染數(shù)據(jù)中心客戶端、加密并勒索重要文件,甚至對物聯(lián)網(wǎng)造成物理損傷。他們總是伺機(jī)而動,尋找破綻,改變他們的偽裝,嘗試新型攻擊。
在我們的世界和這種蓄意破壞之間隔著一道防火墻,在長久以來搖搖欲墜的基礎(chǔ)之上構(gòu)建了層層防御,總是在試圖追趕攻擊者的節(jié)奏(圖 1)。多年來,防火墻已經(jīng)從輕量級的軟件包成長為多層級硬件強(qiáng)化的防御系統(tǒng)。他們已經(jīng)整合了新的計算技術(shù)。通過觀察他們持續(xù)的戰(zhàn)斗,我們可以理解安全的含義,安全不僅僅發(fā)生在數(shù)據(jù)中心,同時還發(fā)生在物聯(lián)網(wǎng)的邊緣,包括邊緣計算和終端。
細(xì)說起源
防火墻的起源比人們想象的要簡單得多。他們的想法是要建立一個輕量級的軟件層,用于暗中檢查互聯(lián)網(wǎng)流量中的可疑內(nèi)容。開始時,這可能很簡單,比如檢查 TCP 標(biāo)頭中的端口號,確保它們在上下文環(huán)境中有意義。但是,攻擊者很快就學(xué)會了使用不可疑的端口號。
然后,防火墻在傳輸層下進(jìn)行更深入的挖掘,從而檢查單個 IP 包的標(biāo)頭,試圖找出可疑的源地址。這個任務(wù)并不簡單:IPv6 地址 128 位寬,防火墻的攔截地址列表可能會很長,地址會廣泛分散在整個空間中。而且 IP 包的標(biāo)頭比 TCP 標(biāo)頭出現(xiàn)的頻率更頻繁:通常每 20 個字節(jié)就出現(xiàn)一次。在一個 40 Gbps 的鏈接上,它只會給您 4 納秒以線速處理數(shù)據(jù)包。顯然,這無法將源地址與大型數(shù)據(jù)表中的每個條目進(jìn)行比較。您需要某種硬件加速。
但是,即使您速度夠快,源地址檢查也無法保證安全。源地址可輕松進(jìn)行偽裝,以使數(shù)據(jù)包看起來似乎來自于一個受信或至少不可疑的來源。如果攻擊者征用了僵尸網(wǎng)絡(luò),惡意的數(shù)據(jù)包可能來自許多完全不知情的地址。
隨著地址篩選效率的降低,防火墻探索了兩種截然不同的更激進(jìn)的策略:用檢測有效載荷替代檢測標(biāo)頭,并在有效載荷抵達(dá)后監(jiān)測其行為。
有效載荷檢測
隨著端口和地址篩選逐漸失去了對猛烈攻擊的有效性,防火墻開發(fā)人員將關(guān)注的范圍擴(kuò)展到了數(shù)據(jù)包的數(shù)據(jù)部分。深度包檢測 (DPI) 由此誕生(圖 2)。
DPI 背后的原理很簡單。一旦發(fā)現(xiàn)攻擊,就可以識別簽名,包括奇怪的系統(tǒng)調(diào)用、代碼或具有攻擊專有特征的數(shù)據(jù)。理想情況下,這些碎片是攻擊發(fā)揮作用的必要條件。因此,您只需掃描每個包的數(shù)據(jù)部分以獲得已知簽名,并刪除包含匹配簽名的任何消息。
DPI 存在一些天生的計算問題。即便可以用簡單的字符串匹配來掃描包的有效載荷,種類繁多的已知攻擊也會使基于軟件的篩選變得無法實行。網(wǎng)絡(luò)處理器、FPGA、甚至圖形處理單元 (GPU) 等基于硬件的字符串匹配有助于達(dá)到線速水平。但是,要使這些加速器的更新速度足以應(yīng)對新出現(xiàn)的威脅可能非常困難。
有一種簡單的方法可以讓攻擊者躲避字符串匹配。它們可以更改簽名中與功能無關(guān)的數(shù)據(jù)位,從而使字符串不再匹配。針對這種方法的對策是從字符串的精確匹配轉(zhuǎn)變?yōu)閷φ齽t表達(dá)式求值。正則表達(dá)式可以準(zhǔn)確地描述哪些是攻擊發(fā)揮作用的必要數(shù)據(jù),哪些是攻擊者可能用來掩飾簽名的數(shù)據(jù)。但是,線速正則表達(dá)式處理再次成為一個硬件任務(wù)。幸運的是,有一些產(chǎn)品能夠提供此類支持,包括上面的列表和專用的正則表達(dá)式處理器芯片。
遺憾的是,有一種讓人尷尬的簡單方法可以繞過正則表達(dá)式分析,只需確保惡意軟件中的簽名都位于包與包的過渡邊界上即可?,F(xiàn)在沒有任何數(shù)據(jù)包包含簽名,也沒有任何 DPS 可以檢測到攻擊。
數(shù)據(jù)包和對象
原則上,正則表達(dá)式處理器可以保存從一個包移動到下一個包時的狀態(tài),希望以這種方式檢測到被數(shù)據(jù)包邊界分割的簽名。但總體而言,防火墻開發(fā)人員和電子郵件網(wǎng)關(guān)開發(fā)人員正在轉(zhuǎn)向一個要求更高的解決方案:將完整消息集中在一個緩沖區(qū),進(jìn)行一次性檢查。為了與 DPI 進(jìn)行區(qū)分,這種方法有時被稱為“深度內(nèi)容檢測 (DCI)”。
由于能夠?qū)ν暾男畔⑦M(jìn)行檢測,也就出現(xiàn)了各種各樣的可能性。您可以進(jìn)行更復(fù)雜的正則表達(dá)式評估,以便嗅出可疑的簽名。您第一次可以將消息放在上下文中,將其視為具有意義的對象,而不是毫無意義的字符串。它是帶有鏈接或附件的電子郵件?一個圖像或視頻嗎?一組非結(jié)構(gòu)化數(shù)據(jù)模塊,還是代碼模塊?一旦將其分類,您就可以將其與接收方期望的內(nèi)容進(jìn)行比較,并應(yīng)用相應(yīng)策略。是否有人向您的首席技術(shù)官發(fā)送可執(zhí)行附件?這一行的文本是否以一個 SQL 字符串結(jié)尾?這條消息是否表現(xiàn)為加密信息?
這種新發(fā)現(xiàn)的能力是有代價的。我們已經(jīng)默默放棄了以線速進(jìn)行流入流量檢測的概念。以打開數(shù)據(jù)包的方式來顯示其有效載荷帶來了新的延遲,并且對緩沖區(qū)的要求比數(shù)據(jù)包級檢查更大。而且,有效載荷可能需要發(fā)揮作用才能更容易理解。它可能被編碼或壓縮。也可能被加密。防火墻需要訪問算法和密鑰才能使有效載荷可讀,這個要求可能很難滿足,尤其是在公有云中。但 DCI 也帶來了新的可能性。一種可能性是能夠通過對代碼段進(jìn)行靜態(tài)分析來評估其能力。這段代碼是否可以更改系統(tǒng)文件,或是否會將數(shù)據(jù)導(dǎo)出到未知的目的地?
另一種可能得到很多關(guān)注的可能性是,既然您正在研究整個對象,那么就可以應(yīng)用機(jī)器學(xué)習(xí)技術(shù)。憑借在雜亂的非結(jié)構(gòu)化數(shù)據(jù)中識別模式的能力,深度學(xué)習(xí)網(wǎng)絡(luò) (DNN) 似乎至少是在信息中發(fā)現(xiàn)問題信號的理想方法,但它也有其局限性。DNN 需要訓(xùn)練,專家們必須收集數(shù)以百萬計的樣本,通過標(biāo)記來表明威脅存在與否,并將其逐一輸入網(wǎng)絡(luò)。這一過程需要人類專家工作很長時間,并且對準(zhǔn)備 DNN 識別新威脅所需的時間設(shè)定了下限。
更糟糕的是,由于數(shù)據(jù)的概念漂移,經(jīng)過訓(xùn)練的網(wǎng)絡(luò)不太可能在沒有經(jīng)過繼續(xù)訓(xùn)練的情況下識別出新的威脅。當(dāng)新的威脅出現(xiàn)時,人們不得不識別它的簽名,準(zhǔn)備示例,對其添加標(biāo)記,將其添加到訓(xùn)練集,然后再次對網(wǎng)絡(luò)進(jìn)行訓(xùn)練。這個過程是否可能呈遞增趨勢,或者是否需要重復(fù)數(shù)以百萬計的輸入,仍然是一個懸而未決的問題。
一個潛在的解決方案是采用訓(xùn)練方法完全不同的神經(jīng)網(wǎng)絡(luò):強(qiáng)化學(xué)習(xí)。正如英特爾安全架構(gòu)師 Jason Martin 所解釋的那樣,“在獲得數(shù)百萬個標(biāo)簽樣本、且數(shù)據(jù)分布不會頻繁變化的情況下,監(jiān)督型學(xué)習(xí)網(wǎng)絡(luò)是成功的。”但在安全方面,卻不算成功。
“相比之下,強(qiáng)化學(xué)習(xí)更像是一個反饋回路:網(wǎng)絡(luò)吸收觀察結(jié)果,做出預(yù)測,根據(jù)預(yù)測做出反應(yīng),根據(jù)行為的結(jié)果獲得回報,然后根據(jù)回報調(diào)整權(quán)重。”
例如,一個安全網(wǎng)絡(luò)將因為傳遞無害信息或標(biāo)記可疑信息而獲得正面反饋,因為誤報獲得負(fù)面反饋,因為放行真正的威脅而獲得非常負(fù)面的反饋。
Martin 說,強(qiáng)化學(xué)習(xí)仍然需要大量的訓(xùn)練,但強(qiáng)化網(wǎng)絡(luò)無需灌輸訓(xùn)練數(shù)據(jù),而是“即使在部署之后仍然能自行探索。”這可能會讓這種網(wǎng)絡(luò)的部署遠(yuǎn)遠(yuǎn)早于監(jiān)督型學(xué)習(xí)網(wǎng)絡(luò)被訓(xùn)練完畢,并且能夠處理概念漂移,并且使強(qiáng)化學(xué)習(xí)網(wǎng)絡(luò)更快地應(yīng)對新的威脅。
沙盒
人工神經(jīng)網(wǎng)絡(luò)給防火墻帶來了一種全新的可能性:能夠在沒有精確匹配已知簽名或正則表達(dá)式的情況下識別一個對象。接下來出現(xiàn)的問題是如何處理那些可疑但又不確定是否危險的對象。答案會隨著上下文的不同而有所差異。在最保險的低風(fēng)險情況下,將對象傳遞給接收任務(wù)并僅向用戶發(fā)出警告可能有效。在高度安全環(huán)境中,可能有必要摧毀可疑對象。但是在資源和延遲允許的情況下,還有另一種選擇:沙盒。
“我們可以把沙盒看作是一種特殊的虛擬化技術(shù),”英特爾首席工程師 Ravi Sahita 說,“一種可以用于試驗一條信息會導(dǎo)致什么結(jié)果的引爆盒。”(圖 3)
假設(shè)您有一個可疑的電子郵件附件。您可以創(chuàng)建一個電子郵件環(huán)境的實例,在這個環(huán)境中,系統(tǒng)調(diào)用的不是常規(guī)管理程序,而是一個安全監(jiān)控程序,它將檢查這些調(diào)用中是否有不合理的請求。安全監(jiān)控程序還可以監(jiān)視不合理的讀取、寫入或提取行為。因此,如果沙盒中的對象嘗試了任何異常行為,監(jiān)控程序就會觀察并進(jìn)行標(biāo)記。由于沙盒在邏輯上被虛擬化隔離(有時在設(shè)備中物理隔離)因此對象不會對實際系統(tǒng)造成損害。
當(dāng)與強(qiáng)化學(xué)習(xí)組合使用時,沙盒可能特別有價值。網(wǎng)絡(luò)可以判斷可疑對象,將其轉(zhuǎn)移到沙盒中,然后從該對象的實際行為中獲得即時反饋,所有這些都不會對實際系統(tǒng)造成任何風(fēng)險。這樣的策略可以采用流水線方式實現(xiàn),這樣防火墻就能夠以很低的延遲迅速響應(yīng)容易識別的威脅,而將可疑的對象傳遞到沙盒中進(jìn)行進(jìn)一步的分析。Martin 說,這種方法還可以在循環(huán)中加入人類專家,分析來自沙盒的結(jié)果,并可以根據(jù)需要對流水線的前端進(jìn)行再訓(xùn)練,以便識別新的威脅。
Sahita 指出,攻擊者仍然有備選方案。他們已經(jīng)學(xué)會了延遲代碼的不良行為,等待超過沙盒中設(shè)定的對象隔離時間。一些攻擊者已經(jīng)學(xué)會識別指紋,用于指示其對象位于沙盒中,而不是在真實的操作環(huán)境中,這使惡意軟件可以在被釋放到真實系統(tǒng)之前隱藏自身。
安全開發(fā)人員正在全力反擊。“理想情況下,沙盒應(yīng)與終端相融合,”Sahita 說。這就意味著要構(gòu)建系統(tǒng)調(diào)用監(jiān)控,處理對生產(chǎn)監(jiān)管程序的監(jiān)聽,從而保證沒有可供檢測的明顯沙盒指紋,那么就無法對隔離對象附加延遲。但這需要額外的保護(hù):建議您不僅要監(jiān)控系統(tǒng)調(diào)用和內(nèi)存引用,還要監(jiān)控數(shù)據(jù)流,以確保對象不能以某種方式將自己與系統(tǒng)中其它特權(quán)代碼連接起來,否則就會失控。
這是英特爾控制流程執(zhí)行技術(shù) (Control Flow Enforcement Technology) 的關(guān)鍵所在,該技術(shù)監(jiān)控返回堆棧和間接分支使用的寄存器,尋找試圖轉(zhuǎn)移程序流的嘗試。但 Sahita 表示,監(jiān)視可能會更深入。
“您可以在運行時直接從現(xiàn)代化的英特爾 CPU 生成跟蹤數(shù)據(jù),”他說?!澳梢垣@得大約 250MB/分鐘的控制流數(shù)據(jù),您可以用 GPU 或 FPGA 實時評分。有趣的是,您可以解碼、注釋和分析代碼內(nèi)容?!?/p>
有一種新的推測,這可能會成為另一種強(qiáng)化學(xué)習(xí)網(wǎng)絡(luò)的應(yīng)用方式。在檢查跟蹤數(shù)據(jù)方面,它們可能比人類程序員速度更快、洞察力更敏銳。
邊緣情況如何?
這些措施構(gòu)成了一個合理的數(shù)據(jù)中心安全路線圖。在郵件網(wǎng)關(guān)和應(yīng)用程序環(huán)境中集成 DCI 等先進(jìn)的防火墻功能和沙盒級保護(hù)可以顯著提高安全性,同時將延遲保持在網(wǎng)絡(luò)功能虛擬化和物聯(lián)網(wǎng)架構(gòu)師的預(yù)想范圍內(nèi)。但物聯(lián)網(wǎng)的另一端:邊緣計算節(jié)點和物聯(lián)網(wǎng)設(shè)備又如何呢?
在那邊,防火墻和沙盒設(shè)備是無法想象的奢侈品。在目前的情況下,虛擬機(jī)監(jiān)控程序并沒有考慮這個級別的安全性。加速神經(jīng)網(wǎng)絡(luò)推理或強(qiáng)化學(xué)習(xí)的加速器幾乎不為人知,對于許多嵌入式處理器來說,通過分析進(jìn)行實時追蹤相當(dāng)于科幻故事。
查看數(shù)據(jù)中心可能會向我們展示物聯(lián)網(wǎng)終端面臨的威脅,以及應(yīng)對這些威脅的已知方法。但是它不能告訴我們?nèi)绾螌崿F(xiàn)隨著這些應(yīng)對方法而日益增長的內(nèi)存要求和計算負(fù)載。我們可能會發(fā)現(xiàn),必須重新審視網(wǎng)絡(luò)邊緣真正需要的資源級別。物聯(lián)網(wǎng)邊緣可能并不像我們所希望的那樣輕量化和節(jié)約能源。
-
物聯(lián)網(wǎng)
+關(guān)注
關(guān)注
2911文章
44837瀏覽量
375204 -
intel
+關(guān)注
關(guān)注
19文章
3483瀏覽量
186210 -
防火墻
+關(guān)注
關(guān)注
0文章
419瀏覽量
35646 -
數(shù)據(jù)包
+關(guān)注
關(guān)注
0文章
265瀏覽量
24426
發(fā)布評論請先 登錄
相關(guān)推薦
評論