SlideShare une entreprise Scribd logo
1  sur  57
Télécharger pour lire hors ligne
Some things about classification and
traceability of Malware
(關於惡意程式分類與溯源的二三事)
Canaan Kao
canaan@totoro.cs.nthu.edu.tw
canaan_kao@trend.com.tw
2015/08/19 Some things about Malware Classification 1
Who am I?
• 在一家做 IDS/IPS 的公司,寫了十幾年的 code,後
來不小心成為 Anti-Virus 廠商的員工。
• 在當學生的時候,執行了教育部的 Anti-botnet 計
畫五年,辦了五屆的 Botnet of Taiwan (BoT)研討會。
– 不要問我今年有沒有 BoT2015?
• 主要的研究興趣在於 network security, intrusion
detection system, reversing engineering, malware
detection and embedded system.
2015/08/19 Some things about Malware Classification 2
Agenda
• 關於 Malware/AV 產業 的一些資訊
• 為什麼我們要收集到 Malware 樣本?
• 要怎麼收集 Malware 樣本呢?
• 一些簡單的 Malware 分類法 (素人可用)
• 結論
2015/08/19 Some things about Malware Classification 3
• 關於 Malware/AV 產業 的一些資訊
2015/08/19 Some things about Malware Classification 4
關於 Malware/AV 產業 的一些資訊
• 長久以來,對 Anti-virus (AV)產業來說,偵
測已知病毒是比較容易,偵測未知病毒是
比較難的。
• 然而十年來,病毒樣本的數量呈指數型成
場,對AV產業來說,也不是那麼好處理了。
2015/08/19 Some things about Malware Classification 5
關於 Malware/AV 產業 的一些資訊
2015/08/19 Some things about Malware Classification 6
關於 Malware/AV 產業 的一些資訊
2015/08/19 Some things about Malware Classification 7
關於 Malware/AV 產業 的一些資訊
• The malware samples are increasing
exponentially.
– 沒錯,這是”失衡的數位軍火發展”.
– Checksum-based rule set is a solution for AV
industry to saving manpower.
– A whole/partial file checksum.
– MD5, SHA1 and SHA256 are used by AV industry.
2015/08/19 Some things about Malware Classification 8
關於 Malware/AV 產業 的一些資訊
• 以 ClamAV 為例
– String-based rule 長這樣
• Worm.Bagle.H-zippwd-1
(Clam)=70617373*6170706c69636174696f6e2f6f6374
65742d73747265616d3b*6e616d653d*2e7a6970*0a5
545734442416f414151414141*4141414141
• 需要知道怎麼從病毒樣本裡面選病毒碼,要不然誤
判就麻煩了。
– MD5-based rule 長這樣
• a6d8dd5184301ac43290ec2684cfeaa5:79512:Win.Troja
n.Ransom-2205
• 除非 hash collision,要不然不會誤判  適合自動化.
2015/08/19 Some things about Malware Classification 9
關於 Malware/AV 產業 的一些資訊
• 雲端要怎麼用?
–如果 local 無法確定檔案的好壞
–就上雲端查吧
–看是把 file checksum 傳上去查
–或是 把 file 本體 傳上去查
–慢?可能會。
2015/08/19 Some things about Malware Classification 10
關於 Malware/AV 產業 的一些資訊
• The rule distribution of ClamAV in 2010.
2015/08/19 Some things about Malware Classification 11
關於 Malware/AV 產業 的一些資訊
• The rule distribution of ClamAV on 2015/04/14.
2015/08/19 Some things about Malware Classification 12
MD5-based Others Total
Number 3,686,236 109,962 3,796,198
Percentage 97% 3% 100%
關於 Malware/AV 產業 的一些資訊
• 依照上面那個表所透露的訊息,在目前這個
年代,只要你會算 file checksum (md5, sha1,
sha256),知道怎麼怎麼查找 file checksum
database,你就可以寫掃毒軟體 
2015/08/19 Some things about Malware Classification 13
• 為什麼我們要收集 Malware 樣本?
2015/08/19 Some things about Malware Classification 14
為什麼我們要收集 Malware 樣本?
• 1. 對於偵測病毒檔案本身,有病毒樣本,
才有偵測率。
• 2. 記錄它在 OS 裡面 I/O 與 網路上的 I/O 用
來當作日後偵測或鑑識其行為的依據。
• 3. 當作日後交換與分享的籌碼。
• 4. 研究這 “失衡的數位軍火發展” 到底有多
失衡 
– 為什麼壞人會的,我們都不會?
2015/08/19 Some things about Malware Classification 15
為什麼我們要收集 Malware 樣本?
2015/08/19 Some things about Malware Classification 16
• 要怎麼收集 Malware 樣本?
2015/08/19 Some things about Malware Classification 17
要怎麼收集 Malware 樣本?
• 1. 跟同好交換
• 2. 抓好心人打包好的
• 3. 自己裝 Honeypots 慢慢等
– 若需技術支援,請恰大會主辦單位 
• 4. 用MD5去可下載的網站查詢
– 新手:就不知道我要的那種毒是什麼 MD5, 怎麼查?
– 有誠意的話,怎麼不整包給我?
• 5. 去買….
– 這年頭,Malware Sample 是可以買的。
2015/08/19 Some things about Malware Classification 18
要怎麼收集 Malware 樣本?
• Malware 樣本怎麼買?
–這邊舉一個光明正大的例子
–傳說中 (VirusTotal) VT 有 private API
–透過這些 API,用戶可以分享其他人上傳
的 files.
–諸位上傳的檔案就是這樣被分享給
• 各防毒大廠 以及 買得起 VT private API 的單位
2015/08/19 Some things about Malware Classification 19
要怎麼收集 Malware 樣本?
2015/08/19 Some things about Malware Classification 20
要怎麼收集 Malware 樣本?
盡信 VT, 不如無 VT?
2015/08/19 Some things about Malware Classification 21
要怎麼收集 Malware 樣本?
為什麼 AV 廠會讓人有誤導的機會?
• 這張VT的統計圖,或許可以給個交代 
– 假設你是AV廠,你每天處理Sample的能力有限,你發
現有些 Sample 已經被同業判定為 Malware了,你會再
確認嗎?還是直接相信,把處理能力省下來做別的?
2015/08/19 Some things about Malware Classification 22
• 一些簡單的 Malware 分類法 (素人可用)
2015/08/19 Some things about Malware Classification 23
一些簡單的 Malware 分類法 (素人可用)
• 1. File checksums (MD5, SHA1, SHA256)
• 2. Using the names given by AVs
• 3. YARA
• 4. Finding malicious behaviors in Sandbox log
• 5. Finding malicious network behaviors in traffic
• 6. Using memory forensic
• 7. 用自己做的病毒碼來分類
2015/08/19 Some things about Malware Classification 24
一些簡單的 Malware 分類法 (素人可用)
1. File checksums (MD5, SHA1, SHA256)
• 嚴格來說,File Checksum 不太能算是一種
Malware 的分類,因為它一個 checksum 通常
只能對應到一個 Malware Sample。
– 不方便人類查詢
• 不過,因為這些 checksums
– 在 Malware Samples 進行交換與資料處理的時候可
以當成 keys 來使用。
– 以及可用來查詢是否在已知的 black/white list 裡面
• 因此,File checksums 算是進行 Malware 分類
的必須的基本資料。
2015/08/19 Some things about Malware Classification 25
一些簡單的 Malware 分類法 (素人可用)
1. File checksums (MD5, SHA1, SHA256)
2015/08/19 Some things about Malware Classification 26
一些簡單的 Malware 分類法 (素人可用)
2. Using the names given by AVs
• 選一個 AV 依照它對這些 sample 的命名來分類。
– 因為我們有時候 Honeypot 收到的,AV 不一定來得
及認識,所以在那個當下會有無名可用的問題。
• 選多個 AVs 理論上總會有人認得新的 Malware
Samples 吧?
– 但是會衍生出命名混亂的狀況。
– 例如:Taidoor 有人叫 simbot @_@
• (使用者真的在乎他們中什麼毒嗎?
– 反正最後都是無差別重灌?
– 假設不在乎,AV 廠有沒有可能隨便弄個名字?)
2015/08/19 Some things about Malware Classification 27
一些簡單的 Malware 分類法 (素人可用)
2. Using the names given by AVs
• 當年(2011)我用程式自動生成了一條 snort
rule:
– Alert TCP any any -> any 80 (
• msg:"Malware Name Unknown-1";
• uricontent:"/up.php?id=20111012183696";nocase;
• content:"Host: stat.downvision.com";nocase;
• reference:email,rules@anti-botnet.edu.tw;
• reference:md5,3f9cf028a39c32c81d44379bb701383d;
• sid:20005459;)
2015/08/19 Some things about Malware Classification 28
一些簡單的 Malware 分類法 (素人可用)
2. Using the names given by AVs
• 當年的判定是這樣:
2015/08/19 Some things about Malware Classification 29
一些簡單的 Malware 分類法 (素人可用)
2. Using the names given by AVs
• 現在的判定是這樣:
2015/08/19 Some things about Malware Classification 30
一些簡單的 Malware 分類法 (素人可用)
2. Using the names given by AVs
• 為什麼當年敢 release 那條 snort rule?
– 有點忘了,可能當時還年輕 
2015/08/19 Some things about Malware Classification 31
一些簡單的 Malware 分類法 (素人可用)
YARA
• YARA
– 是個好用的 tool
– 用來偵測 packers 與 exe 的原生 compilers 有幫
助。
• 搞不懂為什麼一堆 Malware 要用 Delphi 寫 @_@
– 不過 Yara 的 rule 似乎不好寫,尤其是在 PE
entry pointer 的比對上
2015/08/19 Some things about Malware Classification 32
一些簡單的 Malware 分類法 (素人可用)
YARA
• 不過 Yara 的 rule 似乎需要些經驗才好寫,
尤其是在 PE entry pointer 的比對上。
2015/08/19 Some things about Malware Classification 33
一些簡單的 Malware 分類法 (素人可用)
Finding malicious behaviors in Sandbox log
• 如果我們有時間,我們可以把一些 samples
用 Sandbox 執行起來,記錄它們的
– File I/O: 對象, 次數, 順序, 內容 等等
– WIN API usage: 對象, 次數, 順序, 內容 等等
– 綜合上述我們可以歸納出一個惡意行為模式。
– 理論上,同種的Malware應該會有類似的行為。
– 所以,下次如果有 Sample 跑出類似的行為,我
們就可以判它是 Malware !!
• 原則是這樣,但是我們在實務上需要很小心
2015/08/19 Some things about Malware Classification 34
一些簡單的 Malware 分類法 (素人可用)
Finding malicious network behaviors in traffic
2015/08/19 Some things about Malware Classification 35
一些簡單的 Malware 分類法 (素人可用)
Finding malicious network behaviors in traffic
2015/08/19 Some things about Malware Classification 36
一些簡單的 Malware 分類法 (素人可用)
Finding malicious network behaviors in traffic
2015/08/19 Some things about Malware Classification 37
一些簡單的 Malware 分類法 (素人可用)
Finding malicious network behaviors in traffic
• 那個 unknown 的C3e7d7960590baaefbc72d601e0b6d73 最後
2015/08/19 Some things about Malware Classification 38
一些簡單的 Malware 分類法 (素人可用)
Using memory forensic
• 這個基本上需要藉助 VM/Sandbox/實機
– 先把 Sample 執行起來
– 進行 memory dump
– 理論上,有加殼 (packing) 的 Malware 在這個時
候應該是脫光了,方便研究人員進行分類與比
對。
– 不過,這招有點花時間,考驗研究員對於OS記
憶體的資料結構的熟悉度 
2015/08/19 Some things about Malware Classification 39
一些簡單的 Malware 分類法 (素人可用)
用自己做的病毒碼來分類
• 對於素人來說,要做病毒碼,最麻煩的應
該就是病毒的殼了….
– 如果脫不了殼,就只能做最外面那層的 file
checksum.
2015/08/19 Some things about Malware Classification 40
一些簡單的 Malware 分類法 (素人可用)
用自己做的病毒碼來分類
• 這時候就要靠 ClamAV 來幫忙脫殼
– clamscan -v --stdout --tempdir=./vir.tmp --leave-
temps=yes UnknownFile
– 進到 vir.tmp 尋找脫殼後的病毒本體或是具有代表
性的檔
– 找到代表性的檔案後,用
• sigtool --md5 剛選的代表性的檔案
• 會得到新的病毒碼 把它加到
– /var/lib/clamav/test.hdb
– 再用 clamscan 掃剛剛那個 UnknownFile 以及其他的
files (why?).
2015/08/19 Some things about Malware Classification 41
一些簡單的 Malware 分類法 (素人可用)
用自己做的病毒碼來分類 (Demo)
• 我準備了 30 個 以 Sha256 為名的 Malware Sample:
• 0004d90568e5d1d456c2bfc2011685b45d6dbb64f0a1f7ab30a639ac3711b023
• 0004de274e7827cc41753ec5654323e820622f9536861c147f54d4f1876858d5
• 00051e60e804a45e6841bc7a6424f1561aca968eadd344349435e73ee0017478
• 00061b86f1a4681f0cbb06f5855a1ca9989515fea76addf99e0f66775e093dd2
• 00074a52208e5dde0bab55ed316c6e668a005a02f140654f2f7a94ae8df5d47c
• 000769117fc00c0be0979b05ec927ba4afbfc3756e63f9985d628803811b7cc3
• 0007a77752f16949ee78897e4b5b0306298528123e0b588dfba8f1417a59e87f
• 000c5dd2ab658fd7d0fb46383d8ab82d85a8115266b2acc2d49dd7bf75f70ff5
• 00111adf4b439e401359d271a68ffbca0b89fec637bbaa630636478e98d96c9e
• 001653e0bc89d19cedf3601f75bea6e2fade53ee1104216207fa2caa606d2a2a
• 0018678059ea8b3ed410dc0f8de60f01411a801abcae1cf8f210ab41bc3931a5
• 001a873ebb978450dfeccc684e9839087e5d586e7c74da9d5330cc1abcfe369a
• 001bc132c4bc0715bd451333cc49d08af0f8d66faeff9db0b36781c217456611
• 001cd2ce309fbee802b772f7d718bd9b61a0be1689f2d0e7c3a39671d0cde937
• 001d431b78a49f954c6243715f3804ff60fdf0059e076331cd8b54002aeab9bd
• 0020d96dd3cae9a877aa116a0b6aa30f4ed1791bd89db4c15aba24515398ca2d
2015/08/19 Some things about Malware Classification 42
一些簡單的 Malware 分類法 (素人可用)
用自己做的病毒碼來分類 (Demo)
• 002274d653577a473d0c88390b861b7b70613e818a59e14e862e577e13227770
• 00240adc2f41e6f1a860b3ee9befa3b7c80b6f4b9dbfbd9e4911996a33ccc6ca
• 0024d09ca47d63cdae67e7f648984904bdbd59eb112654bc607b683d64c50482
• 0025cefd83126af6164c97653cf53f28f29f151b9eb8f291ac5ccb1dcc3b3a98
• 002626066e66c3e093cbc1a57518ce3a170b88cf6d6946f60d0316f6987bd4c5
• 0028058a6e593e6dc0399310940bb40aa45a4b86b3d45b643383c3c5f4ad0ff8
• 00290135454717428c70eb081a40a5dc1d6ff84a9c50ec0e868c7f92e90d6635
• 002929712f3589f58d9ab09cf12667b07f2f5e9c31d96afcb815d58a18e8403b
• 002a8aac7b16f6485d0a0f8540d5d2d70df1beaa0f26449229694508c3d38a05
• 002afb8af0efb4819eed4cacb98780a2bebd05141f0d34b12a6eaa3d4c8911b2
• 002f162a94109db95848f48e029f792323f460c5807632f77f77a6aa571e5253
• 00378150c97f62579eb4fcf5781402bf9691f1f1ac9a415e7394cd0683cdd1eb
• 0037921ac81b136e33036cdb34157551b0dd41576f32c50393c689bdfaa513cd
• 0038c136407412a22806103e99b40d9010f885b7964b9d6a620e11f90f7a607a
2015/08/19 Some things about Malware Classification 43
一些簡單的 Malware 分類法 (素人可用)
用自己做的病毒碼來分類 (Demo)
• ClamAV 的 scan results:
2015/08/19 Some things about Malware Classification 44
一些簡單的 Malware 分類法 (素人可用)
用自己做的病毒碼來分類 (Demo)
• 其中,ClamAV 說下面三個是好的
• 0020d96dd3cae9a877aa116a0b6aa30f4ed1791bd89db4c15aba24515398ca2d
• 002929712f3589f58d9ab09cf12667b07f2f5e9c31d96afcb815d58a18e8403b
• 0038c136407412a22806103e99b40d9010f885b7964b9d6a620e11f90f7a607a
• 但是我們懷疑它們應該還是有問題,於是
clamscan -v --stdout --tempdir=./vir.tmp
--leave-temps=yes
./unknown/./0038c1407412a22806103e99b40d901
0f885b7964b9d6a620e11f90f7a607a
> debug.txt
2015/08/19 Some things about Malware Classification 45
一些簡單的 Malware 分類法 (素人可用)
用自己做的病毒碼來分類 (Demo)
• 發現 vir.tmp 裡面有一些被解出來的檔案
2015/08/19 Some things about Malware Classification 46
一些簡單的 Malware 分類法 (素人可用)
用自己做的病毒碼來分類 (Demo)
• 發現某個 folder 應該有嫌疑,先算它們的
file type,裡面的 content.001 居然是個自解
安裝程式…
2015/08/19 Some things about Malware Classification 47
一些簡單的 Malware 分類法 (素人可用)
用自己做的病毒碼來分類 (Demo)
• 再算它們的 MD5
2015/08/19 Some things about Malware Classification 48
一些簡單的 Malware 分類法 (素人可用)
用自己做的病毒碼來分類 (Demo)
• 拿 content.001 的 MD5
(c7f6ed56312c8fbb58ae6ed445c38df4) 去問 VT
2015/08/19 Some things about Malware Classification 49
一些簡單的 Malware 分類法 (素人可用)
用自己做的病毒碼來分類 (Demo)
• 用
– sigtool --md5 content.001
– 產生最簡單的 md5 rule
– c7f6ed56312c8fbb58ae6ed445c38df4:59640:Group1
– 加回 /var/lib/clamav/test.hdb
2015/08/19 Some things about Malware Classification 50
一些簡單的 Malware 分類法 (素人可用)
用自己做的病毒碼來分類 (Demo)
• 再用一次 clamscan -v ./unknown/. > result.txt
• 發現我們很幸運地找到這些 Malware 的共用元件。
2015/08/19 Some things about Malware Classification 51
一些簡單的 Malware 分類法 (素人可用)
用自己做的病毒碼來分類 (Demo)
• 一些問題:
– 1. ClamAV 不能脫殼 (unpack) 的怎麼辦?
• 自己脫脫看,不然就先放著,或是直接送VT.
• 如果 Sandbox 發現它做壞事,那就先做最外面那層的 MD5
來治標。
– 2. ClamAV 解開的檔案,VT 都說沒問題?
• 放個幾天再問VT
• 看White List 怎麼說?
• 如果 Sandbox 發現它做壞事,那就先做最外面那層的 MD5
治標。
• 0day? APT? 當我們能力所不及的時候,送 VT 也是選項。
2015/08/19 Some things about Malware Classification 52
•結論
2015/08/19 Some things about Malware Classification 53
結論
• 如果可以,少傳東西上 VT,但用 file
checksum/url 查詢應該無妨,但也不可盡信 VT。
• Malware 的 name 有時候不是那麼重要,重要
的是該擋下的是否有即時被擋下
• 對於 Malware 的研究人員,ClamAV 無論是它
的 src 或是 bin,在Malware的分類上都比想像
中有用 
• 由於時代的演進,病毒碼的製作與病毒的分群,
已經不像過去需要超高的技術門檻,只要有心,
人人都可以做AV。
2015/08/19 Some things about Malware Classification 54
Q&A
• Thank you 
• E-mail:
– canaan@totoro.cs.nthu.edu.tw
• Facebook for BoT conference:
– https://www.facebook.com/BotnetCon
2015/08/19 Some things about Malware Classification 55
參考資料
• (講員太忙,有機會再補)
2015/08/19 Some things about Malware Classification 56
One more thing
• 對了,如果有人想學習 Malware/Virus 偵測,
卻沒有樣本,可以
– Google viruses-20070914
– 印象中這包有六萬多隻2007年左右的樣本
– 不用拿 MD5 去查
– (是有點舊,不過學習用,就不要太計較了  )
2015/08/19 Some things about Malware Classification 57

Contenu connexe

Tendances

議題二:Web應用程式安全防護
議題二:Web應用程式安全防護議題二:Web應用程式安全防護
議題二:Web應用程式安全防護Nicolas su
 
Malware Analysis - Basic and Concept
Malware Analysis - Basic and ConceptMalware Analysis - Basic and Concept
Malware Analysis - Basic and ConceptJulia Yu-Chin Cheng
 
滲透測試簡述(資訊安全顧問服務)
滲透測試簡述(資訊安全顧問服務)滲透測試簡述(資訊安全顧問服務)
滲透測試簡述(資訊安全顧問服務)wanhung1911
 
資訊安全入門
資訊安全入門資訊安全入門
資訊安全入門Tyler Chen
 
台科大網路鑑識課程 封包分析及中繼站追蹤
台科大網路鑑識課程 封包分析及中繼站追蹤台科大網路鑑識課程 封包分析及中繼站追蹤
台科大網路鑑識課程 封包分析及中繼站追蹤jack51706
 
用戶端攻擊與防禦
用戶端攻擊與防禦用戶端攻擊與防禦
用戶端攻擊與防禦Taien Wang
 
網站程式資安白箱與黑箱檢測處理經驗分享
網站程式資安白箱與黑箱檢測處理經驗分享網站程式資安白箱與黑箱檢測處理經驗分享
網站程式資安白箱與黑箱檢測處理經驗分享Ying-Chun Cheng
 
第一次使用Shodan.io就上手
第一次使用Shodan.io就上手第一次使用Shodan.io就上手
第一次使用Shodan.io就上手Ting-En Lin
 

Tendances (9)

議題二:Web應用程式安全防護
議題二:Web應用程式安全防護議題二:Web應用程式安全防護
議題二:Web應用程式安全防護
 
Malware Analysis - Basic and Concept
Malware Analysis - Basic and ConceptMalware Analysis - Basic and Concept
Malware Analysis - Basic and Concept
 
滲透測試簡述(資訊安全顧問服務)
滲透測試簡述(資訊安全顧問服務)滲透測試簡述(資訊安全顧問服務)
滲透測試簡述(資訊安全顧問服務)
 
資訊安全入門
資訊安全入門資訊安全入門
資訊安全入門
 
台科大網路鑑識課程 封包分析及中繼站追蹤
台科大網路鑑識課程 封包分析及中繼站追蹤台科大網路鑑識課程 封包分析及中繼站追蹤
台科大網路鑑識課程 封包分析及中繼站追蹤
 
用戶端攻擊與防禦
用戶端攻擊與防禦用戶端攻擊與防禦
用戶端攻擊與防禦
 
網站程式資安白箱與黑箱檢測處理經驗分享
網站程式資安白箱與黑箱檢測處理經驗分享網站程式資安白箱與黑箱檢測處理經驗分享
網站程式資安白箱與黑箱檢測處理經驗分享
 
【HITCON FreeTalk】Supply Chain Attack
【HITCON FreeTalk】Supply Chain Attack【HITCON FreeTalk】Supply Chain Attack
【HITCON FreeTalk】Supply Chain Attack
 
第一次使用Shodan.io就上手
第一次使用Shodan.io就上手第一次使用Shodan.io就上手
第一次使用Shodan.io就上手
 

En vedette

VB2015 Malware Classification meets crowd-sourcing
VB2015 Malware Classification meets crowd-sourcingVB2015 Malware Classification meets crowd-sourcing
VB2015 Malware Classification meets crowd-sourcingJohn D. Park
 
PHDAYS: DGAs and Threat Intelligence
PHDAYS: DGAs and Threat IntelligencePHDAYS: DGAs and Threat Intelligence
PHDAYS: DGAs and Threat IntelligenceJohn Bambenek
 
2010 b5 spam source detection at home
2010 b5 spam source detection at home2010 b5 spam source detection at home
2010 b5 spam source detection at homeCanaan Kao
 
Some things about LAN device detection
Some things about LAN device detectionSome things about LAN device detection
Some things about LAN device detectionCanaan Kao
 
Advanced heap exploitaion
Advanced heap exploitaionAdvanced heap exploitaion
Advanced heap exploitaionAngel Boy
 
Malware classification and detection
Malware classification and detectionMalware classification and detection
Malware classification and detectionChong-Kuan Chen
 
TDOH x 台科 pwn課程
TDOH x 台科 pwn課程TDOH x 台科 pwn課程
TDOH x 台科 pwn課程Weber Tsai
 
資安人員如何協助企業面對層出不窮的資安威脅
資安人員如何協助企業面對層出不窮的資安威脅 資安人員如何協助企業面對層出不窮的資安威脅
資安人員如何協助企業面對層出不窮的資安威脅 Tim Hsu
 

En vedette (8)

VB2015 Malware Classification meets crowd-sourcing
VB2015 Malware Classification meets crowd-sourcingVB2015 Malware Classification meets crowd-sourcing
VB2015 Malware Classification meets crowd-sourcing
 
PHDAYS: DGAs and Threat Intelligence
PHDAYS: DGAs and Threat IntelligencePHDAYS: DGAs and Threat Intelligence
PHDAYS: DGAs and Threat Intelligence
 
2010 b5 spam source detection at home
2010 b5 spam source detection at home2010 b5 spam source detection at home
2010 b5 spam source detection at home
 
Some things about LAN device detection
Some things about LAN device detectionSome things about LAN device detection
Some things about LAN device detection
 
Advanced heap exploitaion
Advanced heap exploitaionAdvanced heap exploitaion
Advanced heap exploitaion
 
Malware classification and detection
Malware classification and detectionMalware classification and detection
Malware classification and detection
 
TDOH x 台科 pwn課程
TDOH x 台科 pwn課程TDOH x 台科 pwn課程
TDOH x 台科 pwn課程
 
資安人員如何協助企業面對層出不窮的資安威脅
資安人員如何協助企業面對層出不窮的資安威脅 資安人員如何協助企業面對層出不窮的資安威脅
資安人員如何協助企業面對層出不窮的資安威脅
 

Similaire à Malware classification and traceability

使安全成為軟體開發必要部分
使安全成為軟體開發必要部分使安全成為軟體開發必要部分
使安全成為軟體開發必要部分Taien Wang
 
11/14王團研究室—安全大師王團論毒 in台中
11/14王團研究室—安全大師王團論毒 in台中11/14王團研究室—安全大師王團論毒 in台中
11/14王團研究室—安全大師王團論毒 in台中T客邦
 
賽門鐵克端點安全教戰守則 - Symantec Endpoint Protection 及 Symantec Critical System Protec...
賽門鐵克端點安全教戰守則 - Symantec Endpoint Protection 及 Symantec Critical System Protec...賽門鐵克端點安全教戰守則 - Symantec Endpoint Protection 及 Symantec Critical System Protec...
賽門鐵克端點安全教戰守則 - Symantec Endpoint Protection 及 Symantec Critical System Protec...Wales Chen
 
A DIY Botnet Tracking System
A DIY Botnet Tracking SystemA DIY Botnet Tracking System
A DIY Botnet Tracking Systemlog0
 
11/21王團研究室—火線殺毒完全攻略—菁英課程:2010防毒新趨勢
11/21王團研究室—火線殺毒完全攻略—菁英課程:2010防毒新趨勢11/21王團研究室—火線殺毒完全攻略—菁英課程:2010防毒新趨勢
11/21王團研究室—火線殺毒完全攻略—菁英課程:2010防毒新趨勢T客邦
 
Rsa2012 下一代安全的战略思考-绿盟科技赵粮
Rsa2012 下一代安全的战略思考-绿盟科技赵粮Rsa2012 下一代安全的战略思考-绿盟科技赵粮
Rsa2012 下一代安全的战略思考-绿盟科技赵粮NSFOCUS
 
基于大数据的Web攻击溯源
基于大数据的Web攻击溯源基于大数据的Web攻击溯源
基于大数据的Web攻击溯源正炎 高
 
TDOH Conf-APP檢測之經驗分享
TDOH Conf-APP檢測之經驗分享TDOH Conf-APP檢測之經驗分享
TDOH Conf-APP檢測之經驗分享Tzu-Ting(Fei) Lin
 
网站离线数据安全分析漫谈 2012cert
网站离线数据安全分析漫谈 2012cert网站离线数据安全分析漫谈 2012cert
网站离线数据安全分析漫谈 2012certph4nt0m
 
基礎網頁程式攻擊檢驗
基礎網頁程式攻擊檢驗基礎網頁程式攻擊檢驗
基礎網頁程式攻擊檢驗Taien Wang
 
Android 软件安全攻防研究现状 claud isf2012
Android 软件安全攻防研究现状 claud isf2012Android 软件安全攻防研究现状 claud isf2012
Android 软件安全攻防研究现状 claud isf2012正炎 高
 
Hiiir 資安講座 II 使安全成為軟體開發的一部分
Hiiir 資安講座 II 使安全成為軟體開發的一部分Hiiir 資安講座 II 使安全成為軟體開發的一部分
Hiiir 資安講座 II 使安全成為軟體開發的一部分Hiiir Lab
 
HITCON FreeTalk 2024 台灣駭客協會媒體小聚【議題一:資安地圖 - 資安領域與趨勢介紹】
HITCON FreeTalk 2024 台灣駭客協會媒體小聚【議題一:資安地圖 - 資安領域與趨勢介紹】HITCON FreeTalk 2024 台灣駭客協會媒體小聚【議題一:資安地圖 - 資安領域與趨勢介紹】
HITCON FreeTalk 2024 台灣駭客協會媒體小聚【議題一:資安地圖 - 資安領域與趨勢介紹】Hacks in Taiwan (HITCON)
 
Practical malware analysis part1 总结
Practical malware analysis part1 总结Practical malware analysis part1 总结
Practical malware analysis part1 总结Huang Toby
 
議題三:政府網站常見弱點與分析
議題三:政府網站常見弱點與分析議題三:政府網站常見弱點與分析
議題三:政府網站常見弱點與分析Nicolas su
 
WebConf 2013「Best Practices - The Upload」
WebConf 2013「Best Practices - The Upload」WebConf 2013「Best Practices - The Upload」
WebConf 2013「Best Practices - The Upload」Orange Tsai
 
A Concept of Network Analysis Tool by Data Mining
A Concept of Network Analysis Tool by Data MiningA Concept of Network Analysis Tool by Data Mining
A Concept of Network Analysis Tool by Data MiningJhang Raymond
 
22
2222
2242qu
 
基于 Flink 和 AI Flow 的实时推荐系统
基于 Flink 和 AI Flow 的实时推荐系统基于 Flink 和 AI Flow 的实时推荐系统
基于 Flink 和 AI Flow 的实时推荐系统Dong Lin
 
Check Point 2014 資安報告
Check Point 2014 資安報告Check Point 2014 資安報告
Check Point 2014 資安報告Mars Chen
 

Similaire à Malware classification and traceability (20)

使安全成為軟體開發必要部分
使安全成為軟體開發必要部分使安全成為軟體開發必要部分
使安全成為軟體開發必要部分
 
11/14王團研究室—安全大師王團論毒 in台中
11/14王團研究室—安全大師王團論毒 in台中11/14王團研究室—安全大師王團論毒 in台中
11/14王團研究室—安全大師王團論毒 in台中
 
賽門鐵克端點安全教戰守則 - Symantec Endpoint Protection 及 Symantec Critical System Protec...
賽門鐵克端點安全教戰守則 - Symantec Endpoint Protection 及 Symantec Critical System Protec...賽門鐵克端點安全教戰守則 - Symantec Endpoint Protection 及 Symantec Critical System Protec...
賽門鐵克端點安全教戰守則 - Symantec Endpoint Protection 及 Symantec Critical System Protec...
 
A DIY Botnet Tracking System
A DIY Botnet Tracking SystemA DIY Botnet Tracking System
A DIY Botnet Tracking System
 
11/21王團研究室—火線殺毒完全攻略—菁英課程:2010防毒新趨勢
11/21王團研究室—火線殺毒完全攻略—菁英課程:2010防毒新趨勢11/21王團研究室—火線殺毒完全攻略—菁英課程:2010防毒新趨勢
11/21王團研究室—火線殺毒完全攻略—菁英課程:2010防毒新趨勢
 
Rsa2012 下一代安全的战略思考-绿盟科技赵粮
Rsa2012 下一代安全的战略思考-绿盟科技赵粮Rsa2012 下一代安全的战略思考-绿盟科技赵粮
Rsa2012 下一代安全的战略思考-绿盟科技赵粮
 
基于大数据的Web攻击溯源
基于大数据的Web攻击溯源基于大数据的Web攻击溯源
基于大数据的Web攻击溯源
 
TDOH Conf-APP檢測之經驗分享
TDOH Conf-APP檢測之經驗分享TDOH Conf-APP檢測之經驗分享
TDOH Conf-APP檢測之經驗分享
 
网站离线数据安全分析漫谈 2012cert
网站离线数据安全分析漫谈 2012cert网站离线数据安全分析漫谈 2012cert
网站离线数据安全分析漫谈 2012cert
 
基礎網頁程式攻擊檢驗
基礎網頁程式攻擊檢驗基礎網頁程式攻擊檢驗
基礎網頁程式攻擊檢驗
 
Android 软件安全攻防研究现状 claud isf2012
Android 软件安全攻防研究现状 claud isf2012Android 软件安全攻防研究现状 claud isf2012
Android 软件安全攻防研究现状 claud isf2012
 
Hiiir 資安講座 II 使安全成為軟體開發的一部分
Hiiir 資安講座 II 使安全成為軟體開發的一部分Hiiir 資安講座 II 使安全成為軟體開發的一部分
Hiiir 資安講座 II 使安全成為軟體開發的一部分
 
HITCON FreeTalk 2024 台灣駭客協會媒體小聚【議題一:資安地圖 - 資安領域與趨勢介紹】
HITCON FreeTalk 2024 台灣駭客協會媒體小聚【議題一:資安地圖 - 資安領域與趨勢介紹】HITCON FreeTalk 2024 台灣駭客協會媒體小聚【議題一:資安地圖 - 資安領域與趨勢介紹】
HITCON FreeTalk 2024 台灣駭客協會媒體小聚【議題一:資安地圖 - 資安領域與趨勢介紹】
 
Practical malware analysis part1 总结
Practical malware analysis part1 总结Practical malware analysis part1 总结
Practical malware analysis part1 总结
 
議題三:政府網站常見弱點與分析
議題三:政府網站常見弱點與分析議題三:政府網站常見弱點與分析
議題三:政府網站常見弱點與分析
 
WebConf 2013「Best Practices - The Upload」
WebConf 2013「Best Practices - The Upload」WebConf 2013「Best Practices - The Upload」
WebConf 2013「Best Practices - The Upload」
 
A Concept of Network Analysis Tool by Data Mining
A Concept of Network Analysis Tool by Data MiningA Concept of Network Analysis Tool by Data Mining
A Concept of Network Analysis Tool by Data Mining
 
22
2222
22
 
基于 Flink 和 AI Flow 的实时推荐系统
基于 Flink 和 AI Flow 的实时推荐系统基于 Flink 和 AI Flow 的实时推荐系统
基于 Flink 和 AI Flow 的实时推荐系统
 
Check Point 2014 資安報告
Check Point 2014 資安報告Check Point 2014 資安報告
Check Point 2014 資安報告
 

Malware classification and traceability

  • 1. Some things about classification and traceability of Malware (關於惡意程式分類與溯源的二三事) Canaan Kao canaan@totoro.cs.nthu.edu.tw canaan_kao@trend.com.tw 2015/08/19 Some things about Malware Classification 1
  • 2. Who am I? • 在一家做 IDS/IPS 的公司,寫了十幾年的 code,後 來不小心成為 Anti-Virus 廠商的員工。 • 在當學生的時候,執行了教育部的 Anti-botnet 計 畫五年,辦了五屆的 Botnet of Taiwan (BoT)研討會。 – 不要問我今年有沒有 BoT2015? • 主要的研究興趣在於 network security, intrusion detection system, reversing engineering, malware detection and embedded system. 2015/08/19 Some things about Malware Classification 2
  • 3. Agenda • 關於 Malware/AV 產業 的一些資訊 • 為什麼我們要收集到 Malware 樣本? • 要怎麼收集 Malware 樣本呢? • 一些簡單的 Malware 分類法 (素人可用) • 結論 2015/08/19 Some things about Malware Classification 3
  • 4. • 關於 Malware/AV 產業 的一些資訊 2015/08/19 Some things about Malware Classification 4
  • 5. 關於 Malware/AV 產業 的一些資訊 • 長久以來,對 Anti-virus (AV)產業來說,偵 測已知病毒是比較容易,偵測未知病毒是 比較難的。 • 然而十年來,病毒樣本的數量呈指數型成 場,對AV產業來說,也不是那麼好處理了。 2015/08/19 Some things about Malware Classification 5
  • 6. 關於 Malware/AV 產業 的一些資訊 2015/08/19 Some things about Malware Classification 6
  • 7. 關於 Malware/AV 產業 的一些資訊 2015/08/19 Some things about Malware Classification 7
  • 8. 關於 Malware/AV 產業 的一些資訊 • The malware samples are increasing exponentially. – 沒錯,這是”失衡的數位軍火發展”. – Checksum-based rule set is a solution for AV industry to saving manpower. – A whole/partial file checksum. – MD5, SHA1 and SHA256 are used by AV industry. 2015/08/19 Some things about Malware Classification 8
  • 9. 關於 Malware/AV 產業 的一些資訊 • 以 ClamAV 為例 – String-based rule 長這樣 • Worm.Bagle.H-zippwd-1 (Clam)=70617373*6170706c69636174696f6e2f6f6374 65742d73747265616d3b*6e616d653d*2e7a6970*0a5 545734442416f414151414141*4141414141 • 需要知道怎麼從病毒樣本裡面選病毒碼,要不然誤 判就麻煩了。 – MD5-based rule 長這樣 • a6d8dd5184301ac43290ec2684cfeaa5:79512:Win.Troja n.Ransom-2205 • 除非 hash collision,要不然不會誤判  適合自動化. 2015/08/19 Some things about Malware Classification 9
  • 10. 關於 Malware/AV 產業 的一些資訊 • 雲端要怎麼用? –如果 local 無法確定檔案的好壞 –就上雲端查吧 –看是把 file checksum 傳上去查 –或是 把 file 本體 傳上去查 –慢?可能會。 2015/08/19 Some things about Malware Classification 10
  • 11. 關於 Malware/AV 產業 的一些資訊 • The rule distribution of ClamAV in 2010. 2015/08/19 Some things about Malware Classification 11
  • 12. 關於 Malware/AV 產業 的一些資訊 • The rule distribution of ClamAV on 2015/04/14. 2015/08/19 Some things about Malware Classification 12 MD5-based Others Total Number 3,686,236 109,962 3,796,198 Percentage 97% 3% 100%
  • 13. 關於 Malware/AV 產業 的一些資訊 • 依照上面那個表所透露的訊息,在目前這個 年代,只要你會算 file checksum (md5, sha1, sha256),知道怎麼怎麼查找 file checksum database,你就可以寫掃毒軟體  2015/08/19 Some things about Malware Classification 13
  • 14. • 為什麼我們要收集 Malware 樣本? 2015/08/19 Some things about Malware Classification 14
  • 15. 為什麼我們要收集 Malware 樣本? • 1. 對於偵測病毒檔案本身,有病毒樣本, 才有偵測率。 • 2. 記錄它在 OS 裡面 I/O 與 網路上的 I/O 用 來當作日後偵測或鑑識其行為的依據。 • 3. 當作日後交換與分享的籌碼。 • 4. 研究這 “失衡的數位軍火發展” 到底有多 失衡  – 為什麼壞人會的,我們都不會? 2015/08/19 Some things about Malware Classification 15
  • 16. 為什麼我們要收集 Malware 樣本? 2015/08/19 Some things about Malware Classification 16
  • 17. • 要怎麼收集 Malware 樣本? 2015/08/19 Some things about Malware Classification 17
  • 18. 要怎麼收集 Malware 樣本? • 1. 跟同好交換 • 2. 抓好心人打包好的 • 3. 自己裝 Honeypots 慢慢等 – 若需技術支援,請恰大會主辦單位  • 4. 用MD5去可下載的網站查詢 – 新手:就不知道我要的那種毒是什麼 MD5, 怎麼查? – 有誠意的話,怎麼不整包給我? • 5. 去買…. – 這年頭,Malware Sample 是可以買的。 2015/08/19 Some things about Malware Classification 18
  • 19. 要怎麼收集 Malware 樣本? • Malware 樣本怎麼買? –這邊舉一個光明正大的例子 –傳說中 (VirusTotal) VT 有 private API –透過這些 API,用戶可以分享其他人上傳 的 files. –諸位上傳的檔案就是這樣被分享給 • 各防毒大廠 以及 買得起 VT private API 的單位 2015/08/19 Some things about Malware Classification 19
  • 20. 要怎麼收集 Malware 樣本? 2015/08/19 Some things about Malware Classification 20
  • 21. 要怎麼收集 Malware 樣本? 盡信 VT, 不如無 VT? 2015/08/19 Some things about Malware Classification 21
  • 22. 要怎麼收集 Malware 樣本? 為什麼 AV 廠會讓人有誤導的機會? • 這張VT的統計圖,或許可以給個交代  – 假設你是AV廠,你每天處理Sample的能力有限,你發 現有些 Sample 已經被同業判定為 Malware了,你會再 確認嗎?還是直接相信,把處理能力省下來做別的? 2015/08/19 Some things about Malware Classification 22
  • 23. • 一些簡單的 Malware 分類法 (素人可用) 2015/08/19 Some things about Malware Classification 23
  • 24. 一些簡單的 Malware 分類法 (素人可用) • 1. File checksums (MD5, SHA1, SHA256) • 2. Using the names given by AVs • 3. YARA • 4. Finding malicious behaviors in Sandbox log • 5. Finding malicious network behaviors in traffic • 6. Using memory forensic • 7. 用自己做的病毒碼來分類 2015/08/19 Some things about Malware Classification 24
  • 25. 一些簡單的 Malware 分類法 (素人可用) 1. File checksums (MD5, SHA1, SHA256) • 嚴格來說,File Checksum 不太能算是一種 Malware 的分類,因為它一個 checksum 通常 只能對應到一個 Malware Sample。 – 不方便人類查詢 • 不過,因為這些 checksums – 在 Malware Samples 進行交換與資料處理的時候可 以當成 keys 來使用。 – 以及可用來查詢是否在已知的 black/white list 裡面 • 因此,File checksums 算是進行 Malware 分類 的必須的基本資料。 2015/08/19 Some things about Malware Classification 25
  • 26. 一些簡單的 Malware 分類法 (素人可用) 1. File checksums (MD5, SHA1, SHA256) 2015/08/19 Some things about Malware Classification 26
  • 27. 一些簡單的 Malware 分類法 (素人可用) 2. Using the names given by AVs • 選一個 AV 依照它對這些 sample 的命名來分類。 – 因為我們有時候 Honeypot 收到的,AV 不一定來得 及認識,所以在那個當下會有無名可用的問題。 • 選多個 AVs 理論上總會有人認得新的 Malware Samples 吧? – 但是會衍生出命名混亂的狀況。 – 例如:Taidoor 有人叫 simbot @_@ • (使用者真的在乎他們中什麼毒嗎? – 反正最後都是無差別重灌? – 假設不在乎,AV 廠有沒有可能隨便弄個名字?) 2015/08/19 Some things about Malware Classification 27
  • 28. 一些簡單的 Malware 分類法 (素人可用) 2. Using the names given by AVs • 當年(2011)我用程式自動生成了一條 snort rule: – Alert TCP any any -> any 80 ( • msg:"Malware Name Unknown-1"; • uricontent:"/up.php?id=20111012183696";nocase; • content:"Host: stat.downvision.com";nocase; • reference:email,rules@anti-botnet.edu.tw; • reference:md5,3f9cf028a39c32c81d44379bb701383d; • sid:20005459;) 2015/08/19 Some things about Malware Classification 28
  • 29. 一些簡單的 Malware 分類法 (素人可用) 2. Using the names given by AVs • 當年的判定是這樣: 2015/08/19 Some things about Malware Classification 29
  • 30. 一些簡單的 Malware 分類法 (素人可用) 2. Using the names given by AVs • 現在的判定是這樣: 2015/08/19 Some things about Malware Classification 30
  • 31. 一些簡單的 Malware 分類法 (素人可用) 2. Using the names given by AVs • 為什麼當年敢 release 那條 snort rule? – 有點忘了,可能當時還年輕  2015/08/19 Some things about Malware Classification 31
  • 32. 一些簡單的 Malware 分類法 (素人可用) YARA • YARA – 是個好用的 tool – 用來偵測 packers 與 exe 的原生 compilers 有幫 助。 • 搞不懂為什麼一堆 Malware 要用 Delphi 寫 @_@ – 不過 Yara 的 rule 似乎不好寫,尤其是在 PE entry pointer 的比對上 2015/08/19 Some things about Malware Classification 32
  • 33. 一些簡單的 Malware 分類法 (素人可用) YARA • 不過 Yara 的 rule 似乎需要些經驗才好寫, 尤其是在 PE entry pointer 的比對上。 2015/08/19 Some things about Malware Classification 33
  • 34. 一些簡單的 Malware 分類法 (素人可用) Finding malicious behaviors in Sandbox log • 如果我們有時間,我們可以把一些 samples 用 Sandbox 執行起來,記錄它們的 – File I/O: 對象, 次數, 順序, 內容 等等 – WIN API usage: 對象, 次數, 順序, 內容 等等 – 綜合上述我們可以歸納出一個惡意行為模式。 – 理論上,同種的Malware應該會有類似的行為。 – 所以,下次如果有 Sample 跑出類似的行為,我 們就可以判它是 Malware !! • 原則是這樣,但是我們在實務上需要很小心 2015/08/19 Some things about Malware Classification 34
  • 35. 一些簡單的 Malware 分類法 (素人可用) Finding malicious network behaviors in traffic 2015/08/19 Some things about Malware Classification 35
  • 36. 一些簡單的 Malware 分類法 (素人可用) Finding malicious network behaviors in traffic 2015/08/19 Some things about Malware Classification 36
  • 37. 一些簡單的 Malware 分類法 (素人可用) Finding malicious network behaviors in traffic 2015/08/19 Some things about Malware Classification 37
  • 38. 一些簡單的 Malware 分類法 (素人可用) Finding malicious network behaviors in traffic • 那個 unknown 的C3e7d7960590baaefbc72d601e0b6d73 最後 2015/08/19 Some things about Malware Classification 38
  • 39. 一些簡單的 Malware 分類法 (素人可用) Using memory forensic • 這個基本上需要藉助 VM/Sandbox/實機 – 先把 Sample 執行起來 – 進行 memory dump – 理論上,有加殼 (packing) 的 Malware 在這個時 候應該是脫光了,方便研究人員進行分類與比 對。 – 不過,這招有點花時間,考驗研究員對於OS記 憶體的資料結構的熟悉度  2015/08/19 Some things about Malware Classification 39
  • 40. 一些簡單的 Malware 分類法 (素人可用) 用自己做的病毒碼來分類 • 對於素人來說,要做病毒碼,最麻煩的應 該就是病毒的殼了…. – 如果脫不了殼,就只能做最外面那層的 file checksum. 2015/08/19 Some things about Malware Classification 40
  • 41. 一些簡單的 Malware 分類法 (素人可用) 用自己做的病毒碼來分類 • 這時候就要靠 ClamAV 來幫忙脫殼 – clamscan -v --stdout --tempdir=./vir.tmp --leave- temps=yes UnknownFile – 進到 vir.tmp 尋找脫殼後的病毒本體或是具有代表 性的檔 – 找到代表性的檔案後,用 • sigtool --md5 剛選的代表性的檔案 • 會得到新的病毒碼 把它加到 – /var/lib/clamav/test.hdb – 再用 clamscan 掃剛剛那個 UnknownFile 以及其他的 files (why?). 2015/08/19 Some things about Malware Classification 41
  • 42. 一些簡單的 Malware 分類法 (素人可用) 用自己做的病毒碼來分類 (Demo) • 我準備了 30 個 以 Sha256 為名的 Malware Sample: • 0004d90568e5d1d456c2bfc2011685b45d6dbb64f0a1f7ab30a639ac3711b023 • 0004de274e7827cc41753ec5654323e820622f9536861c147f54d4f1876858d5 • 00051e60e804a45e6841bc7a6424f1561aca968eadd344349435e73ee0017478 • 00061b86f1a4681f0cbb06f5855a1ca9989515fea76addf99e0f66775e093dd2 • 00074a52208e5dde0bab55ed316c6e668a005a02f140654f2f7a94ae8df5d47c • 000769117fc00c0be0979b05ec927ba4afbfc3756e63f9985d628803811b7cc3 • 0007a77752f16949ee78897e4b5b0306298528123e0b588dfba8f1417a59e87f • 000c5dd2ab658fd7d0fb46383d8ab82d85a8115266b2acc2d49dd7bf75f70ff5 • 00111adf4b439e401359d271a68ffbca0b89fec637bbaa630636478e98d96c9e • 001653e0bc89d19cedf3601f75bea6e2fade53ee1104216207fa2caa606d2a2a • 0018678059ea8b3ed410dc0f8de60f01411a801abcae1cf8f210ab41bc3931a5 • 001a873ebb978450dfeccc684e9839087e5d586e7c74da9d5330cc1abcfe369a • 001bc132c4bc0715bd451333cc49d08af0f8d66faeff9db0b36781c217456611 • 001cd2ce309fbee802b772f7d718bd9b61a0be1689f2d0e7c3a39671d0cde937 • 001d431b78a49f954c6243715f3804ff60fdf0059e076331cd8b54002aeab9bd • 0020d96dd3cae9a877aa116a0b6aa30f4ed1791bd89db4c15aba24515398ca2d 2015/08/19 Some things about Malware Classification 42
  • 43. 一些簡單的 Malware 分類法 (素人可用) 用自己做的病毒碼來分類 (Demo) • 002274d653577a473d0c88390b861b7b70613e818a59e14e862e577e13227770 • 00240adc2f41e6f1a860b3ee9befa3b7c80b6f4b9dbfbd9e4911996a33ccc6ca • 0024d09ca47d63cdae67e7f648984904bdbd59eb112654bc607b683d64c50482 • 0025cefd83126af6164c97653cf53f28f29f151b9eb8f291ac5ccb1dcc3b3a98 • 002626066e66c3e093cbc1a57518ce3a170b88cf6d6946f60d0316f6987bd4c5 • 0028058a6e593e6dc0399310940bb40aa45a4b86b3d45b643383c3c5f4ad0ff8 • 00290135454717428c70eb081a40a5dc1d6ff84a9c50ec0e868c7f92e90d6635 • 002929712f3589f58d9ab09cf12667b07f2f5e9c31d96afcb815d58a18e8403b • 002a8aac7b16f6485d0a0f8540d5d2d70df1beaa0f26449229694508c3d38a05 • 002afb8af0efb4819eed4cacb98780a2bebd05141f0d34b12a6eaa3d4c8911b2 • 002f162a94109db95848f48e029f792323f460c5807632f77f77a6aa571e5253 • 00378150c97f62579eb4fcf5781402bf9691f1f1ac9a415e7394cd0683cdd1eb • 0037921ac81b136e33036cdb34157551b0dd41576f32c50393c689bdfaa513cd • 0038c136407412a22806103e99b40d9010f885b7964b9d6a620e11f90f7a607a 2015/08/19 Some things about Malware Classification 43
  • 44. 一些簡單的 Malware 分類法 (素人可用) 用自己做的病毒碼來分類 (Demo) • ClamAV 的 scan results: 2015/08/19 Some things about Malware Classification 44
  • 45. 一些簡單的 Malware 分類法 (素人可用) 用自己做的病毒碼來分類 (Demo) • 其中,ClamAV 說下面三個是好的 • 0020d96dd3cae9a877aa116a0b6aa30f4ed1791bd89db4c15aba24515398ca2d • 002929712f3589f58d9ab09cf12667b07f2f5e9c31d96afcb815d58a18e8403b • 0038c136407412a22806103e99b40d9010f885b7964b9d6a620e11f90f7a607a • 但是我們懷疑它們應該還是有問題,於是 clamscan -v --stdout --tempdir=./vir.tmp --leave-temps=yes ./unknown/./0038c1407412a22806103e99b40d901 0f885b7964b9d6a620e11f90f7a607a > debug.txt 2015/08/19 Some things about Malware Classification 45
  • 46. 一些簡單的 Malware 分類法 (素人可用) 用自己做的病毒碼來分類 (Demo) • 發現 vir.tmp 裡面有一些被解出來的檔案 2015/08/19 Some things about Malware Classification 46
  • 47. 一些簡單的 Malware 分類法 (素人可用) 用自己做的病毒碼來分類 (Demo) • 發現某個 folder 應該有嫌疑,先算它們的 file type,裡面的 content.001 居然是個自解 安裝程式… 2015/08/19 Some things about Malware Classification 47
  • 48. 一些簡單的 Malware 分類法 (素人可用) 用自己做的病毒碼來分類 (Demo) • 再算它們的 MD5 2015/08/19 Some things about Malware Classification 48
  • 49. 一些簡單的 Malware 分類法 (素人可用) 用自己做的病毒碼來分類 (Demo) • 拿 content.001 的 MD5 (c7f6ed56312c8fbb58ae6ed445c38df4) 去問 VT 2015/08/19 Some things about Malware Classification 49
  • 50. 一些簡單的 Malware 分類法 (素人可用) 用自己做的病毒碼來分類 (Demo) • 用 – sigtool --md5 content.001 – 產生最簡單的 md5 rule – c7f6ed56312c8fbb58ae6ed445c38df4:59640:Group1 – 加回 /var/lib/clamav/test.hdb 2015/08/19 Some things about Malware Classification 50
  • 51. 一些簡單的 Malware 分類法 (素人可用) 用自己做的病毒碼來分類 (Demo) • 再用一次 clamscan -v ./unknown/. > result.txt • 發現我們很幸運地找到這些 Malware 的共用元件。 2015/08/19 Some things about Malware Classification 51
  • 52. 一些簡單的 Malware 分類法 (素人可用) 用自己做的病毒碼來分類 (Demo) • 一些問題: – 1. ClamAV 不能脫殼 (unpack) 的怎麼辦? • 自己脫脫看,不然就先放著,或是直接送VT. • 如果 Sandbox 發現它做壞事,那就先做最外面那層的 MD5 來治標。 – 2. ClamAV 解開的檔案,VT 都說沒問題? • 放個幾天再問VT • 看White List 怎麼說? • 如果 Sandbox 發現它做壞事,那就先做最外面那層的 MD5 治標。 • 0day? APT? 當我們能力所不及的時候,送 VT 也是選項。 2015/08/19 Some things about Malware Classification 52
  • 53. •結論 2015/08/19 Some things about Malware Classification 53
  • 54. 結論 • 如果可以,少傳東西上 VT,但用 file checksum/url 查詢應該無妨,但也不可盡信 VT。 • Malware 的 name 有時候不是那麼重要,重要 的是該擋下的是否有即時被擋下 • 對於 Malware 的研究人員,ClamAV 無論是它 的 src 或是 bin,在Malware的分類上都比想像 中有用  • 由於時代的演進,病毒碼的製作與病毒的分群, 已經不像過去需要超高的技術門檻,只要有心, 人人都可以做AV。 2015/08/19 Some things about Malware Classification 54
  • 55. Q&A • Thank you  • E-mail: – canaan@totoro.cs.nthu.edu.tw • Facebook for BoT conference: – https://www.facebook.com/BotnetCon 2015/08/19 Some things about Malware Classification 55
  • 57. One more thing • 對了,如果有人想學習 Malware/Virus 偵測, 卻沒有樣本,可以 – Google viruses-20070914 – 印象中這包有六萬多隻2007年左右的樣本 – 不用拿 MD5 去查 – (是有點舊,不過學習用,就不要太計較了  ) 2015/08/19 Some things about Malware Classification 57