os のシグネチャを用いた 悪意のある通信の検出法

33
OS のののののののののの ののののののののののの ののののの のの 4 の 1G06R129-3 のの のの 2010/2/1 (Mon.) のののの B ののののの

Upload: idania

Post on 01-Feb-2016

57 views

Category:

Documents


0 download

DESCRIPTION

OS のシグネチャを用いた 悪意のある通信の検出法. 後藤研究室 学部 4 年 1G06R129-3 棚澤 崇行. 研究背景. マルウェアにおける脅威の傾向 カーネル・マルウェアの出現 独自に実装されたネットワークドライバを用いて、 カーネルモードで通信を行う 一度感染したら、 ファイアウォールでは通信を遮断できない ボットネット、ボットの感染拡大 攻撃者が外部から感染マシンをコントロール可能 頻繁な亜種の出現、自己更新機能 マルウェアとは malware (malicious software) 悪意のあるソフトウェアの総称. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: OS のシグネチャを用いた 悪意のある通信の検出法

OS のシグネチャを用いた悪意のある通信の検出法

後藤研究室 学部 4 年1G06R129-3 棚澤 崇行

2010/2/1 (Mon.)卒業論文 B 合同審査会

Page 2: OS のシグネチャを用いた 悪意のある通信の検出法

研究背景

2010/2/1 (Mon.)卒業論文 B 合同審査会2

マルウェアにおける脅威の傾向 カーネル・マルウェアの出現

独自に実装されたネットワークドライバを用いて、カーネルモードで通信を行う

一度感染したら、ファイアウォールでは通信を遮断できない

ボットネット、ボットの感染拡大 攻撃者が外部から感染マシンをコントロール可能 頻繁な亜種の出現、自己更新機能

マルウェアとは malware (malicious software) 悪意のあるソフトウェアの総称

近年のマルウェアに対し、既存の対策では

効果が薄れてきている

Page 3: OS のシグネチャを用いた 悪意のある通信の検出法

先行研究

2010/2/1 (Mon.)卒業論文 B 合同審査会3

『 TCP フィンガープリントによる悪意のある通信の検出』 後藤研 M2 木佐森さん , MWS 2009, pp.553--558,

2009.10. 概要

独自に実装されたネットワークドライバ発のパケットは、既存の OS とは異なる TCP ヘッダの特徴をもつことが知られている

そこで、 “ 一般的な OS では利用されない TCP フィンガープリント (= TCP

ヘッダの特徴 ) を有する攻撃パケットは FKM 感染ホストが発信した”

と仮定した上で、 FKM 感染ホストの実態調査、および 通信パターンの分析を行っている

MWS シグネチャを定義

FKM (Full Kernel Malware)・・・すべての機能をカーネルモードで動作するマルウェア

Page 4: OS のシグネチャを用いた 悪意のある通信の検出法

passive TCP fingerprinting, p0f

4

passive TCP fingerprinting 受信した通信パケットの特徴から、受動的に通信相手の

OS を特定する技術 TCP/IP ではオプション等の実装が OS ごとに異なるこ

とを利用 p0f

代表的な passive TCP fingerprinting のツール 以下の形式のシグネチャとマッチング

[wwww:ttt:D:ss:OOO…:QQ:OS:Details]表 p0f のシグネチャを構成するフィールド値wwww ウィンドウサイズ

ttt TTL 初期値D DF (Don't Fragment) ビットss SYN パケット全体のサイズ

OOO TCP オプション (MSS, NOP, etc)QQ その他、特徴的な点などOS 表示する OS 名

details OS のバージョンなど

Page 5: OS のシグネチャを用いた 悪意のある通信の検出法

MWS シグネチャ

2010/2/1 (Mon.)卒業論文 B 合同審査会5

CCC DATAset の「攻撃通信データ」に p0f を適用した結果、 OS が UNKNOWN と判定されたもの

TTL 初期値を 2 の累乗と推定し、 43 のシグネチャに集約

CCC DATAset とは サイバークリーンセンター (CCC) の収集するデータをもと

に作成された研究用データセット、以下の3つから構成 マルウェア検体 ( のハッシュ値 ) 攻撃通信データ ハニーポットのパケットダンプファイル・・・ 攻撃元データ

マルウェア対策研究人材ワークショップ (MWS) において共有

Page 6: OS のシグネチャを用いた 悪意のある通信の検出法

研究の目的

2010/2/1 (Mon.)卒業論文 B 合同審査会6

MWS シグネチャに関する以下の検証を行う

マルウェアがどの過程で MWS シグネチャによる通信を行うのか

マルウェアの動作実験 MWS シグネチャはどの程度の脅威なのか

Nepenthes における攻撃成立率の算出

Nepenthes とは マルウェア収集に特化した低対話型ハニーポット 著名な脆弱性と一部のシェルコードをエミュレート

Page 7: OS のシグネチャを用いた 悪意のある通信の検出法

マルウェアの動作実験

2010/2/1 (Mon.)卒業論文 B 合同審査会7

隔離されたネットワークの中でマルウェアを実行 実行からおよそ 5 分間の通信をキャプチャし、分析 仮想環境、実機環境で比較

仮想環境は VMware ESXi 4.0.0 を利用 実機環境は情報通信研究機構 三輪氏らによる MAT (Minimal-

attack / Malware Analysis Testbed) を利用させていただいた

使用したマルウェア CCC DATAset で提供されたハッシュ値に一致する検体

11 種 Nepenthes 等によって独自に入手した検体 9種

マルウェアや小規模な攻撃の再現を行い、安全に解析や体験学習に利用するためのテストベッド

Page 8: OS のシグネチャを用いた 悪意のある通信の検出法

実験環境 ( 概要図 )

2010/2/1 (Mon.)卒業論文 B 合同審査会8

(Promiscuous mode)仮想スイッチ

Web サーバUbuntu9.10 + Apache2

DNS サーバUbuntu9.10 + bind9

観測用マシンUbuntu9.10 + tcpdump

感染マシンWindows XP SP3 FWなし

感染拡大用マシンWindows XP SP3 FWなし

Page 9: OS のシグネチャを用いた 悪意のある通信の検出法

実験結果

2010/2/1 (Mon.)卒業論文 B 合同審査会9

実機と仮想マシンによる動作の違い 仮想環境を検出し、動作しない検出が 1検体あった その他挙動の違いはほとんど見られず

いくつかの基本的な動作パターンを確認 ( 後述 ) MWS シグネチャは見つからず

Page 10: OS のシグネチャを用いた 悪意のある通信の検出法

マルウェアの動作パターン①

10

DNS サーバに正引き問い合わせを行い、 返ってきた IP アドレスの TCP/80 に接続要求を行う

Web サーバには以下のようなリクエスト・ GET /ecv20.php

・ GET /ecv60.php?p=bGlwPTE5Mi4xNjguMC45Jm49MSZ3PTIuNS4xLlNlcnZpY

2UgUGFjayAz

・ GET /binaries/relevance.dat

・ GET /client.php?str=/yfwar6fICJrSn8buMBjhMYZKTK3COLQMFjoKqBzsag=

・ GET /ack.php?version=16\&myVer=6\&

uid=98818A46-0BF2-1041-0326-090000000051\&status=OK\&l=0

・ GET /public/controller.php?action=bot\&entity\_list=\&uid=\&first=1\&

guid=2558626374\&v=15\&rnd=8520045

・ POST /safebrowsing/downloads?client=navclient-auto-ffox\&appver=3.5.5\&

pver=2.2\&wrkey=AKEgNitUOrc7a5aJHiJXVf9do2jFt-VEdY5mCHM0f6T5v

EIjn5d7hgr1GuqHTbeD\_APiw82xUzF4vdn\_RTVYo16LzUNlnWutdQ==

別のマルウェアに感染しに いっているのでは?

Page 11: OS のシグネチャを用いた 悪意のある通信の検出法

マルウェアの動作パターン②

2010/2/1 (Mon.)卒業論文 B 合同審査会11

DNS サーバに正引き問い合わせを行い、 返ってきた IP アドレスの TCP/(80 以外 ) に接続要求を

行う TCP/2345, 3305, 9111 宛の接続要求を確認

TCP/2345 は Doly Trojan が利用することで知られる

TCP/3305, 9111 は不明 以下の可能性が考えられる

マルウェア配布サーバのポート 特定のバックドア 未知のワーム、トロイの木馬が利用

Page 12: OS のシグネチャを用いた 悪意のある通信の検出法

マルウェアの動作パターン③

2010/2/1 (Mon.)卒業論文 B 合同審査会12

DNS の問い合わせは行わずに外部に接続要求を行う 乱数から IP アドレスを作り出していると思われる TCP/80, 445宛を確認

パターン②、パターン③では、感染後すぐに感染活動を行っていると考えられる

Page 13: OS のシグネチャを用いた 悪意のある通信の検出法

実験の考察

2010/2/1 (Mon.)卒業論文 B 合同審査会13

なぜMWS シグネチャが観測されなかったのか 使用したマルウェアが FKM ではなかった

では CCC DATAset のマルウェアは? 完全に隔離された実験環境では自由度が足りなかった

別検体のダウンロードと思われる挙動 感染の初期段階では MWS シグネチャが現れない可能性も

動作時間が短かった ユーザの操作や特定の時間に同期して動作するマルウェアの存在

さらなる情報を手に入れるためには マルウェアの挙動を確認しながら、 徐々に自由度を高めた実験を行う必要がある

Page 14: OS のシグネチャを用いた 悪意のある通信の検出法

Nepenthes における攻撃検出率

2010/2/1 (Mon.)卒業論文 B 合同審査会14

一般の商用プロバイダの回線につないだホスト上で SYNパケットをキャプチャ (2009 年 11月 22日~ 12月 22日 )

外部へのサービスは Nepenthes のみ 攻撃パケットが届いた際に、 Nepenthes が応答してダウ

ンロードを試みたものを攻撃成立とみなす

簡単のため、以下のように分類 ALL :すべてのパケット Nepen :上記のうち、 Nepenthes において攻撃が成立した

ことの        ある IP アドレスからのパケット MWS.Nepen :上記のうち、 MWS シグネチャを有するもの MWS :MWS シグネチャを有するすべてのパケット

Page 15: OS のシグネチャを用いた 悪意のある通信の検出法

MWS.Nepen の攻撃成立回数の推定

2010/2/1 (Mon.)卒業論文 B 合同審査会15

MWS.Nepen における1パケットあたり成立回数 = Nepen における1パケットあたりの成立回数 と仮定 1740 packets × 0.6984 ~ 1215 回 と推定

表 パケット数、攻撃成立回数とユニーク IP アドレス数

  パケット数 / 攻撃成立回数

ユニークな    IP アドレ

ス数 ALL 11,072 packets 2,287

Nepen4,426 packets

8323,091 回

MWS.Nepen

1,740 packets308

計測不能

MWS 4,003 packets 637

69.84%

( 推定 ) 1,215 回

Page 16: OS のシグネチャを用いた 悪意のある通信の検出法

パケット単位の攻撃成立率

2010/2/1 (Mon.)卒業論文 B 合同審査会16

すべて 27.92%

MWS 30.35%

MWS パケットは全パケットの平均と比べて、1パケットあたりの攻撃成立が 2.43%高い

表 パケット数、攻撃成立回数とユニーク IP アドレス数

  パケット数 / 攻撃成立回数

ユニークな    IP アドレ

ス数 ALL 11,072 packets 2,287

Nepen4,426 packets

8323,091 回

MWS.Nepen

1,740 packets308

( 推定 ) 1,215 回

MWS 4,003 packets 637

Page 17: OS のシグネチャを用いた 悪意のある通信の検出法

ホスト単位の攻撃成立率

2010/2/1 (Mon.)卒業論文 B 合同審査会17

すべて 36.38%

MWS 48.35%

MWS パケット発信ホストは全ホストの平均と比べて、

1ホストあたりの攻撃成立率が 11.97%高い

表 パケット数、攻撃成立回数とユニーク IP アドレス数

  パケット数 / 攻撃成立回数

ユニークな    IP アドレ

ス数 ALL 11,072 packets 2,287

Nepen4,426 packets

8323,091 回

MWS.Nepen

1,740 packets308

( 推定 ) 1,215 回

MWS 4,003 packets 637

Page 18: OS のシグネチャを用いた 悪意のある通信の検出法

攻撃成立率から

2010/2/1 (Mon.)卒業論文 B 合同審査会18

パケット単位でみると、 MWS パケットの攻撃成立率は、全パケットの平均値と

比べて少し高い程度 (+2.43%) しかし、ホスト単位でみると、

MWS シグネチャ発信ホストの攻撃成立率は、平均値に比べて非常に高い (+11.97%)

つまり、 MWS シグネチャ発信ホストによる攻撃は偏りが少なく、

同規模の攻撃を受けた場合、より成立しやすい

Page 19: OS のシグネチャを用いた 悪意のある通信の検出法

まとめ

2010/2/1 (Mon.)卒業論文 B 合同審査会19

隔離された環境におけるマルウェアの動作実験 基本的な動作パターンを確認

別検体のダウンロード、アップデート 感染活動

MWS シグネチャは発見できず

Nepenthes における攻撃成立率 MWS シグネチャ発信ホストからの攻撃パケットは、1

ホストあたりの攻撃成立率が非常に高く、特に注意が必要である。

Page 20: OS のシグネチャを用いた 悪意のある通信の検出法

今後の課題

2010/2/1 (Mon.)卒業論文 B 合同審査会20

外部接続性のある環境でのマルウェアの実行 外部接続性を保ちながらも感染活動を遮断できるような

実験環境の構築

他のハニーポットによる攻撃成立率の評価 本研究において算出した攻撃成立率は、 Nepenthes の実

装に大きく依存している

Page 21: OS のシグネチャを用いた 悪意のある通信の検出法

2010/2/1 (Mon.)卒業論文 B 合同審査会21

  ご清聴ありがとうございました

Page 22: OS のシグネチャを用いた 悪意のある通信の検出法

実験に使用したマルウェアの検体名

2010/2/1 (Mon.)卒業論文 B 合同審査会22

avast! Version4.8 Home Edition による ( ウイルスデータベースのバージョン 100121-0)

• Win32:Trojan-gen × 4 • Win32:Small-MTP [Trj] × 2

• Win32:Agent-ABSM [Trj] • Win32:Zbot-ALS

• Win32:Agent-UBI [Wrm] • Win32:Virut

• Win32:Agent-SPX [Trj] • Win32:Bredolab-AP [Trj]

• Win32:MalOb-Z [Cryp] • Win32:Malware-gen

• Win32:Rbot-GNZ [Trj] • Win32:Small-ESX [Trj]

• Win32:VB-NUQ [Drp] • Win32:Virtob

• Win32:Zbot-MML [Trj] • 不明 × 1

Page 23: OS のシグネチャを用いた 悪意のある通信の検出法

MWS シグネチャの分析

2010/2/1 (Mon.)卒業論文 B 合同審査会23

各MWS シグネチャの割合 宛先ポート番号 送信元 IP アドレスの国別情報 送信元 IP アドレスの DNSBL (DNS Blacklist) 掲載

Nepenthes における攻撃成立率の算出

Page 24: OS のシグネチャを用いた 悪意のある通信の検出法

分析に用いたデータ

2010/2/1 (Mon.)卒業論文 B 合同審査会24

CCC_SYN CCC DATAset の「攻撃通信データ」に含まれるすべての

SYN パケット この内、 MWS シグネチャを有するものを CCC_MWS とす

る 収集期間は 2009 年~~の 2日間

HONEY_SYN 一般の商用プロバイダの回線につないだホスト上でキャプ

チャした SYN パケット この内、 MWS シグネチャを有するものを HONEY_MWS と

する 収集期間は 2009 年 11月 22日~ 12月 22日の約 1 ヶ月間 Nepenthes を同時実行

Page 25: OS のシグネチャを用いた 悪意のある通信の検出法

分析に用いたデータ

2010/2/1 (Mon.)卒業論文 B 合同審査会25

表 : 各データセットにおける攻撃元の OS の割合

OSパケット数

CCC_SYN HONEY_SYN Windows 4,815,260 3,390 MWS シグネチャ 2,619 4,003

Unix / Linux 37 156 Redline 5 0 Novell NetWare

0 815

UNKNOWN 0 27,028 計 4,817,921 35,392

Page 26: OS のシグネチャを用いた 悪意のある通信の検出法

MWS シグネチャの割合

2010/2/1 (Mon.)卒業論文 B 合同審査会26

図: CCC_SYN の MWS シグネチャ図: HONEY_SYN の MWS シグネチャ

Page 27: OS のシグネチャを用いた 悪意のある通信の検出法

宛先ポート番号

2010/2/1 (Mon.)卒業論文 B 合同審査会27

図: CCC_MWS の宛先ポート番号 図: HONEY_MWS の宛先ポート番号

Page 28: OS のシグネチャを用いた 悪意のある通信の検出法

送信元 IP アドレスの国別情報

2010/2/1 (Mon.)卒業論文 B 合同審査会28

図: CCC_MWS の送信元国別情報

図: HONEY_MWS の送信元国別情報

Page 29: OS のシグネチャを用いた 悪意のある通信の検出法

送信元 IP アドレスの DNSBL 掲載率

2010/2/1 (Mon.)卒業論文 B 合同審査会29

DNSBL とは、 主にスパムメールの送信者の IP アドレスを収集したもの

本研究では The Spamhaus Project のものを利用 SBL (Spamhaus Block List)

スパムメールの送信、中継に関係した IP アドレスのリスト XBL (Exploits Block List)

ワームやトロイの木馬、公開プロキシなどによってハイジャックされ、攻撃の踏み台となった IP アドレスのリスト

PBL (Policy Block List) 動的 IP アドレスのリスト

Page 30: OS のシグネチャを用いた 悪意のある通信の検出法

CCC_SYN, HONEY_SYN に加え、頻出のシグネチャ

送信元 IP アドレスの DNSBL 掲載率

2010/2/1 (Mon.)卒業論文 B 合同審査会30

表 DNSBL掲載率

 各 DNSBL の掲載率

SBL XBL PBL

CCC_MWS 0.86 % 0.58 % 46.97 %

HONEY_MWS 0.00 % 0.32 % 29.22 %

53760_4 0.00 % 0.00 % 40.14 %

60352_6 0.00 % 0.00 % 41.63 %

16384_1 3.37 % 1.12 % 23.60 %

Page 31: OS のシグネチャを用いた 悪意のある通信の検出法

2010/2/1 (Mon.)卒業論文 B 合同審査会31

Page 32: OS のシグネチャを用いた 悪意のある通信の検出法
Page 33: OS のシグネチャを用いた 悪意のある通信の検出法