Malwarebytesは2月19日(米国時間)、「AI-generated passwords are a security risk|Malwarebytes」において、AIを利用したパスワードの生成に注意を喚起した。
このようなパスワードは予測可能なため、辞書攻撃で突破される可能性があるという。
強力なパスワードを生成するが、パターンに大きな偏りあり
辞書攻撃は既知のパスワード(単語、人名、パターンを含む)を総当りで試行する攻撃手法だ。ブルートフォース攻撃に比べて試行回数を大幅に圧縮することができ、効果的な攻撃手法とされる。
サイバーセキュリティ企業Irregularが公開したレポートによると、大規模言語モデル(LLM: Large Language Model)によって直接生成されるパスワードは、一見複雑そうに見えても基本的に安全ではないという(参考:「Vibe Password Generation: Predictable by Design - Irregular」)。
これは大規模言語モデルが次の単語を予測して回答する仕組みに原因がある。一般的にパスワードには予測不可能性が求められており、自動生成する場合は安全な疑似乱数生成器を使用するなどの方法を用いて、文字(英数字記号)の出現確率を全体に渡って均一に分布させる必要がある。
ところが、LLMは次のトークンを予測して出力する仕組みのため、文字の確率分布は均一とは程遠いものになり、生成されたパスワードも予測可能な範囲に収まると報告されている。
レポートではChatGPT、Claude、Geminiの複数のバージョンで検証し、すべての条件で弱いパスワードを生成したことを確認している。具体例としてClaudeが生成した「G7$kQ2m!xL9pWz@4」が掲載されているが、このパスワードのエントロピーは推定値で約100ビットに相当し、解読には数百年もの時間が必要とされる。
弱いどころか十分に強力だが、落とし穴は確率分布の極端な偏りにある。先程と同じ環境でパスワードの生成を繰り返すと、似たパターンの文字列ばかりを生成し、50回の試行で18回重複したことが確認された。この傾向はテストに使用したすべてのモデルでみられ、ある程度の予測が可能と評価されている。
AIコーディングツールの利用時も注意が必要
AIコーディングツールはローカルコマンドを実行する機能を持つ。明示的にローカルコマンドの使用を指示した場合は、強力で安全なパスワードの生成を期待することができる。
しかしながら、主要なAIコーディングツールはローカルコマンドではなく、LLMによる生成を優先するため、影響を受ける可能性があるという。暗黙的なパスワード生成を伴うタスクを指示すると、脆弱なパスワードを使用する生成物(サーバ環境など)を生み出すリスクがある。
一般ユーザーへの推奨事項
Malwarebytesは予測可能なパスワードの使用を回避するために、生成AIによるパスワードの作成を回避するように推奨している。攻撃者はすでに主要なAIモデルのパスワードパターンを把握している可能性があり、複雑そうに見えても役に立たないと指摘している。
パスキーなどのパスワードレス認証の採用が理想的だが、パスワードを必要とする場合はパスワードマネージャーの活用が推奨される。パスワードマネージャーを使用できない場合は、「パスワードよりもパスフレーズのほうが安全か? | TECH+(テックプラス)」で解説したように、パスフレーズの採用が簡単な解決策と言える。

