Computer Security Symposium 201611 - 13 October 2016

HTTP ベースの通信挙動に基づく RAT 検知システムの試作
三村 守1,2

大坪 雄平1,3

田中 英彦1

概要：近年の標的型攻撃における RAT の通信は，通信先や特徴的な通信パターンが判明していない限り検知することは困難である．そこで，われわれは http ベースの受信量や時刻等のトラフィックパターンの挙動から，パターンマッチングを用いずに RAT を検知する手法を提案した．この手法では，Support

Vector Machine および Random Forests に基づく分類器を用い，プロキシサーバのログからでも未知のRAT を検知することが可能である．本稿では，その検知手法とブラックリストと併用した運用構想を提案
し，http ベースの通信挙動による RAT 検知システムを試作する．さらに，実運用のネットワークへの適用実験により，リアルタイムで運用可能であることを示す．
キーワード：標的型攻撃，RAT，通信挙動，Support Vector Machine，Random Forests，ブラックリスト

Implementation of a RAT Detection System using HTTP-Based
Communication Behavior
Mamoru Mimura1,2

Yuhei Otsubo1,3

Hidehiko Tanaka1

Abstract: In recent APT campaigns it is hard to detect RAT activity, unless we know the C&C server
address or the distinctive communication pattern. As a countermeasure, we proposed how to detect RAT
activity without pattern matching, which uses the http-based behavior such as the sizes of the object returned to the client or the intervals of the logged time. Our method uses statistical classiﬁers based on
support vector machine and random forests. Our method can detect unknown RAT activity in proxy server
logs. This paper proposes the operation concept using the blacklist of C&C servers, and implements the
RAT detection system using http-based communication behavior. Moreover, the experimental result on areal network shows the system can run in real time.
Keywords: APT, RAT, Communication Behavior, Support Vector Machine, Random Forests, Blacklist

するためのプログラムが用いられる．サイバー攻撃への対

1. はじめに策として，大規模な企業や公共機関では，http 等の必要最

サイバー攻撃の脅威は年々深刻化しており，社会の関心

小限のサービスの利用にアクセスを制限している場合も少も高まってきている．サイバー攻撃には様々な種類があなくない．このような大規模な組織を対象とした標的型攻

るが，とりわけ特定の組織を執拗に狙う標的型攻撃によ

撃では，通常の http 通信を用いて遠隔操作を実施する RAT

る情報漏洩の被害は深刻である．多くの標的型攻撃では，が使用される．中には IDS (Intrusion Detection System)

RAT(Remote Access Trojan または Remote Administra-による検知を回避するために，特徴的な文字列を含まない

tion Tool) と呼ばれる被害者のコンピュータを遠隔で操作で通信する RAT もある. このような RAT は，通信先や特1

徴的な通信パターンが判明していない限り検知することは

2

3

情報セキュリティ大学院大学
Institute of Information Security
海上自衛隊幹部学校
JMSDF Command and Staﬀ College
警察庁
National Police Agency

困難である．また，既存の多くの振舞いによる RAT の検知手法では，パケット単位ですべてのトラフィックを傍受する必要があるため，プロキシサーバのログ解析には適用－ 488 －

できないという課題があった．そこで，われわれはプロキ

けではない．文献 [3] では，既知の不正な通信の制御プロ

シサーバのログから入手できる http ベースの受信量や時刻トコルのテンンプレートを作成し，未知の不正な通信を検等のトラフィックパターンの挙動から，パターンマッチン

知するシグネチャに基づく検知システムを提案している．

グを用いずに RAT を検知する手法を提案した [1]．この手

このシステムでは，マルウェアのサンプルを必要としてい法では，Support Vector Machine および Random Forests

る．他のいくつかのシグネチャに基づく検知システムにおに基づく分類器を用い，プロキシサーバのログからでも未いても，シグネチャ作成のために動的解析を実施する必要

知の RAT を検知することが可能である．本稿では，そのがある [4], [5]．これらのシグネチャに基づく手法では，不検知手法とブラックリストと併用した運用構想を提案し，正な通信を検知するためにすべてのパケットにアクセスすhttp ベースの通信挙動による RAT 検知システムを試作する必要がある．また，これらの手法ではほとんどの場合，る．さらに，実運用のネットワークへの適用実験により，検知のためのシグネチャとして固定の文字列や正規表現を

リアルタイムで運用可能であることを示す．

用いる．さらに，マルウェアのサンプルが必要な場合もあ

以下，第２節では関連研究について示し，提案手法と比る．われわれの手法は，不正な通信を検知するためにプロ較してその違いを明確にする．第３節では，提案したプロキシサーバのログから取得できる項目のみを用いており，

キシサーバのログからパターンマッチングを用いずに RAT

すべてのパケットの監視を必要とせず，固定の文字列や正を検知する手法について説明する．第４節では提案手法を

規表現も用いない．われわれの手法では，訓練データとし用いた運用構想を示し，http ベースの通信挙動による RATて分析済みのプロキシサーバのログが必要であるが，マル

検知システムを試作する．第５節では試作した提案システ

ウェアのサンプルは必ずしも必要としない．

ムを実運用されているネットワークに適用する．第６節では提案システムの運用構想と実用性について考察し，最後

2.2 振舞いによる C&C 検知にまとめと今後の課題を示す．

シグネチャを用いない振舞いによる検知手法としては，

DNS の特徴的な通信のパターンを観測して不正なドメイ

2. 関連研究

ンを検知する手法が提案されている [6], [7], [8], [9]．たとわれわれの研究の目的は，大規模な組織をねらった標的

えば，文献 [8] ではマルウェアがドメイン名を自動的に生型攻撃において，C&C サーバのアドレス，固定の文字列，成するアルゴリズムに着目し，感染した端末を検知する手

正規表現等によるパターンマッチングで検知できない http法が提案されている．文献 [9] では，簡易で負荷の軽い不ベースの RAT の通信を検知することである．不正な通信

正なドメインを検知する手法が提案されている．この手法を検知することを目的とした手法は，これまでにも多く提では，受動的に DNS の通信を監視し，大規模なプロバイダ

案されている．しかしながら，これまでのほとんどの手法のネットワークにおいて，マルウェアの感染時の DNS ク

では，大規模な組織をねらった標的型攻撃における RAT をエリの振舞いを追跡する．これらの手法では，利用者の端検知できるかどうかは明確ではない．既存の関連研究は，

末とそれらの DNS リゾルバの間の DNS の通信を監視する

シグネチャベースによる C&C 検知，振舞いによる C&C

必要がある．われわれの手法では，DNS の通信を監視する

検知およびログ分析による C&C 検知に分類できる．以下，必要はなく，標準のプロキシサーバのログのみを用いる．

各分類毎に関連研究との違いについて示す．

ボットに感染した端末に焦点をあてた検知手法も多く提案されている [10], [11], [12], [13], [14], [15], [16], [17],2.1 シグネチャによる C&C 検知[18], [19], [20]．たとえば，BotHunter[10]，BotSniﬀer[11]多くの研究者が，C&C サーバのアドレスと不正な通信をや Botminer[12] 等は異常検知に基づくボット検知システ

検知するために，固定の文字列や正規表現を用いたシグネムである．これらのシステムでは，感染した端末は C&C

チャに基づく手法に着目してきた．文献 [2] では，HTTP

サーバを共有する同じボットネットに属するという特徴をベースのマルウェアを分類するために，リクエストの数，利用し，ネットワークのホスト間における類似の振舞いを

GET の数, POST の数，URL の平均の長さ，パラメータの探す．Jackstraws[15] や BotFinder[16] では，マルウェア

平均数，POST で送信したデータの平均サイズ，平均の応のサンプルから類似したパターンの接続の検知を試みる．

答のサイズを使用している．この手法では，さらにクエリ

これらの手法では，マルウェアのサンプルが必要である．

の内容も分析してクラスターに分類し，マルウェアのサン

DISCLOSURE[17] では，Net Flow から抽出した特徴を用プルによるクラスターと類似性を比較し，シグネチャを自いて C&C 通信を検知する．文献 [18] では，パケットサイ

動生成している．この手法では，プロキシサーバのログか

ズ，パケット数，到着間隔等の特徴量を用い，Ada Boostらでも取得できる項目を用いており，その平均に着目してで通常の通信と不正な通信を区別することで，マルウェア

挙動を抽出している．しかしながら，これらの項目は分類への感染を検知する手法を提案している．文献?では，パのために用いられており，検知のために用いられているわ

ケット数，データサイズ，セッション時間，アクセス回－ 489 －

• リクエストの内容（メソッド，URL および User Agent

数およびアクセス時間の標準偏差を特徴ベクトルとして，

Support Vector Machine によりＣ＆Ｃトラフィックを抽を含む．）

出する手法を提案している．多くの既存の手法では，機械• HTTP ステータスコード

学習を用いるためにパケットから収集した統計的な情報を• クライアントが受信したサイズ

用いる．このように，ほとんどの既存のボットに感染した

これらの項目は，標準ログフォーマットに含まれており，ホストを検知する手法では，すべてのパケット単位のネッ

多くのプロキシサーバで取得可能であると考えられる．こトワーク通信を監視できていることが前提となっている．

の検知手法では，複数行のログから特徴となる挙動を抽出

そのため，プロキシサーバのログを解析する用途には用いする．まず，HTTP ステータスコードが成功の行を対象とることはできない．われわれの手法では，プロキシサーバ

して，URL に含まれるホスト毎にあらかじめ指定した行の標準形式のログから取得できる http ベースの情報のみ

数のログを抽出する．次に，抽出した指定行数のログに含を用いるため，プロキシサーバのログを解析する用途にもまれる時刻，リクエストの内容およびクライアントが受信適用することが可能である．また，いくつかの既存の手法したサイズから特徴ベクトルを作成する．

ではマルウェアのサンプルが必要であるが，われわれの手法ではマルウエアのサンプルは必ずしも必要としない．

3.2 特徴ベクトル

2.3 ログ分析による C&C 検知

徴ベクトルを以下に示す．

この検知手法において，指定行数のログから作成する特文献 [21] では，プロキシサーバのログからクライアン

1°
最頻出の受信サイズ

トのアドレス，訪問先のアドレスおよびリクエストの数を2°
最頻出の受信サイズの数

用い，クライアントと共通するサーバに着目してグループ

3
最頻出のリクエストの間隔°に分類し，疑わしいドメインの検出を支援する手法を提4°
最頻出のリクエストの間隔の数案している．この手法では，疑わしいドメインの検出をブ

5°
最頻出の path の長さ

ラックリスト等の他の手法に依存している．文献 [22] で

6°
最頻出の path の長さの数は，DNS のログ，プロキシサーバのログ等を使用し，内7°POST メソッドの数部ホストの訪問履歴とその User Agent から，組織全体の8°User Agent の長さ

希少な訪問サイト，User Agent の傾向，ドメインの類似

特徴ベクトルは，固有の文字列を用いずに，項目の頻度性等を分析し，通常状態と比較することで異常なドメイン

1 から°
4 は，受信サイズおよび間隔に着目して作成した．°を検出する手法を提案している．この手法では，プロキシ（直前のログの時刻との差分）のヒストグラムを図 1 に示

サーバ以外にも DNS のログを必要としている．また，疑すように作成し，最も頻度が高い受信サイズおよび間隔とわしいドメインを検出するために，ドメインの登録情報，

5 および°
6 は，図 2 に示すように RAT はその数とした．°

ブラックリスト等の外部からの情報を必要としている．こ

同じ path に連続してアクセスするという特徴を数値化しれらの手法は，プロキシサーバから取得できる項目を用い

7 は，一部の RAT は特定のメソッドを多たものである．°ており，教師なし学習モデルを分類のために用いている．

8 は，User Agent の違いを考用することに着目している．°

文献 [23] では，ポリシー違反や不正プログラムの配布等の慮させるために選定した．

企業ネットワークの設定における異常を認識する手法を提count

案している．この手法では，企業ネットワークにおける疑count

わしい活動を検知するために標準のログを用いている．こ②④のように，既存の多くのログを分析する手法では，クラス
タリングのような教師なし学習モデルに着目している．わ
れわれの手法では，教師あり学習モデルに着目しており，
intervalsize

プロキシサーバの標準ログのみを用いる．

①

3. http ベースの通信挙動に基づく RAT 検知
手法③

図 1 受信サイズと間隔のヒストグラム

3.1 前提条件提案した http ベースの通信挙動に基づく RAT 検知手法を実現するための前提条件は，プロキシサーバのログに以3.3 学習と予測下の項目が記録されていることである．

• 時刻

この検知手法では，SVM (Support Vector Machine) とRF (Random Forests) を，教師あり学習モデルとして未－ 490 －

http://www.xxxxx.jp/2008/12/home/index.php&a855=%1A8%3Cihlt8%2Fij・・・
http://www.xxxxx.jp/2008/12/home/index.php&xzGzlI=Y%7B%7F%2A%2B ・・・
http://www.xxxxx.jp/2008/12/home/index.php&FVtQgfDu=Fd%60540%28・・・
http://www.xxxxx.jp/2008/12/home/index.php&ZhUJS2b3=%5E%7Cx-%2 ・・・
http://www.xxxxx.jp/2008/12/home/index.php&TQCiXwR=%1137bcg%7F3・・・
http://www.xxxxx.jp/2008/12/home/index.php&BEkJ6b=1%13%17BCG_% ・・・
http://www.xxxxx.jp/2008/12/home/index.php&n9Qwrsn8Fc=%40bf326.b ・・・
http://www.xxxxx.jp/2008/12/home/index.php&ofxM=%7F%5DY%0C%0D ・・・
http://www.xxxxx.jp/2008/12/home/index.php&zxyS9W5=0%12%16CBF% ・・・
http://www.xxxxx.jp/2008/12/home/index.php&YR53EpQUAn=Prv%23%2 ・・・

かじめ分析した RAT の痕跡を含むログを RAT 検知シス
1 ，検知手法の学習フェーズを適用する．
テムに入力し (°)

RAT 検知システムは監視対象とするネットワークからの⑥

2 ，ログに相当するデータに加工
通信内容を読み込み (°)

した後，検知手法の予測フェーズを適用する．ネットワー
クを監視するオペレータは，検知システムが RAT の種類
3 には，その内容を精査しとその URL を検知した場合 (°)⑤て正誤を判断する．オペレータはまた，外部の情報源から
4 には，検知シ
RAT の通信先 URL の情報を得た場合 (°)

図 2 RAT のアクセスログの例

ステムで精査した URL と合わせてブラックリスト検知シ

知のデータの予測に用いる．そのため，訓練データとして

5 ．ブラックリスト検知システムは監
ステムに登録する (°)

検知対象とする RAT の痕跡を含む既知のログが必要であ

視対象とするネットワークからのすべての通信内容を読みり，かつそのログにおいて RAT の通信と通常の通信の区

6 ，登録されたブラックリストに合致した前後一定
込み (°)

別がついている必要がある．この検知手法の動作は，学習時間の通信内容を保存する．オペレータはその保存されたフェーズと予測フェーズに分類される．

7 ，正誤の判断に活用するとともに，通信内容を抽出し (°)

学習フェーズ

8 ．分析の結果，誤検研究者にその分析結果を送付する (°)

検知対象とする RAT の痕跡を含むログを読み込み，知と判断された URL については，ホワイトリストとしてホスト毎に指定行数のログから特徴ベクトルを作成す

1 ．
RAT 検知システムに登録して除外する (°)

本稿では，以上に示した運用構想を前提に，通信挙動にる．次に，特徴ベクトルが RAT による通信であればRAT の種類，それ以外であれば通常の通信のラベル

よる RAT 検知システムを試作する．

を付与し，SVM または RF に学習させる．
予測フェーズ対象とする未知のログを読み込み，学習フェーズと同様に，ホスト毎に指定行数のログから特徴ベクトルを┘どᑐ㇟䝛䝑䝖䝽䞊䜽

作成する．次に，その特徴ベクトルを SVM または RF䐤に予測させ，RAT の種類か通常の通信のラベルを出ϬϭϬϬϬϭϬϭϬϭ
ϭϬϬϬϭϬϬϭϬϭ
ϭϬϭϬϭϭϬϭϬϭ
ϬϬϭϬϭϬϭϬϭϬ
䞉䞉䞉

䐠

力させる．
この検知手法では以上の動作により，対象とするログか䐟

ら HTTP ベースの RAT の種類を検知する．
◊✲⪅㏻ಙᣲື䛻䜘䜛Zd᳨▱䝅䝇䝔䝮

4. 検知システムの試作
䐦

4.1 運用構想ϬϭϬϬϬϭϬϭϬϭ
ϭϬϬϬϭϬϬϭϬϭ
ϭϬϭϬϭϭϬϭϬϭ
ϬϬϭϬϭϬϭϬϭϬ
䞉䞉䞉䝤䝷䝑䜽䝸䝇䝖
᳨▱䝅䝇䝔䝮

䐣䐡䐥ϬϭϬϬϬϭϬϭϬϭ
ϭϬϬϬϭϬϬϭϬϭ
ϭϬϭϬϭϭϬϭϬϭ
ϬϬϭϬϭϬϭϬϭϬ
䞉䞉䞉

通信挙動に基づく RAT 検知手法は，ログを詳細に分析する用途とリアルタイムで通信を監視する用途に適用する
䐢ことが可能である．文献 [1] では，ログを詳細に分析する用途において，提案手法が有効かつ実用的であることを示䜸䝨䝺䞊䝍እ㒊䛾᝟ሗ※

した．本稿では，この検知手法をリアルタイムで通信を監視する用途に適用する手法を検討し，HTTP ベースの通信
図 3 運用構想

挙動に基づく RAT 検知システムを試作する．RAT 検知シ
ステムを試作するにあたり，まずその運用構想について説明する．
本稿で想定する運用構想を図 3 に示す．図中の研究者

4.2 機能と構成は，この検知システムの仕組みに精通し，通信データを分

次に，通信挙動による RAT 検知システムに必要な機能

析して新たな訓練データを作成したり，検知システムのメと構成を検討する．RAT 検知システムは，あらかじめ分析

ンテナンスを実施できる者を想定している．図中のオペ

した RAT の痕跡を含むログを読み込み，監視対象とする

レータは，いわゆる SOC (Security Operation Center) 等

ネットワークからの通信内容を分析して RAT の種類とそのオペレータを想定しており，インシデントの簡易な分析の URL を出力する．これらの機能を，学習，通信キャプを行うアナリストもこれに含まれる．まず，研究者があらチャ，ログ変換，予測の４つのモジュールに分割して実装－ 491 －

する．各モジュールの構成を図 4 に示す．学習モジュールを解析するために設計されたオープンソースのプログラム

は，RAT の痕跡を含むログと，その分析結果である URL

であり，特徴ベクトルの作成に必要な内容をすべてテキス

1 ，特徴とラベルのセットを訓練データとして読み込み (°)

トで出力することが可能である．通信キャプチャモジュー

2 ．通信
ベクトルを作成して予測モジュールに入力する (°)

ルは，指定した時間毎に通信内容をキャプチャし，特徴ベ

キャプチャモジュールは，監視対象とするネットワークか

クトルの作成に必要な内容を出力する．

3 ，ロらの通信内容をテストデータとしてキャプチャし (°)

ログ変換モジュールは，Python-2.7 を用いて実装した．

4 ．ログ変換モジュール
グ変換モジュールに入力する (°)

ログ変換モジュールは，通信キャプチャモジュールがテキ

4 ，ログに相は，キャプチャされた通信内容を読み込み (°)

ストデータを出力する毎に実行する．

5 ．
当するデータに加工して予測モジュールに入力する (°)

予測モジュールは，あらかじめ学習モジュールから入力さ2 を SVM または RF に学習させたれる特徴ベクトル (°)

5. 実運用ネットワークへの適用
5.1 実験環境

5 から特徴後，ログ変換モジュールから入力されるログ (°)

実装した各モジュールを，実運用のネットワークの全トベクトルを作成し，これを SVM または RF で予測させる．

ラフィックを傍受できるサーバに設置した．このサーバの予測の結果，正常な通信以外でホワイトリストに合致しな

OS は Ubuntu14 であり，仮想マシン上で動作している．実

い URL を検知した場合には，RAT の種類とその URL を験に用いた仮想マシンのスペックは，表 1 に示すとおりで6 ．
出力する (°)

ある．監視対象のネットワークの帯域は 1Gbps であり，そRAT䛾⑞㊧䜢ྵ䜐䝻䜾䠄カ⦎䝕䞊䝍䠅
䐟

のほとんどの用途は Web およびメールである．このネットワークを利用するユーザは 25 万人程度であり，Web の㏻ಙෆᐜ䠄䝔䝇䝖䝕䞊䝍䠅
䐡

トラフィックの容量は数分程度で数十 G 単位となる．なお，このネットワークは 24 時間体制で厳重に監視されてᏛ⩦䝰䝆䝳䞊䝹

㏻ಙ䜻䝱䝥䝏䝱䝰䝆䝳䞊䝹

おり，IDS やサンドボックス等の最新の標的型攻撃対策機
䐢

材を導入している．
䝻䜾ኚ᥮䝰䝆䝳䞊䝹

表 1 実験環境䐣䐠CPUCore i5-3450 3.1GHz

MemoryDDR3 SDRAM 8GB

HDD

Serial ATA 600

OS

Ubuntu14

NIC

1Gbps

ண 䝰䝆䝳䞊䝹
㏻ಙᣲື䛻䜘䜛Zd᳨▱䝅䝇䝔䝮
䐤
RAT䛾✀㢮䛸䛭䛾URL

図 4 各モジュールの構成

5.2 実験内容
今回の実験では，まずあらかじめ入手した RAT の痕跡

4.3 実装次に，各モジュールの実装手法について説明する．

を含むログから作成した特徴ベクトルを訓練データとして学習モジュールおよび予測モジュールは，Python-2.7 と学習させた．その後，それを試作した RAT 検知システム

機械学習のライブラリを活用して実装した．SVM についに読み込ませ，実運用のネットワークトラフィックをテスては libsvm-3.2[24] の C-SVC（ソフトマージン識別器）をトデータとして約１か月間動作させた．このログは，2015

用いた．カーネル関数については，分類するデータに関年に大規模なサイバー攻撃を受けたある組織の１日分のプ

する事前知識がないことから，汎用的な用途で用いられロキシサーバのログであり，その容量は約 250MB である．

る RBF（ラジアル基底関数）カーネルを選択した．RF に

このログには，通常の http 通信を用いる２種類の RAT については scikit-learn-0.16.1[25] の RandomForestClassiﬁer

よる遠隔操作の痕跡が記録されている．通信キャプチャのを用いた．SVM，RF ともに，その他のパラメータについ時間は１時間毎とし，分類器については SVM と RF の双ては，デフォルトの値とした．学習モジュールは，予測モ方を用いた．特徴ベクトルを作成するためのログの行数はジュールを実行する前にあらかじめ実行する．また，分析30 とした．

した RAT の痕跡を含むログにアップデートがあった場合にも再度実行する．予測モジュールについては，監視対象

5.3 実験結果
実験結果の概要を表 2 に示す．表中の RT は１時間分のとするログが入力される毎に実行する．
通信キャプチャモジュールについては，httpry[26] をそログを予測モジュールで処理するのに要した時間を示す．

のまま用いることとした．httpry は，Web のトラフィック

FV は１時間分のログから生成された特徴ベクトルの数で－ 492 －

あり，DC はその中で RAT と判定された数を示す．表に端で１か月に相当する．先に述べたとおり，今回の場合はは各項目ごとに SVM と RF の平均値，最大値および最小

図中の検知数は誤検知の数となる．SVM については誤検値を示している．処理時間については，SVM と RF の双知は発生しなかった．図 5 と図 6 を比較すると，RF の誤方において１時間分のログを平均１分強の時間で処理して検知は必ずしも特徴ベクトルが多い場合に発生しているわ

おり，最大でも 10 分に満たない時間で処理できているこ

けではないことが確認できる．

とが確認できる．特徴ベクトルの数については，時間帯に160

よって大きな差があることが確認できる．RAT と判定さ

SVM
RFれた数については，SVM は０であり，RF では１時間で平140

均 10 弱，最大で 142 件となった．今回の実験期間におい120ては，24 時間の監視において RAT による外部への不正通は誤検知の数ということになり，SVM では誤検知は発生していない．RF でも False Positive の割合は平均で 1%未100
detection count

信は確認できなかったことから，RF を用いた場合の検知

80

60

満にとどまった．誤検知が発生した RAT は上記 2 種類の40

うちの 1 種類のみであり，この RAT は，同一の長さの通信を短時間に頻繁に繰り返すという特徴がある．

200

表 2 実験結果の概要

SVM

date

RF

Ave

Max

Min

Ave

Max

Min

RT

1m7s

7m38s

5s

1m12s

8m9s

2s

FV

24582

113161

698

24582

113161

698

DC

0

0

0

9.7

142

0

図 6 検知数

6. 考察

図 5 は特徴ベクトルの数を時系列でグラフにしたもの

6.1 正確性である．縦軸は特徴ベクトルの数，横軸は時間を示してお

今回の実験では，大規模な実運用のネットワークにおいり，左端から右端で１か月に相当する．60,000 以上のピーて試作した検知システムを１か月の間動作させることがでクが発生している箇所は，平日の日中の通信量が多い時間

きた．動作期間中の 24 時間の監視において，RAT によるである．10,000 に満たない小さなピークは，休日の日中を外部への不正通信は確認できなかったことから，不正な通示している．このような実際のネットワークでは，時間帯

信の検知に関しては新たな知見を得ることはできなかった．

や曜日によって通信量が大きく異なることが確認できる．

この検知システムにおいて，未知の RAT による類似の不正通信を検知できるかどうかについては今後も検証の余地

120000がある．誤検知に関しては，SVM ではまったく発生せず，

RF でも最大で 1%未満にとどまった．この結果から，実運100000

用のネットワークにおいても SVM の場合は誤検知がほとんど発生せず，RF の場合はやや誤検知が発生するというfeature vector count

80000

ことを確認することができた．この誤検知数の傾向は，別の組織における RAT の痕跡を含むログの分析結果と同様

60000であった [1]．誤検知の数は，RF の場合においても１時間
で最大 142 件であった．この数量であれは，RF の場合で40000

も１名のオペレータで誤検知か否かの判定を時間内に実施
20000

することができるものと考える．より大規模なネットワー
クや複数のネットワークの監視に用いる場合には，SVM

0を用いることでオペレータの負荷を軽減することが可能

dateである．また，誤検知が発生するサイトをあらかじめホワ
イトリストとして登録し，除外することも可能である．し

図 5 特徴ベクトル数

たがって，今回試作した検知システムは，実運用のネット
次に，検知数を時系列でグラフにしたものを図 6 に示
す．縦軸は検知数，横軸は時間を示しており，左端から右ワークにおいても監視の業務に実用的に適用可能であるものと考える．

－ 493 －

6.2 リアルタイム性の RAT 検知システムと通信先のブラックリストを組み合

今回の実験では，１時間分のログを平均１分強の時間で処理しており，最大でも 10 分に満たない時間で処理できてわせ，新たな訓練データの取得を可能とする実用的な運用構想を示した．

いることが確認できた．したがって，試作した検知システ

今後の課題としては，他の実運用のネットワークへの適

ムは，大規模な実運用のネットワークにおいてもほぼリア用や他のプロキシサーバのログへの適用が挙げられる．今

ルタイムに適用することが可能であると考える．処理時間回の実験では，実運用のネットワークにおける RAT によにはまだ余裕があるため，さらに広い帯域や利用者の多い

る外部への不正通信が確認できなかったため，その効果にネットワークにも適用することが可能であると考えられる．

ついては検証の余地がある．また，他の種類の RAT に対する効果も明確ではない．ほとんどの場合，RAT の痕跡を

6.3 スケーラビリティ

含むプロキシサーバのログは共有されることがないため，試作した検知システムでは，既存の多くの振舞いによるこれを新たに入手することは現実的に期待できない．しか検知手法のように，複数の端末の通信内容を傍受する必要しながら，提案するブラックリストを併用した運用構想

はなく，単一の端末の通信内容から特徴ベクトルを作成すを，実運用のネットワークに適用することができれば，ブる．そのため，ISP レベルのネットワークや複数のネット

ラックリストから他の種類の RAT を検知し，新たな RAT

ワークを監視する場合には，そのネットワーク毎に容易にとその特徴ベクトルを訓練データに加えられる可能性もあ

処理を分散することが可能である．したがって，監視対象る．したがって，運用構想を含めた検知システムの実運用の規模や通信量に応じて処理を分散すれば，スケーラビリのネットワークへの適用が，これらの課題解決の糸口にな

ティにおける制約はなくなるものと考える．

るものと考えられる．

6.4 制限

参考文献

試作した検知システムでは，アウトバウンドの通信を対[1]象としており，攻撃者の RAT による遠隔操作を検知する
ことに焦点をあてている．したがって，この検知システム[2]は出口対策の一つであり，最終的に攻撃者が攻撃目標を達成する段階における対策に位置づけることができる．マル
ウェアを添付したメールやドライブバイダウンロード攻撃[3]等に対しては，サンドボックス等の別の入口対策が必要である．この検知システムでは複数行のログから特徴ベクトルを作成するため，１時間強のタイムラグが発生する．大[4]

規模な組織への標的型攻撃においては，数十日以上が経過してから攻撃が発覚することも珍しくない．したがって，
この１時間強のタイムラグは実用に足る範囲内であると考[5]

える．今回の実験では，ログを集約する時間を１時間に設定したが，この時間は短縮することも可能である．しかしながら，標的型攻撃に用いられる RAT には，発見を困難にするために通信の頻度が極めて少ないものも存在するため[6]

注意が必要である．提案手法では，訓練データとして RATの痕跡を含むプロキシサーバのログが必要という制約がある．今回提案した運用構想では，ブラックリスト方式の運[7]用と併用することで，新たな RAT の痕跡を含む通信デー
タの取得を可能としている．

[8]

7. おわりに
本稿では，http ベースの受信量や時刻等の通信の挙動から，パターンマッチングを用いずに RAT を検知する手法[9]を用いた http ベースの通信挙動による RAT 検知システムを試作し，大規模な実運用のネットワークに適用して実用的な監視の業務に適用可能であることを示した．また，そ－ 494 －

三村 守, 大坪 雄平, 田中 英彦: プロキシのログからの機械学習による RAT の検知方式, Proc. CSS 2015, (2015).
Perdisci, R., Lee, W. and Feamster, N.: Behavioral
Clustering of HTTP-based Malware and Signature Generation using Malicious Network Traces, Proc. 2010USENIX Symposium on Networked Systems Design and
Implementation, 2010.
Nelms, T., Perdisci, R. and Ahamad, M.: ExecScent: Mining for New C&C Domains in Live Networks
with Adaptive Control Protocol Templates, Proc. 22nd
USENIX Security Symposium, (2013).
Raﬁque, M.Z. and Caballero, J.: FIRMA: Malware
Clustering and Network Signature Generation with
Mixed Network Behaviors, Proc. 16th International
Symposium on Research in Attacks, pp.144-163, (2013).
Kamiya, K., Aoki, K., Nakata, K., Sato, T., Kurakami, H. and Tanikawa, M.: The Method of Detecting
Malware-infected Hosts Analyzing Firewall and Proxy
Logs, Proc. 10th Asia-Paciﬁc Symposium on Information
and Telecommunication Technologies, (2015).
Antonakakis, M., Perdisci, R., Dagon, D., Lee, W. andFeamster, N.: Building a Dynamic Reputation System for DNS, Proc. 19th USENIX Security Symposium,(2010).
Antonakakis, M., Perdisci, R., Lee, W., Vasiloglou II, N.
and Dagon, D.: Detecting Malware Domains at the Upper DNS Hierarchy, Proc. 20th USENIX Security Symposium, (2011).
Antonakakis, M., Perdisci, R., Nadji, Y., Vasiloglou, N.
Abu-Nimeh, S., Lee, W. and Dagon, D.: From ThrowAway Traﬃc to Bots: Detecting the Rise of DGABased Malware, Proc. 21th USENIX Security Symposium, (2012).
Rahbarinia, B., Perdisci, R. and Antonakakis, M.:
Segugio: Eﬃcient Behavior-Based Tracking of New
Malware-Control Domains in Large ISP Networks,
Proc. 2015 IEEE/IFIP International Conference on Dependable Systems and Networks , (2015).

[10]

[11]

[12]

[13]

[14]

[15]

[16]

[17]

[18]

[19]

[20]

[21]

[22]

[23]

[24]

[25]
[26]

Gu, G., Porras, P., Yegneswaran, V., Fong, M. and Lee,W.: BotHunter: Detecting Malware Infection Through
IDS-Driven Dialog Correlation, Proc. 16th USENIX Security Symposium (2007).
Gu, G., Zhang, J. and Lee, W.: BotSniﬀer: Detecting Botnet Command and Control Channels in Network Traﬃc, Proc. 15th Symposium on Network andDistributed System Security, (2008).
Gu, G., Perdisci, R., Zhang, J. and Lee, W.: BotMiner: Clustering Analysis of Network Traﬃc forProtocol- and Structure-Independent Botnet Detection,
Proc. ACM 17th Conference on Security Symposium,(2008).
Yen, T.F. and Reiter, M.K.: Are Your Hosts Tradingor Plotting? Telling P2P File-Sharing and Bots Apart,Proc. 2010 IEEE 30th International Conference on Distributed Computing Systems, pp.241-252, (2010).
Zhang, J., Perdisci, R., Lee, W., Sarfraz, U. and Luo,X.: Detecting Stelthy P2P Botnets Using StatisticalTraﬃc Fingerprints, Proc. 2011 IEEE/IFIP 41st International Conference on Dependable System&Network,
pp.121-132, (2011).
Jacob, G., Hund, R., Kruegel, C. and Holz, T.: JACKSTRAWS: Picking Command and Control Connections
from Bot Traﬃc, Proc. 20th USENIX conference on Security, pp.29-29, (2011).
Tegeler, F., Fu, X., Vigna, G. and Kruegel, C.:
BotFinder: Finding Bots in Network Traﬃc Without
Deep Packet Inspection, Proc. 8th International Conference on Emerging Networking Experiments and Technologies, pp.349-360, (2012).
Bilge, L., Balzarotti, D., Robertson, W., Kirda, E. andKruegel, C.: DISCLOSURE: Detecting Botnet Command and Control Servers Through Large-Scale NetFlow Analysis, Proc. 28th Annual Computer Security
Applications Conference, (2012).
市野 将嗣，市田 達也，畑田 充弘，小松 尚久：トラヒッ
クの時系列データを考慮した AdaBoost に基づくマルウェア感染検知手法，情報処理学会論文誌，Vol.53, No.9,
pp.2062–2074 (2012)．
岩野 透，吉浦 裕，畑田 充弘，市野 将嗣：LPC ケプスト
ラム分析を利用したマルウェアの感染検知，情報処理学
会論文誌，Vol.56, No.9, pp.1716–1729 (2015)．
山内 一将，川本 淳平，堀 良彰，櫻井 幸一：Ｃ＆Ｃトラ
フィック分類のための機械学習手法の評価，情報処理学
会論文誌，Vol.56, No.9, pp.1745–1753 (2015)．
Tran, M. and Nakamura, Y.: A Supplementary Method
for Malicious Detection, Journal of Communications,Vol.9, No.12, pp.923-929, (2014).
Oprea, A., Li, Z., Yen, T., Chin, S. and Alrwais, S.A.:
Detection of Early-Stage Enterprise Infection by Mining Large-Scale Log Data, CoRR, Vol.abs/1411.5005,(2014).
Yeganeh, S.H. and Ganjali, Y.: Beehive: Towards a
Simple Abstraction for Scalable Software-Deﬁned Networking, Proc. 13th ACM Workshop on Hot Topics in
Networks, pp.13-22, (2014).
libsvm(online)，入手
先hhttps://www.csie.ntu.edu.tw/˜cjlin/
libsvm/i (2016.07.27).
scikit-learn (online)，入 手 先 hhttp://scikit-learn.org/i(2016.07.27).
httpry(online)，入手
先hhttp://dumpsterventures.com/jason/httpry/i(2016.07.27).

－ 495 －