AP21 — 主要な攻撃手法と多層防御
応用情報技術者試験の科目Aに向けて、SQLインジェクション・XSS・CSRFの原因別の区別、フィッシング・ランサムウェア・DoS/DDoSへの多層防御、ファイアウォール・WAF・IDS・IPSの役割と限界を、判断例2つとオリジナル問題5問で学びます。
AP科目A・第21回 · 2026年度・シラバスVer.7.2に基づく独立した学習資料です。IPAとの提携はなく、合格を保証しません。 シリーズ一覧を見る
オリジナル学習資料・基準:AP科目A(2026)、IPAシラバス Ver.7.2・改訂/出典確認:2026-10-21
改訂履歴:2026-10-28 インシデント管理ライフサイクルの参照回をAP22からAP25に訂正。
学習インデックス
学習後は、次のことができるようになる。
- SQLインジェクション、XSS、CSRFを、根本原因 → 影響 → 主対策 → 補助的対策の限界で区別する。
- フィッシング、ランサムウェア、DoS/DDoSに対して、予防・検知・対応・復旧の層を選ぶ。
- ファイアウォール、WAF、IDS、IPSが何を観測し、どう動くかを説明する。
- 短い事例で、原因に最も直接的な対策を選ぶ。
IPA Ver.7.2の正確な対応箇所
各行の前の数字はPDFページ、後ろの数字は文書に印刷されたフッターページである。
| PDF/フッター | 大分類 → 中分類 → 項目 | 本稿との接続 |
|---|---|---|
| 53/49 | 大分類3 技術要素 → 中分類11 セキュリティ → 1. 情報セキュリティ → (3) 脅威 → ② マルウェア・不正プログラム | ランサムウェア |
| 54/50 | 同じ階層 → 1. 情報セキュリティ → (7) 攻撃手法 | XSS、CSRF、SQLインジェクション、フィッシング、DoS/DDoS、標的型攻撃など |
| 57/53 | 大分類3 技術要素 → 中分類11 セキュリティ → 2. 情報セキュリティ管理 → (6) インシデント管理 | 検知・受付、トリアージ、対応、報告・情報公開 |
| 59/55 | 大分類3 技術要素 → 中分類11 セキュリティ → 4. 情報セキュリティ対策 → (1) 種類 → ② 技術的対策 | 3-2-1/WORM/イミュータブルバックアップ、権限、ログ、パッチ、監視、FW/WAF/IDS/IPS/EDR/SIEM |
| 60/56 | 同じ中分類 → 5. セキュリティ実装技術 → (4) ネットワークセキュリティ、(5) データベースセキュリティ、(6) アプリケーションセキュリティの冒頭 | フィルタリング、リバースプロキシ、DBアクセス・バックアップ・ログ、セキュアプログラミング、脆弱性検査 |
| 61/57 | 同じ階層 → 5. セキュリティ実装技術 → (6) アプリケーションセキュリティの続き | XSS対策、プレースホルダを含むSQLインジェクション対策 |
AP19の暗号・証明書とAP20の認証・アクセス制御の基礎は参照にとどめる。最小権限は被害範囲を抑える一つの層としてだけ扱う。インシデント管理の全ライフサイクルはAP25の範囲とし、ここでは検知 → 対応 → 復旧の短い接続だけを扱う。
共通用語表
| English | 한국어 | 日本語 |
|---|---|---|
| SQL injection | SQL 인젝션 | SQLインジェクション |
| Cross-site scripting (XSS) | 크로스 사이트 스크립팅(XSS) | クロスサイトスクリプティング(XSS) |
| Cross-site request forgery (CSRF) | 크로스 사이트 요청 위조(CSRF) | クロスサイトリクエストフォージェリ(CSRF) |
| Phishing | 피싱 | フィッシング |
| Ransomware | 랜섬웨어 | ランサムウェア |
| Denial of service (DoS/DDoS) | 서비스 거부 공격(DoS/DDoS) | サービス妨害攻撃(DoS/DDoS) |
| Firewall | 방화벽 | ファイアウォール |
| Web application firewall (WAF) | 웹 애플리케이션 방화벽(WAF) | Webアプリケーションファイアウォール(WAF) |
| Intrusion detection system (IDS) | 침입 탐지 시스템(IDS) | 侵入検知システム(IDS) |
| Intrusion prevention system (IPS) | 침입 방지 시스템(IPS) | 侵入防止システム(IPS) |
| Defense in depth | 심층 방어 | 多層防御 |
| Immutable backup | 불변 백업 | イミュータブルバックアップ |
1. 三つのWeb攻撃を原因から区別する
SQLインジェクション
- 根本原因: 信頼できないデータがSQL命令の構造の一部として組み立てられる。
- 影響: 意図しない参照・変更・削除、認証回避、情報漏えいなどが起こり得る。
- 主となる設計対策: 値をパラメータ化クエリ/プリペアドステートメント/プレースホルダでバインドし、コードとデータを分離する。テーブル名や並び順などバインドできない動的識別子は、サーバで定義した許可リストからだけ選ぶ。DBアカウントには最小権限を与える。
- 補助的対策の限界: 入力検証、ログ、WAFは検知・緩和に役立つが、危険なクエリ組立てを修正しない。手作業のエスケープは文脈やDB設定に左右され、主対策にはならない。
XSS
- 根本原因: 信頼できないデータが、HTMLやスクリプトの文脈でブラウザに実行可能な内容として解釈される。
- 影響: 表示の改変、利用者セッションでの意図しない動作、機微情報の露出などが起こり得る。
- 主となる設計対策: 出力先(HTML本文、属性、URL、JavaScriptなど)に応じた文脈別の出力エンコーディングを行い、テキスト専用DOM APIや自動エスケープテンプレートなど安全なシンクを使う。許容形式が明確な入力は併せて検証する。
- 補助的対策の限界: CSPとWAFは多層防御であり、安全な出力処理の代替ではない。一つの文脈用エンコーディングを別の文脈へ安易に流用してはならない。
CSRF
- 根本原因: 認証済みセッションを持つブラウザが、有効な資格情報とともに望まない状態変更要求を送るよう誘導される。
- 影響: 本人が意図しない設定変更、送金、登録・削除などが起こり得る。
- 主となる設計対策: フレームワークのCSRF保護、または予測不能でサーバが検証するanti-CSRFトークンを使う。適切なSameSite CookieとOrigin/Referer検証を追加の層とする。GETで状態を変更しない。
- 補助的対策の限界: XSS向け出力エンコーディングはCSRFの主対策ではなく、CORSだけでも不十分である。XSSが一部のCSRF対策を破ることもあるため、両方を修正する。
覚え方:SQLiはサーバのクエリ構造、XSSはブラウザの出力文脈、CSRFは認証済みブラウザ要求の意図を守る。
2. 人・端末・サービスを狙う攻撃と防御層
フィッシング
架空の事例:従業員に「取引先の振込先が変わった」というメッセージが届いた。リンクを開いたり送金したりせず、保存済みの正式な連絡先で別経路確認する。組織は利用者の確認訓練・通報経路、メール/Webフィルタ、最小権限、端末監視、保護された集中ログ、インシデント対応を重ねる。訓練だけで全ての欺きが止まるとは考えない。
ランサムウェア
架空の事例:一台の端末で異常な大量ファイル変更の警報が出た。チームは承認済み手順で端末を隔離し、保護された集中ログで範囲を確認し、クリーンと確認した環境へ、復元テスト済みのオフライン/イミュータブルバックアップを戻す。
- パッチ適用は既知の脆弱性経路を減らすが、フィッシング、設定不備、未知の欠陥など全ての経路を塞ぐわけではない。
- 最小権限とセグメンテーションは横展開と被害半径を抑える。
- 3-2-1ルール、WORMまたはイミュータブルストレージ、復元テストは復旧可能性を高める。バックアップは感染やデータ窃取を予防しない。 常時オンラインのバックアップは同時に損傷し得る。
- ログは収集され、改ざんから保護され、実際にレビューされたときにだけ検知・調査に役立つ。ログ自体は攻撃を遮断しない。
DoS/DDoS
架空の事例:分散した送信元から公開サービスへのトラフィックが急増し、正規利用者が遅延する。サーバ側ファイアウォールだけでは、既に飽和した上流回線を回復できない。事業者と準備した上流DDoS緩和、CDN/エニーキャスト分散、適切なレート制限、キャッシュ・容量設計、監視、対応手順を組み合わせる。レート制限は正規の急増も拒否し得て、容量だけで全攻撃を吸収できるわけでもないため、基準値とテストが必要である。
3. ファイアウォール・WAF・IDS・IPS
| 対策 | 主な観測・動作 | 強み | 限界・注意点 |
|---|---|---|---|
| ファイアウォール | ネットワーク/トランスポート層で、状態・アドレス・ポートによる接続ポリシー | 不要な接続経路を減らす | アプリケーションコードを修正できず、許可通信内の有害な意味を見抜けない場合がある |
| WAF | HTTP/アプリケーション要求を検査・遮断 | Web要求に対する補償的な遮断層 | 誤検知・見逃しがあり、セキュアコーディングの代替ではない |
| IDS | 通信・イベントを観測して検知・警報 | 可視性と調査の手掛かりを増やす | 一般に自動遮断せず、警報のレビューが必要 |
| IPS | インラインで検知・遮断 | 既知またはポリシー違反の通信を即時拒否できる | チューニングが必要で、誤検知や性能・可用性への影響があり得る |
万能な製品はない。暗号化通信、許可済みフロー、センサの配置によって可視性が変わる。安全な設計、パッチ、権限、分割、監視、復旧を多層化する。
4. 安全な判断例
例A — Web要求/データフロー
検索APIが利用者の検索語と並び順を受け取り、DBを検索して結果をHTMLに表示する。
- 検索語の値をプリペアドステートメントのプレースホルダへバインドする。
- 並べ替え列と方向はサーバ定義の許可リストからだけ選ぶ。
- 結果を出力文脈に合わせてエンコードし、安全なテンプレート/シンクを使う。
- DBアカウントには必要な読取り権限だけを与える。
- WAFと保護されたログを追加の検知・緩和層にする。
これによりSQLiとXSSの主原因をコードで除去し、最小権限とWAFで残余リスクを抑える。
例B — インシデント防御と復旧
従業員が不審な添付ファイルを通報した直後、端末から異常変更の警報が出た。
- 通報と警報を受付・トリアージし、承認済み手順に従って影響端末を隔離する。
- 保護された集中ログで、アカウント、端末、時間帯、範囲を調べる。
- 露出した資格情報と侵入経路を処置し、分割・最小権限が拡大を抑えたか確認する。
- クリーンな環境を確認後、テスト済みオフライン/イミュータブルバックアップから復元し、正常性を検証する。
- 必要な報告と改善を組織の手続へ引き継ぐ。
直ちにバックアップを上書き復元すると原因が残り、証拠を失う可能性がある。詳細なインシデントライフサイクルはAP25で扱う。
5. オリジナル四肢択一問題
以下は全て本資料用の安全な概念問題であり、IPA過去問題ではない。
問1
Webアプリケーションが文字列連結でSQLを作っている。最も直接的な主対策はどれか。
- ア. DBサーバの前にIDSだけを置く。
- イ. 値をプリペアドステートメントのプレースホルダへバインドし、動的識別子を許可リストから選ぶ。
- ウ. エラーメッセージだけを隠す。
- エ. 全入力を開発者が手作業でエスケープする。
正解:イ(2)
- ア:検知の手掛かりにはなるが、危険なクエリ組立てを直さない。
- イ:コードとデータを分離し、根本原因を直接解消する。
- ウ:情報露出を減らせても、インジェクションは残る。
- エ:文脈・DB設定に依存して失敗しやすく、主対策ではない。
問2
ログイン中の利用者が攻撃者のページを開いた後、意図しない住所変更要求が送られた。説明と対策の組合せとして最も適切なものはどれか。
- ア. XSSなので、HTML出力エンコーディングだけを行う。
- イ. SQLインジェクションなので、DB権限だけを減らす。
- ウ. CORS設定だけで全ての場合を解決する。
- エ. CSRFなので、検証されるanti-CSRFトークンと適切なSameSite/Origin検査を使う。
正解:エ(4)
- ア:中心は実行可能な出力ではなく、認証済みブラウザの望まない要求である。
- イ:SQL構造を変更する事例ではない。
- ウ:CORSだけはCSRFの主対策にならない。
- エ:原因に合う主対策と補助層を組み合わせている。
問3
従業員に振込先変更メッセージが届き、同時に端末から不審なファイル変更の警報が出た。最も適切な組合せはどれか。
- ア. 別の正式連絡先で確認・通報し、手順に従って隔離・調査した後、クリーンな環境へテスト済みオフライン/イミュータブルバックアップを復元する。
- イ. バックアップがあるため端末調査を省略する。
- ウ. パッチが最新ならフィッシングは不可能と判断する。
- エ. ログを保存せず、直ちに全システムを初期化する。
正解:ア(1)
- ア:人による確認、検知、対応、復旧を多層化している。
- イ:バックアップは感染・窃取を止めず、原因も残り得る。
- ウ:パッチは全攻撃経路を覆わない。
- エ:範囲判断と調査の手掛かりを失い、過剰な停止を招き得る。
問4
分散した送信元からの大容量トラフィックがインターネット回線を飽和させた。最も適切な準備はどれか。
- ア. 内部IDSの警報件数だけを増やす。
- イ. アプリケーションの出力エンコーディングだけを強化する。
- ウ. 上流DDoS緩和、CDN/エニーキャスト、適切なレート制限・容量・監視を組み合わせる。
- エ. DBアカウントの権限だけを減らす。
正解:ウ(3)
- ア:検知だけでは飽和した上流回線を回復できない。
- イ:XSS対策であり、可用性攻撃の直接対策ではない。
- ウ:サービス到達前と到達後の対策を多層化している。
- エ:一部の被害制限にはなっても回線飽和を解消しない。
問5
ファイアウォール、WAF、IDS、IPSの説明として最も適切なものはどれか。
- ア. ファイアウォールは、許可されたHTTP内の有害な意味を常に完全に理解する。
- イ. IDSは主に検知・警報し、IPSはインライン遮断でき、WAFはHTTPの補償的対策であり、全てにチューニングと多層化が必要である。
- ウ. WAFを置けば、脆弱なアプリケーションコードを修正する必要はない。
- エ. IPSは誤検知や可用性への影響を生じない。
正解:イ(2)
- ア:ポリシー、暗号化、配置によってファイアウォールの可視性は制限される。
- イ:役割と限界をどちらも正しく述べている。
- ウ:WAFはセキュアコーディングの代替ではない。
- エ:インラインの調整不良は正規通信や性能に影響し得る。
解答一覧: 1~5 = [2, 4, 1, 3, 2] = [イ, エ, ア, ウ, イ]
クイックシート
- SQLi:クエリ構造を分離 → パラメータ/プレースホルダ、動的識別子は許可リスト。
- XSS:ブラウザ文脈を分離 → 文脈別出力エンコーディングと安全なシンク。
- CSRF:要求の意図を検証 → フレームワーク保護/トークン + SameSite/Origin層。
- バックアップは復旧、最小権限・分割は被害半径制限、ログは検知・調査。
- ファイアウォール=接続ポリシー、WAF=HTTP検査、IDS=警報、IPS=インライン遮断。
- 単一対策は万能でない。予防・検知・対応・復旧を重ねる。
セルフチェック
- SQLi、XSS、CSRFがそれぞれ何を守るか、一文ずつ言える。
- バックアップ、パッチ、最小権限、ログが「できないこと」も説明できる。
- ファイアウォール/WAF/IDS/IPSと、誤検知・可視性の限界を比較できる。
- 二つの判断例を見ずに再構成できる。
- 五問全ての誤答がなぜ誤りかを説明できる。
公式出典
2026-10-21確認:IPAシラバス Ver.7.2、OWASPのSQLインジェクション・XSS・CSRF対策、CISAのStopRansomware・DDoSガイダンス、NIST SP 800-61 Rev.3・SP 800-41 Rev.1・SP 800-94。
1・3・7日後の復習
- 1日後: クイックシートを隠し、三つのWeb攻撃の原因と主対策を書く。
- 3日後: 二つの事例に対策を再配置し、各対策の限界を一行ずつ添える。
- 7日後: 五問を解き直し、各誤答を正しい文へ書き換える。
本資料はIPAとの提携・承認を主張せず、試験合格を保証しない。