2016年的第一天,Mozilla終止了對Firefox瀏覽器中名為SHA-1的安全技術的支援。他們幾乎立刻改變了自己的決定,因為這將減少對一些舊網站的訪問。但在2017年2月,他們的擔憂終於成真:研究人員**了第一次真實世界的碰撞攻擊,打破了SHA-1。這就是一切的含義。
SHA-1中的SHA代表安全雜湊演算法,簡單地說,您可以把它看作是一種數學問題或方法,它對放入其中的資料進行置亂。它由美國****局開發,是許多用於加密網際網路上重要傳輸的技術的核心元件。常見的加密方法SSL和TLS(您可能聽說過)可以使用類似SHA-1的雜湊函式來建立您在瀏覽器工具欄中看到的簽名證書。
我們不會深入研究任何SHA函式的數學和電腦科學,但這裡是基本的想法。“雜湊”是基於任何資料輸入的唯一程式碼。即使是輸入像SHA-1這樣的雜湊函式的小而隨機的字母串,也會返回一個長而固定的字元數,這使得(可能)無法將字串恢復為原始資料。密碼儲存通常就是這樣工作的。當您建立密碼時,您的密碼輸入將被雜湊並由伺服器儲存。當您返回時,當您輸入密碼時,它會再次雜湊。如果它與原始雜湊匹配,則可以假定輸入是相同的,並且您將被授予訪問資料的許可權。
雜湊函式之所以有用,主要是因為它們可以很容易地判斷輸入(例如,檔案或密碼)是否已更改。當輸入資料是機密的(如密碼)時,雜湊幾乎不可能反轉和恢復原始資料(也稱為“金鑰”)。這與“加密”有點不同,後者的目的是對資料進行加擾,以便稍後使用密碼和金鑰對其進行解擾。雜湊只是為了確保資料的完整性——確保所有內容都是相同的。Git是一種用於開原始碼的版本控制和分發軟體,它使用SHA-1雜湊就是出於這個原因。
這是大量的技術資訊,但簡單地說:雜湊和加密不是一回事,因為它用於識別檔案是否已更改。
假設你需要私下訪問一個網站。你的銀行,你的電子郵件,甚至你的Facebook賬戶——都使用加密來保護你傳送給他們的資料的隱私。專業網站將透過從受信任的機構(第三方)獲得證書來提供加密,該機構受信任以確保加密在同一級別,在網站和使用者之間是私有的,並且不被任何其他方監視。與第三方(稱為證書頒發機構(certificateauthorities)或CA)的這種關係至關重要,因為任何使用者都可以建立“自簽名”證書—您甚至可以在執行帶有openssl的Linux的機器上自己建立。例如,Symantec和Digicert是兩個廣為人知的CA公司。
讓我們來看一個理論場景:How To Geek希望透過加密使登入使用者的會話保持私有,因此它向類似於Symantec的CA請求證書籤名請求,即CSR。它們建立一個公鑰和私鑰,用於加密和解密透過internet傳送的資料。CSR請求將公鑰與網站資訊一起傳送給Symantec。賽門鐵克對照其記錄檢查金鑰,以驗證資料是否被所有各方更改,因為資料中的任何微小更改都會使雜湊完全不同。
這些公鑰和數字證書由雜湊函式簽名,因為這些函式的輸出很容易看到。一個來自Symantec(在我們的例子中是一個權威機構)的公鑰和證書,帶有一個經過驗證的雜湊,它可以向用戶保證該金鑰是不變的,而不是由惡意的人傳送的。
因為雜湊很容易監控,而且不可能(有些人會說“很難”)反轉,正確的、經過驗證的雜湊簽名意味著證書和連線可以被信任,並且資料可以被同意從端到端加密傳送。但如果雜湊不是唯一的呢?
你可能聽說過數學中的“生日問題”,儘管你可能不知道它叫什麼。最基本的想法是,如果你**了足夠多的人,兩個或更多的人會有相同的生日的可能性是相當高的。事實上,比你預期的要高——這似乎是個奇怪的巧合。在一個只有23人的小組裡,有50%的機率兩個人共用一個生日。
這是所有雜湊中固有的弱點,包括SHA-1。理論上,SHA函式應該為放入其中的任何資料建立一個唯一的雜湊,但是隨著雜湊數的增加,不同的資料對更有可能建立相同的雜湊。因此可以建立一個與可信證書具有相同雜湊的不可信證書。如果他們讓你安裝不可信的證書,它可能偽裝成可信的,並分發惡意資料。
在兩個檔案中找到匹配的雜湊稱為衝突攻擊。已知MD5雜湊至少發生過一次大規模的衝突攻擊。但在2017年2月27日,谷歌宣佈了SHA-1有史以來首次**的碰撞。儘管內容不同,Google還是能夠建立一個與另一個PDF檔案具有相同SHA-1雜湊的PDF檔案。
在PDF檔案上執行。PDF是一種相對鬆散的檔案格式;可以進行許多微小的位級更改,而不會阻止讀卡器開啟它或造成任何可見的差異。PDF也經常被用來傳遞惡意軟體。雖然branched可以處理其他型別的檔案,比如iso,但是證書是嚴格指定的,這使得這種攻擊不太可能發生。
那麼這種攻擊有多容易執行呢?粉碎是基於馬克·史蒂文斯(Marc Stevens)在2012年發現的一種方法,該方法需要超過260.3(9223.5百萬)個SHA-1操作——這是一個驚人的數字。然而,這種方法仍然比用暴力達到同樣結果所需的操作少100000倍。谷歌發現,110個高階顯示卡並行工作,大約需要一年時間才能產生衝突。從Amazon AWS租用這個計算時間大約需要11萬美元。請記住,隨著電腦部件價格的下降,你可以用更少的錢獲得更多的能量,像“粉碎”這樣的攻擊變得更容易實施。
11萬美元看起來可能很多,但對於一些組織來說,這是可以承受的範圍,這意味著現實生活中的網路工作者可能偽造數字文件簽名,干擾Git和SVN等備份和版本控制系統,或者使惡意的Linux ISO看起來合法。
幸運的是,有一些緩解因素可以防止此類攻擊。SHA-1已經很少用於數字簽名了。證書頒發機構不再提供用SHA-1簽名的證書,Chrome和Firefox都不再支援它們。Linux發行版通常每年釋出一次以上,這使得攻擊者無法建立惡意版本,然後生成一個填充的具有相同SHA-1雜湊的版本。
另一方面,一些基於碎片的攻擊已經在現實世界中發生。SVN版本控制系統使用SHA-1來區分檔案。將兩個具有相同SHA-1雜湊的pdf上載到SVN儲存庫將導致其損壞。
對於典型的使用者來說,沒有什麼可以做的。如果您使用校驗和來比較檔案,那麼應該使用SHA-2(SHA-256)或SHA-3,而不是SHA-1或MD5。同樣,如果您是一名開發人員,請務必使用更現代的雜湊演算法,如SHA-2、SHA-3或bcrypt。如果你擔心sharthed被用來給兩個不同的檔案提供相同的雜湊,谷歌已經在sharthed網站上釋出了一個工具,可以為你檢查。
圖片來源:樂高火狐,大量的雜湊,請不要傷害網路作者未知,谷歌。
Linux看起來像什麼?那是個很難回答的問題。與Windows和macOS不同的是,Linux看起來不像什麼東西。不過,通常情況下,它看起來像KDE。那是什麼意思?讓我解釋一下。 ...
...電腦是否被駭客入侵併不總是容易的,這會讓你很難知道什麼時候該採取行動。但是有一些跡象可以告訴你有人已經進入了你的機器。留意這些指標,如果你看到任何,一定要盡你所能阻止它! ...
...; 截至發稿時,仍不清楚洩露的資訊是如何或為什麼花了四年時間才出現的,但現在,Dropbox已經採取了預防措施,向他們認為受到影響的賬戶傳送電子郵件,並提示重新設定密碼。 我們所知道的 2012年,Dropbox宣...
...接掏腰包。然而,值得注意的是,他們沒有說他們認為是什麼“直接結果”。在披露之後的幾天裡,《登記冊》報道說,外部支付指令碼可能是這次攻擊的罪魁禍首。安全公司RiskIQ表示,這次攻擊很可能是由一個名為Magecart的組...
... 瞭解密碼恢復程式正在做什麼也很有用。Microsoft Office密碼恢復程式分為兩類:刪除工具和恢復工具。兩者都有用,但用途略有不同。此外,瞭解密碼的作用。 ...
...你只需要知道原始檔案的校驗和。 md5、sha-1和sha-256和有什麼區別? 校驗和是確保檔案沒有錯誤的有用方法。如果由於下載問題或硬碟驅動器問題而發生隨機錯誤,那麼產生的校驗和將不同,即使只是一個很小的錯誤。 然而,這...
...HA-256雜湊顯示在你的網際網路旅行下載,但不知道他們是什麼。這些看似隨機的文字字串允許您驗證下載的檔案是否已損壞或被篡改。您可以使用Windows、macOS和Linux中內建的命令來實現這一點。 雜湊如何工作,以及它們如何用於...
...路釣魚有何不同 如果說傳統的網路釣魚是撒網以圖抓到什麼東西的行為,那麼魚叉式網路釣魚則是針對特定的個人或組織,並針對他們個人定製攻擊的行為。 雖然大多數網路釣魚郵件都不是很具體,但魚叉式網路釣魚攻擊使用...