マルウェア収集ツールでおなじみのNepenthes(http://nepenthes.mwcollect.org/)を使って2007年に取得したマルウェアに関する情報を主に分析した結果をまとめています。
分析対象の収集環境は以下の通りである。
2006/08から稼働はしているが、今回の分析対象は2007/01/01-2007/12/31に収集、記録したデータである。2006年12月までに収集したデータは対象外である。Nepenthesで収集する物として、実際に脆弱性を利用したコード等(hexdumps)と、その後に取得してくるマルウェア(binaries)の2種類が挙げられる。それぞれの分析結果を示す。
hexdumpsディレクトリ以下で取得した内容について、統計的なデータと、月別、サイズ別の分析結果を以下に示す。
| 月 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 | 計 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 収集数 | 13784 | 5667 | 54 | 76 | 125 | 79 | 81 | 465 | 553 | 142 | 258 | 1008 | 22292 |
1月は13000個以上と他の月に比べて突出している。他の月の変動がわかりにくくなるため1月のデータはグラフ上では全て表示していない。2月も5000個以上と多く、それ以外の月は数十から数百程度のオーダとなっている
| サイズ | 0-24 | 25-74 | 75-124 | 125-174 | 175-224 | 225-274 | 275-324 | 325-374 |
|---|---|---|---|---|---|---|---|---|
| 該当数 | 1104 | 196 | 38 | 101 | 348 | 1382 | 1078 | 17151 | サイズ | 375-424 | 425-474 | 475-524 | 525-574 | 575-624 | 625-674 | 675-724 | 725- |
| 該当数 | 5 | 14 | 47 | 6 | 758 | 10 | 9 | 45 |
サイズ325-374の部分で17000個以上と突出しているが、調べた結果から338バイトサイズのhexdumpを1月と2月に大量に収集していることが判明した。
収集したファイルをls, file, cat, strings, xxdコマンド等で調べた。その結果、以下のように大別された。
前述の1, 2月に大量収集した338バイトのファイルはシェルコードに分類されることが判明した。338バイトサイズのあるファイルを16進数表示した結果を以下に示す。
$ xxd 0009a11235b710bac15553e71dcb29c5.bin 0000000: 33db 648b 4330 8b40 0c8b 701c ad8b 7808 3.d.C0.@..p...x. 0000010: e845 0000 0053 568b 5f3c 8b5c 3b78 03df .E...SV._<.\;x.. 0000020: 538b 5b20 03df 5383 c304 8b33 03f7 33c9 S.[ ..S....3..3. 0000030: ac32 c8c1 c105 84c0 75f6 2bca 75e9 582b .2......u.+.u.X+ 0000040: d8d1 eb5e 035e 2403 df66 8b0b 8b5e 1c03 ...^.^$..f...^.. 0000050: df8b 048b 03c7 5e5b ffe0 5e68 3332 0000 ......^[..^h32.. 0000060: 6877 7332 5f54 ba92 6e04 84ff d68b f881 hws2_T..n....... 0000070: ec00 0200 008b ec53 6a01 6a02 ba83 5383 .......Sj.j...S. 0000080: 00ff d653 5368 dc96 faf5 6802 0013 bb8b ...SSh....h..... 0000090: d48b d86a 1052 53ba 6330 605a ffd6 50b4 ...j.RS.c0`Z..P. 00000a0: 0250 5553 ba00 5860 e2ff d6bf 15e9 174b .PUS..X`.......K 00000b0: ffe5 6962 6d72 6b6b 6271 6165 716a 7961 ..ibmrkkbqaeqjya 00000c0: 777a 7664 6477 6867 7178 756c 797a 6f64 wzvddwhgqxulyzod 00000d0: 6965 6177 676a 7768 7768 6466 7266 7278 ieawgjwhwhdfrfrx 00000e0: 7078 7763 6d69 6574 706b 6669 7677 6c62 pxwcmietpkfivwlb 00000f0: 6464 6370 7a63 7872 7366 797a 686c 7569 ddcpzcxrsfyzhlui 0000100: 7177 6777 6f6a 6363 666d 7061 6778 6762 qwgwojccfmpagxgb 0000110: 6276 6a62 6f6f 6772 7962 7a6e 6b72 7365 bvjboogrybznkrse 0000120: 7475 7278 7379 7471 7462 7370 7076 6371 turxsytqtbsppvcq 0000130: 6564 6c66 7678 7470 7577 7965 697a 6d6a edlfvxtpuwyeizmj 0000140: 6864 6a68 646f 7077 6773 6977 726d 6e70 hdjhdopwgsiwrmnp 0000150: 7071 pq
338バイトのファイルに共通する特徴として、先頭136バイト分(0x00-0x87)と139-140バイト(0x8a-0x8b)、145-172(0x90-0x9b)バイト、177-178バイト(0xb0-0xb1)のデータがいずれも同一となっていることが挙げられる。上記に含まれている"hws2_T"などで検索すると関連する情報が以下のサイトに掲載されていた。
Hexdump/Disassembly of Un´XOR´ed Shellcode
http://zero.ram.rwth-aachen.de/amun/shellcode.php?id=10
上記サイトに掲載されている内容に関して、ファイルサイズ等は異なるが上述した共通データ部分が同様に含まれている。TypeはConnectBack Filetransferとなっており、指定された相手にターゲット側から接続するタイプのファイル転送コードであると考えられる。2006年に収集したhexdumpsも参照したが、598バイト、338バイトのファイルが多数存在しており、同様の特徴を持っていた。このシェルコードは多様されていると推測される。
なお、上で例示したファイルをVirusTotal(http://www.virustotal.com/)で解析したが、マルウェアとして検出されなかった。また、ClamAVでhexdumpsの全ファイルをスキャンしたが、この特徴を持たないファイルで数ファイルのみシェルコードとして検出しただけであった。
binariesディレクトリ以下で取得した内容について、統計的なデータと、月別、サイズ別、ClamAVの分析結果を以下に示す。
| 月 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 | 計 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 収集数 | 152 | 132 | 99 | 133 | 142 | 137 | 75 | 138 | 107 | 69 | 99 | 89 | 1372 |
どの月も100個前後収集しており、顕著な特徴は見られない。ここで示している数値は新規のマルウェアのみをカウントしており、既に取得したマルウェアが送り込まれてきてもカウント対象とはなっていない。この環境では2006年8月頃から稼働しているが、2007年の1年間を見てもコンスタントに収集していることから、日々新種のマルウェアまたは亜種が次々に生成されている状況にある。
| サイズ | 0-10k | 10k-20k | 20k-30k | 30k-40k | 40k-50k | 50k-60k | 60k-70k | 70k-80k |
|---|---|---|---|---|---|---|---|---|
| 該当数 | 218 | 50 | 12 | 19 | 57 | 141 | 92 | 114 |
| サイズ | 80k-90k | 90k-100k | 100k-110k | 110k-120k | 120k-130k | 130k-140k | 140k-150k | 150k-160k |
| 該当数 | 74 | 68 | 64 | 50 | 35 | 41 | 52 | 62 |
| サイズ | 160k-170k | 170k-180k | 180k-190k | 190k-200k | 200k-210k | 210k-220k | 220k-230k | 230k- |
| 該当数 | 33 | 25 | 17 | 8 | 14 | 29 | 8 | 89 |
10k未満のマルウェアが多数あり、また、40kから160k前後までのサイズで満遍なく存在している。表には掲載していないが、25k-26kで15個、38k-39kで9個収集しており、該当サイズの範囲で何らかのマルウェアの亜種が複数あるためと推測される。
binariesディレクトリ内に収集されたファイルに対してClamAVでスキャンした。2008/03下旬時点のシグネチャを使用している。実行の結果、989ファイル(72%)をマルウェアとして検出した。一部破損している可能性はあるものの本来は全ファイルを検出すべきであり、ClamAVの検出精度は課題と思われる。
マルウェアの名称は"大分類名.中分類名[.小分類名][-亜種番号]"の形式となっている。大まかな傾向を知るために、検知したマルウェアを"大分類名"で分類した。
| 分類名 | Trojan | W32 | Worm | Exploit | 合計 |
|---|---|---|---|---|---|
| 該当数 | 619 | 349 | 16 | 10 | 989 |
多数がトロイの木馬系またはWindows対象のプログラムである。この分類では大まかすぎるため、中分類も含めて上位10個をピックアップした。
| 名称 | W32.Bobax | Trojan.SdBot | Trojan.Poebot | W32.Virut | Trojan.Vanbot |
|---|---|---|---|---|---|
| 個数 | 212 | 202 | 108 | 90 | 64 |
| 名称 | Trojan.Mybot | Trojan.Agent | W32.Sality | Trojan.IRCbot | Trojan.Sdbot |
| 個数 | 53 | 51 | 40 | 40 | 25 |
上位10種類で9割近く占めており、大半はbot系のプログラムであると推測される。