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):負責(zé)保護業(yè)務(wù)系統(tǒng),,防護各類網(wǎng)絡(luò)攻擊,只允許來自合法客戶端的流量通過,;2,、客戶端(Client):負責(zé)驗證用戶身份,把訪問請求轉(zhuǎn)發(fā)給網(wǎng)關(guān),;3,、管控端(Controller):負責(zé)身份認證、配置策略,,管控整個過程,。
黑客大賽 #1
2014的RSA大會上,舉辦了第一次SDP黑客大賽,。CSA給黑客們提供了SDP客戶端,。黑客們可以模擬一個來自內(nèi)部的攻擊者。黑客只要能登上SDP網(wǎng)關(guān)保護的目標(biāo)服務(wù)器,,獲取服務(wù)器上的一個指定文件,,就算成功。
比賽持續(xù)了一周,。黑客們總共發(fā)起過超過一百萬次端口掃描,。因為SDP網(wǎng)關(guān)只允許合法用戶連接,其他任何探測都會被攔截,。所以,,黑客們的掃描估計都被網(wǎng)關(guān)攔截掉了,。從目標(biāo)服務(wù)器的監(jiān)控日志看,這次比賽,,沒有任何一個黑客成功連接到目標(biāo)系統(tǒng),。(這次比賽大多數(shù)攻擊來自阿根廷)
黑客大賽 #2
2014 IAPP-CSA大會上,CSA組織了第二次黑客大賽,。因為上次黑客們都沒摸到攻擊目標(biāo),,SDP多層防護的第一層都沒有被攻破。所以,,這次CSA特意提供了SDP各個組件的IP地址,,作為攻擊目標(biāo)。另外,,CSA還提供了一個與攻擊目標(biāo)一模一樣的參照環(huán)境,。黑客們可以隨意研究SDP的工作原理。
比賽持續(xù)了一個月,,來自104個國家的黑客發(fā)起了1100萬次攻擊,!大多數(shù)攻擊是DDoS攻擊,當(dāng)然也有端口掃描和直接針對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還公布了登錄目標(biāo)服務(wù)器時捕獲的數(shù)據(jù)包,攻擊者可以利用這些數(shù)據(jù)包進行復(fù)制,。黑客只需要攻破SDP的設(shè)備驗證機制就算挑戰(zhàn)成功,。
比賽持續(xù)了1周時間,即便難度降低,,依舊沒有人能夠入侵目標(biāo)服務(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),,則會導(dǎo)致業(yè)務(wù)系統(tǒng)中斷。
比賽中有來自191個攻擊者的上百萬次攻擊,。業(yè)務(wù)系統(tǒng)沒有產(chǎn)生一次中斷,。(攻擊者大多來自美國)。這次比賽證明了SDP的高可用架構(gòu)還是相當(dāng)成功的,。
為什么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攻擊有三種:
(1)http攻擊:與服務(wù)器建立大量http連接,,讓服務(wù)器耗盡精力,,無力服務(wù)正常用戶。
?。?)Tcp syn攻擊:通過向服務(wù)器發(fā)送大量syn包,,讓服務(wù)器始終處于等待狀態(tài)。
?。?)udp反射攻擊:偽造udp請求發(fā)給第三方dns或ntp服務(wù)器,,把udp包中的發(fā)起者改為攻擊目標(biāo)的IP,讓第三方服務(wù)器反射并放大自己的攻擊,,對攻擊目標(biāo)造成大量沖擊,。
SDP針對三種攻擊的防護機制分別是:
(1)http攻擊:SDP根本不與非法用戶建立http連接,。
?。?)Tcp syn攻擊:SDP會把所有非法syn包直接丟掉,,不會等待。
?。?)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),。當(dā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ù)怎么進攻完全依賴于前期收集到的目標(biāo)的弱點,。所以能否掃描到目標(biāo)的端口,對接下來的進攻是至關(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)在黑客眼里是“隱形”的。沒有人能攻擊他看不到的東西,。
當(dāng)然,,在合法用戶的眼里,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)相當(dāng)于給被保護系統(tǒng)加了一層隱身防護罩,。黑客看不到被保護系統(tǒng),像SQL注入,、漏洞攻擊,、 XSS, CSRF等等攻擊根本無從發(fā)起,。
這是一個相當(dāng)簡潔有效的防護手段。在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在這類場景下是相當(dāng)能打的,。