SDP是一套開放的技術(shù)架構(gòu),,它的理念與零信任理念非常相似。國內(nèi)國際很多安全大廠都在推出基于SDP技術(shù)的零信任產(chǎn)品,。可以說SDP是目前最好的實現(xiàn)零信任理念的技術(shù)架構(gòu)之一。
為什么說SDP技術(shù)好呢,?
首先,,SDP系出名門。
SDP是國際云安全聯(lián)盟(CSA)推出的一套技術(shù)架構(gòu),。CSA的SDP工作組的組長是原CIA的CTO——Bob Flores,。CIA就是美國中央情報局啊,電影里常常見到的那個特工組織,。
Bob Flores把CIA,、美國國防部(DoD)、美國國家安全局(NSA)里面很多實用技術(shù)拿出來,,放到了SDP架構(gòu)里,。所以如果你去翻看SDP的白皮書的話,可以看到很多地方會寫,,SDP中這部分技術(shù)源自國防部的某某技術(shù),,那部分技術(shù)在安全局里是經(jīng)過驗證的……
其次,SDP技術(shù)不是紙上談兵,,SDP誕生之初,,就經(jīng)歷過重重考驗。
SDP技術(shù)推出之后,,CSA曾經(jīng)4次組織黑客大賽來檢驗SDP,。大賽有來自100多個國家的黑客們參加,總共發(fā)起過幾百億次攻擊,。4次大賽,,沒有一次,沒有一個人能攻破SDP的防御,。
SDP黑客大賽
每次黑客大賽開始之前,,CSA都會向黑客們介紹SDP的架構(gòu)——SDP包括三個組件:
1、網(wǎng)關(guān)(Gateway):負責保護業(yè)務(wù)系統(tǒng),,防護各類網(wǎng)絡(luò)攻擊,,只允許來自合法客戶端的流量通過;2,、客戶端(Client):負責驗證用戶身份,,把訪問請求轉(zhuǎn)發(fā)給網(wǎng)關(guān);3,、管控端(Controller):負責身份認證,、配置策略,管控整個過程,。
黑客大賽 #1
2014的RSA大會上,,舉辦了第一次SDP黑客大賽,。CSA給黑客們提供了SDP客戶端。黑客們可以模擬一個來自內(nèi)部的攻擊者,。黑客只要能登上SDP網(wǎng)關(guān)保護的目標服務(wù)器,,獲取服務(wù)器上的一個指定文件,就算成功,。
比賽持續(xù)了一周,。黑客們總共發(fā)起過超過一百萬次端口掃描。因為SDP網(wǎng)關(guān)只允許合法用戶連接,,其他任何探測都會被攔截,。所以,黑客們的掃描估計都被網(wǎng)關(guān)攔截掉了,。從目標服務(wù)器的監(jiān)控日志看,,這次比賽,沒有任何一個黑客成功連接到目標系統(tǒng),。(這次比賽大多數(shù)攻擊來自阿根廷)
黑客大賽 #2
2014 IAPP-CSA大會上,,CSA組織了第二次黑客大賽。因為上次黑客們都沒摸到攻擊目標,,SDP多層防護的第一層都沒有被攻破,。所以,這次CSA特意提供了SDP各個組件的IP地址,,作為攻擊目標,。另外,CSA還提供了一個與攻擊目標一模一樣的參照環(huán)境,。黑客們可以隨意研究SDP的工作原理,。
比賽持續(xù)了一個月,來自104個國家的黑客發(fā)起了1100萬次攻擊,!大多數(shù)攻擊是DDoS攻擊,,當然也有端口掃描和直接針對443端口的定向攻擊。(攻擊大多數(shù)來自美國)SDP網(wǎng)關(guān)會屏蔽來自攻擊者IP的所有請求,。被保護的端口只會向合法用戶的IP動態(tài)開放,,對非法用戶來說,端口始終是關(guān)閉的(后文有實驗展示效果),。SDP網(wǎng)關(guān)抗住了全部攻擊,。這次黑客們還是沒人能挑戰(zhàn)成功。
黑客大賽 #3
2015年的RSA大會上,,第三次SDP黑客大賽開始,,難度再次降低,不但提供之前所有信息,,還提供了Bob Flores老人家的賬號密碼,。另外,,CSA還公布了登錄目標服務(wù)器時捕獲的數(shù)據(jù)包,攻擊者可以利用這些數(shù)據(jù)包進行復制,。黑客只需要攻破SDP的設(shè)備驗證機制就算挑戰(zhàn)成功,。
比賽持續(xù)了1周時間,,即便難度降低,,依舊沒有人能夠入侵目標服務(wù)器。比賽期間總共探測到了超過1百萬次針對SDP管控端的服務(wù)器攻擊,。
其中有3551次,,攻擊者已經(jīng)構(gòu)造了正確的數(shù)據(jù)包格式,插入了正確的賬號ID,,但是GMAC認證沒有通過,。(這次的攻擊者來自中國的最多)這次黑客們失敗的原因主要是SDP的設(shè)備檢測功能。攻擊者沒法偽造設(shè)備上獨特的密碼令牌,,無法偽造出數(shù)據(jù)包中的數(shù)字簽名,。簽名檢驗不過,還是無法建立tcp連接,。
黑客大賽 #4
經(jīng)過前三次的大賽,,CSA認為SDP的安全性已經(jīng)得到很好的證明了。雖然SDP未必能阻擋國家級的黑客組織攻擊,,但是足以抵抗平時生活中藏在暗處伺機而動的大部分黑客,。
2016年RSA大會的第四次SDP黑客大賽,主要是測試SDP的高可用性,,以及SDP的多云架構(gòu),。(多個云端環(huán)境各部署一個SDP網(wǎng)關(guān)進行保護。)
如上圖所示,,兩個SDP網(wǎng)關(guān)各自保護一個云上環(huán)境,。用戶可以通過任意一個云端轉(zhuǎn)發(fā)至最終的業(yè)務(wù)系統(tǒng)。所以,,SDP網(wǎng)關(guān)只要保證有一個網(wǎng)關(guān)存活,,就可以保證整個業(yè)務(wù)系統(tǒng)的高可用性。如果黑客可以癱瘓兩個網(wǎng)關(guān),,則會導致業(yè)務(wù)系統(tǒng)中斷,。
比賽中有來自191個攻擊者的上百萬次攻擊。業(yè)務(wù)系統(tǒng)沒有產(chǎn)生一次中斷,。(攻擊者大多來自美國),。這次比賽證明了SDP的高可用架構(gòu)還是相當成功的。
為什么SDP能抵抗這么多黑客的攻擊,?
總結(jié)下來,,是因為SDP的5重防御機制:
1,、SPA(單包授權(quán)認證):網(wǎng)關(guān)只有接收到了客戶端發(fā)出的SPA包,驗證合法之后,,才對該客戶端的IP開放指定端口,。這個技術(shù)可以屏蔽絕大多數(shù)非法用戶的網(wǎng)絡(luò)攻擊,讓漏洞掃描,、DDoS等攻擊方式都失效,。
2、MTLS(雙向認證):網(wǎng)關(guān)跟客戶端的通信是加密的,,而且是雙向認證,,網(wǎng)關(guān)認證用戶,用戶也要認證網(wǎng)關(guān),。雙向的認證保證了中間人攻擊無法奏效,。
3、動態(tài)防火墻:經(jīng)過SPA認證后,,網(wǎng)關(guān)會放行指定端口,。但端口放行是暫時的,幾秒內(nèi)沒有操作,,端口就會自動關(guān)閉,。最大限度提高防護強度。
4,、設(shè)備驗證:SDP不止驗證用戶身份,,還要驗證用戶設(shè)備。設(shè)備的驗證包括設(shè)備健康狀態(tài)的驗證,,如是否裝了殺毒軟件等等,。設(shè)備驗證還包括設(shè)備證書的驗證,只有合法設(shè)備才會安裝證書,,證書參與通信數(shù)據(jù)的加密過程,。保證連接都是來自合法設(shè)備的。
5,、應(yīng)用綁定:用戶只能訪問有授權(quán)的應(yīng)用,。這符合“最小化授權(quán)”原則,保證了威脅無法橫向蔓延,。
SDP對抗DDoS
CSA的人做過如下兩個小實驗,,具體說明SDP是如何抵抗各類攻擊的。
常見的DDoS攻擊有三種:
?。?)http攻擊:與服務(wù)器建立大量http連接,,讓服務(wù)器耗盡精力,無力服務(wù)正常用戶,。
?。?)Tcp syn攻擊:通過向服務(wù)器發(fā)送大量syn包,,讓服務(wù)器始終處于等待狀態(tài)。
?。?)udp反射攻擊:偽造udp請求發(fā)給第三方dns或ntp服務(wù)器,,把udp包中的發(fā)起者改為攻擊目標的IP,讓第三方服務(wù)器反射并放大自己的攻擊,,對攻擊目標造成大量沖擊,。
SDP針對三種攻擊的防護機制分別是:
(1)http攻擊:SDP根本不與非法用戶建立http連接,。
?。?)Tcp syn攻擊:SDP會把所有非法syn包直接丟掉,,不會等待,。
(3)udp反射攻擊:SDP可以對一些非公開的dns或ntp進行保護,,避免惡意udp包觸達這些服務(wù),。
下面通過一次模擬的syn flood攻擊,看看SDP的真實防護效果,。
實驗環(huán)境是這樣的:四臺虛擬機,,一臺是好人,一臺是黑客,,一臺SDP網(wǎng)關(guān),,一臺是被保護的系統(tǒng)。一個流量監(jiān)測工具,,始終監(jiān)測SDP網(wǎng)關(guān)和被保護系統(tǒng)上面的流量,。
第一回合:關(guān)閉SDP網(wǎng)關(guān)。
黑客和好人都能通過SDP網(wǎng)關(guān)的虛擬機轉(zhuǎn)發(fā)到被保護系統(tǒng),。當黑客的大量流量發(fā)起之后,,被保護系統(tǒng)被淹沒,好人根本無法與系統(tǒng)建立連接,。
下圖是SDP網(wǎng)關(guān)和被保護系統(tǒng)的流量圖,。
可以看到黑客發(fā)起攻擊之后,SDP網(wǎng)關(guān)上的流量猛增(下圖中的Outside SDP),,同時被保護系統(tǒng)上的流量也猛增(下圖中的Inside SDP),。注意下圖中兩者只是單位不同(Mbps、Kbps),,其實所承受的流量是完全一致的,。
此時,好人基本上是無法連接到被保護系統(tǒng)的,,大量的服務(wù)器資源都被黑客占用,,服務(wù)器已經(jīng)被癱瘓掉了,。
第二回合:開啟SDP網(wǎng)關(guān)
開啟SDP網(wǎng)關(guān)之后,由于黑客沒有合法的用戶身份,,沒有SDP客戶端,,所以黑客發(fā)起的流量是無法通過SDP網(wǎng)關(guān)的。攻擊完全接觸不到被保護系統(tǒng),。
從下圖中可以看出,,黑客攻擊開始后,只有SDP網(wǎng)關(guān)(圖中上部的Outside SDP)的流量有一個猛增,。被保護系統(tǒng)的流量始終維持穩(wěn)定,。
在SDP網(wǎng)關(guān)的保護下,好人能正常連接被保護系統(tǒng),,服務(wù)器能正常工作,。
從上面的實驗可以看出,SDP網(wǎng)關(guān)確實具有抗DDoS的效果,,可以讓合法用戶在黑客攻擊時,,不受影響,繼續(xù)正常業(yè)務(wù)工作,。
SDP防漏洞掃描
通常黑客的攻擊都是從探測端口,,收集情報開始的。黑客后續(xù)怎么進攻完全依賴于前期收集到的目標的弱點,。所以能否掃描到目標的端口,,對接下來的進攻是至關(guān)重要的。
如果用Nmap掃描工具對SDP網(wǎng)關(guān)做一次掃描的話,,結(jié)果一定是下圖這樣,。圖中第三行顯示,Nmap對SDP網(wǎng)關(guān)的IP地址進行了所有端口的掃描,,結(jié)果發(fā)現(xiàn),,沒有一個端口是開放的。
沒有端口開放,,對黑客來說,,就代表了這里根本沒有運行任何服務(wù)。也就是說,,SDP網(wǎng)關(guān)在黑客眼里是“隱形”的,。沒有人能攻擊他看不到的東西。
當然,,在合法用戶的眼里,,SDP網(wǎng)關(guān)肯定不是隱形的。不然合法用戶也無法正常工作了。合法用戶來的時候,,SDP網(wǎng)關(guān)會在防火墻上創(chuàng)建一個特定的規(guī)則,,如下圖所示。他會只針對這個合法用戶的IP創(chuàng)建一條放行規(guī)則——允許來自合法用戶IP的數(shù)據(jù)包通過,。這條規(guī)則是針對合法用戶的IP的,,來自其他IP的非法請求還是無法通過SDP網(wǎng)關(guān)。
通過這個功能,,SDP網(wǎng)關(guān)相當于給被保護系統(tǒng)加了一層隱身防護罩,。黑客看不到被保護系統(tǒng),像SQL注入,、漏洞攻擊,、 XSS, CSRF等等攻擊根本無從發(fā)起。
這是一個相當簡潔有效的防護手段,。在SDP網(wǎng)關(guān)面前,,絕大多數(shù)網(wǎng)絡(luò)攻擊都是失效的。
SDP適用場景總結(jié)
SDP架構(gòu)需要用戶安裝客戶端,,所以SDP對終端的安全控制更強,,客戶端和網(wǎng)關(guān)聯(lián)動能產(chǎn)生更嚴密的防護效果。但客戶端也限制了SDP的應(yīng)用場景,。一些公開的網(wǎng)站沒法用SDP保護。
SDP特別適用于合作伙伴,、供應(yīng)商,、第三方人員、分支機構(gòu)等等特定人群訪問業(yè)務(wù)系統(tǒng)的場景,。這些系統(tǒng)需要在互聯(lián)網(wǎng)上開放,,以便第三方人員訪問。但是又不需要向全世界所有人開放,,引來黑客攻擊,。這種場景下,SDP能保證合法用戶正常連接,,對未知用戶“隱形”,。SDP在這類場景下是相當能打的。