一個例子的差異惡意軟件分析區塊鏈

                  曲速未來安全區 2018-09-07 22:09
                  分享到:
                  導讀

                  分析惡意軟件的方法有很多種。在這篇文章中,我們舉例說明了一種典型的分析方法:將未知樣本與已知樣本進行比較,以確定未知樣本是否為惡意樣本。

                  分析惡意軟件的方法有很多種。在這篇文章中,我們舉例說明了一種典型的分析方法:將未知樣本與已知樣本進行比較,以確定未知樣本是否為惡意樣本。

                  據悉,在一次約會中,遇到了一個觸發反病毒的PDF文檔。引起了興趣的是,該文件具有與被認為良性的另一文件相同的標題和幾乎相同的大小。那防毒軟件找到了被攻占的文件嗎?下面將揭曉。

                  通常,在執行PDF文檔分析時,首先是PDFiD:最起碼知道了可以在文檔中找到什么。下面在這里采取同樣的開端,但并不打算詳細研究PDFiD制作的報告。

                  首先,下面是比較已知和未知樣本的報告:

                  使用diffdump.py比較兩個報告可以知道這些報告是相同的(文件名除外,它包含在報告中)。然后可以更進一步,使用選項-a為PDF中找到的所有名稱生成報告,而不是僅顯示可能表示惡意行為的名稱。

                  但有相同的結果:報告是相同的。從詞匯PDF語言的角度來看,這些文檔是相同的。但知道它們并不是,它們有一個不同的加密哈希,觸發了反病毒,而另一個沒有。

                  是時候在pdf-parser的幫助下深入研究這些文檔的語法和語義。pdf-parser有一個鮮為人知的選項(-a)來計算PDF文檔中找到的元素和對象的統計信息:

                  比較了2個樣本的統計數據,發現它們是相同的:

                  這是重要的信息:說明樣本和原始文檔具有相同數量和類型的元素和對象,強烈表明它們是相關的。

                  為了嘗試更多地了解這些差異,就讓pdf-parser為這兩個文檔生成完整的報告:

                  除了報告開頭的一些字符之外,報告幾乎完全相同。這是關于這些文件差異的第一個重要線索。而且當比較這些文件開頭的注釋時,更令人注意到它們是相同的,除了行尾字符:\n表示樣本,\r\n表示原始字符:

                  在Windows上,行尾定義為2個字符:回車 換行符(0x0D 0x0A或\r\n)。在Linux上,它是一個單一字符:換行符。

                  也許因為示例是在Linux機器上以某種方式處理的原始文檔的版本,從而導致行尾字符的更改。定義和測試假設的時間:文檔是相同的,除了行尾字符。

                  使用流編輯器sed用\n替換原始文檔中的所有\r\n實例,然后將樣本與已轉換的原始文件進行比較:

                  文件完全相同!

                  結論

                  區塊鏈安全咨詢公司 曲速未來 表示通過此分析得出:明顯顯示兩個文檔是相同的,除了行尾字符。相信這些原來的并不是惡意的,因為可以很簡單地將原始版本轉換為具有eol轉換的樣本,所以能得出結論,樣本不能是惡意的。通常,差異分析不會那么明確,但它仍然是逆向工程師的重要方法。

                  文檔 相同 樣本 字符 報告
                  分享到:

                  1.TMT觀察網遵循行業規范,任何轉載的稿件都會明確標注作者和來源;
                  2.TMT觀察網的原創文章,請轉載時務必注明文章作者和"來源:TMT觀察網",不尊重原創的行為TMT觀察網或將追究責任;
                  3.作者投稿可能會經TMT觀察網編輯修改或補充。