自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

惡意軟件作者演示愚蠢的加密錯誤,安全專家或可輕易破解

安全 黑客攻防
密碼學確實非常的深奧,很多軟件開發(fā)者在實現(xiàn)加密的過程中或多或少都會犯錯誤。甚至在目前的十大開源Web應用程序安全項目中,開發(fā)人員在實現(xiàn)加密的過程中同樣會犯一些很白癡的錯誤,更何況那些唯利是圖的犯罪分子呢?

事實證明,由于犯罪分子的技術(shù)水平參差不齊,因此他們在開發(fā)惡意軟件的過程中經(jīng)常會犯一些愚蠢的錯誤。一旦惡意軟件的加密過程出現(xiàn)問題,安全研究專家就可以輕易地破解這些惡意軟件。

想要編寫安全的代碼是一件非常具有挑戰(zhàn)性的事情,而正確地在軟件中使用加密算法則更加需要下苦功夫。即便是經(jīng)驗豐富的開發(fā)人員也經(jīng)常會犯一些愚蠢的錯誤。如果你的目標是為了在短時間內(nèi)通過詐騙手段來獲取金錢的話,那么你的軟件質(zhì)量可能就不會盡如人意了。如果軟件的加密體系設計不當?shù)脑?,你的代碼中絕對會存在非常嚴重的加密錯誤。

只為實現(xiàn)自己的目的,完全不考慮其他

實際上,很多惡意軟件的開發(fā)者在“如何錯誤使用加密算法”上已經(jīng)給我們提供了非常豐富的經(jīng)驗和教訓了。很多惡意軟件的作者通常會直接在他們的惡意代碼中加入加密算法,他們不會像合法軟件的開發(fā)者那樣去為自己的軟件設計合適的加密算法,因為犯罪分子一般不會去考慮惡意軟件的代碼質(zhì)量或者設計規(guī)范。他們往往只會關(guān)心這款惡意軟件是否能夠滿足他們的犯罪需求,其他的因素并不在他們的考慮范圍之內(nèi)。

實際上,有時可能因為開發(fā)時間有限,或者是開發(fā)人員并不理解某些加密算法的具體工作機制,所以代碼中的漏洞往往是不可避免的。但是,很多惡意軟件的作者甚至都不知道如何去正確使用加密工具。無論你是專業(yè)的或是業(yè)余的惡意軟件作者,你都不得不承認加密算法的正確使用在惡意軟件的開發(fā)過程中是至關(guān)重要的一環(huán)。

[[175452]]

有的惡意軟件屬于勒索軟件,攻擊者可以使用勒索軟件來從受害人身上勒索錢財。當攻擊者需要通過C&C服務器來與受感染設備進行通信時,同樣需要使用到惡意軟件來實現(xiàn)隱藏通信。除此之外,攻擊者有時也會需要使用惡意軟件來躲避安全工具的檢測。但是安全分析表明,目前有很多惡意軟件在使用加密算法時都存在各種各樣的問題。

知其然,而不知其所以然

比如說銀行木馬Zeus和Linux勒索軟件Linux.Encoder的開發(fā)者就陷入了這種誤區(qū),他們其實在采用加密算法之前并沒有真正理解這些加密算法內(nèi)部的運行機制。

銀行木馬Zeus的開發(fā)者在對Zeus與C&C服務器的通信數(shù)據(jù)進行加密時,雖然選用的是著名的流加密算法RC4,但是他們卻對算法進行了一些修改。他們將流數(shù)據(jù)通過RC4算法加密完成之后,會用數(shù)據(jù)中的每一個字節(jié)與下一個字節(jié)進行異或運算,從而生成新的加密數(shù)據(jù)。雖然RC4算法有其自身的安全缺陷,但是這個算法的安全性對于Zeus來說,已經(jīng)是綽綽有余了。而開發(fā)人員所進行的額外修改看似增加了數(shù)據(jù)的復雜程度,但實際上卻有些畫蛇添足的意味。

Linux.Encoder的開發(fā)者在為rand()函數(shù)選擇隨機數(shù)生成種子的時候使用的是當前的時間戳,并通過這個隨機數(shù)來生成加密密鑰。但是安全研究人員發(fā)現(xiàn),通過這種方式生成的勒索軟件密鑰是非常容易被破解的。于是乎,該勒索軟件的作者又嘗試通過對時間戳進行八次哈希計算來生成一個AES密鑰。

安全研究專家表示:

“連續(xù)使用一個哈希函數(shù)來對輸出數(shù)據(jù)進行八次計算的這種行為足以表明,這些開發(fā)者其實根本就沒有真正理解哈希函數(shù)的作用。實際上,這種行為反而會大大降低程序的安全性。”

純粹的復制粘貼

安全研究專家發(fā)現(xiàn),很多惡意軟件的開發(fā)者通常會直接將某些看似可用的代碼復制到自己的項目中。這些代碼塊從表面上看似乎的確是一個可行的方案,但是他們卻并不了解復制過來的代碼塊是如何工作的。其實,復制粘貼他人的代碼也并不是什么大問題,如果這也成問題的話,那么StackOverflow這個網(wǎng)站也沒有存在的必要了。但是,如果開發(fā)者無法真正了解代碼塊的運行機制,那么他們又怎么能夠確定這段代碼是一個切實可行的解決方案呢?

勒索軟件CryptoDefense就是一個很好的例子。這款勒索軟件的很多功能都是從勒索軟件CryptoLocker身上抄襲過來的,比如說RSA2048加密,通過比特幣支付贖金,以及通過Tor網(wǎng)絡來與C&C服務器通信等等。除此之外,這款勒索軟件在實現(xiàn)RSA加密的過程中還使用了Windows的加密API,而這些加密代碼我們都可以在MicrosoftDeveloper Network的開發(fā)文檔中找到。

[[175453]]

安全研究專家表示:

“根據(jù)開發(fā)文檔的描述,如果程序中的flag設置錯誤的話,那么應用程序?qū)衙荑€保存在本地。而CryptoDefense的作者沒有正確設置這個flag,所以安全研究人員就可以直接在受害者的主機中找到解密密鑰。”

社會工程學

實際上,這些犯罪分子所犯的錯誤并不僅僅只有編碼錯誤而已,對于惡意軟件的開發(fā)者而言,社會工程學技術(shù)就是實現(xiàn)攻擊的一種捷徑。如果目標用戶是“傻白甜”的話,那么他們其實根本就不需要去設計什么“完美的加密體系”,因為“欺騙”往往更加的容易。而且對于普通用戶而言,勒索軟件所采用的加密算法根本就不重要。

Nemucod是一款JavaScript木馬,而近期這款木馬卻轉(zhuǎn)型成了勒索軟件。安全研究專家通過分析發(fā)現(xiàn),雖然這款勒索軟件聲稱自己采用了RSA-1024加密,但它實際上使用的只是一種簡單的異或密碼。除此之外,在用戶的文件真正被加密之前,Nemucod會將勒索信息顯示給用戶。

Nemucod的開發(fā)者認為:

“當受害者看見“RSA-1024加密算法”這幾個字之后,可能就會被嚇到。這樣一來,他們就不會去仔細研究我們的勒索軟件了,而且有的用戶甚至可能會直接向我們支付贖金。”

總結(jié)

密碼學確實非常的深奧,很多軟件開發(fā)者在實現(xiàn)加密的過程中或多或少都會犯錯誤。甚至在目前的十大開源Web應用程序安全項目中,開發(fā)人員在實現(xiàn)加密的過程中同樣會犯一些很白癡的錯誤,更何況那些唯利是圖的犯罪分子呢?

責任編輯:武曉燕 來源: FreeBuf
相關(guān)推薦

2012-02-16 13:43:42

2011-08-11 14:17:24

2017-01-15 21:22:38

2012-10-31 17:43:27

2015-05-28 11:15:55

2015-10-09 10:35:08

2019-11-20 15:09:25

安全威脅SSL加密

2013-08-20 17:14:56

Malwarebyte反惡意軟件

2012-03-07 10:56:36

2021-12-27 15:41:23

macOS漏洞惡意軟件

2011-07-14 19:53:58

網(wǎng)秦手機Android

2016-09-20 23:22:04

2009-07-09 09:15:22

2009-04-10 23:45:19

2021-11-25 11:44:58

信息安全惡意軟件首席信息安全官

2021-10-10 12:43:44

惡意軟件加密流量網(wǎng)絡攻擊

2017-06-14 16:41:02

2021-10-22 09:29:08

惡意軟件黑客Cookie

2019-05-09 10:51:29

惡意軟件加密通信網(wǎng)絡攻擊

2024-10-28 15:22:13

點贊
收藏

51CTO技術(shù)棧公眾號