[レポート]基調講演:機械をねじ伏せろ:現実世界で自律性を切り拓くハッカーの道 - CODE BLUE 2025 #codeblue_jp #codeblue2025

[レポート]基調講演:機械をねじ伏せろ:現実世界で自律性を切り拓くハッカーの道 - CODE BLUE 2025 #codeblue_jp #codeblue2025

CODE BLUE 2025で行われた「基調講演:機械をねじ伏せろ:現実世界で自律性を切り拓くハッカーの道」というセッションのレポートです。
2025.11.18

こんにちは、臼田です。

みなさん、セキュリティ対策してますか?(挨拶

今回はCODE BLUE 2025で行われた以下のセッションのレポートです。

基調講演:機械をねじ伏せろ:現実世界で自律性を切り拓くハッカーの道

AIは世界最高のハッカーを超えるのか? 人間が脆弱性を発見し、悪用し、修正できるのはなぜなのか——そして、AIはすでにどこで人間を上回り、どこでまだ追いついていないのか? このギャップを探り、未来を垣間見るために、私は人間のトップ人材をどのように育成しているかと、最先端のAIモデルがどのように訓練されているかを比較します——そしてそもそも両者の目指すゴールが同じなのかどうかも考察します。

しかし、自律性や知能はパズルの一部に過ぎません。テクノロジーが意味を持つのは、それが「採用されるとき」であり、採用を阻む本当の障壁は、多くの場合目に見えるものではありません。

本講演では、研究、競技システムの勝利、Mayhem技術の商用化など、20年以上にわたる経験をもとに、攻撃者から世界のシステムを自動で検査・保護する未来に向けて得られた教訓、驚き、挫折を共有します。

Speakers: David Brumley デイビッド・ブラムリー

レポート

  • AIが世界の一番優れたハッカーに勝つと思いますか?
    • もっと自動化を進めていったときにどうなるか?
    • AIにソフトを自動でチェックしてもらったらどうなるか?
    • AIはハッカーに取って代わるのか?
  • これに答えていきたい
  • これが本当に正しい質問なのか?
  • まずはベストハッカー、Geohotz
    • AT&Tに縛られたiPhoneを解除した
  • 例えば彼を打ち負かすことができたとしてもリアルワールドでAIを信頼できるのかということ
  • AIがハッカーに勝てるのかは1つの側面だけ
  • 3つの重要なことを明らかにしなければ信頼できない
  1. 自律性(Autonomy Loop)
  2. 適用(Adoption Loop)
  3. 改善(Improvement Loop)

Autonomy Loop

  • まずは自律性
  • DARPAは完全自律システムは可能かを検討した
  • 答えはシンプルだった
  • その前にどういう規模なのか?という話
  • マニュアルな作業はスケールアップできない
  • エンドゲームを国ごとで考える
  • 日本は全世界の人口の1.5%
  • 日本を守るために人間のマニュアルではより多くの人がいる国に勝てない
  • アメリカも中国より人口が少ないから勝てない
  • どうすれば勝てるのか?守れるのか?
  • 優れた技術を使う必要がある
  • DARPAはCRS(Cybeer Reasoning System)を考えた
    • 実際に侵入する
    • 脆弱性を是正する
    • 攻撃される前に手直しする
    • 人間が介入しない
  • 測定することでしか改善できない
  • ここにも当てはまる
  • どうやるか?
  • ゲームを開発した
    • 証明させる
    • CRS1がCRS2をエクスプロイトすると10点追加
      • 攻撃だけではなく防御も必要
      • そしてレポートを示す必要がある
      • 誰が見てもわかるようにする
      • 新たに侵入する方法を見つけたら評価される
      • どうやるかは決められていない
    • DARPAはこれがうまくいくことがわかり世界中から参加者を募った
    • 素晴らしいのは実質的に同じアーキテクチャを持っていたこと
    • レガシーアプリケーションをどうやって保護するのか?
    • 攻撃にはSym execとFuzzingを利用した
      • それがわかると他社を攻撃できる
      • 誰かが侵入しようとしているかもしれない
      • 追加のトラフィックを使って別のCRSの位相を増やすことができる
      • 攻撃が多いとノイズになり隠されてしまう
    • そしてパッチングをしていく
      • そうすると侵入が難しくなっていく
      • ランダム性を追加したり
      • システムがだめになったらダメなのでアプリが正しく動かないといけない
      • パッチを当てたときに正しく動くことを測定する
      • 自分たちのシステムを監視したり
  • 2年以上かかった
  • 実際にゲームをやってみた
    • DARPAは6,000万ドル以上このコンテストに注ぎ込んだ
    • 商社は人間ではないものに与えられた
    • ここでの差別化要因はなんだったか
    • 攻撃側か防御側か?
    • どっちでもなかった
    • エンジンのテスト
      • 悪いことをやるとすぐに悪い結果となる
      • セキュリティは仮説
      • 実現しなければリスクだけで終わる
      • 機能とパフォーマンスを評価した
      • 何も壊さないことが重要
      • 2位3位も同じ仕組みだがテストの仕組みが違った
      • セキュリティのテストの自動化
      • どうやって攻撃を防御するか
  • Mayhemはたくさんのハッカーを抱えているがライバルはどこか?
    • いろんな競合がある
    • どのように自動化されたテストが機能するか?
    • 答えはNO
    • 自律的な行動でコードを挿入してどうなるか評価する
    • 1位のチームはマシンが発見できなかったものを発見していた
    • 人間には想像力がある
    • 常識がある
    • pcapファイルで入れ替わっていることに人間はすぐわかるがAIはすぐにわからない
  • 人間のクリエイティビティの代わりになるものは無い
  • 人間はマシンにできないことができる

Adoption Loop

  • ベンチャーキャピタルから支援を受けて商用に展開する方針に変えた
  • スタンフォードの教授が言った言葉
    • 出会った問題はあたりまえのものではなかった
  • みんなは自動化されたパッチをしたいわけではなかったが脆弱性の対応はしなければならない
  • Dockerコンテナを利用して脆弱性を確認していく
  • 資金を調達して市場に出ていったが大変だった
    • 航空会社に素晴らしい仕組みで脆弱性を見つけると話した
    • すべてうまくいくと説明した
    • しかし相手はそんなものいらない、Dcokerとはなにか?PPCは動くかなどと聞かれた
    • もちろん大丈夫で我々のツールのほうがうまくいくと言ったがこれは間違いだった
    • 素晴らしいシステムを売り込んだがよくない
  • どれくらい正しく動いたか分析できるか?
    • 技術的に正しくても役に立たない
  • バグを見つけて墜落につながりかねない問題
    • しかしそれはリアルライフに役に立たないという回答になる
    • たくさんのシステムに使われている脆弱性
    • しかし追加のセキュリティ対策が必要だった
    • バグとして問題があるかは重要ではなかった
  • 80%のコードカバレッジ
    • それはお客様の価値に繋がっているのか?
  • 技術は進んでいくがそれを取り込むかは顧客の勝による
  • 顧客の声に耳を傾けて勝を挙げていく必要がある
    • これは先端的なAIの話ではない
    • しかしこれができないとAIは使われない
    • 継続的な改善のループが必要
  • 世界的なハッカーチームを作れるか?
    • 現実でどうやって優秀になれるか
    • 地道に継続的に改善する
    • 5つのことが重要
      • specific skill
      • specific goal
      • timely feedback
      • repetition
      • increasiing difficulty
    • ハッキングでも繰り返し経験が必要
    • 習慣にして難度を高める
    • どんなハッカーも「ヨーダが教えてくれた」とは言わない
  • CTFはゲーム
    • 例えばBinary Exploitの問題で100ptがもらえる
    • だんだんむずかしくして点数を上げていくと習熟度が上がる
    • 他のジャンルも合わせてどんどん技術が上がっていく
    • 人間はこれで学習していく
  • これを使ってAIにも学習させられるか?
    • 最初世界中のデータを集めて学習させた
    • しかしAIの学習にはうまく行かなかった
    • AIは次のトークン、次のアクションではなくて次にどの言葉を省略すればいいかわかるだけ
  • Reinforcement Learningを使う
    • AIに問題を与える
    • ハルシネーションの問題がある
    • そこでの質問が正しいかどうか
    • CTFサーバーを取ってKaliにLLMを入れる
    • 問題を与える
    • Flagを取れたか確認する
    • 世界最強のハッカーのトレーニング
  • 昨年のDEFCONで同じようなことをやった
    • picoCTFのEasy/MediumでTop3%を獲得
    • しかしHardなCTFでは0/0だった
    • まだ早かった
  • しかし質問が間違っている
    • いつこれができるようになるか?
    • AIはどうやって失敗すればいいかわからない
    • 問題を解けなかったときはもっと頑張るではない
    • フラグがわかるかと聞くとYesと答えるが嘘
  • 守るためにはどうするか?
    • LANを切ると守れる
    • でもそれは現実的ではない
  • 失敗チェックを盛り込むことが必要
    • あらかじめ入れる
    • AIは気づかないかもしれないので
    • ハルシネーションがどれくらい発生するのか?
    • 実際に正しくできているのか?
    • AIはするなと言っても勝手にアクセスを始める
  • AIを信頼できるのか?
  • 実際に使えるようになるのか?
  • AIを信頼できるようにするために何をしたらいいのか?
  • 成功の問題ではなく失敗の話
  • 差別化要因を持っていた
  • 失敗することで良いものが生まれる
  • 皆さんの人生でも失敗を繰り返しているのではないか?
  • AIをどう信じるのか?
    • 失敗を目に見えるようにしなければならない
    • どう失敗から学ぶのか
    • どうゴールと結びつけるのか

感想

たいへん考えさせられるセッションでした。私も普段生成AIと一緒に仕事をしていて、うまく行かないときは何を失敗しているのかをすごく気にしています。Thinking中に思考プロセスがダンプされていると確認しやすいので良いですよね。

引き続きAIと人がどのように歩んでいくのかかんげていきたいですね。

この記事をシェアする

FacebookHatena blogX

関連記事