安全動(dòng)態(tài)

SHA-1碰撞攻擊將會(huì)對我們產(chǎn)生怎樣的現(xiàn)實(shí)影響?

來源:聚銘網(wǎng)絡(luò)    發(fā)布時(shí)間:2017-03-05    瀏覽次數(shù):
 

信息來源:FreeBuf

collision-attack-sha-1.png

近期,Google和荷蘭國家數(shù)學(xué)和計(jì)算機(jī)中心(Centrum Wiskunde & Informatica,CWI)的研究人員完成了針對第一例SHA-1的碰撞攻擊,創(chuàng)造了兩個(gè)hash值完全相同但內(nèi)容截然不同的文件。然而,在真實(shí)的信息安全世界中,這種攻擊又會(huì)怎樣對個(gè)人和組織機(jī)構(gòu)造成何種威脅呢?

對SHA-1算法不安全的擔(dān)心由來已早。在2015年荷蘭國家數(shù)學(xué)和計(jì)算中心和新加坡南洋理工大學(xué)研究員聯(lián)合發(fā)表的論文中,描述了SHA-1碰撞攻擊的各種理論性可能。同時(shí),在RSA 2016的密碼學(xué)家研討會(huì)上,該篇論文得到了很多關(guān)注,參會(huì)的著名密碼學(xué)專家Adi Shamir也預(yù)測,真實(shí)的SHA-1碰撞攻擊在未來幾個(gè)月將會(huì)成功實(shí)現(xiàn)。在此次會(huì)議之后,一些安全公司正式對外宣布SHA-1機(jī)制可能存在缺陷;與此同時(shí),因?yàn)闆]有真實(shí)的攻擊成功案例,這種攻擊也帶來了諸多質(zhì)疑。更多請參考FreeBuf百科《深度:為什么Google急著殺死加密算法SHA-1》。

ddddd.jpg

但為了防止任何理論攻擊可能,去年開始,一些安全公司開始反對繼續(xù)使用SHA-1算法。盡管谷歌、Facebook、微軟和Mozilla等公司已采取措施替換SHA-1算法,但哈希函數(shù)仍在廣泛使用。當(dāng)Google和CWI的實(shí)驗(yàn)成功之后,SHA-1碰撞攻擊再次受到關(guān)注。這種攻擊已經(jīng)成為現(xiàn)實(shí),所以,我們應(yīng)該如何去防范和修復(fù)呢?

影響分析

幾年前,針對MD5算法存在“構(gòu)造前綴碰撞攻擊”(chosen-prefix collisions),而真實(shí)案例中,F(xiàn)lame(火焰)病毒就使用了此種攻擊方法。SHA-1碰撞攻擊實(shí)現(xiàn)后,惡意軟件開發(fā)者將會(huì)創(chuàng)造什么樣的病毒,值得想像。

在此,我們就針對一些利用微軟簽名校驗(yàn)的惡意程序,結(jié)合SHA-1碰撞作一些攻擊可能的探討。為了說明SHA-1碰撞攻擊的現(xiàn)實(shí)威脅,我們找到了一例很有趣的例子:微軟內(nèi)核模式代碼簽名策略,攻擊針對目標(biāo)是加載的內(nèi)核模式驅(qū)動(dòng)程序簽名認(rèn)證,以下是包括WIN 10在內(nèi)的該類簽名規(guī)范和要求

Fig1_SHA-1.png

我們可以看到,其中列出的哈希機(jī)制就包括SHA-1,所以,毫無疑問,SHA-1碰撞攻擊將會(huì)產(chǎn)生驅(qū)動(dòng)簽名濫用情況,為惡意內(nèi)核代碼程序的利用傳播敞開大門。事實(shí)上,SHA-1簽名校驗(yàn)的驅(qū)動(dòng)程序并不少見,以下就是一些我們發(fā)現(xiàn)的實(shí)例:

Fig3_SHA-1.png

Fig2_SHA-1.png

在Win 10系統(tǒng)中,這類存在“風(fēng)險(xiǎn)隱患”的驅(qū)動(dòng)程序是不是就非常少呢?但由于存在很多第三方驅(qū)動(dòng),所以,情況讓你超乎想像。雖然微軟在最新的系統(tǒng)適配產(chǎn)品中明確反對SHA-1機(jī)制認(rèn)證程序,但很多第三方驅(qū)動(dòng)依然大范圍存在此種情況。另外,在一些之前的操作系統(tǒng)版本(Win 7\Win 8)中,還存在著大量且多年未更新的此類驅(qū)動(dòng)。例如:

Fig4_SHA-1.png

Fig5_SHA-1.png

Fig6_SHA-1.png

Fig7_SHA-1.png

從這里就可以看出,SHA-1將會(huì)成為很多組織機(jī)構(gòu)和相關(guān)系統(tǒng)的一個(gè)心頭大患。受影響的系統(tǒng)和服務(wù)包括:數(shù)字證書簽名、郵件、PGP/GPG 簽名、軟件發(fā)布簽名、備份系統(tǒng)、冗余熱備份系統(tǒng)、Git……等等,除了網(wǎng)絡(luò)安全之外,影響將會(huì)波及很多使用傳統(tǒng)操作系統(tǒng)的大型組織機(jī)構(gòu)。這種很多第三方軟件公司持續(xù)使用的,運(yùn)行機(jī)制本身就存在的問題,將會(huì)成為一個(gè)嚴(yán)重的信息安全問題。要保證安全,只有從核心和本質(zhì)上進(jìn)行處理,但對很多軟件公司來說,這又會(huì)成為一個(gè)“牽一發(fā)動(dòng)全身”的棘手問題。

深入研究之后,我們甚至發(fā)現(xiàn)一些固件和硬件也受到此問題影響。例如,普遍使用的僅支持SHA-1驗(yàn)證的TPM 1.2芯片,SHA-1碰撞攻擊將會(huì)直接對一些使用SHA-1算法的固件可信啟動(dòng)機(jī)制造成影響。在這方面,微軟在Win10系統(tǒng)中已經(jīng)作了一些限制,如其加密方式不支持TPM1.2芯片。

SHA-1碰撞攻擊的惡夢才剛剛開始,我們應(yīng)該盡快結(jié)束使用SHA-1的時(shí)代。谷歌將在接下來的90天內(nèi)公布SHA-1碰撞攻擊的測試工具。

SHA-1碰撞會(huì)被用到一些野生攻擊中嗎?

證據(jù)表明,攻擊者必須在擁有原始文件和已知哈希的情況下才能完成碰撞攻擊,另外,由于攻擊利用了定向編輯,不是每次編輯都會(huì)有效。換句話說,即使是破解了SSH或TLS的認(rèn)證證書,也都不可能實(shí)現(xiàn),需要對原始文件進(jìn)行一些非常細(xì)微的定向更改才能保證碰撞攻擊成功。

雖然在某種程度上來說,更改簽名驗(yàn)證很容易實(shí)現(xiàn),但如果要進(jìn)行偽裝式的SHA-1碰撞攻擊,想要讓受害者迷惑,完全對看不出馬腳,這就需要對利用文檔進(jìn)行破壞性的改造,而不只是通常性修改。后續(xù)可能會(huì)有一些針對SHA-1碰撞攻擊的檢測研究。

總體上來說,要實(shí)現(xiàn)該項(xiàng)攻擊需要很大的代價(jià)成本。如果攻擊者使用類似于比特幣挖礦的專業(yè)裝備和技能,攻擊可能將會(huì)變得更加便捷。Google和CWI聲稱,該攻擊實(shí)現(xiàn)需要大量的CPU和GPU計(jì)算,同時(shí)還需高效的分布式操作,攻擊第一階段攻擊是在Google的異質(zhì)CPU集群上進(jìn)行的,并擴(kuò)展至8個(gè)物理地址;第二階段攻擊代價(jià)更高,是在Google的K20、K40和K80異質(zhì)GPU集群上進(jìn)行的。經(jīng)相關(guān)研究人員計(jì)算得出,使用亞馬遜云服務(wù)AWS進(jìn)行第二階段的攻擊,耗資約56萬美元。但是,若攻擊者足夠耐心并利用現(xiàn)場參考案例,成本可降至11萬美元。

如何修復(fù)和預(yù)防這種攻擊呢?

作為安全和開發(fā)團(tuán)隊(duì)來說,最好的方法就是使用SHA-256等更復(fù)雜的算法,或使用兩個(gè)獨(dú)立的加密算法。當(dāng)然,對于攻擊檢測來說,仍然可以使用Google發(fā)布的開源檢測代碼。

*參考來源:CylanceFB小編clouds編譯,轉(zhuǎn)載請注明來自FreeBuf.COM

 
 

上一篇:Fortinet謝華:將有卓越表現(xiàn)的網(wǎng)絡(luò)安全創(chuàng)新領(lǐng)域

下一篇:2017年03月05日 聚銘安全速遞