Transcript Click
機械学習型
侵入検知システムの改善
木下研究室 201002684
小野翔太郎
背景
• 近年、セキュリティ技術の発達により安全な
通信ができるようになったがそれだけ攻撃者
の手口も進化してることを表してる。
• その中でもDoS攻撃が最近の主な攻撃方法と
なっていてこちらも手口が進化して攻撃元の
特定が難しくなっている。
DoS攻撃
• 大量のデータを一気に送ることによってコンピュー
ターや回線に負荷をかける攻撃手法である。これに
より企業や政府などのサービスを停止させる。最近
では手口も巧妙になっていて様々な種類がある。
企業や政府機関などの
攻撃目標
研究動向
• 最近の研究では予め設定された様々な閾値パラメータや攻
撃パターンを比較してDoS攻撃を含むあらゆる攻撃を検知、
不正なパケットを廃棄するシステム(IDS)が提案されている。
IDS
不正パケット
を廃棄、
アクセスを
拒否
問題点
• 既存のIDSで閾値を設定したり、パターンマッ
チングで検知してるが全てを防ぎきれるとは
限らない。
IDSのシグネチャパターンに
当てはまらない未知のDoS攻撃
DDoS攻撃
IDS
問題点
• またいろんな種類の閾値を設けたり、パターンマッチングで
検知する量を増やすと検知システム自体に処理による負荷
が掛かったり、アクセス制限で今度はアクセスしづらくなり、
企業などのサービスに影響を与えてしまう。
IDS
研究の目的
• そこで今回は既存のIDSに機械学習型の一
種である遺伝的アルゴリズムを加えて、同様
な従来の研究よりも未知のDoS攻撃の攻撃パ
ターンを学習し、検知できる量を増やす。
学習
機能
IDS
遺伝的アルゴリズム
• 遺伝的アルゴリズムを使う利点①:
遺伝的アルゴリズムは他の学習アルゴリズム
よりも汎用性があり、さらに解を求めるまでの時
間効率が良い。
DoS攻撃のような法則性がないような問題にも
簡単に適用でき、尚且つ学習時間が短く済む。
遺伝的アルゴリズム
• 遺伝的アルゴリズムを使う利点②:
確率的要素も含むので新たな手法・考え方を
分析できる。
未知のDoS攻撃への分析、対策ができる。
従来の研究の問題点
• IDSに遺伝的アルゴリズムを入れた研究は存
在するが、学習処理に時間がかかったり、検
知率もあまり改善されなかった。
• また比較したプロトコルも一部であり、完全な
性能評価はされていない
提案手法
• そこで今回は様々なDoS攻撃の中で送信元ア
ドレスを簡単に詐称できるUDPでのDoS攻撃
を防ぐ。UDPパケットのビット列を遺伝的アル
ゴリズムの遺伝子としていき、UDPにおける未
知のDoS攻撃を学習、防いでいく。
提案手法
• 学習するデータとして実際のネットワークだと
データ量が膨大すぎるので、実際のネット
ワークに近いデータとしてKDDCup1999を学習
と比較検証に用いる。
提案手法
• 特徴配列生成に用いる評価関数は従来の研
究のものを用いる。評価値が高ければ高い
ほどDoS攻撃のパケットに近いことを表す
Fitness=W1∙
|𝐴𝑎𝑛𝑑𝐵|
|𝐴𝑎𝑛𝑑𝐵|
+W2∙
𝑁
𝐴𝑁
W1,W2:重み係数
N:ネットワーク接続の総数
𝑨𝑵 :条件A に当てはまるネットワーク接続の数
ネットワーク接続の数
|AandB|:DoS 攻撃だと判定する条件A
と条件B 両方に当てはまる
ネットワーク接続の数
提案手法
• 遺伝的アルゴリズムによって、様々なパター
ンのDoS攻撃の特徴配列を作り、そのパケッ
トと受信したパケットとのハミング距離から類
似度を比較することで検知していく。
1010・・・・・・・・・・・11
1010・・・・・・・・・・・11
0110・・・・・・・・・・・10
0010・・・・・・・・・・・10
1111・・・・・・・・・・・11
0010・・・・・・・・・・・10
UDPパケット
特徴配列
提案手法
• 今回の改良点として特徴配列生成における
遺伝子操作において、二点交叉を用いること
で最適解を生成しやすくし、学習にかかる時
間を短くし、検知率を高くしていく。
10100100
10100100
00101000
00101000
従来の研究
(一点交叉)
今回の研究
(二点交叉)
Snortの環境構築
• 今回用いるIDSとしてフリーソフトであるのと様々なプラグイン
に対応してることからSnortを使用する。Snortはシグネチャ型
のIDSであり、ルール設定に基づいて監視対象ネットワークで
攻撃の検知をする。
外部ネットワークの
シミュレートデータ
(KDD Cup 1999)
Snort
ホストコンピュータ
仮想
マシン
仮想
マシン
仮想
マシン
仮想
マシン
Snortのパケット分析の例
パケットの
中身を表す
考察
• 今回はIDS の一種であるSnort の環境構築を
した。
• 遺伝的アルゴリズムは評価関数や遺伝子操
作の仕方によって、その計算処理能力は変
わってくる。そのことから今回提案した遺伝子
操作は一点交叉よりも有効であり、従来の研
究よりもいい結果を期待できると考えられる。
今後の課題
• 類似度を比較するに当たって、最適な閾値を
設ける。
• 遺伝的アルゴリズムを組み込んだIDSを実装
していく。
• 他の学習アルゴリズムも実装、性能を比較し
ていく。