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

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

情報セキュリティの専門家は、「生成的敵対ネットワーク」(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行のコード

ブログ    
ブログ    

推薦する

世界の AI イベントのトップ 10 を見ると、AI ガバナンスはどのようにして利益を達成し、損害を回避できるのでしょうか?

はじめに:過去数年間を振り返ると、AIに関するネガティブな事件が頻繁に発生しており、政府は一連の政策...

5G自動運転車が景勝地でデビュー、商用利用のシナリオも間もなく登場

[[264714​​]]最近、5G携帯電話や5G商用利用に関するニュースが多く出ています。国内外の多...

スマート農業におけるモノのインターネットの応用

人口は飛躍的に増加しており、農業は人口を養う問題を解決する必要がある。農業をより効率的かつ持続可能な...

テレンス・タオ:不等式定理を証明するためにGPT-4を使いました。論文はarXivにアップロードされます。

有名な数学者テレンス・タオ氏はここ数か月、ChatGPTやGPT-4などのAIツールを使用して数学の...

機械学習の一般的なパラダイム

ここでは、機械学習の問題を 2 種類の統計学習に簡略化します。 教師なし学習には明確な定義がないと思...

うつ病で人生が押​​しつぶされたとき、AIを使ってうつ病を診断することで、どん底を味わう人々を救えるのでしょうか?

韓国のお笑いタレント、パク・チソンさんとその母親が自宅で死亡しているのが発見されたが、これはうつ病が...

人工知能は怖いものではありません。怖いのは、使い方がわからず淘汰されてしまうことです。

王鵬坤:過去半世紀、人類は人間のようにすべての問題を解決できる機械を発明していません。その代わりに、...

知覚AIオペレーティングシステム

AI、つまり人工知能の新たな波が到来します。機械学習、ディープラーニング、ニューラルネットワーク、音...

AIはインフルエンサーマーケティングにどのような影響を与えているのでしょうか?

2017年10月、ケンブリッジ・アナリティカのスキャンダルが発覚した直後、FacebookはIns...

知っておくべき10の機械学習アルゴリズム

機械学習は、確率論、統計、近似理論、凸解析、アルゴリズム複雑性理論など、多くの分野が関わる多分野にわ...

人工知能業界を理解するにはどうすればいいのでしょうか?まず知っておくべき知識は何でしょうか?

人工知能の発展を理解したい場合、または人工知能の基本的な応用を理解したい場合は、まずいくつかの基本的...

人工ニューラルネットワーク入門

[[440456]]この記事はWeChatの公開アカウント「Zhibin's Python ...

...