惡意軟件 (Malware 或者 Malicious Software),通常是指計算機程序員以任意編程語言編寫的被(bèi)用來傷害計算機操作系統或從用戶,組織或公司系統中竊取敏感數據的計算機軟件。而惡意軟件分析 (Malware Analysis)通常是指解析惡意軟件不同的組件和研究其在主機計算機操作系統中的行爲。通過(guò)惡意軟件分析,我們可以了解惡意軟件的結構和對(duì)計算機主機造成(chéng)的影響,從而我們可以更從容的對(duì)惡意軟件進(jìn)行防禦。
惡意軟件分析通常有兩(liǎng)種(zhǒng)主要技術:
1, 靜态惡意軟件分析:這(zhè)通常是指對(duì)惡意軟件的靜态信息進(jìn)行分析,通過(guò)分解惡意軟件二進(jìn)制文件的不同資源和學(xué)習每個組件來完成(chéng)。二進(jìn)制文件可以用一個分解裝置分解(逆向(xiàng)工程),例如IDA。機器代碼可以被(bèi)翻譯成(chéng)彙編代碼從而可以被(bèi)讀出和被(bèi)人類理解,而惡意軟件分析人員也可以通過(guò)解讀彙編指令,以了解惡意軟件的目的,并通過(guò)靜态分析找到消除惡意軟件感染的辦法。
2, 動态惡意軟件分析:這(zhè)通常是指觀察和記錄在主機上運行惡意軟件時的行爲和動态。虛拟機和沙箱被(bèi)廣泛地用于這(zhè)種(zhǒng)類型的分析。通過(guò)模拟一個用戶主機系統,在運行中使用調試器按步驟觀察惡意軟件對(duì)處理器和内存,以及系統數據産生的變化,惡意軟件分析人員可以了解到惡意軟件的意圖和可能(néng)對(duì)系統造成(chéng)的傷害。
Veeam提供了一個強大,高效,以及開(kāi)放的惡意軟件及URL分析平台,我們集成(chéng)了靜态分析和動态分析,爲用戶提供了了解和研究惡意軟件所需的各種(zhǒng)信息。
Cuckoo沙盒是一個開(kāi)源的自動化惡意軟件分析系統。它可以被(bèi)用來自動運行和分析文件,并收集各種(zhǒng)分析結果,以此來概括惡意軟件在一個隔離的Windows操作系統中的行爲。Cuckoo沙盒項目起(qǐ)源于2010年的Google Summer of Code project,由Claudio “nex” Guarnieri 創造和設計。Cuckoo沙盒項目仍在持續的開(kāi)發(fā)和維護中。
Cuckoo沙盒由一個主機系統(運行管理程序)和一系列客戶端系統(運行虛拟機分析)組成(chéng)。主機系統包含了管理各種(zhǒng)惡意軟件分析的核心組件,而客戶端系統裝載了可以運行和分析惡意軟件的隔離環境。Cuckoo沙盒運行一個中央管理程序來協調樣(yàng)本程序的執行和分析,每一次分析都(dōu)會(huì)被(bèi)運行在一個幹淨和隔離的虛拟機系統。
想了解更多關于Cuckoo沙盒的信息和動态,請關注:Cuckoo Sandboxing。
Optiv公司在Cuckoo沙盒的基礎上做出了大量修改和優化,在General Public License (GPL)協議下,提供了一個改動版本的Cuckoo。與标準的cuckoo沙盒相比,改動版本的cuckoo增加了大量的功能(néng),和提供了更大的擴展性。關于改動版本的Cuckoo的具體信息,請參考:Cuckoo-modifed。
Veeam大量運用了改動版本的Cuckoo提供的功能(néng)和擴展性,并與Optiv公司一樣(yàng),對(duì)Veeam的代碼遵循GPL協議。
VirusTotal (Google的子公司)是一個提供免費的文件和URL病毒掃描服務的網站。它與傳統殺毒軟件的不同之處是它通過(guò)多種(zhǒng)反病毒引擎掃描文件,以判斷文件是否被(bèi)病毒, 蠕蟲, 木馬, 以及各類惡意軟件感染。這(zhè)樣(yàng)大大減少了殺毒軟件誤報或未檢出病毒的概率,其檢測率優于使用單一産品。目前其反病毒引擎已經(jīng)多達50種(zhǒng)以上。
更多關于VirusTotal的信息, 請訪問:VirusTotal。
哈希(Hash)是一種(zhǒng)單項散列或單項密碼體制,它是一個從明文到密文的不可逆函數,也就是說,是無法解密的。通常應用在隻需要加密、不需要解密的特殊應用場合。哈希(Hash)函數H(M)作用于一任意長(cháng)度的消息M,它返回一固定長(cháng)度的散列值h:h=H(M)作爲初始消息的獨一無二的“數字指紋”,通過(guò)校驗“數字指紋”可疑保證數據的完整性和惟一性。在信息安全和惡意軟件分析領域,我們通常會(huì)計算樣(yàng)本文件的哈希值,并通過(guò)比較樣(yàng)本文件的哈希值進(jìn)行文件掃描的搜索或者唯一性檢查。
Veeam對(duì)用戶提交的每一個樣(yàng)本文件都(dōu)通過(guò)不同的加密算法計算了多種(zhǒng)業界常用的哈希值,包括MD5, SHA1, SHA256, 及SHA512。
MD5即Message-Digest Algorithm 5(信息-摘要算法 5),用于确保信息傳輸完整一緻。是計算機廣泛使用的哈希算法之一(又譯摘要算法、散列算法)。 MD5是輸入不定長(cháng)度信息,輸出固定長(cháng)度128-bits的算法。經(jīng)過(guò)程序流程,生成(chéng)四個32位數據,最後(hòu)聯合起(qǐ)來成(chéng)爲一個128-bits散列。基本方式爲,求餘、取餘、調整長(cháng)度、與鏈接變量進(jìn)行循環運算,得出結果。MD5的前身有MD2、MD3和MD4。MD5一度被(bèi)廣泛應用于安全領域。但是由于MD5的弱點被(bèi)不斷發(fā)現以及計算機能(néng)力不斷的提升,現在已經(jīng)可以構造兩(liǎng)個具有相同MD5的信息,使該算法不再适合當前的安全環境。
SHA-1在許多安全協議中廣爲使用,包括TLS和SSL、PGP、SSH、S/MIME和IPsec,曾被(bèi)視爲是MD5(更早之前被(bèi)廣爲使用的散列函數)的後(hòu)繼者。但SHA-1的安全性如今也被(bèi)密碼學(xué)家嚴重質疑。
SHA-224、SHA-256、SHA-384,和SHA-512并稱爲SHA-2。SHA-2并沒(méi)有接受像SHA-1一樣(yàng)的公衆密碼社區做詳細的檢驗,所以它們的密碼安全性還(hái)不被(bèi)大家廣泛的信任。SHA-2的算法與SHA-1基本上仍然相似,目前還(hái)尚未出現對(duì)SHA-2有效的攻擊。SHA256當前被(bèi)廣泛應用于惡意軟件分析中的文件樣(yàng)本唯一性标識及搜索。
Veeam還(hái)對(duì)用戶提交的每一個樣(yàng)本文件都(dōu)計算了CRC32。 CRC, 即循環冗餘校驗碼(Cyclic Redundancy Check), 是數據通信領域中最常用的一種(zhǒng)查錯校驗碼,其特征是信息字段和校驗字段的長(cháng)度可以任意選定。
模糊哈希算法又叫(jiào)基于内容分割的分片哈希算法(context triggered piecewise hashing, CTPH),主要用于文件的相似性比較。2006年,Jesse Kornblum 提出CTPH,并給出一個名爲spamsum的算法實例。随後(hòu),Jason Sherman開(kāi)發(fā)了ssdeep 工具以實現這(zhè)一算法。該算法最初用于取證,後(hòu)來被(bèi)用于惡意代碼檢測,最近又有用于開(kāi)源軟件漏洞挖掘等。
模糊哈希的主要原理是,使用一個弱哈希計算文件局部内容,在特定條件下對(duì)文件進(jìn)行分片,然後(hòu)使用一個強哈希對(duì)文件每片計算哈希值,取這(zhè)些值的一部分并連接起(qǐ)來,與分片條件一起(qǐ)構成(chéng)一個模糊哈希結果。使用一個字符串相似性對(duì)比算法判斷兩(liǎng)個模糊哈希值的相似度有多少,從而判斷兩(liǎng)個文件的相似程度。對(duì)文件的部分變化(包括在多處修改、增加、删除部分内容),使用模糊哈希均能(néng)發(fā)現與源文件的相似關系,是目前判斷相似性較好(hǎo)的一種(zhǒng)方法。
Veeam對(duì)用戶提交的每一個樣(yàng)本文件都(dōu)進(jìn)行了Ssdeep的計算,Ssdeep值可以用于惡意軟件的變種(zhǒng)檢測。想了解Ssdeep的最新内容,請訪問 Ssdeep
YARA是一款旨在幫助惡意軟件分析者識别和分類惡意軟件樣(yàng)本的開(kāi)源工具(由virustotal的軟件工程師Victor M. Alvarezk開(kāi)發(fā))。Yara是一個特别靈活的惡意軟件識别和分類引擎,可以利用YARA創建規則以檢測字符串、入侵序列、正則表達式、字節模式等。YARA的每一條描述或規則都(dōu)由一系列字符串和一個布爾型表達式構成(chéng),并闡述其邏輯。使用YARA可以基于文本或二進(jìn)制模式創建惡意軟件類型描述信息,當然也可以是其他匹配信息。
Veeam裝載了Yara掃描引擎,并集成(chéng)了Yara全球社區及Veeam所開(kāi)發(fā)的Yara規則,以幫助用戶對(duì)惡意軟件的特征進(jìn)行判斷。
Malheur最初是由德國(guó)哥廷根大學(xué)的Konrad Rieck開(kāi)發(fā)的一種(zhǒng)創新的自動化的惡意軟件分析工具,它在沙箱(sandbox)中記錄惡意軟件的程序行爲并進(jìn)行自動化分析。Malheur是一種(zhǒng)啓發(fā)式引擎,它基于文件的啓發(fā)式掃描技術,可以根據文件屬性,檢測常規的未知惡意軟件。Malheur能(néng)夠識别具有類似行爲的惡意軟件,從而幫助發(fā)現未知的惡意軟件和對(duì)新的惡意軟件進(jìn)行分類。
Veeam將(jiāng)Malheur分析集成(chéng)在沙盒掃描中。當用戶提交的惡意軟件二進(jìn)制文件在魔盾沙盒系統中執行時,文件的行爲被(bèi)監控和記錄。Malheur對(duì)這(zhè)些行爲記錄進(jìn)行分析,發(fā)現和使用機器學(xué)習識别惡意軟件類型,對(duì)于已分析的類似的惡意軟件,Malheur可以智能(néng)的將(jiāng)它們聚合起(qǐ)來。
想了解關于Malheur的具體信息,請訪問:Malheur - Automatic Analysis of Malware Behavior
Veeam將(jiāng)WPing.org信譽集成(chéng)在沙盒掃描中。當用戶提交的惡意軟件二進(jìn)制文件在魔盾沙盒系統中調用網絡時,行爲被(bèi)監控和記錄。WPing對(duì)這(zhè)些行爲記錄的IP和域名給出對(duì)應的分數。
想了解關于WPing的具體信息,請訪問:WPing - IP and Domain Reputation System