[ITmedia News] Anthropic、Claudeでソフトウェアのアタックサーフェスを洗い出し・縮小する研究を公開 OpenSSHの修正にも貢献
米Anthropicは10月20日(現地時間)、AIモデル「Claude」を使ってソフトウェアの攻撃対象領域(アタックサーフェス)を分析し、縮小する研究の初期結果を公開した。同社でAIのリスク評価を担う「Frontier Red Team」のクリス・ロルフ氏が執筆した。
攻撃対象領域とは、外部の攻撃者が到達できるコードの範囲のことだ。同社によると、脆弱性を1件ずつ見つけて修正する方法では、重大な脆弱性を1つ直しても、残りの脆弱性については何も分からず、規模を広げにくい。一方、その環境で外部に見せる必要のない機能を認証の後ろに移したり、初期設定で無効にしたりして、攻撃者が届く範囲を狭める方法もある。この方法なら、まだ見つかっていない脆弱性があっても悪用されにくくなり、深刻度を下げられるという。家の弱点を1つずつ探すのではなく、使っていない窓や勝手口を先に閉めておく考え方だ。
研究では、C、C++、Java、PHP、Pythonなどで書かれたオープンソースプロジェクト25件(計500万行超)をClaudeで分析した。Claudeが各プロジェクトから洗い出した1万7000以上の設定項目のうち、3842項目がセキュリティに関わるものだった。分析の観点は、初期設定のまま不要なコードに外部から届かないか、組み合わせると問題を起こす設定がないか、認証などのチェックより前に複雑な処理が動いていないか、の3点だ。その結果、合計493件の問題を発見した。
認証を前提とする11件のプロジェクトでは、すべてで意図せず外部から届くコードが見つかった。また、エラーも警告も出ずに受け入れられる設定の組み合わせが162件あり、そのうち94件ではセキュリティ機能が意図せず無効化されていた。中には、クライアント証明書による認証を求める設定と別の設定を併用すると証明書のチェックが外れ、誰でも接続できてしまう例もあった。この設定の矛盾は21年間残っていたという。いずれもそれだけですぐに悪用できるものではないが、必要以上に攻撃の入り口を広げているとロルフ氏は説明している。
成果が最も大きかったのは、リモート接続に広く使われる「OpenSSH」だ。バージョン10.4では、耐量子計算機暗号の署名方式「ML-DSA-44」の実験的なコード約4500行に、認証前のクライアントが到達できる状態だった。この方式は初期設定では有効になっておらず、管理者が明示的に除外した場合でも同様だった。約4500行は、初期設定のOpenSSHで認証前に動くコードの約16%に当たる。
AnthropicはこれをOpenSSHの開発者に修正案とともに報告し、10.5で対策が入った。その後Claudeは、10.5の対策にも2つの抜け道を見つけた。開発者と修正を重ねた結果、認証前のクライアントが到達できたコードの約5分の1が削減され、この修正はバージョン10.6で反映された。
OpenSSH 10.6は10月6日に公開された(画像:OpenSSH)
ロルフ氏は、OpenSSHが世界で最も入念に監査されているコードの1つであることに触れ、そこでも不要な到達経路が残っていた以上、どこにでも残り得るとしている。
Anthropicは今回の手法を再利用可能な「スキル」としてまとめ、オープンソース向けの脆弱性発見サービス「OSS Scanner」に組み込む作業を進めている。スキルは3つの観点で順に分析し、見つけた問題はプログラムを実際に動かして確認する。初期設定に関わる修正では、プロジェクトのテストを実行して既定の動作が変わらないことを確かめる。初期設定以外の動作に影響する変更は、人間の判断に委ねる設計という。
KioskNews shows a cleaned-up reading view extracted from the publisher’s page — the original always lives on their site, not ours.