一個(gè)例子的差異惡意軟件分析區(qū)塊鏈
分析惡意軟件的方法有很多種。在這篇文章中,我們舉例說明了一種典型的分析方法:將未知樣本與已知樣本進(jìn)行比較,以確定未知樣本是否為惡意樣本。
分析惡意軟件的方法有很多種。在這篇文章中,我們舉例說明了一種典型的分析方法:將未知樣本與已知樣本進(jìn)行比較,以確定未知樣本是否為惡意樣本。
據(jù)悉,在一次約會(huì)中,遇到了一個(gè)觸發(fā)反病毒的PDF文檔。引起了興趣的是,該文件具有與被認(rèn)為良性的另一文件相同的標(biāo)題和幾乎相同的大小。那防毒軟件找到了被攻占的文件嗎?下面將揭曉。
通常,在執(zhí)行PDF文檔分析時(shí),首先是PDFiD:最起碼知道了可以在文檔中找到什么。下面在這里采取同樣的開端,但并不打算詳細(xì)研究PDFiD制作的報(bào)告。
首先,下面是比較已知和未知樣本的報(bào)告:
使用diffdump.py比較兩個(gè)報(bào)告可以知道這些報(bào)告是相同的(文件名除外,它包含在報(bào)告中)。然后可以更進(jìn)一步,使用選項(xiàng)-a為PDF中找到的所有名稱生成報(bào)告,而不是僅顯示可能表示惡意行為的名稱。
但有相同的結(jié)果:報(bào)告是相同的。從詞匯PDF語言的角度來看,這些文檔是相同的。但知道它們并不是,它們有一個(gè)不同的加密哈希,觸發(fā)了反病毒,而另一個(gè)沒有。
是時(shí)候在pdf-parser的幫助下深入研究這些文檔的語法和語義。pdf-parser有一個(gè)鮮為人知的選項(xiàng)(-a)來計(jì)算PDF文檔中找到的元素和對(duì)象的統(tǒng)計(jì)信息:
比較了2個(gè)樣本的統(tǒng)計(jì)數(shù)據(jù),發(fā)現(xiàn)它們是相同的:
這是重要的信息:說明樣本和原始文檔具有相同數(shù)量和類型的元素和對(duì)象,強(qiáng)烈表明它們是相關(guān)的。
為了嘗試更多地了解這些差異,就讓pdf-parser為這兩個(gè)文檔生成完整的報(bào)告:
除了報(bào)告開頭的一些字符之外,報(bào)告幾乎完全相同。這是關(guān)于這些文件差異的第一個(gè)重要線索。而且當(dāng)比較這些文件開頭的注釋時(shí),更令人注意到它們是相同的,除了行尾字符:\n表示樣本,\r\n表示原始字符:
在Windows上,行尾定義為2個(gè)字符:回車 換行符(0x0D 0x0A或\r\n)。在Linux上,它是一個(gè)單一字符:換行符。
也許因?yàn)槭纠窃贚inux機(jī)器上以某種方式處理的原始文檔的版本,從而導(dǎo)致行尾字符的更改。定義和測試假設(shè)的時(shí)間:文檔是相同的,除了行尾字符。
使用流編輯器sed用\n替換原始文檔中的所有\(zhòng)r\n實(shí)例,然后將樣本與已轉(zhuǎn)換的原始文件進(jìn)行比較:
文件完全相同!
結(jié)論
區(qū)塊鏈安全咨詢公司 曲速未來 表示通過此分析得出:明顯顯示兩個(gè)文檔是相同的,除了行尾字符。相信這些原來的并不是惡意的,因?yàn)榭梢院芎唵蔚貙⒃及姹巨D(zhuǎn)換為具有eol轉(zhuǎn)換的樣本,所以能得出結(jié)論,樣本不能是惡意的。通常,差異分析不會(huì)那么明確,但它仍然是逆向工程師的重要方法。
1.TMT觀察網(wǎng)遵循行業(yè)規(guī)范,任何轉(zhuǎn)載的稿件都會(huì)明確標(biāo)注作者和來源;
2.TMT觀察網(wǎng)的原創(chuàng)文章,請(qǐng)轉(zhuǎn)載時(shí)務(wù)必注明文章作者和"來源:TMT觀察網(wǎng)",不尊重原創(chuàng)的行為TMT觀察網(wǎng)或?qū)⒆肪控?zé)任;
3.作者投稿可能會(huì)經(jīng)TMT觀察網(wǎng)編輯修改或補(bǔ)充。