0
對于攻擊者而言,如何用最低的成本,獲取最好的攻擊效果是他們一直追求的,如果還能讓自己不易被發(fā)現(xiàn),那再好不過。
近幾年,通過軟件供應鏈污染來達到惡意攻擊的手段,就因為上面這個原因而頻頻被使用。
2015年9月,XcodeGhost 事件爆發(fā),當年這個所有iOS程序員都會用到的開發(fā)工具,讓超過 4000個不同版本的蘋果應用被感染,該事件影響了中國近一億蘋果手機用戶,由此,軟件供應鏈安全問題開始廣受關注。
▲圖片來源:freebuf
雷鋒網(wǎng)編輯先以小偷入室偷竊,來打個不太恰當?shù)谋确健?/p>
之前小偷進你家偷東西,可能需要先把小區(qū)門禁卡給搞定,再把單元門禁卡給搞定,最后通過各種方式把你家的鎖撬了,然后才能趁你不在的時候偷走東西。
但現(xiàn)在,小偷可能在蓋樓或者你裝修的時候就順便留下若干通往你屋子的暗道,并且在暗處裝上了各類攝像頭和監(jiān)聽設備。
他清楚地知道你每時每刻在干些什么,有哪些重要的隱私信息,知道你家中最值錢的東西放在哪里,什么時候來你家才能不被發(fā)現(xiàn)……你家今天沒丟東西,并不意味著小偷現(xiàn)在沒能力進來,只是直擊要害的時機還未到。
即使有天你發(fā)現(xiàn)家里丟了東西后,也無法通過小區(qū)的攝像頭獲取任何小偷的信息,更沒法像傳統(tǒng)破案一樣通過撬鎖等痕跡來尋找蛛絲馬跡。
放在網(wǎng)絡安全領域,這種“行竊”手法在惡意攻擊中越來越流行,從棱鏡門到 XcodeGhost,從惠普驅動鍵盤記錄后門到 Xshell 后門,從 python pip 源污染到 VSCODE插件釣魚……軟件供應鏈安全事件不僅頻繁發(fā)生,而且威力巨大。黑產(chǎn)有時不再花巨資去搞 0day,就能以“四兩撥千斤”的手法,獲得高額回報,事情發(fā)生后,還往往能溜之大吉,很難追溯。
針對很多軟件從源頭就被惡意“污染”的現(xiàn)狀,阿里巴巴從今年 3 月到 10 月,舉辦了一場軟件供應鏈安全大賽,近日,作為主要組織者之一的阿里安全資深專家杭特,花了整整一個下午的時間,跟雷鋒網(wǎng)編輯詳細地聊了聊這場大賽舉辦的深層次的原因,以及目前軟件供應鏈安全所面臨的困境。
▲阿里安全資深專家杭特
除了水、空氣、陽光,還有一樣東西正在成為我們的剛需---軟件。
我們智能手機里面那些五花八門的應用、正在遍布各個角落的 IoT設備、未來終將普及的無人駕駛汽車……近10年以來,全世界的程序員正編寫并復用的海量軟件,極大地改變了我們的生活。
據(jù)不完全統(tǒng)計,目前開源軟件的數(shù)量已經(jīng)超過5300億行,在全球2000強的公司里面,所用的普通構件中,每家至少有 50000 行的開源代碼。
換句話說,如今我們所使用的很多產(chǎn)品和應用,都是“站在巨人的肩膀上”,開源和閉源軟件在供應鏈中,正扮演者越來越重要的角色。
但這個巨人到底可靠不可靠?
在文章開頭頻出的安全事件背后,來自北京大學軟件與微電子學院的張世琨教授帶來了這樣一組數(shù)據(jù):在JAVA 構件的下載中,存在的已知安全漏洞的概率是十六分之一,在舊版本的構件當中,包含安全漏洞的可能性更大。
這些漏洞并非全部由惡意代碼構成,但其背后的隱患已不容忽視。
目前現(xiàn)狀是,需要分析的對象數(shù)量越來越多、規(guī)模也越來越復雜,但分析人員人數(shù)有限,水平層次不齊,準確性無法保證,由于人員流動更是會帶來無法估量的損失。
大量安全人員的時間都耗費在了重復性的勞動當中,各種低級別的漏洞分析和逆向占用了他們大量的精力,很多時候更像是純體力的勞動。
比如以下這種場景:
▲圖片來源:阿里聚安全
杭特介紹,對于惡意代碼的檢測,除了少數(shù)通用的工具,(IDA、Ollydbg等等),絕大部分工作都需要人工分析。對于剛入門的同學,人工逆向打怪升級還有些成就感,“讀了這些文件”,“發(fā)了這些數(shù)據(jù)”,“哦,原來是這么回事”,但隨著時間的推移和技能的提升,逆向工作就成了純粹的體力勞動,每天只能反反復復的運行程序、設置斷點、獲取接口數(shù)據(jù)、修改數(shù)據(jù)、寫分析記錄,大量的時間耗費在這些并沒有創(chuàng)造力的繁瑣工作里,而黑產(chǎn)所帶來的指數(shù)級增長的威脅,卻越來越難以對抗。
那面對海量需要檢測的對象,這些重復的工作可否通過自動化的工具實現(xiàn),來更有效率地應對惡意攻擊?
正是抱著想法,阿里舉辦了這樣一場業(yè)內(nèi)少有的,賽程如此之長的軟件供應鏈安全大賽。(2018年2月-3月;2018年3月-4月將舉行軟件供應鏈安全測試賽,4月-9月舉行分站賽,10月份舉行總決賽,獎金總額150萬元)
針對軟件供應鏈安全的現(xiàn)狀,美國早已開始謀篇布局。
前面提到,人類編寫新軟件的速度要遠快于人工檢查的速度,近年來優(yōu)秀安全人才也處于供不應求的狀態(tài),所以自動化發(fā)現(xiàn)軟件漏洞已經(jīng)成為網(wǎng)絡安全技術發(fā)展的趨勢之一。
2016年8月,美國國防部先進研究項目局(DARPA),就舉辦了世界首屆機器與機器對抗的網(wǎng)絡攻防大賽(CGC),大賽中所使用的自動化的技術,不僅要找到軟件的 bug,而且要保證這些 bug 是可被利用并入侵計算機的漏洞。
在比賽過程中,參賽團隊需構建自動化系統(tǒng),對有缺陷的程序做自動加固和相互攻擊,這些系統(tǒng)不僅要能夠抵抗外來攻擊,還需同時反擊對手。
這說明,在大洋彼岸的美國,已經(jīng)將這種自動化的檢測和攻防列為國家戰(zhàn)略,并對此進行了大手筆的投入和長期發(fā)展的規(guī)劃。
換言之,這些頂級安全研究人員所共同積累的自動化攻防的技術,會在 DARPA 的長期支持下逐漸完成技術積累,為未來大規(guī)模替代人工做準備。
在杭特看來,CGC比賽的難度和所分析對象,綜合來看要超過各類 CTF 和 PWN。
▲CGC屬于右上角的區(qū)域
他告訴雷鋒網(wǎng)編輯,針對軟件供應鏈安全的挑戰(zhàn),美國有完善的流程標準NIST-800-161,也在高大上的VET項目投資了近5000萬美金,可惜的是,目前國內(nèi)這塊還是空白。
好了,說完了國外的情況,我們把目光投向這次阿里舉辦的軟件供應鏈安全大賽。
這次大賽為什么是阿里來搞?
首先我們來看,作為一個擁有多元生態(tài)的互聯(lián)網(wǎng)公司,阿里麾下的各類服務已經(jīng)涵蓋了我們生活的方方面面。
這些服務中,幾乎每項都離不開各類軟件的支撐,無論是源碼編寫、源碼編譯,還是軟件分發(fā)、軟件下載、軟件更新等諸多環(huán)節(jié)中,都面臨有海量的惡意代碼檢測任務。
杭特透露,他們也曾經(jīng)做過一個針對軟件供應鏈安全的實驗,在供應鏈的某個節(jié)點上插入惡意代碼,由此所造成的后果確實極大地超出他的預期。(對于編輯再三追問的實驗細節(jié),他并沒有透露)
如果這種技能被黑產(chǎn)大規(guī)模掌握后,他們將不必再花大價錢來買 0day 漏洞就可以達到理想的攻擊效果,由此攻擊成本將大為降低,安全人員所面臨的挑戰(zhàn)愈加嚴峻。
雷鋒網(wǎng)發(fā)現(xiàn),其實阿里本身在自動化的攻防上已經(jīng)開始布局,不久前,阿里安全所研發(fā)的自動化逆向機器人 TimePlayer 已在公開報道中出現(xiàn)過,這次所舉辦的軟件供應鏈安全大賽,也是期望能夠以生態(tài)的形式提升行業(yè)的自動化檢測能力。
雖然這場大賽是阿里來主辦的,但軟件供應鏈安全的問題需要多方來共同解決。
在8月22日阿里所主辦的網(wǎng)絡安全生態(tài)峰會的軟件供應鏈安全分論壇中,雷鋒網(wǎng)發(fā)現(xiàn)了來自公安部、工信部、高校和企業(yè)等單位和機構的領導專家。
由此來看,其實國家相關部門已經(jīng)意識到問題的嚴重性并且開始探討解決方法。
在會上,來自公安部的相關領導透露,公安部有一個產(chǎn)品銷售許可證的管理職能,目前也正在改革銷售許可的管理制度,在軟件等級保護中,他們增加了軟件供應鏈安全方面的要求,重要行業(yè)部門使用的重要的源代碼會進行更加嚴格的安全檢測,他們也借大賽的機會想了解如何更有效的檢測和防范威脅。
但針對軟件供應鏈安全,自動化的檢測和攻防將會面臨一個漫長的過程。
來自騰訊的楊勇坦言,攻防雙方的對抗永遠是一個此消彼長的過程,不僅是安全人員在研究這塊,黑產(chǎn)在自動化的攻防方面也在研究如何繞過,所以未來就像軍隊的建設一樣,拼的不僅是技術的高度,更重要的是持續(xù)的投入和不間斷的研究。
“到底對這個公司能造成什么樣的危害,它通過這種攻擊拿到的資源,能給這個產(chǎn)業(yè)或是社會造成什么樣的危害?”楊勇認為,對這些還缺乏系統(tǒng)性的評估,通過這場大賽,也是想對安全隱患進行更清晰和準確的刻畫,但這仍然需要很長的路走。
時光到回1960年,當時國際象棋計算機系統(tǒng)已可用,但它花了30多年才在1997年戰(zhàn)勝世界冠軍卡斯帕羅夫。而計算機安全的復雜度要比國際象棋高n個數(shù)量級,未來仍然荊棘密布。
但比認識困難更加重要的,應該是立馬行動起來,也許正像一句諺語所言“種樹的最佳時間是在20年前,下一次種樹的最佳時間是今天”。
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權禁止轉載。詳情見轉載須知。