CPUが不十分な場合はGPUに任せる

John the Ripperはパスワードクラックツールの古典的存在ですが、主にCPUによって運算されます。現代の計算環境では、この設計の速度の上限には限界があります。 Hashcatは全く異なるアプローチを採用しており、パスワードクラックの演算をGPUに任せます。 GPUは元々グラフィックスレンダリングのために設計されており、そのコアアーキテクチャは大量の並列運算タスクを同時に処理することです。現代の消費者向けグラフィックスカードは、数千の演算コアを同時に実行できます。パスワードハッシュの計算は完全に並列化可能なタスクであるため、Hashcatは同じハードウェア上でのクラック速度を、従来のCPUツールに比べて数桁早くすることができます。 2023年の中堅GPUは、1秒間に100億以上のMD5ハッシュ値の組み合わせを試すことができます。この速度に対して、8桁の全数字パスワードは数ミリ秒で全通りを試すことができます。

Hashcatがサポートする攻撃モード

Hashcatは異なるパスワードの弱点に応じたさまざまな攻撃モードを提供しています: 直接攻撃 辞書ファイルやパスワードリストから直接試行するもので、最も速く、一般的なパスワードに対して最も効果的です。Hashcatは公式およびセキュリティコミュニティによって多数のパスワード辞書が維持されており、最もよく知られているのはRockYou辞書で、複数のデータ漏洩事件から収集された実際のユーザーパスワードのリストが1400万件以上含まれています。 組み合わせ攻撃 2つの辞書ファイルの語彙を2つずつ組み合わせ、パスワードが2つの一般的な語彙から構成されている場合を試します。例えば、sunflowerと2023を組み合わせてsunflower2023を作成します。 マスク攻撃 既知のパスワード構造に対して、対象のパスワードフォーマットが4つの小文字の文字加4つの数字であることがわかっている場合、そのマスクを定義し、その構造に合った組み合わせのみを試行し、検索空間を大幅に縮小します。 混合攻撃 辞書とマスクの方式を組み合わせ、辞書内の各語彙に特定の接頭辞や接尾辞を付け、人々が基本の語彙の後ろに数字や記号を加える一般的なパスワード設定の習慣に対応します。 さらなる学び:John the Ripperとは?情報セキュリティ専門家がパスワード強度をテストし、攻撃者が行うことは同じことです。

情報セキュリティ業務での実際の応用

合法的に権限を持ったペネトレーションテスト環境では、Hashcatは以下のいくつかのシナリオに最も頻繁に登場します。 テスト担当者がシステムのパスワードハッシュデータベースを入手し、これらのパスワードが実際の攻撃シナリオでどのくらいの割合で合理的な時間以内にクラックできるかを評価する必要があるとき、Hashcatはこの評価に必要なツールを提供します。このテストの結果は、企業がパスワードポリシーを調整するための提案をサポートするために直接使用されます。例えば、最小パスワード長を義務付けたり、一般的なパスワードを禁止したり、パスワードの有効期限を短縮したりします。 企業の情報セキュリティレッドチームの演習において、Hashcatも標準的なツールの一つです。レッドチームの目標は、リアルな攻撃者の行動を模倣することであり、シミュレーション侵入シナリオの中でパスワードハッシュを取得した後、クラックを試みることは企業全体のセキュリティ状態を評価するための重要なプロセスです。

Hashcat GPUの速度比較および4種攻撃モードの説明インフォグラフィック。

このツールが教えてくれるパスワードの現実

Hashcatの存在とその計算速度は、一般ユーザーにとって非常に直接的な意味を持っています。 多くの人はパスワード設定時に、意味のある語彙にいくつかの数字と記号を加えたものを選び、例えばSummer@2023のように複雑だと思いますが、Summerという語はすべての主流な辞書ファイルに存在し、2023は一般的な年号の接尾辞で、@記号は最も一般的な記号の置き換えの一つです。この全体のパスワードは、ルールエンジンを搭載したHashcatの作業セッションでは数分で見つけることができるかもしれません。 Hashcatのようなツールに対して真正面から抵抗力のあるパスワードは、16文字以上の長さを持ち、本当にランダムな文字の組み合わせを使用し、予測可能な構造が一切含まれないことが特徴です。このようなパスワードは人間が記憶するのはほぼ不可能であり、これがパスワードマネージャーの本当の価値であり、各アカウントが機械だけが生成できる強力なパスワードを使用できるようにし、人間の記憶に頼る必要がありません。

HashcatとGPUパスワードクラックに関して、セキュリティ学習者が最もよく尋ねる質問

HashcatとJohn the Ripperはどう選ぶべきか?両者の根本的な違いは?

両者の核心的な違いは、計算アーキテクチャおよび使用状況の焦点です。John the RipperはCPUを主要な計算資源としており、長い歴史があり、サポートされるプラットフォームやフォーマットの範囲が広いため、独立したGPUがない環境での基本的なクラックタスクを迅速に開始する際には依然として役立つツールです。HashcatはGPUアクセラレーションに焦点を当てて設計されており、独立したグラフィックスカード環境での速度的優位性が明確で、300種類以上のハッシュ形式に対応し、攻撃モードの組み合わせがより柔軟です。 実際のセキュリティ業務環境において、2つのツールは互いに排他的な選択肢ではなく、セキュリティ担当者はタスクの性質および手元のハードウェア環境に基づいて、どのシナリオでどのツールを使用するかを判断し、時には組み合わせて使用します。学び始めたばかりの人にとって、John the Ripperの入門はやや容易ですが、Hashcatは基本的な概念を理解した後により強力な実行力を提供できます。

クラウドコンピューティングでHashcatの速度は向上するか?

はい、これは現在の情報セキュリティ研究および部分的なペネトレーションテスト環境で実際に使用されている方法です。AWS、Google Cloud、Azureは全て高性能GPUを搭載したクラウドコンピューティングインスタンスを提供しており、ニーズに応じて租借できます。個人のハードウェアと比較して、クラウドGPUクラスターはHashcatの計算速度を別次元に引き上げ、元々数日かかるクラックタスクを数時間、場合によってはさらに短縮できます。 この現実は、パスワード長がなぜこれほど重要であるかを別の視点から示しています。利用可能な計算リソースが増加するにつれて、かつて安全だと見なされていたパスワード長の閾値も引き上げられています。

Hashcatを使用するために必要なハードウェア環境は?

HashcatはNVIDIAおよびAMDの主流GPUをサポートしており、一部のIntel統合グラフィックスカードでも動作します。独立したグラフィックスカード環境では最もパフォーマンスが良く、NVIDIAのCUDAプラットフォームおよびAMDのROCmプラットフォームがサポートされています。独立したグラフィックスカードがない場合、HashcatはCPUモードでも動作できますが、速度は大幅に低下し、John the RipperのCPU性能水準に近づきます。 HashcatはWindows、Linux、macOSで動作し、公式のプリコンパイルされたバイナリが提供されており、Hashcatの公式ウェブサイトhashcat.netから直接ダウンロードでき、コンパイルする必要はありません。Kali Linux環境では、Hashcatもプリインストールされたツールの一つであり、そのまま使用できます。

一つの重要な教訓: HashcatはGPUの並列計算能力を利用して、パスワードクラッキングの速度を、普通の人が直感的に理解するのが難しい規模に達しました。このツールの最も重要な示唆は、ツールがどれほど強力であるかではなく、この計算能力に直面したとき、私たちのパスワードの強度に対する直感的な判断が、実際の状況よりも楽観的であることが多いということです。