「社員アカウントが知らない間にログインされていた」「管理者権限が第三者に乗っ取られ、顧客データが漏洩した」。
アカウントテイクオーバー(ATO: Account Takeover)とは、正規ユーザーのログイン情報を何らかの手段で入手した攻撃者が、そのアカウントに不正ログインして悪用する攻撃パターンです。パスワードを1から解読する必要がなく、すでに流出した認証情報や社会工学的手口を組み合わせるため、防御側が気づかないまま侵害が進行するケースが後を絶ちません。
この記事では、ATOの仕組みと攻撃者が使う6つの主な手口、そして情シス1人でも今日から実装できる多層防御策を現場目線で解説します。

アカウントテイクオーバー(ATO)とは?
アカウントテイクオーバー(ATO)とは、攻撃者が被害者の認証情報(ユーザー名・パスワード)やセッショントークンを入手し、正規ユーザーとしてログインして不正操作を行う一連の攻撃パターンを指します。
「不正アクセス」全般の中でも、ATOは「認証の突破」という点に特化した概念です。ネットワークの穴を直接突くのではなく、人間が扱う認証情報の弱点を悪用する点が特徴です。
なぜATO被害が増えているのか
ATOが増加している背景には、主に3つの要因があります。
・流出認証情報の大量流通: 過去の大規模情報漏洩(SNS・EC・ゲームサービス等)で流出したID/パスワードがダークウェブで売買されており、攻撃者はこれを安価に入手できます。
・パスワード使い回しの慣行: 多くのユーザーが複数サービスで同じパスワードを使い回しており、1か所の漏洩が他サービスへの連鎖侵害につながります。
・攻撃の自動化: ボットを使ったログイン試行が自動化されており、数千万件の認証情報を短時間で試せるツールがアンダーグラウンドで流通しています。
攻撃者が使う6つの手口(攻撃を防御目的で知る)
ATOは単一の攻撃手法ではなく、複数の手口を組み合わせて実行されます。代表的な6つを防御目的で解説します。
1. クレデンシャルスタッフィング
クレデンシャルスタッフィング(Credential Stuffing)は、過去に漏洩した大量のID・パスワードの組み合わせを、自動ツールで別のサービスに試し続ける攻撃です。
ユーザーが複数サービスで同じID・パスワードを使い回している場合、一度漏洩した認証情報が「他サービスへの鍵」になります。成功率は1~3%程度とされますが、100万件の組み合わせを試せば数万件の侵害が成立するため、攻撃コストに対してリターンが大きい手法です。
なぜ危険か: ブルートフォース攻撃とは異なり「正しいパスワードを使う」ため、単純なログイン失敗回数による検知が効きにくい特性があります。
2. パスワードスプレー攻撃
パスワードスプレー攻撃は、「Password123」「Summer2026!」のような広く使われがちなパスワードを、大量のアカウントに対して少しずつ試す手法です。
1アカウントに対して1回しか試さないため、アカウントロックを回避しながら組織的に展開できます。特にActive DirectoryやMicrosoft 365環境で被害が多く報告されています。
3. フィッシング・スピアフィッシング
偽のログインページにユーザーを誘導し、入力した認証情報をリアルタイムで窃取する手法です。一般的なフィッシングに加え、特定の個人を狙って送信元や文面を精巧に偽装したスピアフィッシングも多用されます。
近年はリバースプロキシ型フィッシングキット(EvilginxなどのAiTM型)が普及し、多要素認証を有効にしていてもセッショントークンごと窃取されるケースが増えています。
4. SIMスワップ
SIMスワップは、携帯キャリアのサポートを社会工学的手法で欺き、被害者の電話番号を攻撃者のSIMカードに転送させる攻撃です。SMS認証(OTP)を傍受し、多要素認証を突破する目的で使われます。
高額の暗号資産口座や経営者アカウントを標的とした事例が国内でも報告されており、SMS認証だけに頼る設計のリスクが浮き彫りになっています。
5. MFA疲労攻撃(プッシュボミング)
MFA疲労攻撃は、盗んだパスワードを使ってログインを試みながら、被害者のスマートフォンにプッシュ通知を大量送信する手法です。
通知に辟易したユーザーが誤って「承認」を押すことを狙っています。Microsoft Authenticatorなどのプッシュ型多要素認証を使う組織で被害が多く報告されており、実際にLapsus$グループによる大手企業侵害でも確認されている手口です。
6. ビッシング・スミッシング
電話(ビッシング)やSMS(スミッシング)を使って被害者を誘導し、ワンタイムパスワードや認証コードを聞き出す手法です。
攻撃者が「ITサポート担当者」や「銀行のセキュリティ部門」を名乗り、緊急性を演出して認証コードを口頭で伝えさせる手口が典型的です。生成AIの普及により、自然な日本語音声を使った詐欺電話も現実的な脅威になっています。
具体的な防御手順
ATOへの対策は「1つの銀の弾丸」で完結しません。複数の層を重ねる多層防御が基本です。
1. 多要素認証(MFA)の強制—ただし方式の選択が重要
多要素認証はATO対策の要です。ただし、SMS認証はSIMスワップで突破されるリスクがあります。優先度順に推奨する認証方式を整理します。
・最高推奨: パスキー / FIDO2: デバイス固有の認証情報を使い、フィッシングに対する耐性があります。パスキーの詳細はこちらをご覧ください。
・高推奨: TOTPアプリ(Google Authenticator、Authy等): SMS認証より安全で、SIMスワップの影響を受けません。
・次善策: プッシュ型MFA(数字照合付き): 数字照合(Number Matching)を有効にすることで、MFA疲労攻撃のリスクを大幅に低減できます。
・最低限: SMS OTP: より強い方式を使えない場合の最終手段ですが、SIMスワップへの脆弱性を認識した上で運用してください。
2. 流出パスワードのチェックと強制変更
Have I Been Pwned(HIBP)などのデータベースには数十億件の流出認証情報が登録されています。自社ドメインのメールアドレスが漏洩していないか定期チェックし、該当アカウントのパスワードを強制変更させましょう。
# PowerShell: Active Directoryユーザーのメールを HIBP API でチェックする例 # 事前に HIBP API Key を取得してください(haveibeenpwned.com) $apiKey = "YOUR_HIBP_API_KEY" $users = Get-ADUser -Filter * -Properties mail | Where-Object { $_.mail } foreach ($user in $users) { $email = $user.mail $headers = @{ "hibp-api-key" = $apiKey } try { $resp = Invoke-RestMethod "https://haveibeenpwned.com/api/v3/breachedaccount/$email" ` -Headers $headers -ErrorAction Stop Write-Output "要確認: $email ($($resp.Count)件の漏洩)" } catch { # 404 = 漏洩なし } Start-Sleep -Milliseconds 1500 # レートリミット遵守 }
コストをかけずに確認したい場合は、HaveIBeenPwnedサイト(haveibeenpwned.com)に個別のメールアドレスを入力する方法や、Microsoft Entra ID(旧Azure AD)のパスワード保護機能で既知の流出パスワードをブロックする方法も有効です。
3. 異常ログインの検知と自動対応
攻撃者のログイン試行には、通常とは異なるパターンが現れます。以下のシグナルを監視することで早期検知が可能です。
・地理的異常: 平常時と大きく異なる国・地域からのログイン
・不可能な移動: 数時間以内に物理的に移動不可能な2拠点からのログイン(Impossible Travel)
・短時間の大量ログイン失敗: クレデンシャルスタッフィングの典型的なパターン
・未登録デバイスからのアクセス: 普段使っていないデバイスやブラウザのUser-Agent
・異常な操作速度: ボット特有の高速ページ遷移やAPIアクセスパターン
Microsoft 365環境であれば、Microsoft Entra IDの「条件付きアクセス」「Identity Protection」を活用します。オンプレミスや独自システムでは、WAFや認証ログをSIEMに集約して相関検知する構成が有効です。
4. セッション管理の強化
フィッシングによるセッショントークン窃取に備えて、セッション管理も見直しましょう。
・短いセッション有効期限: 特に管理者権限のセッションは短く設定する(例: 8時間)
・同時セッション制限: 同一アカウントが複数の場所から同時ログインした場合にアラートを発する
・デバイスバインドセッション: セッショントークンをデバイスフィンガープリントと紐づけ、別デバイスからの流用を防ぐ
中小企業でも今日からできること
「専用ツールや予算がない」という状況でも、次の3つから始められます。
・Microsoft 365 / Google Workspaceの条件付きアクセスを有効化: 既存のサブスクリプションに含まれる機能を使えば、追加コストなしに異常ログインをブロックできます。Microsoft 365 Business Premiumに含まれるEntra ID P1の条件付きアクセスが特に有効です。
・全アカウントにMFAを必須化: SMSでも構いません。まずMFAがない状態を解消することが最優先です。FIDO2やTOTPへの移行は段階的に進められます。
・退職者・休眠アカウントの即日無効化: 退職した社員のアカウントが残ったままになっているケースは非常に多く、攻撃者が悪用しやすい穴になります。人事フローと連携した無効化手順を整備しましょう。
Linuxサーバーを管理している場合は、姉妹サイトLinuxMaster.JPでSSH鍵認証・fail2ban・PAM設定など、サーバー認証強化の実践ガイドを詳しく解説しています。
よくある誤解と注意点
【誤解1】複雑なパスワードを設定すれば安全
「Password@2026!」のように複雑でも、別サービスから流出した同じパスワードはクレデンシャルスタッフィングで突破されます。パスワードの複雑さより「サービスごとに異なるパスワード」と「多要素認証」の組み合わせが重要です。
【誤解2】多要素認証さえあれば完璧
SIMスワップ、MFA疲労攻撃、AiTM型フィッシングなど、多要素認証を前提とした攻撃が確立されています。多要素認証は必要条件ですが十分条件ではありません。ログイン後の行動監視(UEBA)も組み合わせることで、侵害後の早期発見が可能になります。
【誤解3】大企業だけが標的になる
クレデンシャルスタッフィングはボットによる全自動攻撃です。企業規模は関係なく、インターネットに公開されたログインフォームが存在する限り、中小企業も同等のリスクにさらされています。「うちには狙う価値がない」という考えは禁物です。

本記事のまとめ
アカウントテイクオーバー(ATO)は、単一の攻撃手法ではなく複数の手口を組み合わせて実行される複合的な脅威です。以下にポイントをまとめます。
| 攻撃手口 | 主な狙い | 有効な防御策 |
|---|---|---|
| クレデンシャルスタッフィング | パスワード使い回しの悪用 | MFA強制・流出パスワードチェック・レートリミット |
| パスワードスプレー | アカウントロック回避 | MFA・パスワードポリシー強化・異常検知 |
| フィッシング / スピアフィッシング | 認証情報・トークンの窃取 | FIDO2 / パスキー・メール訓練・AIフィルタ |
| SIMスワップ | SMS OTPの傍受 | SMS認証から脱却・TOTP / FIDO2への移行 |
| MFA疲労攻撃 | プッシュ承認の誤操作誘発 | 数字照合(Number Matching)有効化・プッシュ制限 |
| ビッシング / スミッシング | OTPの口頭窃取 | 社内教育・コールバック検証手順の整備 |
「100%防げる」対策は存在しませんが、多要素認証の強制・異常ログインの監視・定期的な流出チェックの3つを組み合わせるだけで、大多数のATO攻撃に対する耐性を大幅に高められます。攻撃者の手口を正しく知って、正しく備えましょう。
PR
体系的に学ぶ 安全なWebアプリケーションの作り方 第2版(徳丸浩/SBクリエイティブ)
認証・セッション管理・アカウント保護の実装手法を体系的に学べる定番書。ATOに直結する脆弱性の原理と対策コードを実践的に解説しており、Webサービスの開発・運用担当者に特に役立ちます。
