パスワード危機: ディープラーニングがパスワードクラッキングを加速!

パスワード危機: ディープラーニングがパスワードクラッキングを加速!

情報セキュリティの専門家は、「生成的敵対ネットワーク」(GAN)がオンラインセキュリティをどのように向上できるかを研究しており、有望な結果が得られています。最近、ニュージャージー州のスティーブンス工科大学とニューヨーク工科大学の研究者が、GAN を使用してパスワードを推測する方法を開発しました。

同グループは、「PassGan」と呼ばれるパスワード推測技術を使って漏洩したパスワードのデータを調べる実験を行い、このソフトウェアがそれらのアカウントのパスワードの47%を推測できることを発見した。これは、HashCatやRipperなどの競合アルゴリズムよりもはるかに高い割合だ。この記事では、以下の内容について詳しく説明します。

  • この技術の歴史的背景
  • この技術のどのような特徴が犯罪者に悪用される可能性があるか
  • テクノロジーの仕組み
  • レッドチーム(攻撃者)の場合、この技術をどのように使用するか
  • ユーザーとして自分自身を守る方法
  • ブルーチーム(ディフェンダー)として自分自身と会社を守る方法

本題に入る前に、まず「パスワード推測」とは何かを理解しましょう。これはかなり曖昧な用語であり、この記事の文脈ではパスワード ハッシュをクラッキングすることを意味します。では、「パスワード ハッシュ」とは何でしょうか?

[[234584]]

パスワードハッシュとは何ですか?

Dropbox、LinkedIn、Ashley Madison などの大規模なデータ侵害が発生すると、公開されるのは (通常) 電子メールのリストとパスワード ハッシュです。いわゆるハッシュ (一般に「ハッシュ」と翻訳され、「ハッシュ」と直接書き起こすこともできます) は、ハッシュ アルゴリズムを使用して、任意の長さの入力 (プレマッピング、プレイメージと呼ばれる) を固定長の出力に変換します。出力はハッシュ値です。この変換は圧縮マッピングです。つまり、ハッシュ値のスペースは通常、入力のスペースよりもはるかに小さく、異なる入力が同じ出力にハッシュされる可能性があるため、ハッシュ値から入力値を一意に判断することは不可能です。

たとえば、MD5 アルゴリズムを使用して、プレーンテキストのパスワード「12345」を「5f4dcc3b5aa765d61d8327deb882cf99」のような文字列(「ハッシュ値」と呼ばれる)に変換するとします。これは不可逆的であり、つまり、このハッシュ値からプレーンテキストのパスワード (つまり、以前の 123456) を推測することはできません。

これは、Adobe、LinkedIn、Google などのサイトで、実際のパスワードを保存せずに何億ものユーザー アカウントを保持できるため、セキュリティの面で役立ちます。それでも、パスワードを知らなくても、ユーザーがパスワードを知っているかどうかを確認する機能は残っています。これは、パスワード自体ではなく、パスワードの「ハッシュ」のみを保存することによって行われます。ユーザーがこれらのサイトにログインする場合、パスワードを送信します。その後、そのパスワードはハッシュ化され、その結果得られたハッシュがデータベース内のその電子メール アドレスに関連付けられているハッシュと一致するかどうかが確認されます。

これにより、攻撃者によるパスワード解読の試みは効果的に遅くなりますが、完全に阻止できるわけではありません。最新のツールを活用することで、攻撃者は解読しようとしているハッシュ アルゴリズムの種類に応じて、1 秒あたり数十万から数億のパスワードを推測できます。これにより、攻撃者はパスワードを推測することに多くの時間を費やすのではなく、潜在的なパスワードの調査に多くの時間と労力を費やすことができます。

PassGANが戦いに加わる

攻撃者とセキュリティ専門家は、パスワード リストを解読するためのより優れた、より高速な方法を見つけるために終わりのない競争を続けています。現時点では、PassGAN テクノロジーはこのプロセスを実現するための最も強力な「武器」です。

PassGAN は、Generative Adversarial Network (GAN) と呼ばれる比較的新しいテクノロジーを使用して、従来の方法よりも 18% ~ 24% 多くの正しいパスワード推測を生成します。いわゆる「生成的敵対的ネットワーク」は、識別器と生成器を交互にトレーニングし、それらを互いに競合させることで、画像、テキスト、音声の生成など、複雑な確率分布からサンプリングするニューラルネットワークの一種です。

まず最初のプログラムである「ディスクリミネーター」についてお話ししましょう。これは深層畳み込みニューラル ネットワークです。簡単に言うと、これはパターンを抽象度の高いレベルで学習できるシステムです。その機能は、「ジェネレーター」によって生成されたデータが現実に近いかどうかを判断することです。最終的には 0 から 1 の間の数字が返されます。0 はパスワードではないことを意味し、1 はパスワードに非常に似ていることを意味します。

次のプログラムは「ジェネレーター」で、主に「ディスクリミネーター」を混乱させるデータを生成するために使用されます。ランダムなテキスト文字列から開始し、「識別子」テストを実行して対応するスコアを取得します。この初回のスコアは、ランダムな文字列に過ぎないため、通常は非常に低くなります。

次に、「ジェネレータ」は文字列を変更し、「ディスクリミネーター」に移動して変更された文字列のスコアを確認します。スコアが増加した場合は変更結果を保持し、増加しなかった場合は変更をキャンセルして新しい変更操作を続行します。このプロセスを継続的に繰り返して、スコアが所定の値に達するようにすることで、独自の計算能力を向上させます。

簡単に言えば、「GAN」の基本的な考え方は、ジェネレータと識別器が「悪魔は常に神よりも強い」というゲームをプレイすることです。識別器は「鋭い目」を発達させ、本物のサンプル(実際の写真など)とジェネレータによって生成された偽のサンプルを区別するように努める必要があります。ジェネレータは「偽物を本物らしく見せる」ことを学習し、識別器が本物と判断する「偽のサンプル」を生成する必要があります。競争の理想的な状態は、双方が継続的に向上することです。つまり、識別者の目がより「鋭敏」になり、生成者の欺瞞能力が継続的に向上します。

善良な人物と悪質な人物が PassGan をどのように使用するか

他のセキュリティ革新と同様に、PassGan は悪意のある攻撃者によって悪用され、パスワードの再利用が存在するシステムを攻撃し、企業とシステムのセキュリティを危険にさらす可能性があります。もちろん、パスワードの再利用は一般ユーザーに極めて深刻な害を及ぼす可能性もあります。したがって、セキュリティの脅威から身を守るためには、ユーザーは保護層としてパスワードだけに頼るのではなく、多要素認証 (MFA) も有効にする必要があります。多くのウェブサイトがすでにこの機能を提供しており、誰もがすぐにこの機能を有効にできるようになることを願っています。

もちろん、組織のセキュリティ強化を目指す「レッドチーム」にとって、PassGAN は Windows SAM ハッシュや Linux /etc/shadow パスワード ハッシュなどのローカル パスワードの解読にも大いに役立ちます。

「レッド チーム」のメンバーであり、PassGAN ツールに興味がある場合は、https://github.com/brannondorsey/PassGAN にアクセスして、Brannon Dorsey がリリースした PassGAN のオープン ソース実装リソースを見つけることができます。

PassGAN の実験では、研究者らはさまざまなニューラル ネットワークの構成、パラメーター、トレーニング手順を調査し、学習と過剰適合の適切なバランスを決定しました。具体的には、研究者の主な貢献は次のとおりです。

1. GAN が高品質のパスワード推測を生成できることを示します。実験では、研究者らは RockYou データセットについて、実際のユーザーのパスワードで構成されるテスト セット内の 5,919,936 個のパスワードのうち 2,774,269 個 (46.86%) を一致させることができ、LinkedIn データセット内の 43,454,871 個のパスワードのうち 4,996,980 個 (11.53%) を一致させることができました。

2. 研究によれば、この技術は最も高度なパスワード生成アルゴリズムと競合できるそうです。これらのルールは評価に使用されるデータセットに合わせて特別に調整されていますが、PassGAN の出力の品質はパスワード生成ルールと同等 (HashCat の場合) か、それよりも優れています (John the Ripper の場合)。

3. PassGAN はパスワード生成ルールを補足するために使用できます。実験では、研究者らは PassGAN を使用して、パスワード ルールでは生成できないパスワードの一致を生成することに成功しました。

4. 研究者らはまた、パスワードクラッキングの最良の結果は PassGAN と HashCat の組み合わせから得られたと指摘しました。 PassGAN と HashCat の出力を組み合わせると、HashCat 単独の場合よりも 18% ~ 24% 多くのパスワードが一致することがわかりました。

5. パスワード生成ルールに反して、PassGAN はほぼ無限の数のパスワード推測を生成できます。実験では、GAN によって生成されたパスワードの総数に応じて、新しい (一意の) パスワードの推測数が着実に増加することが示されています。これは、現在ルールを使用して生成される一意のパスワードの数は、最終的にはそれらのルールをインスタンス化するために使用されるパスワード データセットのサイズによって制限されるため重要です。

6. より広い範囲をカバーするために、PassGAN の出力を標準的な変異ベースのパスワード ルール セットに通すのも役立つ場合があります。

エンタープライズパスワードのベストプラクティス

企業の管理を担当している場合は、強力なパスワード ポリシーを実装し、パスワードの代わりにパスフレーズを使用することをお勧めします。 Wikipedia によると、両者の違いは、パスフレーズが通常のパスワードよりも長いことです。

近年、多くの専門家は、十分に長いパスフレーズを使用することで、大文字と小文字、数字、特殊記号などが必要なためにパスワードを覚えるのが難しい状況を解消できると考え始めています。たとえば、「東に流れる湧き水の川のように」の頭文字で構成されたパスワードは、覚えやすいだけでなく、すべての要件を満たしているが役に立たないパスワードよりも優れています。

以下の分析では、パスワード「*dJoeo30(#JS)3%$」を例に挙げます。

エントロピーの観点から見ると、これは非常に優れたパスワードです。 16 文字、大文字、小文字、記号、数字など、すべてが揃っているからです。各文字に 95 通りの可能性があると仮定すると、このパスワードには 95^16 (95 の 16 乗) 通りの可能性があります。たとえ 1 秒間に 1 兆回推測できたとしても、すべてを推測するには 1 兆年かかる可能性があります。

パスワードの強度という点では良いパスワードですが、残念ながら誰も覚えることができません。なぜなら、私たちの脳は、何の意味もないランダムな文字列を覚えるのが難しいからです。 PassGAN が多くのパスワードを簡単に解読できるのは、人間が簡単に覚えられるパスワード (P@a$$word など) は推測するのも簡単であるはずだからです。

これが、パスフレーズの使用を推奨する理由です。エントロピーの高いものを使用することもできますが、結果として得られるパスワードは任意のランダムな文字ではなく、追跡可能で記憶に残るものになります。 「このアルバムはいいよ、天気は寒い」といったことは覚えやすいです。攻撃者がユーザーが英語の単語のパスワードの組み合わせを使用していることを知っていると仮定すると、1 人あたりの平均語彙数が 20,000 語であることから、20,000^8 (20,000 の 8 乗) 通りの組み合わせが考えられ、これを解読するのは容易ではありません。

次に、企業内でユーザーが特定のパスワードを取得する方法を検討する必要があります。フロントデスクのスタッフが安全なパスワードの作成方法を知っていることを期待しますか?組織内の全員が強力なパスワードを持つことを期待すべきでしょうか?ユーザーに覚えやすいパスワードを与えていますか、それとも付箋に書き留めていますか?これらの問題は注目と検討に値します。

<<:  これは私が今まで読んだ TensorFlow を説明する最も徹底的な記事です。

>>:  Python+OpenCVを使用して顔追跡を実装するための50行のコード

ブログ    
ブログ    
ブログ    
ブログ    
ブログ    
ブログ    

推薦する

K近傍教師あり学習マシンアルゴリズムの詳細な分析

翻訳者 | 朱 仙中校正 | 梁哲、孫淑娟K 近傍法 (KNN) は、機械学習アルゴリズムにおける回...

Java ソートアルゴリズムの概要 (VII): クイックソート

クイックソートはバブルソートの改良版です。その基本的な考え方は、ソート パスを通じて、ソートするデー...

...

人工知能はデジタルマーケティング革命において否定できないトレンドとなっている

人工知能 (AI) は、現在、デジタル マーケティング革命における否定できないトレンドとなっています...

従来のモデルに別れを告げて、機械学習がディープラーニングへとどのように移行していくのかを見てみましょう。

[[203224]]概要: 従来のモデルに別れを告げましょう。テクノロジー企業が機械学習に取り組む...

コード不要で再利用可能な AI が AI の溝を埋める方法

著者: ミシェル・ゾウ翻訳:李睿企画丨孫淑娊[51CTO.com クイック翻訳]事前に構築された A...

2018年末のAI分野におけるオープンソースフレームワークのまとめ

[[253605]] [やや活発な***四半期] 2018.3.04——OpenAIはオープンソース...

ビッグモデルの要約は信頼できるでしょうか? GPT-4を使用すると、人間の筆記よりも滑らかで、幻覚も少なくなります

自然言語生成 (NLG) のタスクとしてのテキスト要約は、主に長いテキストを短い要約に圧縮するために...

4つの主要な機械学習プログラミング言語の比較: R、Python、MATLAB、Octave

この記事の著者は、R、Python、MATLAB、OCTAVE の 4 つの機械学習プログラミング言...

マイクロソフトは、対話してマルチモーダルコンテンツを生成できる AI モデル CoDi をリリースしました。

マイクロソフトは 7 月 11 日にプレスリリースを発行し、Combinable Diffusion...

...

機械学習はインビザラインの患者が完璧な笑顔を手に入れるのを助けている

モバイル コンピューティングのトレンドにより、企業はスマートフォンから情報にアクセスし、タスクを完了...

生態学的な閉ループを作り、RV を運転して、愛する人を楽しい景色の中に連れて行きましょう。

夏休みがやってきました。旅行が必要です。彼/彼女にサプライズをあげたいですか?通常、私たちの旅行は自...

AIがCIOの役割をどう変えるのか

破壊的技術により、CIO はこれまで以上に重要な役割を果たすようになっています。 CIO の役割は長...

AI業界の「第2の成長曲線」を牽引する清華大学傘下のRealAIが第3世代のAI製品をリリース

12月9日、清華大学人工知能研究所、北京市知源人工知能研究所、北京市瑞来スマートテクノロジー株式会社...