パスワード取得攻撃とその対策について解説
始めに
近年、サイバー攻撃の世界情勢はより複雑で進化している状況にあります。企業を狙ったデータの暗号化と身代金の要求を伴うランサムウェア攻撃の増加、政治的な目的を持つ国家によるサイバー攻撃、AI技術の発展による巧妙な手口のサイバー攻撃、そして日常生活で使用しているアプリやWebサービスを標的としたフィッシング詐欺など、多岐にわたっています。
これらの攻撃方法は私たちの日常生活にも密接に関連しており、特にパスワードを狙ったサイバー攻撃は、私たち一人ひとりが直面しやすいリスクの一つです。パスワードは、インターネット上でのアイデンティティを守る重要な要素であり、不正アクセスによる個人情報の漏洩や、さらには金銭的な損失につながる可能性があります。
そこで、パスワードを狙ったサイバー攻撃について具体的に解説し、このような攻撃から自分自身を守るための方法についても考察していきましょう。強固なパスワードの設定、定期的なパスワードの変更、マルチファクタ認証の利用など、個々でできる予防策は多岐にわたります。サイバーセキュリティ意識の向上が、自身だけでなく社会全体のセキュリティを高める一歩となります。
パスワード取得攻撃ってどんな種類があるの?
辞書攻撃
ブルートフォース攻撃
フィッシング攻撃
キーロガー
レインボーテーブル攻撃
ソーシャルエンジニアリング
リプレイ攻撃
クレデンシャルスタッフィング
このように、パスワード取得攻撃にはたくさんの種類が存在します。他にもたくさんの種類の攻撃がありますが、今回はこちらの攻撃についてとその対処法について解説していきます。
辞書攻撃
辞書攻撃(ディクショナリーアタック)とは、攻撃者が一般的に使用される単語やフレーズ、簡単なパスワードをまとめたリスト(辞書)を用いて、システムの認証を突破しようとする攻撃手法です。このリストには、よく使われるパスワード(例えば「password」や「123456」など)が含まれており、攻撃者はこれらのパスワードを一つずつ試してログインを試みます。
辞書攻撃の対策
強力なパスワードの使用:
長いパスワード(最低でも12文字以上)を使用し、アルファベットの大文字・小文字、数字、記号などを組み合わせる。
辞書に載っているような単語やフレーズは避ける。
二要素認証(2FA)の導入:
パスワードに加えて、SMSや認証アプリによる第二の認証要素を使用することで、パスワードが漏洩しても不正アクセスを防ぐことができる。
アカウントロックアウト機能:
一定回数以上のログイン試行が失敗した場合にアカウントを一時的にロックすることで、辞書攻撃を防ぐ。
パスワードマネージャーの利用:
複雑でランダムなパスワードを生成・管理するためにパスワードマネージャーを使用する。これにより、ユーザーは覚えやすい単語を使う必要がなくなる。
定期的なパスワード変更:
定期的にパスワードを変更することで、万一パスワードが漏洩しても被害を最小限に抑えることができる。
パスワードハッシュとソルト:
システム側でパスワードを保存する際に、平文ではなくハッシュ化し、さらにソルト(salt)を追加することで、辞書攻撃やレインボーテーブル攻撃を防ぐ。
【参考文献】 [1] LANSCOPE - 辞書攻撃とは?手口やリスク・対策を解説!NGパスワードの ... (https://www.lanscope.jp/blogs/cloud_security_pfs_blog/20231027_15937/) [2] Canon-eset - 辞書攻撃とは?どういった手法でどのようなリスクがあるのか (https://eset-info.canon-its.jp/malware_info/special/detail/220616.html) [3] SecureNavi - 辞書攻撃とは?被害の例と基本的な対策 (https://secure-navi.jp/blog/000081) [4] カスペルスキー - 辞書攻撃とは?仕組みや対策を解説 (https://www.kaspersky.co.jp/resource-center/definitions/what-is-a-dictionary-attack)
ブルートフォース攻撃
ブルートフォース攻撃とは、攻撃者がターゲットのシステムやアカウントにアクセスするために、可能なすべての文字列の組み合わせを試すことで正しいパスワードを見つけ出す攻撃手法です。この攻撃は、特定のアルゴリズムや辞書を使用せず、力ずく(brute force)で全ての可能性を試すことから「ブルートフォース」と呼ばれています。
ブルートフォース攻撃の特徴
時間と計算資源がかかる:全ての可能な組み合わせを試すため、パスワードが長く複雑であるほど時間がかかります。
成功率:単純なパスワードの場合、成功する可能性が高いが、複雑なパスワードの場合は成功率が低くなる。
自動化:攻撃者は専用のソフトウェアやボットを使用して攻撃を自動化し、迅速に多くの試行を行います。
ブルートフォース攻撃の対策
強力なパスワードの使用:
長さが12文字以上で、大文字、小文字、数字、特殊文字を組み合わせたパスワードを使用する。
辞書に載っている単語や一般的なフレーズを避ける。
アカウントロックアウトポリシーの実装:
一定回数のログイン失敗後にアカウントを一時的にロックする。例えば、5回連続で失敗したら10分間ロックするなど。
二要素認証(2FA)の導入:
パスワードに加えて、SMSや認証アプリなどの第二の認証手段を使用することで、パスワードが漏洩しても不正アクセスを防ぐ。
レート制限の設定:
一定時間内に許可するログイン試行回数を制限する。例えば、1分間に3回までなど。
CAPTCHAの導入:
ログインフォームにCAPTCHAを追加し、自動化された攻撃を防ぐ。
パスワードハッシュとソルトの使用:
パスワードは平文で保存せず、ハッシュ化し、ソルト(ランダムなデータ)を加えて保存する。これにより、ハッシュの逆算を難しくする。
セキュリティ監視とアラートの設定:
異常なログイン試行のパターンを監視し、異常が検出された場合に管理者に通知する。
【参考文献】 [1] 株式会社 日立ソリューションズ・クリエイト - ブルートフォースアタックとは? 効果的なセキュリティ対策と ... (https://www.hitachi-solutions-create.co.jp/column/security/brute-force-attack.html) [2] LANSCOPE - ブルートフォース攻撃(総当たり攻撃)とは?6つの対策と事例を ... (https://www.lanscope.jp/blogs/cyber_attack_pfs_blog/20230804_32684/) [3] LRM株式会社 - ブルートフォース攻撃とは?5つの被害・影響と4つの有効対策 ... (https://www.lrm.jp/security_magazine/brute-force/) [4] ITトレンド - ブルートフォースアタックとは?効果的な対策をわかりやすく ... (https://it-trend.jp/cyber_attack/article/442-0041)
フィッシング攻撃
フィッシング攻撃とは、詐欺師が信頼できる組織や個人を装って、個人情報や金融情報などの機密情報を不正に取得しようとする詐欺行為です。この攻撃は主に、電子メール、メッセージングサービス、または偽のウェブサイトを通じて行われます。フィッシングの手口は巧妙化しており、見分けることが困難になっています。
フィッシング攻撃の特徴
信頼できる組織からのように見せかける: 攻撃者は、銀行やソーシャルメディアプラットフォームなど、犠牲者が信頼する組織からのメッセージと見せかけます。
個人情報の要求: メールやメッセージには、パスワード、クレジットカードの情報、社会保障番号などの機密情報を求める内容が含まれています。
緊急性や脅迫を使う: 「アカウントが危険にさらされている」といった緊急性を伴うメッセージで、利用者を急かし、慌てさせる手法が使われます。
フィッシング攻撃に対する対策
リンクや添付ファイルの開封を控える:
未知の送信者からのメールや、予期せぬリンク、添付ファイルは開かないようにしましょう。
二要素認証の利用:
パスワードだけでなく、SMSや認証アプリを通じた二要素認証を設定することで、たとえパスワードが漏洩してもアカウントの安全を守ることができます。
教育と訓練:
フィッシング攻撃の手口や見分け方を学ぶことで、詐欺に引っかかるリスクを減らすことができます。
セキュリティ対策の強化:
アンチウイルスソフトウェアやファイアウォールを最新の状態に保ち、不正アクセスやマルウェアから保護しましょう。
URLの確認:
メールやメッセージ内のリンクをクリックする前に、URLが正しいかを確認し、不審な点がないかをチェックします。
公式チャネルを通じた確認:
不審なメールを受け取った場合、直接リンクをクリックするのではなく、公式ウェブサイトにアクセスするか、公式の連絡先に問い合わせて確認しましょう。
【参考文献】 [1] かっこ株式会社 - フィッシング攻撃とは?5つの手法やリスク、予防と対策まで ... (https://frauddetection.cacco.co.jp/media/fraud-access/10088/) [2] 株式会社 サイバーフォートレス - フィッシング攻撃 - 攻撃手法と対策について (https://cyberfortress.jp/2020/10/13/blog-phishing/) [3] Trend Micro - フィッシング攻撃の概要 | トレンドマイクロ (JP) (https://www.trendmicro.com/ja_jp/what-is/phishing/phishing-attacks.html) [4] Cloudflare - フィッシング攻撃とは?その手口も解説 (https://www.cloudflare.com/ja-jp/learning/access-management/phishing-attack/)
キーロガー
キーロガー(Keylogger)は、ユーザーがキーボードで入力した情報を密かに記録するソフトウェアまたはハードウェアのことを指します。キーロガーは、パスワード、クレジットカード情報、個人情報などの機密データを盗むために使用されることが多く、サイバー犯罪者にとって非常に有用なツールです。
キーロガーの種類
ソフトウェアキーロガー:
コンピュータやスマートフォンにインストールされるプログラムで、バックグラウンドで動作し、ユーザーのキーストロークを記録します。
メール、ウェブブラウザ、チャットアプリなどの活動を監視することもあります。
ハードウェアキーロガー:
キーボードとコンピュータの間に物理的に挿入される小型のデバイスです。
見た目では気づきにくく、ソフトウェア対策では検出できません。
キーロガーの対策
アンチウイルスソフトの使用:
信頼性の高いアンチウイルスソフトをインストールし、定期的にスキャンを行うことで、ソフトウェアキーロガーを検出・削除します。
ファイアウォールの設定:
不正な外部接続を防ぐために、ファイアウォールを適切に設定します。
ソフトウェアの更新:
オペレーティングシステムやアプリケーションを常に最新の状態に保ち、セキュリティパッチを適用します。
二要素認証(2FA)の利用:
重要なアカウントには、パスワードだけでなく追加の認証手段(例:SMSコード、認証アプリ)を設定します。
スクリーンキーボードの利用:
特に機密性の高い情報を入力する際に、スクリーンキーボードを使用することで、物理的なキーロガーからの記録を防ぎます。
物理的なセキュリティ:
ハードウェアキーロガーの設置を防ぐために、コンピュータやキーボードの物理的なアクセスを制限し、定期的にチェックします。
セキュリティ意識の向上:
自分自身や従業員に対して、キーロガーのリスクや対策についての教育を行うことが重要です。
【参考文献】 [1] licensecounter.jp - キーロガーとは? 被害を予防するための基本的な対策をわかり ... (https://licensecounter.jp/symantec/blog/detail31/) [2] ITトレンド - キーロガーとは?検出対策から感染時の対処方法まで解説! (https://it-trend.jp/anti_virus/article/cyber_attack_series4) [3] OFFICE110 - 【初心者向け】キーロガーとは?仕組みと誰でもできる対策 (https://office110.jp/security/knowledge/cyber-attack/keylogger-attack) [4] JITERA - キーロガーとは?対策や検出、駆除方法とおすすめのフリー ... (https://jitera.com/ja/insights/40060/)
レインボーテーブル攻撃
レインボーテーブル攻撃は、事前に計算されたハッシュ値のリストを使用して、パスワードのハッシュ値を逆引きする方法です。この攻撃は、パスワードのハッシュ値をすでに知っている場合に、そのハッシュ値に対応する元のパスワードを特定するために使用されます。
レインボーテーブル攻撃の仕組み
ハッシュ関数:
パスワードは通常、ハッシュ関数を通してハッシュ値に変換されます。ハッシュ関数は一方向の関数であり、元のパスワードを容易に逆算できないように設計されています。
レインボーテーブルの作成:
レインボーテーブルは、可能なすべてのパスワードとそれに対応するハッシュ値の事前計算されたリストです。
このテーブルは、パスワードとハッシュ値の対応関係を効率的に検索できるように設計されています。
攻撃の実行:
攻撃者は、被害者のハッシュ値をレインボーテーブルと照合します。
一致するハッシュ値が見つかれば、そのハッシュ値に対応する元のパスワードが特定されます。
レインボーテーブル攻撃の対策
ソルトの使用:
ソルトとは、各パスワードにランダムなデータを追加してからハッシュ化する手法です。
ソルトを使用することで、同じパスワードでも異なるハッシュ値が生成されるため、レインボーテーブル攻撃が非常に困難になります。
強力なハッシュ関数の使用:
SHA-256やSHA-3などの強力なハッシュ関数を使用することで、ハッシュ値の予測が困難になります。
ペッパーの使用:
ペッパーとは、ソルトと似ていますが、全てのパスワードに対して共通の秘密データを追加する手法です。
ペッパーはサーバー側で管理され、外部に漏れないようにします。
長く複雑なパスワードの推奨:
長く複雑なパスワードを使用することで、レインボーテーブルに含まれる可能性が低くなります。
定期的なパスワード変更:
ユーザーに定期的にパスワードを変更させることで、攻撃者がレインボーテーブルを使用する時間を制限します。
多要素認証(MFA)の導入:
パスワードだけではなく、追加の認証方法(例:SMSコード、認証アプリ、物理的なセキュリティキー)を使用することで、パスワードが漏洩してもアカウントの保護が強化されます。
【参考文献】 [1] ITトレンド - レインボーテーブルとは?攻撃の仕組みや対策方法をわかり ... (https://it-trend.jp/encryption/article/64-0067) [2] OFFICE110 - 【レインボー攻撃】とは?攻撃手口や対策をわかりやすく解説! (https://office110.jp/security/knowledge/cyber-attack/rainbow-attack) [3] サイバーセキュリティ.com - レインボーテーブルとは?攻撃に悪用する仕組みや対策方法を ... (https://cybersecurity-jp.com/column/83609) [4] ウォッチガード・テクノロジー - MFA でレインボーテーブル攻撃対策 (https://www.watchguard.co.jp/security-news/how-to-protect-yourself-from-a-rainbow-table-attack-with-the-help-of-mfa.html)
ソーシャルエンジニアリング
ソーシャルエンジニアリングは、人の心理的な弱点を利用して、機密情報を不正に取得したり、個人や組織に対して何らかの行動をとらせたりする技術のことです。この手法は、技術的な侵入手段よりも、対象の人間をだますことに焦点を当てています。攻撃者は、信頼を構築したり、緊急性や恐怖を感じさせたりすることで、被害者に機密情報を開示させたり、セキュリティプロトコルを無視させたりします。
ソーシャルエンジニアリングの一般的な手法
フィッシング:
電子メールやソーシャルメディアを通じて、正規の組織からの通信に見せかけて個人情報を詐取します。
プリテキストィング:
架空のシナリオや事前に準備されたストーリーを使い、被害者から情報を引き出します。
ベイトイング:
魅力的なオファーを餌として使い、被害者を罠にはめます。
クィッドプロクオ:
何かを与えることで、見返りに情報を得ようとします。
ソーシャルエンジニアリングの対策
教育と訓練:
従業員や個人に対して、ソーシャルエンジニアリングの手法やそれにどう対応すべきかを定期的に教育します。
セキュリティポリシーの強化:
情報の取り扱いやアクセス制御に関するセキュリティポリシーを厳格に定め、従業員に徹底させます。
マルチファクター認証(MFA):
アカウントへのアクセスには、パスワードだけでなく、SMSや認証アプリからのコードなど、複数の認証手段を要求します。
システムとプロセスの定期的なレビュー:
セキュリティシステムやプロセスを定期的に見直し、新たな脅威に対する防御策を更新します。
情報の最小化:
必要最低限の個人情報のみをオンラインで共有し、不要な情報は公開しないようにします。
疑問に思ったら確認する:
信頼できる連絡先に直接確認することで、不審な要求やメッセージの真偽を検証します。
【参考文献】 [1] NECフィールディング - ソーシャルエンジニアリングとは?意味や攻撃の手口・被害事例 ... (https://www.fielding.co.jp/service/security/measures/column/column-34/) [2] netattest.com - ソーシャルエンジニアリングとは? わかりやすく10分で解説 (https://www.netattest.com/social-engineering-2023_mkt_tst) [3] Canon-eset - ソーシャル・エンジニアリングとは? 複雑化、巧妙化する ... (https://eset-info.canon-its.jp/malware_info/special/detail/220623.html) [4] サイバーセキュリティ.com - ソーシャルエンジニアリングとは?具体的な手法から対策を考える (https://cybersecurity-jp.com/column/14431)
リプレイ攻撃
リプレイ攻撃(Replay Attack)とは、攻撃者が正当な通信のデータを盗聴し、そのデータを後で再送信することで、不正に認証を得たり、システムを欺いたりする攻撃手法です。リプレイ攻撃は、特にセッション管理や認証システムにおいて脅威となります。
リプレイ攻撃の仕組み
データの盗聴:
攻撃者は、ネットワークを介して送信されるデータを盗聴します。これには、認証情報(例えば、ユーザー名とパスワード)やトランザクションデータが含まれます。
データの再送信:
盗聴したデータを後で再送信することで、攻撃者は正当なユーザーになりすまし、システムにアクセスしたり、取引を実行したりします。
リプレイ攻撃の対策
タイムスタンプの使用:
各メッセージにタイムスタンプを含め、古いメッセージが再送信された場合に無効とする。サーバー側でタイムスタンプの有効期間を設定します。
ノンス(Nonce)の使用:
一度きりのランダムな値(ノンス)を各リクエストに含める。サーバーはこのノンスを追跡し、同じノンスが再度使用されるのを防ぎます。
セッション管理の強化:
セッションIDの頻繁な更新と、セッションの有効期限を短く設定することで、セッションハイジャックを防ぎます。
暗号化:
通信データを暗号化することで、盗聴されても内容を解読できないようにします。特に、TLS/SSLの使用が推奨されます。
デジタル署名:
メッセージにデジタル署名を追加し、受信側がメッセージの真正性と一貫性を検証できるようにします。
多要素認証(MFA):
単一の認証情報が不正に使用されても、追加の認証要素(例えば、SMSコードや認証アプリ)により不正アクセスを防ぎます。
【参考文献】 [1] OFFICE110 - リプレイ攻撃とは?攻撃内容・事例・防止するための対策を簡単 ... (https://office110.jp/security/knowledge/cyber-attack/replay-attack) [2] Qiita - リプレイ攻撃 とは (https://qiita.com/miyuki_samitani/items/c4590a472fb891d840c5) [3] chuu-information.com - リプレイ攻撃 (http://www.chuu-information.com/security/gyou_ra_wa_5.html) [4] 攻撃遮断くん - 知っておきたい39種類のサイバー攻撃|その対策とは? (https://www.shadan-kun.com/waf_websecurity/cyber_attack_type/)
クレデンシャルスタッフィング
クレデンシャルスタッフィングとは、既知のユーザー名とパスワードの組み合わせ(クレデンシャル)を使用して、多数のウェブサイトやサービスに対して自動的にログインを試みる攻撃手法です。この攻撃は、多くのユーザーが異なるサービスで同じログイン情報を使用していることを利用しています。一度クレデンシャルが漏洩すると、攻撃者はそれを使って被害者の他のアカウントにアクセスを試みることができます。
クレデンシャルスタッフィングの対策
多要素認証(MFA)の導入: ユーザー名とパスワードだけでなく、SMS経由でのコード、認証アプリ、物理的なセキュリティキーなど、追加の認証手段を要求することでセキュリティを強化します。
アカウントロックアウトポリシーの設定: 複数回のログイン失敗後にアカウントを一時的にロックすることで、自動化されたログイン試行を阻止します。
パスワードの強度と変更を促すポリシー: 強力なパスワードの使用を促し、定期的なパスワード変更を推奨します。
異常検知システムの導入: ログイン試行の地理的な位置や頻度など、異常なパターンを検出するシステムを導入します。
IPアドレスフィルタリングとレートリミット: 特定のIPアドレスからのアクセスを制限したり、一定期間内のログイン試行回数を制限することで、攻撃を防ぎます。
セキュリティ意識の向上: ユーザーに対し、異なるサービスで異なるパスワードを使用するよう教育し、パスワードマネージャーの使用を推奨します。
漏洩したクレデンシャルの監視: セキュリティ研究者や企業は、ダークウェブや漏洩データベースで自社のドメインに関連するクレデンシャルが漏洩していないかを定期的に監視し、問題が発見された場合は、関連するアカウントのパスワードリセットを行います。
【参考文献】 [1] NECソリューションイノベータ - クレデンシャルスタッフィング攻撃(Credential Stuffing) (https://www.nec-solutioninnovators.co.jp/ss/insider/security-words/52.html) [2] Proofpoint - クレデンシャルスタッフィング攻撃とは?仕組みと対策 (https://www.proofpoint.com/jp/threat-reference/credential-stuffing) [3] OFFICE110 - 【要注意】クレデンシャルスタッフィング攻撃とは?仕組みと対策 ... (https://office110.jp/security/knowledge/cyber-attack/credential-stuffing) [4] 飛天ジャパン - クレデンシャルスタッフィング攻撃とは (https://ftsafe.co.jp/blog/credential-stuffing/)
まとめ
このように、パスワード取得攻撃には多くの手法があります。しかし、対策もすぐにできるものからお金がかかるものまで多くの対策があります。以下に、意識を変えるだけでできる対策や、少しお金をかけることで効果的な対策を紹介します。
意識を変えるだけでできる対策
強力なパスワードの設定: 大文字、小文字、数字、記号を組み合わせた長いパスワードを設定することで、攻撃を防ぎやすくなります。
パスワードの定期的な変更: 定期的にパスワードを変更することで、万が一漏洩した場合でも被害を最小限に抑えることができます。
異なるサービスで異なるパスワードを使用: 同じパスワードを複数のサービスで使わないようにし、クレデンシャルスタッフィング攻撃を防ぎます。
フィッシングメールに注意: 不審なメールやリンクをクリックしないようにし、公式サイトからのアクセスを心がけることで、フィッシング攻撃を防ぐことができます。
少しお金をかけることでできる対策
パスワードマネージャーの利用: パスワードマネージャーを使用することで、強力でユニークなパスワードを各サービスに対して設定しやすくなり、管理も簡単になります。
二要素認証 (2FA) の導入: 2FAを設定することで、パスワードが漏洩しても追加の認証ステップが必要となり、セキュリティが大幅に向上します。
セキュリティソフトの導入: キーロガーやその他のマルウェアから保護するために、信頼できるセキュリティソフトをインストールすることが推奨されます。
これらの対策を少しずつ実行することで、パスワード取得攻撃から身を守ることができ、より安全なオンライン生活を送ることができます。まずは意識を変えることから始め、徐々にセキュリティ対策を強化していきましょう。
お知らせ
電巧社ではセキュリティ分野専門のブログも公開しています。ゼロトラストセキュリティを始めとした、ランサムウェアへの対処法等を紹介しています。こちらもよろしくお願いします。