[レポート]MUSHIKAGO: ゲームAIを利用したIT/OT自動化ペネトレーションテストツール – CODE BLUE 2021 #codeblue_jp

CODE BLUE 2021で行われた「MUSHIKAGO: ゲームAIを利用したIT/OT自動化ペネトレーションテストツール」セッションのレポートです。
2021.10.19

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

CODE BLUE 2021の下記セッションのレポートです。

MUSHIKAGO: ゲームAIを利用したIT/OT自動化ペネトレーションテストツール

MUSHIKAGO は,ゲーム AI を使用した自動ペネトレーションテストツールである。MUSHIKAGO は,post-exploitation を中心に検証を行う。post-exploitation とは,攻撃者が攻撃対象のシステムに侵入した後に行う攻撃のことである。post-exploitation を中心に検証することで,攻撃者がシステムに侵入後,実際にどこまで攻撃が可能であるかを把握することができる。MUSHIKAGO は,GOAP (Goal-Oriented Action Planning) と呼ばれるゲーム AI を利用している。GOAP はゲーム内において NPC (Non Player Character) でよく利用されており,周りの環境に応じて柔軟な動作ができることで知られている。MUSHIKAGO は GOAP を利用することで,実際の攻撃者やペンテスターのように,さまざまな環境に応じて柔軟に攻撃内容を変えながら検証することができる。MUSHIKAGO の操作や検証結果は,専用のWebページから確認することができる。また,MUSHIKAGO は ICS (制御システム) にも対応しており,IT と OT の双方を検証に活用できる。

Presented by :
池上 祐太 - Yuta Ikegami
濱村 将人 - Masato Hamamura

レポート

  • ゲームAIを使用したIT/OT自動ペネトレーションツール「MUSHIKAGO」の話
  • MUSHIKAGOとは
    • 完全自動のペネトレーションツール
    • 「虫かご」が名前の由来
    • MUSHIKAGOができること
      • デバイスの特定
      • 空いているポートの調査
      • エクスプロイト
      • 端末内の情報収集 など
    • ノートPCやシングルボードコンピュータにインストールできる
    • 一般的にはペネトレーションテストは手動で年に1,2回程度
      • 対してMUSHIKAGOは常にテスト
    • ペネトレーションテストはロールプレイングゲームに似ている
      • 情報を集めてキーワード/アイテムを見つけ前に進める
  • ゲームAIの構成(コンポーネント)
    • ゲームAI
      • データベースと連携し、ペネトレーションテストのプランニングを実施
      • GOAP (Goal-Oriented Action Planning) のAI
    • アーセナル
      • ペネトレーションテストのツール群
    • データベース
    • GUI
  • ゲームAIについて
    • ゲームの敵キャラクター(NPC)の動きに使われるAI
      • 人間のような振る舞いが求められる
    • AIの構成
      • Knowledge Making:ゲームの中の情報を認識
      • Decision Marking:認識した情報を基に最適な行動をプランニング
      • Action Making:プランを実行
    • MUSHIKAGOは複数あるゲームIAの中でも Goal-based AI を活用
      • 最初にゴール(目的)を決めて、最適な行動を決定
        • 敵キャラクターが主人公を倒すことが目的ならそのプランを構築
      • FEARなどのゲームで採用されている
    • GOAPのアルゴリズム
      • ペネトレーションテストで認識しておくべき環境情報をSymbolize
      • Symbolを基にActionをプランニング
        • 行動をあらかじめ定義しおく
      • プランを実行
    • GOAPは拡張性が高く、新しい攻撃モデルを作ることができる
    • 事前のトレーニングデータは不要
    • 複数のエクスプロイトのうち、どの攻撃が適しているかは機械学習との組み合わせが良いと考えている
  • MUSHIKAGOのデモ
    • MUSHIKAGO本体は片手で持てるくらいの大きさ
    • MUSHIKAGOに対象ネットワークに接続するLANケーブルを挿して利用する
    • 待ち時間は虫が動く画面が映っている
    • GUIでテスト結果を確認できる
    • デモの目的
      • ITシステムのローカルのアカウント等の情報を収集
      • OTシステム(デモでは電車のおもちゃ、HMI)の情報を収集
  • 今後の取り組み
    • AIにAPTパターンの特徴を持たせる

感想

ペネトレーションテストにゲームで使用されているAIを利用するという発想がとても面白くて新鮮でした。