コンテンツにスキップ

不正アクセス(ハッキング)とは?侵入の入口と、入ったあとの広げ方

2026-10-28 更新約7分で読めます

最終確認: 2026-10-28

30秒で復習

  • 不正アクセス=権限のない人が、他人の ID・パスワードや、システムの弱点を使って中に入ること。 日本では不正アクセス禁止法で禁止されている。
  • 入口は大きく4つ:パスワード(推測・使い回し)、弱点(脆弱性)(更新していない機器)、設定ミス(公開しっぱなし・初期パスワード)、Web アプリの穴(SQL インジェクションなど)。
  • パスワード攻撃は3種類:総当たり(1人に何度も)、パスワードスプレー(大勢に1つずつ)、リスト型(ほかで漏れた組み合わせ)。
  • 入ったあとは、権限を上げて横に広げる(Pass-the-Hash・Kerberoasting など)。最初の1台より、広げさせないことが大事。
  • 守りは、MFA・すぐパッチ・外から見えるものを減らす・入力をそのまま命令に混ぜない・最小権限・ログを見る。
  • 覚え方:「合言葉・古い鍵・開けっぱなし・入力の穴」

こんな場面で出会う

  • サインインのログに、海外から何百回も失敗した記録がある
  • 「VPN 装置の脆弱性が悪用されています。至急更新を」という注意喚起が出る
  • 「ほかのサービスで漏れたパスワードで、不正にログインされた」というニュース

用語の正式名称と読み方

用語 読み方・正式名称 意味
脆弱性 ぜいじゃくせい、vulnerability ソフトや設定の弱点。攻撃者に悪用される穴
パッチ patch 脆弱性を直す更新プログラム
ブルートフォース攻撃 brute force(総当たり) パスワードを片っ端から試す攻撃
パスワードスプレー password spray よくあるパスワード1つを、たくさんのアカウントに試す攻撃
クレデンシャルスタッフィング credential stuffing(リスト型攻撃) ほかで漏れた ID とパスワードの組をそのまま試す攻撃
SQL インジェクション SQL injection 入力欄に命令を混ぜて、データベースを不正に操作する攻撃
XSS Cross-Site Scripting(クロスサイトスクリプティング) Web ページに悪いスクリプトを混ぜて、ほかの利用者のブラウザで動かす攻撃
ゼロデイ zero-day 修正(パッチ)がまだ出ていない脆弱性、またはそれを突く攻撃
CVE Common Vulnerabilities and Exposures 公開された脆弱性に付く番号(例:CVE-2024-12345)
アタックサーフェス attack surface 外から攻撃できる入口の全体(公開サーバー・VPN・アカウントなど)

質問:攻撃者はどこから入ってくる?

答え: 一番多いのはパスワードと更新していない機器。どちらも「すでにある入口」を使うので、守る側が入口を把握しているかが勝負になる。

入口 例 守り
パスワード 推測しやすい・使い回し・フィッシングで盗まれた MFA(できればパスキー)、漏えいパスワードの禁止
脆弱性 VPN 装置・メールサーバー・公開している Web アプリの古い版 すぐパッチ。特に外から見える機器を優先
設定ミス クラウドのストレージを全公開、管理画面を外に公開、初期パスワードのまま 外から見えるものの棚卸し、設定の点検
Web アプリの穴 SQL インジェクション、XSS、認可の漏れ(他人の ID の画面が見える) 安全な書き方、WAF、診断
盗んだトークン AiTM や マルウェアで盗んだ Cookie・トークン 端末の条件付きアクセス、トークンの無効化(→OAuth)

質問:パスワードを狙う攻撃にはどんな種類がある?

答え: 「誰に・何回・どのパスワードで」の違い。ロックアウトだけでは、スプレーとリスト型は止まらない。

総当たり 1人に何千回も ○ ロックアウトで止まる パスワードスプレー 大勢に1回ずつ(Password1…) ✕ ロックアウトで止まらない リスト型 ほかで漏れた組で1回 ✕ 1回で当たる どれにも効くのは MFA と「使い回さない・よくあるパスワードを禁止」
攻撃 やり方 ロックアウトで止まる? 守り
総当たり(ブルートフォース) 1つのアカウントに、たくさんのパスワードを試す ○ 止まる ロックアウト、長いパスワード
パスワードスプレー よくあるパスワード(Password1 など)1つを、大勢に試す ✕ 1人あたり1回なので止まらない よくあるパスワードの禁止、MFA、失敗の監視
リスト型(クレデンシャルスタッフィング) ほかのサービスで漏れた ID・パスワードの組を試す ✕ 1回で当たる 使い回さない、MFA

質問:Web アプリの穴とは? なぜ起きる?

答え: 多くは「利用者の入力が、そのままプログラムの命令に混ざる」ことで起きる。入力をただのデータとして扱う書き方にすれば防げる。

入力欄 命令の文字が 混ざっている ✕ 文字をつなげて命令を作る 「…WHERE 名前 = 」+ 入力 + … → 入力が命令の一部として動く(盗む・消す) ○ 命令と値を別々に渡す(パラメーター化) 「…WHERE 名前 = @名前」と、値「入力」 → 入力は、ただの文字として扱われる
攻撃 何が起きる 防ぎ方
SQL インジェクション 検索欄などの入力が SQL 文の一部になり、データベースを盗まれる・消される パラメーター化クエリ(入力を値として渡す)。文字列をつなげて SQL を作らない
XSS 入力した文字が、ほかの人のブラウザでスクリプトとして動く 画面に出すときにエスケープする。フレームワークの機能を使う
認可の漏れ URL の ID を変えると、他人のデータが見える サーバー側で「この人に見せてよいか」を毎回確かめる(→認証と認可)
LDAP・コマンドのインジェクション 入力が LDAP の検索条件や OS のコマンドに混ざる 同じく、入力をエスケープ・値として渡す(→LDAP)

質問:入ったあと、攻撃者は何をする?

答え: 最初に入った PC やアカウントは、たいていただの社員の権限。そこから管理者の権限を奪い、横に広げて、目的のサーバーにたどり着く。

段階 手口の例 守り
下調べ AD の名簿を読み、管理者・サーバーを洗い出す(→LDAP) 大量の検索を監視、危ない設定を先に直す
権限を上げる PC に残った管理者のハッシュを盗む、弱いサービスアカウントを狙う 管理者は管理用の PC だけで使う、gMSA
横に広げる Pass-the-Hash、Kerberoasting、リモートデスクトップ ローカル管理者のパスワードを PC ごとに(LAPS)、ネットワークを分ける
居座る 隠しアカウントを作る、自動で起動する仕組みを仕込む アカウントの作成・権限変更を監視

具体例

場面 どうする
サインインの失敗が、たくさんのアカウントで少しずつ起きている パスワードスプレーの可能性。MFA を全員に、よくあるパスワードを禁止
VPN 装置の緊急の注意喚起が出た その日のうちに更新するか、更新まで外からの接続を止める。侵入の痕跡も確認
自作の Web アプリで、検索の SQL を文字列でつないでいる パラメーター化クエリに書き直す
退職者のアカウントが残っている 退職の手続きと連動して止める。定期的に棚卸し

関連メモ

確認したいこと

  • 外から見える機器・サービスの一覧はあるか。それぞれの更新の担当は決まっているか
  • 全員に MFA がかかっているか。MFA のかからない古い方式は止めているか
  • サインインの失敗や、海外からのサインインを誰かが見ているか
  • 自作の Web アプリは、SQL をパラメーター化しているか。診断を受けたことはあるか

参考資料