過去10年間で、機械学習(Machine Learning: ML)ベースのネットワーク侵入検知技術はWebセキュリティ業界において注目に値する勢いを獲得しました。一部の侵入検知システム(Intrusion Detection System: IDS)はこの技術を利用して侵入を検出し、ネットワークサービスに影響を与えさせることなく弾くことに成功しています。MLベースのIDSについて簡単に説明すると、IDSはまずWebのアクセスログを入力として正常なトラフィックのモデルを構築します。そして、オンライン処理システムにより正しいトラフィックの情報と不正なトラフィックの情報をモデルに学習させていきます。IDSはモデルと比較してある閾値以上離れたトラフィックを不正なものとして判定します。この理論では、システムに与えられるデータが多いほどモデルが正確になるため、進化・成長を続けるWebのトラフィックパターンを解析する上では一見して万能なシステムであるかのように思われます。 しかし、このお伽話はそう長くは続きませんでした。この分類モデルに対して、攻撃者が「ポイズニング」を行うことで侵入検知を回避していることが分かったのです。攻撃者はそれ自体は無害なトラフィックを大量に送り、攻撃ベクトルが閾値内に収まるように少しずつモデルを学習させるという方法で攻撃に成功しました。 この講演では、この「モデルポイズニング」攻撃のデモを行うと共に、MLベースの異常検知システムを攻撃者の操作による影響を受けにくくするための手法を解説します。背景にあるMLの理論そのものよりも、実世界で動いているこういったIDSやそれらを無効化する攻撃、そしてネットワーク侵入検知に関わる開発者への影響についてお話しします。さらに、最も重要な点としてMLベースのネットワーク侵入検知の未来についてお話しします。