ハッキング技術を学ぶ目的は、許可された環境で弱点を把握し、被害を防ぐことです。実際のWebサイト・ネットワーク・アカウントに対し、管理者の明確な許可なくスキャン・試行・侵入・情報取得を行わないでください。演習は自作の教材や自分で管理する検証環境のみで実施します。
最終内容確認:2026年10月24日。制度・脅威・資格の運用は変更されるため、公式リンクも併せて確認してください。ホワイトハッカーとは何か
ホワイトハッカー(倫理的ハッカー)は、所有者の許可の下で攻撃者と同様の視点からセキュリティ上の弱点を探し、改善に結びつける技術者です。
許可された範囲で調査し、証拠と対策を報告する。企業の診断、研究、事故対応などに従事します。
不正侵入、窃取、妨害などを行う攻撃者の総称。専門的な技術の有無より、行動と目的が重要です。
許可が曖昧なまま弱点を調べるケースなど。善意を主張しても違法・迷惑行為になり得ます。
ブルーは検知・防御・復旧、レッドは承認済みの模擬攻撃で防御力を検証します。連携するパープルチームもあります。
実際の仕事
Webアプリ診断、クラウド設定監査、SOCでの監視、CSIRTでの事故対応、デジタルフォレンジック、セキュア開発支援、脅威インテリジェンス、教育など幅広い領域があります。ホワイトハッカーという単一の国家資格や職種だけがあるわけではありません。
絶対に知っておきたいルール
日本の不正アクセス禁止法は、不正アクセス行為などを禁止しています。業務上のテストでも、許可の範囲、実施時間、対象ホスト、禁止事項、緊急連絡先、取得データの扱いを書面で決めます。
- 書面で許可を得る:対象ドメインだけでなくIP、アカウント、API、検証日時も特定。
- 最小限の確認:必要以上の個人情報収集、サービス停止を招く高負荷試験はしない。
- 秘密を保つ:画面キャプチャやログの機密情報はマスキングし、期限を決めて保管・削除。
- 報告・修正・再検査:問題を放置せず、管理者と安全に共有する。
日本法の原文:不正アクセス行為の禁止等に関する法律(e-Gov)。
OS・プロセス・権限・ファイル
CPU・メモリ・ストレージ・OSの役割を理解します。OSはプロセスを実行し、ユーザーの権限とファイルへのアクセスを制御します。管理者権限は高リスクであり、普段は一般ユーザーで作業するのが基本です。
| 用語 | 意味 | 守るための観点 |
|---|---|---|
| プロセス | 実行中のプログラム | 未知の実行、権限、通信先を調べる |
| パーミッション | 読み・書き・実行の許可 | 最小権限・機密ファイルへのアクセス制限 |
| パッチ | 修正プログラム | 脆弱性のあるバージョンを更新 |
| ログ | 操作やエラーの記録 | 監査、検知、事故の調査に利用 |
TCP/IP・DNS・ポート・HTTPS
Webを守るには通信の経路がわかる必要があります。IPアドレスは通信相手を識別し、DNSは名前解決を行い、TCPは順序と信頼性を持つ通信、UDPは軽量なデータグラム通信です。HTTPSは通常TLSによって通信を保護します。
例:example.com をIPアドレスへ対応づける。DNSの改ざんや偽装に注意。
GETで取得、POSTでデータ送信など。ステータスコード200・301・403・404・500を確認。
一般的な例:22 SSH、53 DNS、80 HTTP、443 HTTPS。ポート番号だけで安全性は判断できません。
通信の盗聴・改ざんを防ぐ仕組み。証明書の検証は必須で、HTTPSでもサイト自体の安全性は保証しません。
安全な観察演習
自分のブラウザの開発者ツールを開き、このページのNetwork欄で、HTMLや画像の取得とHTTPステータスを観察します。通信に第三者への侵入行為は不要です。
最初に覚える基本コマンド
Linuxはサーバーで広く用いられます。自分のPCや仮想マシン、開発コンテナーで練習しましょう。
pwd # 現在のディレクトリ
ls -la # ファイルと権限の表示
cd ~/Documents # ディレクトリ移動
cat sample.txt # ファイル内容の表示
grep 'ERROR' app.log # 自分のログから文字列を検索
ps aux # 実行中のプロセス
whoami # 現在のユーザー名
パイプ(|)、標準入力・標準出力、環境変数、シェルの仕組みも学びます。実務では実行するコマンドと対象の影響を確認し、出所不明のコマンドを安易に貼り付けないでください。
Python・JavaScript・SQLの重要性
Pythonはログ集計や調査の自動化、JavaScriptはブラウザの動作理解、SQLはデータベース操作の把握に役立ちます。正規表現、文字列処理、JSON、例外処理、HTTP APIも押さえます。
実例:ローカルの失敗ログを集計
# 自作のサンプルデータのみを対象にするPythonコード
from collections import Counter
records = [
{"user": "alice", "result": "OK"},
{"user": "bob", "result": "FAIL"},
{"user": "bob", "result": "FAIL"},
{"user": "carol", "result": "OK"},
]
failures = Counter(r["user"] for r in records if r["result"] == "FAIL")
print(failures) # Counter({'bob': 2})
同じアカウントの連続失敗は、不正ログインの可能性を調べる手掛かりですが、入力ミスのこともあります。時刻・端末・IP・認証結果など他の情報と組み合わせて判断します。
CIA三要素・認証・ゼロトラスト
許可のない人に情報を見せない。暗号化やアクセス制御を利用。
データが不正に変更されないこと。署名、ハッシュ、監査が役立つ。
必要なときに使えること。冗長化、バックアップ、復旧訓練が重要。
一つの防御に依存せず、認証・ネットワーク・端末・ログなどを重ねる。
ゼロトラストは接続元の場所だけで信頼せず、ユーザー・端末・アクセスの状況を継続して検証する考え方です。MFA(多要素認証)、最小権限、セッション管理、認可をセットで考えます。
ハッシュ・暗号化・電子署名
暗号化は鍵を用いて復号できる形で秘匿する技術です。ハッシュは入力から固定長の値を得る一方向の処理で、元の内容を復元する用途ではありません。電子署名は公開鍵暗号の考え方を利用して署名者や改ざんの検証に使われます。
安全なパスワード保存
パスワードを平文保存せず、専用のパスワードハッシュ(Argon2id、scrypt、bcryptなど)と個別ソルト、適切なコスト設定を用います。高速ハッシュのSHA-256を単体でパスワード保存に用いるのは不適切です。
OWASP Top 10:2025を理解する
OWASPの2025年版は、Webアプリケーションで重要なセキュリティリスクを10分野に分類しています。以下は原典を学びやすく要約したものです。
| 区分 | 意味と対策の例 |
|---|---|
| A01 アクセス制御の不備 | 別ユーザーのデータを見られる。サーバー側で権限を検証。 |
| A02 セキュリティ設定の不備 | 不要な機能や初期設定を放置。安全な構成・設定監査。 |
| A03 ソフトウェア供給網の不備 | 依存ライブラリやビルド経路を悪用。依存関係管理・署名・更新。 |
| A04 暗号に関する不備 | 弱い暗号や鍵管理の失敗。強固な設定と鍵の保護。 |
| A05 インジェクション | 入力がコマンドなどとして解釈される。パラメータ化・入力の文脈別処理。 |
| A06 安全でない設計 | 仕様段階の信頼境界やリスク設計不足。脅威モデリング。 |
| A07 認証の不備 | セッション・ログイン・MFAの不適切な実装。認証フロー改善。 |
| A08 ソフトウェア・データ完全性の不備 | 未検証の更新やデータを信頼。署名検証・信頼できる配布元。 |
| A09 ログと警告の不備 | 不正行動を検知・追跡できない。適切な監査ログとアラート。 |
| A10 例外状況の取り扱い不備 | 予期しない状態で安全側に失敗できない。安全な例外処理。 |
実例1:SQLインジェクションを防ぐ
危険な設計は、入力をそのままSQL文字列につなぐことです。以下はPythonのSQLiteでプレースホルダーにより値とSQL構文を分離する安全な例です。
# dbは自分が管理するSQLite接続
cursor.execute("SELECT id, name FROM users WHERE name = ?", (user_input,))
rows = cursor.fetchall()
実例2:XSSを防ぐ
コメント内容をHTMLとして解釈して表示すると、悪意のあるスクリプトが動く可能性があります。信頼できない文字列はHTMLとして挿入せず、ブラウザでは textContent を利用するのが基本です。
const comment = document.createElement('p');
comment.textContent = userComment; // HTMLとして実行しない
document.querySelector('#comments').append(comment);
実例3:IDOR・認可の欠落
URL内のレコードIDを変更しただけで他人の情報が表示される設計は危険です。ログイン済みであることと、そのデータを閲覧できることは別です。毎回サーバー側で「この利用者はこのレコードを読めるか」を検査します。
ランサムウェア・フィッシング・サプライチェーン
IPA「情報セキュリティ10大脅威 2026」の組織向け上位は、1位ランサム攻撃、2位サプライチェーンや委託先への攻撃、3位AIの利用をめぐるサイバーリスクです。順位はIPAが選考会の投票で選定したもので、個々の組織に同じ順序でリスクがあることを意味しません。
データ暗号化や窃取による脅迫。対策は更新、アクセス制限、バックアップの分離、復旧訓練。
偽のメール・サイトなどで認証情報を盗む。対策はパスキー・MFA、URL確認、通報体制。
委託先や利用ソフトの弱点から被害が波及。資産把握、契約、監査、更新の管理が重要。
大量トラフィックでサービスを妨害。CDN、レート制御、耐障害設計、事業者連携を行う。
原典:IPA 2026年版。
診断から改善確認まで
- 事前合意:テストの目的、対象、禁止事項、証拠の扱い、緊急停止方法を確定。
- 構成理解:資産台帳、技術構成、データフロー、認証・権限設計を確認。
- 検証計画:脅威と試験項目を整理し、低リスクの確認から実施。
- 限定的な検証:検証専用環境やテストアカウントを用い、影響を最小化。
- リスク評価:成立条件、影響、再現性、優先度を判断。CVSSは補助指標。
- 報告・修正・再検査:事実・証跡・推奨策と、残存リスクを伝える。
報告書の書き方(架空の例)
発見:一般ユーザー用のプロフィールAPIで、所属確認を行っていない。
影響:対象によっては別利用者のプロフィール情報を閲覧できる可能性。
証拠:検証環境で用意した2人のダミーアカウントによる確認結果のみ。
推奨:レコード単位のサーバー側認可、回帰テスト、アクセスログ監視を追加。
代表的なセキュリティツール
| ツール | 代表的な用途 | 練習の前提 |
|---|---|---|
| ブラウザ開発者ツール | 通信、DOM、Cookie、JavaScriptの観察 | 自分のページで実行 |
| Wireshark | ネットワークパケットの可視化 | 自分の通信や承認済みキャプチャのみ |
| Burp Suite / ZAP | Webリクエストの分析・診断支援 | 自作・許可された演習環境のみ |
| Nmap | ホストとポートの確認 | 自分で管理するネットワークのみ |
| Ghidra | プログラムの静的解析 | 解析権限のあるプログラムのみ |
| SIEM / EDR | イベントの集中監視・端末の検知と対応 | 検証用ログ・管理対象端末 |
ツール名を知るだけでなく「何が確認でき、何が確認できないか」「誤検知や副作用は何か」を説明できることが大切です。
発見した後にどう動くか
インシデント対応は「準備→検知と分析→封じ込め→除去と復旧→事後改善」という反復的な活動です。まず事実と推測を分離し、ログなどの証拠を保全します。
架空のケース:不審なログインが発生
- SIEMが深夜の失敗ログイン急増と成功ログインを検知。
- 当該利用者の通常の行動と照合し、管理者・CSIRTに連絡。
- 不正アクセスが疑われるセッションを管理手順に基づいて無効化。
- 認証要素を安全に再設定し、影響範囲・データ操作履歴を確認。
- 関係者への報告、ルール見直し、再発防止、必要な届出を実施。
ログの保持期間、時刻同期、操作履歴、社内外への連絡経路は事故前に設計しましょう。
日本のサイバーセキュリティ政策と機関
国家サイバー統括室(NCO)と2025年の戦略
日本政府は2025年12月23日に新しい「サイバーセキュリティ戦略」を閣議決定しました。国家安全保障・社会全体の防御・官民連携・国際協力・人材育成などを包括する指針です。国家サイバー統括室(NCO)は国のサイバーセキュリティ政策で中心的な役割を担います。
サイバー対処能力強化法(2025年成立)
2025年5月16日に成立し、同23日に公布されたサイバー対処能力強化法と関連整備法は、重要インフラの保護や官民の情報共有などを強化し、法律に基づく能動的サイバー防御の枠組みを設けています。民間人が独断で他者のシステムに侵入できるという意味ではありません。
IPA(情報処理推進機構)
セキュリティ啓発、情報セキュリティ10大脅威、脆弱性関連情報、人材育成、国家試験・登録制度などを担います。学習者にとって最初に参照しやすい公的情報源の一つです。
NICTのCYDER
NICTが実施する実践的サイバー防御演習CYDERでは、組織が攻撃を受けた状況を模した環境で、検知から報告・事後対応までを体験します。対象者・受講条件はコースで異なります。
そのほかの関係主体
- 警察庁・都道府県警察:サイバー犯罪の対策、相談・捜査など。
- JPCERT/CC:事故対応の調整、注意喚起、技術情報の提供。
- デジタル庁:行政サービスのセキュリティ確保、関係機関との連携。
- 総務省・経済産業省:各分野の政策、事業者支援、ガイドラインなど。
NIST CSF・ISO 27001・MITRE ATT&CK
Govern(統治)、Identify(特定)、Protect(防御)、Detect(検知)、Respond(対応)、Recover(復旧)という六つの機能でリスク管理を整理します。
情報セキュリティマネジメントシステム(ISMS)の要求事項。継続的な改善と組織全体の管理を重視します。
攻撃者の戦術・技術を整理したナレッジベース。検知ルールや演習の設計に利用されます。
CVEは公開された脆弱性の識別子、CVSSは技術的な深刻度を評価する指標。事業上の影響は別途判断します。
ゼロから目指すためのロードマップ
| 段階 | 主な学習内容 | 成果物 |
|---|---|---|
| 1 基礎 | 倫理、OS、ネットワーク、HTTP、Linux、Python | コマンドメモ、通信の観察記録 |
| 2 開発 | Webアプリ、DB、認証・認可、セキュアコーディング | ログイン付き自作Webアプリ |
| 3 防御 | ログ、監視、MFA、バックアップ、OWASP | 安全な設定と検知ルール |
| 4 実務演習 | 許可済み診断、検証用環境、報告書、インシデント対応 | サンプル診断報告書 |
| 5 専門化 | クラウド、SOC、アプリ診断、フォレンジックなど | 専門分野のポートフォリオ |
資格と学び方
国内では情報処理安全確保支援士が代表的な国家資格です。資格取得は必須ではありませんが、体系的な知識を示す指標になります。情報セキュリティマネジメント試験、基本情報技術者試験、応用情報技術者試験なども基礎固めに役立ちます。海外・民間ではSecurity+、OSCP、CISSPなどが知られますが、対象分野や前提経験は異なります。
ポートフォリオに書けること
- 自作Webアプリで再現し、対策した脆弱性の解説
- 架空のログを使った異常検知と分析レポート
- 検証環境の構成図と権限設計
- 脅威分析から修正、再検査までの記録
ここで解ける理解度クイズ
外部のサイトを検査せず、ブラウザ上で知識を確認できます。回答後に簡単な解説を表示します。
もっと練習するには
自作アプリの安全化や教育向けのローカル演習環境が有効です。外部の練習サイトを利用するときは対象範囲や利用規約を確認してください。PortSwigger Web Security Academy、OWASP Juice Shopなどが教材として知られています。
重要用語を短く整理
| 用語 | 概要 |
|---|---|
| 認証 / 認可 | 本人か確認する / その操作が許されるか判断する |
| MFA | 異なる要素を組み合わせた多要素認証 |
| パスキー | 公開鍵暗号などを用いるフィッシング耐性の高い認証方式 |
| IDS / IPS | 侵入検知 / 侵入防止システム |
| WAF | Webアプリへの通信を検査する防御機構 |
| SOC | セキュリティ監視・分析の組織・機能 |
| CSIRT | インシデントの対応・調整を行うチーム |
| EDR | 端末の不審な挙動の検知・調査・対応を支援 |
| SIEM | 各種ログを集約・分析して検知を支援 |
| 脆弱性 / 脅威 / リスク | 悪用可能な弱点 / 危害の要因 / 起こり得る影響と可能性 |
| CVE / CWE / CVSS | 脆弱性の識別子 / 弱点分類 / 深刻度の評価指標 |
| SBOM | ソフトウェア構成部品の一覧 |
| OSINT | 公開情報を用いた情報収集・分析 |
| フォレンジック | 証拠の保全と分析により事実関係を調査する技術 |
| 脅威モデリング | 設計段階で資産・信頼境界・脅威・対策を整理する活動 |
| ゼロデイ脆弱性 | 修正が利用できない段階で悪用され得る脆弱性 |
ホワイトハッカーについての疑問
完全な初心者でもホワイトハッカーを目指せますか?
目指せます。最初はネットワーク、OS、プログラミングとWebの基礎を学び、守るための知識を積み重ねます。
ホワイトハッカーになるために資格は必須ですか?
必須ではありません。実務では倫理、基本技術、説明能力、再現可能な検証経験が重要です。資格は能力を示す一つの方法です。
他人のサイトの弱点を勝手に探してもよいですか?
いいえ。管理者の明確な許可と対象範囲の合意が必要です。許可済みの練習環境を利用してください。
プログラミングを全部覚える必要がありますか?
すべての言語は不要です。PythonとJavaScript、SQLの基礎から始め、専門分野に応じて広げると効果的です。
何から学べばよいかわかりません。
第2章の倫理を確認してから、第4章ネットワーク→第5章Linux→第6章プログラミング→第9章Webの脆弱性の順に進めるのがおすすめです。
一次情報・公式教材
- IPA:情報セキュリティ10大脅威 2026
- OWASP Top 10:2025
- NCO:サイバーセキュリティ戦略(2025年)
- 内閣官房:サイバー対処能力強化法等
- e-Gov:不正アクセス禁止法
- NICT:実践的サイバー防御演習 CYDER
- 経済産業省:情報処理安全確保支援士
- NIST:Cybersecurity Framework
- MITRE ATT&CK
本ページは学習向けの一般的な解説です。法律相談・業務診断の代替ではありません。各種資料の最新版や適用条件は一次情報で確認してください。