SHA-1碰撞攻擊將會對我們產生怎樣的現實影響?
近期,Google和荷蘭國家數學和計算機中心(Centrum Wiskunde & Informatica,CWI)的研究人員完成了針對第一例SHA-1的碰撞攻擊,創造了兩個hash值完全相同但內容截然不同的文件。然而,在真實的信息安全世界中,這種攻擊又會怎樣對個人和組織機構造成何種威脅呢?
對SHA-1演算法不安全的擔心由來已早。在2015年荷蘭國家數學和計算中心和新加坡南洋理工大學研究員
聯合發表的論文
中,描述了SHA-1碰撞攻擊的各種理論性可能。同時,在
RSA 2016的密碼學家研討會
上,該篇論文得到了很多關注,參會的著名密碼學專家Adi Shamir也預測,真實的SHA-1碰撞攻擊在未來幾個月將會成功實現。在此次會議之後,一些安全公司正式對外宣布SHA-1機制可能存在缺陷;與此同時,因為沒有真實的攻擊成功案例,這種攻擊也帶來了諸多質疑。更多請參考FreeBuf百科《
深度:為什麼Google急著殺死加密演算法SHA-1
》。
但為了防止任何理論攻擊可能,去年開始,一些安全公司開始反對繼續使用SHA-1演算法。儘管谷歌、Facebook、微軟和Mozilla等公司已採取措施替換SHA-1演算法,但哈希函數仍在廣泛使用。當Google和CWI的實驗成功之後,SHA-1碰撞攻擊再次受到關注。這種攻擊已經成為現實,所以,我們應該如何去防範和修復呢?
影響分析
幾年前,針對MD5演算法存在「構造前綴碰撞攻擊」(chosen-prefix collisions),而真實案例中,Flame(火焰)病毒就使用了此種攻擊方法。SHA-1碰撞攻擊實現後,惡意軟體開發者將會創造什麼樣的病毒,值得想像。
在此,我們就針對一些利用微軟簽名校驗的惡意程序,結合SHA-1碰撞作一些攻擊可能的探討。為了說明SHA-1碰撞攻擊的現實威脅,我們找到了一例很有趣的例子:微軟內核模式代碼簽名策略,攻擊針對目標是載入的內核模式驅動程序簽名認證,以下是包括WIN 10在內的該類簽名
規範和要求:
我們可以看到,其中列出的哈希機制就包括SHA-1,所以,毫無疑問,SHA-1碰撞攻擊將會產生驅動簽名濫用情況,為惡意內核代碼程序的利用傳播敞開大門。事實上,SHA-1簽名校驗的驅動程序並不少見,以下就是一些我們發現的實例:
在Win 10系統中,這類存在「風險隱患」的驅動程序是不是就非常少呢?但由於存在很多第三方驅動,所以,情況讓你超乎想像。雖然微軟在最新的系統適配產品中明確反對SHA-1機制認證程序,但很多第三方驅動依然大範圍存在此種情況。另外,在一些之前的操作系統版本(Win 7Win 8)中,還存在著大量且多年未更新的此類驅動。例如:
從這裡就可以看出,SHA-1將會成為很多組織機構和相關係統的一個心頭大患。受影響的系統和服務包括:數字證書籤名、郵件、PGP/GPG 簽名、軟體發布簽名、備份系統、冗餘熱備份系統、Git......等等,除了網路安全之外,影響將會波及很多使用傳統操作系統的大型組織機構。這種很多第三方軟體公司持續使用的,運行機制本身就存在的問題,將會成為一個嚴重的信息安全問題。要保證安全,只有從核心和本質上進行處理,但對很多軟體公司來說,這又會成為一個「牽一髮動全身」的棘手問題。
深入研究之後,我們甚至發現一些固件和硬體也受到此問題影響。例如,普遍使用的僅支持SHA-1驗證的TPM 1.2晶元,SHA-1碰撞攻擊將會直接對一些使用SHA-1演算法的固件可信啟動機製造成影響。在這方面,微軟在Win10系統中已經作了一些限制,如其加密方式不支持TPM1.2晶元。
SHA-1碰撞攻擊的惡夢才剛剛開始,我們應該儘快結束使用SHA-1的時代。谷歌將在接下來的90天內公布SHA-1碰撞攻擊的測試工具。
SHA-1碰撞會被用到一些野生攻擊中嗎?
證據表明,攻擊者必須在擁有原始文件和已知哈希的情況下才能完成碰撞攻擊,另外,由於攻擊利用了定向編輯,不是每次編輯都會有效。換句話說,即使是破解了SSH或TLS的認證證書,也都不可能實現,需要對原始文件進行一些非常細微的定向更改才能保證碰撞攻擊成功。
雖然在某種程度上來說,更改簽名驗證很容易實現,但如果要進行偽裝式的SHA-1碰撞攻擊,想要讓受害者迷惑,完全對看不出馬腳,這就需要對利用文檔進行破壞性的改造,而不只是通常性修改。後續可能會有一些針對SHA-1碰撞攻擊的檢測研究。
總體上來說,要實現該項攻擊需要很大的代價成本。如果攻擊者使用類似於比特幣挖礦的專業裝備和技能,攻擊可能將會變得更加便捷。Google和CWI聲稱,該攻擊實現需要大量的CPU和GPU計算,同時還需高效的分布式操作,攻擊第一階段攻擊是在Google的異質CPU集群上進行的,並擴展至8個物理地址;第二階段攻擊代價更高,是在Google的K20、K40和K80異質GPU集群上進行的。經相關研究人員計算得出,使用亞馬遜雲服務AWS進行第二階段的攻擊,耗資約56萬美元。但是,若攻擊者足夠耐心並利用現場參考案例,成本可降至11萬美元。
如何修復和預防這種攻擊呢?
作為安全和開發團隊來說,最好的方法就是使用SHA-256等更複雜的演算法,或使用兩個獨立的加密演算法。當然,對於攻擊檢測來說,仍然可以使用Google發布的
開源檢測代碼
。
*參考來源:Cylance,FB小編clouds編譯,轉載請註明來自FreeBuf.COM
※手電筒驚現海量Root病毒:私自扣費、強裝病毒、惡意彈窗
※低成本玩轉硬體安全(一) | BadUSB on Arduino
TAG:FreeBuf |
※AI 會對人類的未來產生威脅嗎?我們來看一下它的過往
※現在我們所做的每一件事,都會對將來的生活產生一定的影響
※生命竟是這樣起源的!隕石撞擊產生DNA
※自身不努力,才產生巨大的差距!這就是CBA和NBA的差距!
※在約會中怎麼會讓女生對你產生好感
※當籃球遇上搏擊,會產生怎麼樣的火花呢?
※《戰狼2》的火爆,會對現在的顏值觀影產生影響嗎?
※TED |幸福真的會對人的身體產生影響嗎?
※為什麼你會產生「TA喜歡我」的錯覺?
※iPhone8十連裂 究竟會對蘋果產生什麼影響呢?
※怎樣刺激女生的情緒,從而讓她對你產生好感
※跑步後產生的疲勞感對我們有什麼影響嗎
※她從小有這個夢想,父母極力反對產生衝突,如今終於實現!
※燒開的鋁水倒在iphone6上,會產生怎樣的反應呢?
※人類怎麼了?研究發現很多人竟對Siri動情,甚至產生性幻想!
※這些照片第一感覺是PS,然而確沒有,攝影師只是讓我們產生錯覺
※面試技巧︱別人的自我介紹讓HR產生「咦?」,而你的只讓她覺得「哦。」
※當旗艦機皇遇到發燒HiFi 會產生怎樣的聽覺盛宴
※GV直男演員他們怎麼對同性產生生理反應的?