メディア

AIがあなたの「パスワード」を盗みに来る

パスワードを推測するAIの実力はどの程度なのだろうか。どうすればAIに対抗できるのだろうか。

» 2023年04月18日 07時00分 公開
[畑陽一郎キーマンズネット]

 AI(人工知能)を使った犯罪者はどのようなサイバー攻撃を仕掛けてくるのだろうか。「ChatGPT」に作らせた精巧なフィッシングメール以外にも可能性がある。

 その一つがパスワードだ。単独でパスワードを盗み出されたとしても、多要素認証があれば防御できるという意見があるものの、パスワードだけで守られているサービスもあるため、現時点では盗み出されると何らかの被害につながることがある。

パスワードを盗み出そうとするAIに対抗するには

 認証やサイバーセキュリティのソリューションを手掛けるHome Security Heroesは2023年4月7日、AIの力を見せつけるデモを公開した。デモに用いた「PassGAN」はChatGPTが登場する以前の2018年にGitHubで最初のコードが公開され、2019年に最新版の論文が投稿された老舗のAIだ。

 今回、Home Security Heroesは漏出データから取得した1560万件のパスワードを使ってPassGANを学習させた。デモ画面でパスワードを入力するとPassGANが推測に必要な時間を表示する(ここでは実際のユーザーパスワードを入力しないことを推奨する)。

 実験データによれば、一般的なパスワードの51%を1分以内に解読できた。65%を1時間以内に、71%を1日以内に解読でき、81%のパスワードを1カ月以内に解読できたという。

 Home Security Heroesによれば、解読されないようにするために重要なのはパスワードの長さだ。7文字のパスワードであれば、たとえ「$」や「#」などの記号を含んでいたとしても6分以内に解読できてしまう。18文字のパスワードであれば、数字だけであっても解読に10カ月かかり、記号と数字、アルファベットの大文字と小文字を含んだものであれば6000億年かかる。

PassGANがパスワードの推測にかかる時間 7文字以下のパスワードは数字と小文字、大文字、記号を含んでいたとしても6分以内で解読できてしまう(出典:Home Security Heroes)

PassGANはどのように動作するのか

 PassGANは、パスワードクラッキング技術における重要な進歩を象徴しているという。GAN(Generative Adversarial Network)技術を利用して、実際に流出したパスワードから文字列の分布を自律的に学習する技術だ。これまで犯罪者が手動に頼っていたパスワード解析は不要になる。

 PassGANは複数のパスワードを生成しながら、パスワードの予測品質を向上させる。これもサイバー犯罪者には有利な点だ。

 一般的に、パスワード推測ツールはシンプルなデータ駆動型の手法で動作する。つまり、手動でパスワードを分析する場合と同じやり方だ。このようなツールはパスワードのパターンを仮定して、文字列の連結のようなパスワード生成ルールを適用することで、より複雑なパスワードに対応する。

 こうした戦略を用いてパスワードを推測することはこれまでも手動で試みられてきた。小規模で予測可能なパスワードの場合は効率的な手法だが、サンプルサイズが大きく、複雑なパスワードパターンが含まれる場合、従来のツールは遅過ぎるか、または実行不可能になってしまう。そこで、PassGANのようなAIシステムが役立つ。

 PassGANはニューラルネットワーク上で動作する。PassGANのニューラルネットワークは、さまざまな特性や構造を記録するように設計されており、パスワード分析に関する知的システムの訓練に使用されるデータ群「RockYouデータセット」を使用して訓練された。冒頭に紹介した漏えいしたパスワードというのがこのデータセットだ。

 トレーニング完了、調整されたニューラルネットワークに従って新しいサンプルパスワードを多数作成することができた。

PassGANの仕組み PassGANの主な要素は青い四角で示した「Generator」と「Discriminator」だ。Generatorが偽のパスワード(Generative Sample)を生成し、Discriminatorが偽のパスワードと漏えいした本物のパスワード(Real Sample)を比較する。この流れを繰り返すことでGenerative Networkが作り出す入力データがより本物に近くなる(出典:Home Security Heroes)

パスワードを保護するにはどうすればよいか

 PassGANの戦略は、漏えいしたパスワードからユーザーが利用しそうなパスワードを生み出すというものだ。ヒトの想像力には限界があるため、ユニークではないシンプルなパスワードを使うユーザーは多い。「kojiharu19880419」のようなパスワードを選んでしまうのだ。

 パスワードを安全に保つ戦略はこうだ。

・戦略1 まずは長いパスワードを付ける。システムが許すのなら最低でも10文字、可能であれば15文字にする。その際、意味のある文字列は避ける。繰り返しや意味のある数列を用いて文字列を長くすることは望ましくない。同じ長さであればランダムなパスワードの方が強力だが、長さが不足しているとたとえランダムであっても弱いパスワードになる

・戦略2 アカウントごとにパスワードを変える。こうすれば1つのパスワードを破られたとしても被害の範囲は狭くなる

・戦略3 戦略1と戦略2を組み合わせる。特に重要なパスワードを長くする

・戦略4 パスワードマネジャーを使う。長いパスワードを付けたり、アカウントごとに違うパスワードを付けたりしてもユーザーの負担が少なくなる。つまり面倒がって危険なパスワードを付ける誘惑に負けなくなる

 パスワードを定期的に変更することはお勧めしない。 NIST(米国立標準技術研究所)や総務省も推奨していない。これはパスワードを強制的に変更させられると、ユーザーは単純で覚えやすいパスワードを付けるようになってしまうからだ。戦略1や戦略2に反した行動であり、意味がない。戦略1〜4を守っていればパスワードの変更にも意味がある。

AIは今後どのように進化するのか

 現在の所、戦略1〜4を守っていればPassGANに対抗できそうだ。だが、AI側もより強力な戦略を繰り出してくるだろう。

 例えば学習範囲の拡大だ。現在は漏えいしたパスワードだけを使っているが、「Facebook」や「Twitter」「LinkedIn」など個人が発信している情報を網羅的に収集して学習するようになるだろう。ユーザーがパスワード作成時に使いそうな文字列を把握することで、よりパスワードを破りやすくなる。

 もう一つはPassGANの戦略とChatGPTが作り出す巧妙なフィッシングメールの組み合わせだ。攻撃範囲が広くなり、犯罪者がパスワードを入手する確率が高くなる。

Copyright © ITmedia, Inc. All Rights Reserved.

会員登録(無料)

製品カタログや技術資料、導入事例など、IT導入の課題解決に役立つ資料を簡単に入手できます。