信息來(lái)源:安全牛
安全圈子里,大家都在講下一代安全,今天角度轉(zhuǎn)換,我們來(lái)討論下一代攻擊者會(huì)是什么樣。多年來(lái),黑客類型不斷變化。但能跟上這種變化的防守方卻在少數(shù)。如果不了解攻擊者,任何一場(chǎng)安全博弈都可能走向失敗。
1. 安全能力的進(jìn)步
過(guò)去,入侵一個(gè)網(wǎng)絡(luò)很常見(jiàn)也很簡(jiǎn)單。同種類型的攻擊活動(dòng)幾乎隨處可見(jiàn)。很多網(wǎng)絡(luò)訪問(wèn)的 “小技巧” 眾所周知。無(wú)論 是0day,還是 “100day、1000day” 這些已知漏洞,都可以輕易地收集到。但如今像 Microsoft 這樣的公司在安全方面做得越來(lái)越好,要找到類似 MS17-010 的漏洞已經(jīng)不太容易。
不僅是因?yàn)榕f的漏洞被修復(fù)了,而且新的可利用漏洞也越來(lái)越難以被發(fā)現(xiàn)。再早些年,緩沖區(qū)溢出會(huì)出現(xiàn)在絕大部分應(yīng)用中。像 EMET、靂鑒這樣的現(xiàn)代化工具以及越來(lái)越有效的安全編碼標(biāo)準(zhǔn)讓這種漏洞出現(xiàn)概率日益降低。
近幾年來(lái),白帽子發(fā)現(xiàn) SQL 注入漏洞的難度也越來(lái)越大。曾經(jīng)有段時(shí)期流行用 PHP 開(kāi)發(fā) Web 應(yīng)用,開(kāi)發(fā)人員需要手動(dòng)地加上安全防御方法。而現(xiàn)代 Web 應(yīng)用則通過(guò)一些 Web 框架構(gòu)建,如 Django、Flask、Vue、Spring 等,這些框架都自帶漏洞防范措施。
例如,CSRF(跨站請(qǐng)求偽造)在過(guò)去就是一種需要開(kāi)發(fā)人員為所有返回的 POST 表單構(gòu)建特殊的 token 憑證來(lái)加以緩解的攻擊方式。但 Flask 的 WTF 表單能夠自動(dòng)處理這一風(fēng)險(xiǎn)。除此之外,對(duì)于 PHP 腳本,開(kāi)發(fā)人員經(jīng)常將未經(jīng)信任的用戶輸入的未經(jīng)處理的內(nèi)容回顯到頁(yè)面上,從而產(chǎn)生 XSS(跨站腳本)漏洞,而 Flask 的 Jinja2 模板引擎會(huì)自動(dòng)轉(zhuǎn)義此類內(nèi)容。
注:Jinja2 在極少數(shù)情況下仍有可能產(chǎn)生 XSS,例如,當(dāng)變量被回顯到 HTML 標(biāo)記的屬性部分時(shí),該變量可能被解釋為 Javascript。但相比過(guò)去還是有了很大的進(jìn)步。
全新的技術(shù)與方法讓惡意程序和惡意流量走投無(wú)路,網(wǎng)絡(luò)世界越來(lái)越安全。至少在應(yīng)對(duì)傳統(tǒng)威脅方面的確是這樣。
全球安全局勢(shì)似乎越來(lái)越好,因?yàn)榉烙阶R(shí)別、跟蹤和消除威脅的能力越來(lái)越強(qiáng)。但是并不是所有的漏洞都消失了,新的漏洞都不會(huì)產(chǎn)生了。沒(méi)有絕對(duì)安全的網(wǎng)絡(luò)。黑暗勢(shì)力的 “進(jìn)化” 速度遠(yuǎn)遠(yuǎn)超過(guò)了正義的力量。
2. 一個(gè)真實(shí)的黑客故事
這個(gè)故事是資深白帽黑客 Ben Donnelly 的親身經(jīng)歷——成功入侵某個(gè) Web 應(yīng)用。該應(yīng)用找不到任何 SQL 注入漏洞和 XSS 跨站腳本漏洞。他們的安全團(tuán)隊(duì)十分自信地向 Ben 保證這款應(yīng)用的安全性無(wú)懈可擊。但沒(méi)過(guò)多久,Ben 很快就發(fā)現(xiàn)了它最大的弱點(diǎn):過(guò)分依賴各種 Web 框架。當(dāng)出現(xiàn)新的威脅模型時(shí),它是無(wú)力應(yīng)付的。
Ben 不從 OWASP 的十大漏洞類型出發(fā),而是通過(guò)每次請(qǐng)求時(shí)從它們呈現(xiàn)給客戶的 Javascript 列表中提取隱藏 token 值的方式,逐步深入網(wǎng)站。不久 Ben 就找到了隱蔽但不安全的終端節(jié)點(diǎn),這些終端節(jié)點(diǎn)生成身份驗(yàn)證令牌后,他對(duì)該站點(diǎn)進(jìn)行了進(jìn)一步研究。最后,他發(fā)現(xiàn)了一個(gè)能夠添加用戶至該站點(diǎn)的 Administrators 組中的終端節(jié)點(diǎn),除了已經(jīng)生成的令牌之外,無(wú)需再作其它身份驗(yàn)證。
走到這一步,這個(gè) Web 應(yīng)用實(shí)際上已經(jīng) game over ——Ben 已經(jīng)可以訪問(wèn)該網(wǎng)站上所有的個(gè)人信息。無(wú)需比對(duì)和嘗試已有的攻擊方式,而是從攻擊目標(biāo)本身入手,一層層解開(kāi)目標(biāo)站點(diǎn)的邏輯,最終讓它 “自取滅亡”。
這就是未來(lái)會(huì)越來(lái)越常見(jiàn)的攻擊方式。不采取新的行動(dòng),網(wǎng)絡(luò)競(jìng)爭(zhēng)中的滑鐵盧幾乎無(wú)法避免。
3. 新的攻擊者已經(jīng)來(lái)臨
新技術(shù)不會(huì)越來(lái)越安全,只會(huì)越來(lái)越復(fù)雜。新產(chǎn)品和管道的復(fù)雜性正在提高網(wǎng)絡(luò)攻擊的門檻。攻擊者也隨之不斷 “進(jìn)化”。
僅擁有殺毒軟件未知的自定義惡意軟件和 Metasploit 的基本知識(shí)已經(jīng)不足以實(shí)現(xiàn)一次入侵。一類新型攻擊者已經(jīng)來(lái)臨。他們利用龐大的基礎(chǔ)架構(gòu)、高級(jí)計(jì)算和復(fù)雜的攻擊方式,試圖從各個(gè)角度攻破你的安全防線。
這些新型攻擊者能做什么?舉個(gè)例子吧。2017 年 2 月,由 Google 安全研究人員和荷蘭國(guó)家數(shù)學(xué)和計(jì)算機(jī)中心 CWI 組成的 “SHAttered” 團(tuán)隊(duì)宣布,他們完成了針對(duì)第一例 SHA-1(安全哈希算法)真實(shí)世界的碰撞攻擊,創(chuàng)造了兩個(gè) hash 值完全相同但內(nèi)容截然不同的 PDF 文件。也就是說(shuō),很多軟件系統(tǒng)可能會(huì)將兩個(gè)不同文件誤認(rèn)為是同一個(gè) PDF 文件,那么攻擊者就有可能用修改了信息的文件替代原有文件,欺騙和誤導(dǎo)系統(tǒng)或操作人員。
很多人都知道 SHA-1 是公開(kāi)的,但都不以為意。對(duì)于傳統(tǒng)的供給者來(lái)說(shuō)這種觀念可能不會(huì)出現(xiàn)差錯(cuò)。但對(duì)于擁有先進(jìn)計(jì)算能力和龐大基礎(chǔ)架構(gòu)的下一代攻擊者來(lái)說(shuō),這樣的高級(jí)攻擊手段只是小菜一碟。
SQL 注入、XSS、CSRF 和通用 RCE 攻擊等等可能會(huì)逐漸退出歷史舞臺(tái)。形成完整供應(yīng)鏈和定制化的邏輯攻擊將會(huì)越來(lái)越普遍。4. 下一代安全體系建設(shè)現(xiàn)狀
面對(duì)這樣的下一代攻擊者,對(duì) “下一代安全防御”的思考刻不容緩。
從技術(shù)應(yīng)用來(lái)說(shuō),離不開(kāi)機(jī)器學(xué)習(xí)和自動(dòng)化。只有機(jī)器學(xué)習(xí)才能應(yīng)付每天都在爆發(fā)的新型威脅。一個(gè)真正能夠被冠名 “下一代” 的安全平臺(tái)不僅應(yīng)該能夠檢測(cè)風(fēng)險(xiǎn),還能自動(dòng)修復(fù)風(fēng)險(xiǎn),但目前很多安全平臺(tái)仍然處于每天產(chǎn)生大量誤報(bào)和無(wú)效告警的階段。
從技術(shù)方向來(lái)說(shuō),國(guó)內(nèi)正在興起的欺騙防御和軟件全流程安全等理念和實(shí)踐都是有益的探索。欺騙防御的核心目標(biāo)就是在不同網(wǎng)絡(luò)環(huán)境中部署沙箱、偽裝代理、誘餌等形成蜜網(wǎng),全方位欺騙 APT 攻擊者落入陷阱,甚至通過(guò)設(shè)備指紋等技術(shù)對(duì)攻擊者溯源。軟件全流程安全主要從發(fā)現(xiàn)應(yīng)用系統(tǒng)在開(kāi)發(fā)、測(cè)試、預(yù)發(fā)布、上線后等完整開(kāi)發(fā)流程中安全風(fēng)險(xiǎn)的角度出發(fā),不但包括對(duì)傳統(tǒng)漏洞的檢測(cè),有的高級(jí)解決方案甚至已經(jīng)支持檢測(cè)業(yè)務(wù)邏輯漏洞,并包含能夠發(fā)現(xiàn)第三方開(kāi)發(fā)組件中安全風(fēng)險(xiǎn)的 SCA(軟件成分分析)等功能。