2.ハニーポットへの攻撃とデータ解析
2.1. クライアントへの攻撃
2.1.1. ドライブバイダウンロード攻撃
WebサイトによるWebクライアント(ブラウザなど)による攻撃はドライブバイダウンロード攻撃と呼ばれる。 攻撃コードを実行する悪性Webサイトへクライアントを誘導することでWebクライアントの脆弱性を悪用し、マルウェアのダウンロードをさせる。
攻撃に悪用されるWebクライアントの脆弱性の半数上はメモリ破壊系の脆弱性となる。
メモリ破壊系の脆弱性はバッファオーバフローや整数オーバフロー、User-After-Freeなどがある。
メモリ破壊系の脆弱性では長い文字列と一緒に特定の関数の呼び出しやプロパティへの代入が使用されるのが特徴となる。
ドライブバイダウンロード攻撃を防ぐ手段は以下の通り。
- ネットワークでのフィルタリング
- シグネチャマッチング
- 悪性Webサイトのブラックリスト化によるアクセス遮断
2.1.2. 攻撃の高度化/巧妙化技術
攻撃者はリダイレクト/難読化、マルウェア配布ネットワーク、ブラウザフィンガープリンティングなどを利用してドライブバイダウンロード攻撃をするために高度化を試みている。
リダイレクト
Webサイトにアクセスしてきたクライアントを異なるWebサイトに動的転送する技術のこと。 転送方法は以下の通り。
- HTTPステータス:300バンダイによる転送
- HTMLタグによる転送
- JavaScriptのlocation{}による転送
難読化
プログラムやWebコンテンツに対し変換を行い、複雑にすることで可読性を低下させる技術。
主にリダイレクトのためのコードや攻撃コードに対して難読化を施し、シグネチャマッチングの回避を目指す。
マルウェア配布ネットワーク
複数のWebサイトを連携させてドライブバイダウンロード攻撃を仕掛ける技術。
MDNを利用した攻撃では仕組みは以下の通り。
- Webクライアントが入口サイトにアクセスする
- 複数のWebサイト(踏み台サイト)へリダイレクトされる
- 攻撃コードを含むWebサイト(攻撃サイト)へリダイレクトされる
- 攻撃が成功するとマルウェアをホストするサイトからDL/実行する仕組みとなる
攻撃者は上記の構造を持つネットワーク/Webサイトを手動で構築する場合もあるが、エクスプロイトキットと呼ばれるツールで構築される。
ブラウザフィンガープリンティング
アクセスしてきたクライアント環境を観測する技術。 基本的にJavaScriptを用いてOS/Webブラウザ/インストールされているプラグインの種別判別を行う。
識別したクライアント環境は踏み台サイトの次のリダイレクト先となるURLの判別に用いられたり、攻撃サイトでは実行する攻撃コードの選択に用いられたりする。
2.1.3. ドライブバイダウンロード攻撃の対策
ドライブバイダウンロード攻撃を防ぐには攻撃の解析による特徴情報の収集を行い対策する必要がある。
- 入口サイト
- 攻撃者がどのようなユーザに対して攻撃を仕掛けようとしているか知るヒントになる
- 踏み台サイト
- ブラウザフィンガープリンティングにより判別したクライアントに基づきリダイレクトを行う場合はリダイレクト先URLを知る手掛かりになる
- 攻撃サイト
- 脆弱性を悪用する攻撃コードを特定することでマルウェア配布サイトの情報や、攻撃技術/傾向を知る手掛かりになる
- マルウェア配布サイト
- マルウェア配布サイトからマルウェアをDLすることでマルウェア解析を行える
2.1.4. ハニークライアント
ハニークライアントは、脆弱なクライアントシステムを装い、攻撃者が用意した悪性コンテンツを実行することで、攻撃手法や攻撃経路、攻撃後の動作の情報を収集するシステムのこと。
WebブラウザのハニークライアントはWebサイトを巡回することで攻撃コードやマルウェアといった悪性コンテンツの検知/情報収集が行える。また、ハニークライアントは低対話型と高対話型の2種類に分けられる。
項目 | 高対話型ハニークライアント | 低対話型ハニークライアント |
---|---|---|
実装方式 | 実環境のWebブラウザ | ブラウザエミュレータ |
検知方法 | ファイルシステム/レジストリの監視 | URLやWebコンテンツ情報を用いたアノマリ検知/機械学習 |
長所 | 明確な悪性検知が可能/未知な攻撃の検知が可能 | 高い拡張性/安定性、多様なクライアントの模倣 |
短所 | 単一環境による解析/高い運用コスト | 実装範囲外の解析は不可能、グレー判定のみ |
例 | Capture-HPC, Marionette, BLADE | Thug, Monkey, JSDC |