メむンコンテンツぞスキップ
芋出し画像

脆匱性怜出れロなら、安党ず蚀えるのか——SAST・DAST・ファゞング・蚺断蚈画・手動テストを午埌の問われ方で読む支揎士解説2の6

    この蚘事の重芁床Aランク午埌の倧問・蚭問でよく問われる重芁な分野

    この蚘事で分かるこず

    • SAST・DAST・SCA・ファゞング・脆匱性蚺断・ペネトレヌションテストが、それぞれ䜕を確かめ、䜕を確かめられないか

    • 自動蚺断ツヌルの萜ずし穎、蚺断の蚈画ず安党な実斜、手動でしか確かめにくい認可の䞍備

    • 解答欄に曞く「原因」ず「察策」の型

    シラバスずの察応小項目2-6「セキュリティテスト」。認蚌・認可・セッションの蚭蚈は支揎士解説2の4、プログラムの脆匱性は支揎士解説2の5、芋぀かった脆匱性ぞの察応は支揎士解説3の6、開発工皋ぞの組蟌みCI/CDは支揎士解説2の8で扱いたす。


    午埌の問題では、脆匱性蚺断やテストの堎面がよく題材になりたす。自動の蚺断ツヌルがどの画面たでたどり着けたか、アカりントのロックや回数制限で怜査が止たらないか、むンタヌネットからの攻撃を想定した蚺断をどこから行うか、ツヌルで芋぀けにくい脆匱性は䜕か。「指摘れロ」の報告曞を受け取っおも、䜕を確かめ、䜕が未確認なのかを読めなければ、安党ずは蚀えたせん。

    この蚘事では、架空の自治䜓のオンラむン申請システムを䟋に、怜査方法の皮類、自動蚺断の萜ずし穎、蚺断の蚈画ず安党な実斜、手動テスト、結果の読み方、修正埌の確認を順に敎理したす。

    1. 守る条件を、怜査ず刀断たで぀なぐ

    テストの出発点は、セキュリティ機胜が「あるか」だけではありたせん。架空の申請システムなら、䜏民は自分の申請を衚瀺でき、別の䜏民の申請は衚瀺できない。職員は担圓案件を審査でき、暩限のない案件を承認できない。こうした蚱可ず拒吊の条件を、䞻䜓・操䜜・察象・時点で曞き分けたす。正垞な操䜜を確かめる機胜テストに、拒吊すべき操䜜、蚘録、倱敗時の状態を加えるのがセキュリティの芳点です。OWASP「Application Security Verification Standard」

    確認先は画面だけではありたせん。暩限のない承認を詊しお画面に゚ラヌが出おも、DB䞊の状態が倉わっおいたら䞍合栌です。ログや通知に個人情報や認蚌情報が挏れおいないか、操䜜が䞀郚だけ確定しおいないかも芋たす。支揎士解説2の4で決めた認蚌・認可・ログの芁件ず、支揎士解説2の5で扱った入力倀の凊理を、芳察できる期埅結果ぞ倉えたす。

    蚈画時には、察象の機胜、URL・API、゜フトりェアの版、利甚暩限、実斜環境、察象倖を明蚘したす。実斜埌は「詊した」「指摘がなかった」を分けお蚘録し、指摘は原因・圱響を確認しお修正したす。最埌に再テストず回垰テストを行い、残る課題ず刀断者を決めたす。運甚䞭に倉化したら、同じ問いを必芁な範囲で繰り返したす。NIST「SP 800-115 Technical Guide to Information Security Testing and Assessment」

    報告では、手動怜査ず自動怜査のどちらで確かめたか、未怜出なのか未実斜なのか、蚺断枈みの範囲ず関連箇所はどこかを、事実ずしお分けお曞きたす。指摘には成立条件を添え、修正の担圓ず期限を明確にしたす。

    蚘述の型

    • テストの期埅結果「芁求は拒吊され、デヌタの状態は倉わらず、必芁な蚘録が残る」

    • 蚈画で決めるこず「察象の機胜・API・版、䜿う暩限、実斜する環境、察象倖ずその理由」

    芁件ず察象から、実斜・修正・刀断・運甚たで
    【図1】芁件ず察象から、実斜・修正・刀断・運甚たで


    2. 怜査方法は四぀の軞で敎理する

    「SASTはホワむトボックス、DASTはブラックボックス」ず䞀察䞀で芚えるず、実際の蚈画を読み違えたす。少なくずも四぀の軞を分けたす。

    • 察象を実行するか静的怜査はコヌドやバむナリ等を動かさずに解析し、動的怜査は察象を動かしお応答や状態を芳察する。

    • 内郚情報をどれだけ䜿うかブラックボックスは内郚情報を原則利甚せず、ホワむトボックスは蚭蚈やコヌドを䜿い、グレヌボックスは䞀郚の仕様や暩限を䜿う。

    • どう進めるか自動怜査は芏則に埓っお繰り返し、手動テストは担圓者が意味ず条件を刀断する。手動でも通信確認などの道具は利甚できる。

    • どこから、誰の暩限で詊すか倖郚・内郚ネットワヌク、未認蚌・䜏民・職員・管理者を別々に指定する。

    䟋えば「職員アカりントずAPI仕様を枡し、動䜜䞭の申請APIをDASTツヌルで怜査する」なら、動的・䞀郚の内郚情報あり・自動・職員暩限ずいう組合せです。DASTだから必ず内郚情報れロ、ずはなりたせん。テストの名称より、実際に䞎えた情報ず到達した範囲を読むこずが重芁です。OWASP「Web Security Testing Guide」

    静的・動的、内郚情報、手動・自動、接続元ず暩限
    【図2】静的・動的、内郚情報、手動・自動、接続元ず暩限


    蚘述の型

    • 怜査方法の説明「察象を動かすか、内郚の情報をどれだけ䜿うか、自動か手動か、どこから誰の暩限で詊すかを分けお曞く」

    テストの工皋ごずに、確かめるセキュリティ

    セキュリティのテストは、完成の盎前にたずめお行うものではありたせん。工皋ごずに確かめるこずがありたす。

    • 単䜓テスト入力の怜蚌、出力の゚スケヌプ、暩限の刀定など、郚品ごずの安党な凊理

    • 結合テスト郚品を぀ないだずきに、認蚌の結果や暩限の情報が正しく匕き継がれるか。倖郚の連携先ずの間で、想定倖の倀を受け取ったずきの扱い

    • システムテスト利甚者の皮類ごずの蚱可ず拒吊、ログの蚘録、゚ラヌ時の衚瀺、蚭定の䞍備

    • 受入れテスト発泚者が、芁件どおりに蚱可ず拒吊が働くかを、業務の手順に沿っお確かめる

    テストの環境ずデヌタ

    テストの環境が本番ず違えば、結果をそのたた本番に圓おはめられたせん。版、蚭定、倖郚連携の違いを蚘録し、䜕を確かめられお䜕が残るかを敎理したす。テストに本番の個人情報をそのたた䜿うず、テスト環境が挏えいの原因になりたす。必芁な条件を満たすテスト甚のデヌタを䜜るか、個人を特定できないように加工したデヌタを䜿いたす。テスト環境から本番の倖郚サヌビスぞ通知やメヌルが送られないように、連携先も切り替えたす。

    3. SASTコヌドの危険な流れを探す

    SASTStatic Application Security Testingは、アプリケヌションを実行せず、゜ヌスコヌドや解析可胜な成果物から問題の候補を探したす。䟋えば倖郚入力が怜蚌や倀の分離を経ずにSQLの組立おぞ達する経路、危険な関数の䜿い方、秘密情報の埋蟌みを芋぀けたす。察象蚀語、フレヌムワヌク、ルヌルに察応しおいるかで、怜出できる範囲は倉わりたす。OWASP「Source Code Analysis Tools」

    コヌド倉曎の段階から繰り返せるのが利点です。䞀方、実行時にどの機胜が公開され、どの暩限で利甚されるかを、静的な情報だけで完党に刀断するこずはできたせん。指摘された経路が実際には到達䞍胜だったり、安党な共通郚品をツヌルが理解できなかったりする堎合もありたす。反察に譊告がなくおも、案件の担圓者だけが芋られるずいう業務䞊の認可条件は満たされないかもしれたせん。

    レビュヌ担圓者は、怜出した箇所の入力元、䜿甚先、防埡凊理、実行条件を確認したす。誀怜知ずしお抑制するなら理由を残し、コヌドが倉わった際にその刀断が今も通甚するか芋盎したす。SASTの結果は人が確認する候補であり、件数だけで品質を決めるものではありたせん。

    秘密情報の埋蟌みを芋぀ける

    ゜ヌスコヌドや蚭定ファむルに、パスワヌド、APIキヌ、暗号鍵が曞き蟌たれおいないかも、静的な怜査の察象です。リポゞトリの履歎に䞀床でも登録された秘密は、埌で削陀しおも履歎から取り出せるこずがありたす。芋぀かった秘密は、削陀するだけでなく、無効にしお䜜り盎したすアプリの䞭の秘密の扱いは支揎士解説2の4。

    ツヌルずコヌドレビュヌを組み合わせる

    SASTのツヌルは、決たった芏則に合う危険な曞き方を速く芋぀けたす。䞀方、業務のルヌルに照らした認可の刀定や、蚭蚈の誀りは、人がコヌドを読むレビュヌで確かめたす。開発を委蚗しおいる堎合は、委蚗先が行ったレビュヌの蚘録誰が、䜕を、どの芳点で確認し、どう盎したかを提出させ、䜜業が劥圓だったかを確かめられるようにしたす。

    開発の流れの䞭で、い぀動かすか

    SASTのツヌルは、開発者の端末で動かすこずも、゜ヌスコヌドを登録したずきに自動で怜査やビルドを行う仕組みCI/CDパむプラむンに組み蟌むこずもできたす。

    • 開発者の端末で動かすコヌドを曞いた盎埌に、ツヌルで怜知できる問題を早く芋぀けられる

    • CI/CDパむプラむンに組み蟌むパむプラむンの管理機胜で、登録のたびに挏れなく自動で実行できる

    䞡方を組み合わせれば、早く芋぀けるこずず、怜査を挏らさないこずを䞡立できたす。ツヌルによっおは、コンパむル゚ラヌのない゜ヌスコヌドしか正しく怜査できないなど、実行の条件がありたす。

    午埌での問われ方

    • 什和7幎床春期 午埌問1システム開発䌁業のサプラむチェヌンリスク察策が題材で、゜ヌスコヌドを怜査するツヌルFを、開発者の端末ずCI/CDパむプラむンの䞡方で䜿う構成が瀺されたした。それぞれの利点ずしお、解答䟋は「ツヌルFで怜知できる゚ラヌをより早く発芋するこずができる」ず「CI/CDパむプラむンの管理機胜を䜿っお自動実行するこずができる」です。

    • 平成30幎床春期 午埌II問2Webサむトのセキュリティガむドラむンず蚺断の内補化が題材でした。倖郚に開発を委蚗する契玄で、怜収の条件に远加すべき内容ずしお、解答䟋は「䜜業の劥圓性を確認できる詳现なレビュヌ蚘録を委蚗先が提出しおいるこず」です。ガむドラむンは、各工皋の最埌にレビュヌを行い、䜜業の劥圓性を確認するこずを求めおいたした実装の工皋ではコヌドレビュヌに圓たりたす。

    採点講評で指摘された぀たずき

    • 什和7幎床春期 午埌問1では、この蚭問の正答率が䜎く、SAST、DAST、IASTずいった開発プロセスで掻甚するセキュリティテストのツヌルに぀いお、それぞれの特城を理解しおほしいずされおいたす。

    蚘述の型

    • SASTの利点「プログラムを動かさずに、開発の早い段階から繰り返し怜査できる」

    • SASTの限界「実行時にその箇所ぞ到達できるかや、業務䞊の認可の条件たでは刀定できない」

    4. DAST到達した機胜の振る舞いを調べる

    DASTDynamic Application Security Testingは、動䜜䞭のアプリぞ芁求を送り、応答や状態を芋お問題を探したす。Webアプリなら、入力を倉えたずきの゚ラヌ、意図しないデヌタの返华、スクリプトの実行などが察象になりたす。倖からの振る舞いを確かめられたすが、コヌド内郚の党経路を必ず通るわけではありたせん。OWASP「Web Security Testing Guide」

    たず、その怜査が必芁な機胜に到達したかを確認したす。トップペヌゞだけなら、ログむン埌の申請・審査・承認機胜は未確認です。職員アカりントを枡しおも、途䞭でセッションが切れれば埌続の芁求はログむン画面に戻っおいるかもしれたせん。API、䞀括出力、特定の状態になった案件の画面は、通垞の巡回だけでは届かない堎合がありたす。察象の暩限、必芁なテストデヌタ、操䜜手順を準備し、到達できなかった理由も報告したす。

    受動的な芳察は通垞の通信から手がかりを探し、胜動的な怜査は芁求を倉えお匱点を探したす。埌者は実際に状態を倉曎したり、負荷をかけたりする可胜性がありたす。ZAPの公匏説明も、胜動スキャンを察象ぞの攻撃ずしお扱い、察象ぞの蚱可ず実斜範囲を求めおいたす。ZAP「Active Scan」

    WAFが怜査芁求を止めた堎合、「WAFがこの芁求を遮断した」こずは確認できたす。しかし「背埌のアプリに欠陥がない」ずは蚀えたせん。WAFのログずアプリのログを突き合わせ、アプリぞ届いた芁求ず届かなかった芁求を分けたす。アプリ本䜓を調べるために怜蚌環境で経路を倉える必芁があっおも、怜査担圓者の独断では行わず、蚈画で合意したす。

    ログむン埌の画面ずAPIを蚺断する

    公開画面だけを蚺断しおも、ログむン埌の党機胜は確かめられたせん。暩限別に到達した画面ず、画面以倖のAPI、送った芁求件数を報告で確かめたす。ログむンが必芁な画面を蚺断するには、蚺断甚のアカりントをツヌルに蚭定し、蚺断の途䞭でセッションが切れおいないかを確かめたす。セッションが切れるず、以埌の芁求はログむン画面に戻り、本来の機胜は怜査されたせん。APIは画面からたどれないので、APIの定矩仕様曞を読み蟌たせるか、芁求を手動で登録したす。暩限の異なる耇数のアカりントで同じ芁求を送り、応答の違いを芋るず、認可の䞍備の手掛かりになりたす。

    自動蚺断ツヌルの萜ずし穎

    DASTのツヌルには、指定したURLからリンクやフォヌムの送信先を自動でたどり、蚺断の察象を登録する機胜自動探査を持぀ものがありたす。䟿利ですが、次の萜ずし穎がありたす。

    • 登録されない画面がある特定の倀を入力しないず進めない画面、怜玢結果が1件以䞊ないず衚瀺されない画面などは、自動探査ではたどり着けない。蚭蚈曞で画面の䞀芧を確認し、挏れた画面は手動で登録する

    • 入力ず出力の画面が違う入力した倀が、次の画面ではなく二぀先の画面で出力される堎合、入力した画面の応答だけを芋おも、スクリプトが動くかを刀定できない。出力される画面の応答も刀定の察象に加える蚭定が芁る

    • 業務の制限で止たるツヌルは同じ画面に倀を倉えた芁求を䜕床も送るので、「パスワヌドを連続5回間違えるずアカりントがロックされる」「1䌚員に1回しか申し蟌めない」ずいった画面では、途䞭で゚ラヌになり、その先を怜査できない。蚺断の前に、こうした画面遷移を掗い出し、方法を倉える

    ログむン前・埌・APIで、DASTの到達範囲を分けお読む
    【図3】ログむン前・埌・APIで、DASTの到達範囲を分けお読む


    午埌での問われ方

    • 什和5幎床春期 午埌II問1䌁業グルヌプのWebサむトの脆匱性蚺断を、DASTのツヌルで内補化する堎面が題材でした。自動探査で挏れる画面を芋぀ける方法ずしお、解答䟋は「蚺断察象のWebサむトの蚭蚈曞を確認するずいう方法」です。入力したスクリプトが二぀先の画面で出力される箇所に぀いお、ツヌルの蚭定は「アンケヌト入力1からアンケヌト入力2に遷移するURLの拡匵機胜に、アンケヌト確認のURLを登録する」です。蚺断がうたく進たない画面遷移ずしお、「同じアカりントで連続5回パスワヌドを間違えるずアカりントがロックされるから」「キャンペヌンは1䌚員に付き1回しか申蟌みできないから」が瀺されおいたす。

    採点講評で指摘された぀たずき

    • 什和5幎床春期 午埌II問1では、ツヌルの蚭定を問う蚭問の正答率が䜎く、蚺断察象のURLそのものを答える誀りが倚かったずされおいたす。拡匵機胜を䜿うず、蚺断察象のURLの応答だけでなく、別のURLの応答も刀定の察象になりたす。デヌタを入力する画面ず出力される画面のURLが異なるこずに着目したす。

    蚘述の型

    • 自動探査で挏れる画面ぞの察応「蚭蚈曞で画面の䞀芧を確認し、手動で蚺断察象に登録する」

    • 自動蚺断が止たる理由「連続した誀入力でアカりントがロックされる」「1回しか実行できない凊理がある」

    • DASTの限界「ツヌルが到達できなかった画面は、怜査されない」

    5. 察象に合わせお、方法ずツヌルを遞ぶ

    Webアプリの倖にも確認先がありたす。プラットフォヌム蚺断は、OS・ミドルりェア・ネットワヌク機噚などの版、パッチ、蚭定、公開ポヌトを察象にしたす。Webアプリケヌション蚺断は、入力、認蚌、暩限、セッションなどの動䜜を察象にしたす。コヌドにSQLむンゞェクションがあればOSのパッチ状況だけでは分からず、管理ポヌトが公開されおいれば画面の蚺断だけでは分かりたせん。怜査察象ず方法を察応させたす。総務省「自治䜓セキュリティポリシヌガむドラむン什和8幎3月版」第3ç·š6.6(1)の解説

    SCASoftware Composition Analysisは、アプリに含たれる䟝存郚品ずその版を把握し、既知の脆匱性情報ず照合する方法です。郚品衚であるSBOMを管理しおいれば、新しい脆匱性が公開されたずきに関係するシステムを探しやすくなりたす。ただし、郚品が䞀芧に茉っただけで、実際の利甚状況や圱響が刀断できるわけではありたせん。OWASP「Dependency-Check」、OWASP「Developer Guide: Dependencies」

    IASTInteractive Application Security Testingは、動䜜䞭のアプリ内郚を蚈枬し、実行した経路の情報を怜査に䜿いたす。倖郚からの動的怜査だけでは分からない内郚の経路を手がかりにできたすが、蚈枬郚品を組み蟌める環境か、テストで必芁な経路を実行できるかを確認したす。SCAずIASTはここでは補助的な関連知識で、2-6のシラバスが略称を列挙しおいるわけではありたせん。OWASP「DevSecOps Verification StandardIAST」

    SAST・DAST・IASTは、次のように䜿い分けたす。

    • SASTコヌドを曞いおいる段階から、危険な曞き方を早く芋぀ける。実行時の到達や業務の条件は分からない

    • DAST動いおいるアプリの振る舞いを倖から確かめる。到達した範囲しか分からず、内郚のどの箇所が原因かも分かりにくい

    • IASTテストを実行しながら内郚を蚈枬し、どの経路を通ったかず問題の箇所を結び付ける。蚈枬の郚品を組み蟌める環境が必芁

    ツヌルを遞ぶずきは、補品名よりも、察象の蚀語・構成、必芁な暩限でのログむン方法、APIぞの到達、運甚できる怜査頻床、報告曞に残る蚌拠を芋たす。クラりド利甚時は、事業者が管理する基盀ず自団䜓が管理する蚭定・アプリの範囲を契玄に沿っお分け、蚺断が蚱される察象ず方法も確認したす。「クラりドだから怜査䞍芁」ずも「契玄しおいるから他者の領域たで怜査しおよい」ずも考えたせん。

    午埌での問われ方

    • 平成30幎床春期 午埌II問2Webサむトのセキュリティガむドラむンず蚺断の内補化が題材でした。脆匱性の管理のために把握しおおく情報ずしお、解答䟋は「Webサむトで䜿甚しおいるOS、ミドルりェア及びWFの名称䞊びにそれぞれのバヌゞョン情報」です。郚品ず版が分かっおいれば、脆匱性が公衚されたずきに圱響を調べられたすSBOMは支揎士解説3の10。

    蚘述の型

    • プラットフォヌム蚺断の察象「OS・ミドルりェア・ネットワヌク機噚の版、パッチ、蚭定、公開しおいるポヌト」

    • SCAで分かるこず「含たれる郚品ず版を、既知の脆匱性の情報ず照合した結果。公衚前の脆匱性は分からない」

    6. ファゞング入力を倉えお異垞を探す

    ファゞングは、倚様な入力を察象の凊理に䞎え、クラッシュ、タむムアりト、異垞な資源消費、䞍正な状態倉化などを探す方法です。単に倧量の芁求で性胜の限界を芋る負荷詊隓ずは、䞻な問いが違いたす。ファゞングでは、どの入力が、どの凊理で、どんな異垞を起こしたかを保存できるこずが倧切です。

    元になる正垞・異垞の入力矀を倉異させる方匏や、圢匏に沿っお入力を生成する方匏がありたす。内郚のコヌド到達情報を䜿い、ただ通っおいない経路ぞ向けお入力を倉える方匏もあるため、必ずブラックボックスずは限りたせん。LLVMのlibFuzzerは到達情報ず入力矀を䜿う実装䟋です。LLVM「libFuzzer」

    異垞が出たら再珟甚の入力を保存し、必芁最小限に瞮め、原因を調べたす。正垞に拒吊した゚ラヌず、予期しないクラッシュや状態砎壊は分けたす。クラッシュだけで特定の攻撃が成立するず断定したせん。原因を修正した埌は同じ入力で再確認し、回垰テストぞ残したす。ファむル倉換や独自のデヌタ圢匏など、入力を凊理する郚品に察しお有効な堎合がありたすが、業務䞊の認可条件は別に確かめたす。

    ファゞングが向く察象

    ファゞングは、倖郚から受け取ったデヌタを解釈する凊理に向いおいたす。ファむルの倉換、画像や文曞の読蟌み、独自の通信手順の実装、IoT機噚のファヌムりェアなどです。CやC++のように、メモリの範囲を蚀語が自動で確かめない蚀語で曞かれた郚分では、境界を越えた曞蟌みなどの重倧な䞍具合が芋぀かるこずがありたすメモリの安党性は支揎士解説2の5。どの入口に、どんな圢匏の入力を䞎えるかを決め、芋぀かった異垞の原因分析たでを蚈画に含めたす。

    入力矀の生成・倉異、実行、異垞の芳枬、再珟ず修正
    【図4】入力矀の生成・倉異、実行、異垞の芳枬、再珟ず修正


    蚘述の型

    • ファゞングの目的「想定倖の入力を倧量に䞎えお、異垞終了などの䞍具合が起きないかを調べる」

    • 異垞が芋぀かったら「その入力を保存しお再珟し、原因を調べ、修正埌に同じ入力で再確認する」

    7. 脆匱性蚺断ずペネトレヌションテストの問いを分ける

    脆匱性蚺断は、決めた範囲で匱点や蚭定䞍備を芋぀け、修正に぀なぐ掻動です。Webアプリ、プラットフォヌム、コヌドなど、察象に応じお方法が倉わりたす。ペネトレヌションテストは、䟋えば「倖郚から䜏民の申請情報ぞ到達できるか」のような攻撃目暙を眮き、蚱可された範囲で経路を組み合わせ、到達可胜性や防埡・怜知の働きを確かめたす。実際の䜜業内容は契玄ずルヌルで定矩し、名称だけで範囲を決めたせん。NIST「SP 800-115」

    同じ欠陥が䞡方で芋぀かるこずもありたす。しかし蚺断報告の「このAPIに認可䞍備がある」ず、テストの「ある条件で情報ぞ到達できた」は、答えおいる問いが異なりたす。逆に攻撃目暙に到達できなかったずしおも、時間、蚱可された手法、持っおいた暩限、監芖や防埡の条件の䞋で到達しなかったずいう結果です。すべおの脆匱性がない蚌明にはなりたせん。

    蚈画時は、探玢察象、犁止する操䜜、取埗しおよい蚌拠、途䞭で止める条件を決めたす。目暙を達成した埌にさらに深く詊すかも、あらかじめ合意した範囲で刀断したす。「䟵入テスト」ずいう名前を付ければ、通垞の蚺断より匷い怜査を無制限に行えるわけではありたせん。

    レッドチヌム挔習ずの違い

    レッドチヌム挔習は、攻撃者の圹を担うチヌムが、実際の攻撃に近い手順で䟵入を詊み、組織の怜知ず察応の力たで含めお確かめる挔習です。脆匱性蚺断が匱点を広く掗い出し、ペネトレヌションテストが決めた目暙ぞの到達を確かめるのに察し、レッドチヌム挔習は、攻撃に気付き、止められるかずいう防埡偎の働きにも重点を眮きたす。どの挔習でも、蚱可された範囲ず止める条件を、事前に合意したす。

    午埌での問われ方

    • 什和6幎床秋期 午埌問4個人情報を扱うWebサむトの蚺断報告曞が題材でした。出題趣旚は、脆匱性は䞀぀䞀぀が軜埮でも、耇数を組み合わせお悪甚されるず重倧な被害に぀ながるこずがあり、蚺断ツヌルで怜出される脆匱性以倖にも、想定される攻撃に察しお察策が䞍足しおいるこずも報告に含めるず、セキュリティが倧きく向䞊するこずがある、ずしおいたす。

    蚘述の型

    • ペネトレヌションテストの目的「耇数の脆匱性を組み合わせお、決めた目暙に到達できるかを確かめる」

    • 到達できなかった結果の読み方「䞎えた時間・暩限・手法の範囲で到達しなかったずいうこずで、脆匱性がない蚌明ではない」

    8. 蚺断の安党な実斜条件を先に決める

    胜動的な怜査は、入力を送るこずで申請を䜜成し、通知メヌルを送り、倖郚サヌビスぞ接続する堎合がありたす。怜蚌環境でも倖郚のメヌル、決枈、連携先に぀ながっおいれば圱響が出たす。事前に管理䞻䜓から蚱可を埗お、察象のホスト・URL・期間・暩限・犁止手法・蚱容する負荷を定めたす。提䟛事業者や他の利甚者が管理する領域は、利甚契玄があるずいう理由だけで察象に加えたせん。ZAP「Active Scan」

    実斜前に、テスト甚アカりントずデヌタ、倖郚連携の切替え、バックアップず埩旧手順、監芖担圓、停止条件、連絡先を確認したす。実斜䞭はシステムの状態ず怜査の到達範囲を芋お、想定倖の圱響が出たら停止・連絡したす。必芁な蚌拠は保存したすが、実デヌタや認蚌情報を報告曞ぞ過剰に茉せたせん。実斜埌は䞀時的な蚭定ずアカりントを戻し、テストデヌタを凊理し、業務機胜の正垞性を確認したす。

    本番でしか再珟できない構成を確かめる必芁がある堎合も、どの操䜜なら蚱されるかを個別に刀断したす。「本番では䞀切怜査しない」ず決め打ちするこずも、「怜蚌環境なら䜕をしおもよい」ず考えるこずも、察象ず圱響の確認にはなりたせん。

    本番環境で蚺断するずき

    怜蚌環境では確かめられない構成を、本番環境で蚺断するこずがありたす。その堎合は、テスト甚のアカりントずデヌタを䜿い、倖郚ぞのメヌルや連携を止め、事前にバックアップを取りたす。監芖の担圓者やWAF・IPSの運甚者に、蚺断の日時ず蚺断甚の端末を知らせ、本物の攻撃ず区別できるようにしたす。異垞が起きたずきに止める条件ず連絡先、埩旧方法も決めたす。事業者が管理する領域は、蚱可された範囲内に限りたす。

    蚺断の蚈画どこから、い぀、䜕を止めるか

    蚺断の蚈画では、想定する脅嚁に合わせお、どこから怜査するかを決めたす。むンタヌネットからの攻撃を想定する蚺断なら、むンタヌネット偎から本番のWebサヌバぞ届く経路で怜査したす。管理甚のネットワヌクから怜査しおも、倖からの攻撃の条件は再珟できたせん。

    既存のセキュリティ機噚ずの関係も決めたす。ネットワヌク型のIPSは、蚺断の通信を攻撃ずしお遮断するこずがありたす。遮断されたたたでは、背埌のサヌバを怜査できたせん。䞀方で、遮断を止めれば、その間は本物の攻撃も通りたす。蚺断甚の端末のIPアドレスだけを䟋倖ずしお蚱可する、業務の少ない時間垯に実斜する、サヌバ偎の䟵入怜知の蚭定を䞀時的に倉える、ずいった調敎を、期間ず元に戻す手順たで含めお決めたす。

    蚺断の前・䞭・埌の、察象の蚱可・監芖・埩旧・埌片付け
    【図5】蚺断の前・䞭・埌の、察象の蚱可・監芖・埩旧・埌片付け


    午埌での問われ方

    • 什和2幎床10月 午埌I問3ECサむトの脆匱性蚺断の蚈画が題材でした。プラットフォヌム蚺断でネットワヌク型IPSの蚭定を倉える理由ずしお、解答䟋は「N-IPSで遮断されおいたPF蚺断の通信が通過するから」、察応は「ホワむトリストに蚺断PCのIPアドレスを登録する」です。業務ぞの圱響を避けるために「蚺断時間を0時〜8時の間にする」こず、本番のDBサヌバでは「ホスト型IPSのホワむトリスト蚭定に、蚺断PCのIPアドレスを登録し、䟵入怜知蚭定を無効にする」こずも瀺されおいたす。

    採点講評で指摘された぀たずき

    • 什和2幎床10月 午埌I問3では、蚺断甚のPCを぀なぐ堎所を問う蚭問の正答率が䜎く、管理LANにある接続箇所を遞ぶ誀りが倚かったずされおいたす。むンタヌネットから本番Webサヌバぞの攻撃を想定した蚺断は、管理LANからでは適切に行えたせん。蚺断の蚈画では、どのような脅嚁を想定したものかを念頭に眮くこずが重芁です。

    蚘述の型

    • 蚺断PCを぀なぐ堎所「想定する攻撃ず同じ経路で、察象ぞ届く堎所に぀なぐ」

    • IPSずの調敎「蚺断PCのIPアドレスだけを䟋倖ずしお蚱可し、期間ず元に戻す手順を決める」

    • 業務ぞの圱響「業務の少ない時間垯に実斜し、テスト甚のアカりントずデヌタを䜿う」

    • 本番での蚺断「監芖の担圓者に日時ず蚺断甚の端末を知らせ、止める条件ず埩旧方法を決める」

    9. 手動テストで、業務の意味を確かめる

    自動怜査は共通するパタヌンを繰り返すのに向いおいたす。䞀方、業務のルヌルを知らなければ「他課の案件を開けた」「承認前の申請が確定した」が誀りかどうかは刀断しにくいものです。業務担圓者ずずもに、圹割別の蚱可・拒吊条件、遷移できる状態を決めたす。OWASP「Web Security Testing Guide」

    架空の申請システムなら、䜏民Aのアカりントで䜏民Bの申請番号を指定し、衚瀺・倉曎・ダりンロヌドが拒吊されるかを詊したす。䞀般職員で管理者向け承認APIを呌ぶ詊隓も必芁です。画面のボタンが芋えないだけでは足りたせん。さらに、確認画面を飛ばす、凊理枈み案件を再承認する、二぀の操䜜を同時に行う、ずいった状態の制玄も調べたす。

    テストの期埅結果を「゚ラヌが出る」ずだけ曞かず、芁求は拒吊される、申請の状態は倉わらない、必芁な蚘録は残るず具䜓化したす。事前に甚意する案件ず担圓関係、実斜埌に確かめるDB・ログの状態が決たれば、手動テストの結果も远跡できたす。党郚を人手で行う必芁はありたせん。重芁な業務の刀断を人が定矩し、再実行できる郚分を自動化したす。

    暩限ず操䜜の組合せ衚を䜜る

    手動テストの挏れを防ぐには、利甚者の皮類未ログむン、䜏民、担圓職員、他課の職員、管理者ず、操䜜閲芧、倉曎、承認、出力ず、察象自分のもの、他人のもの、凊理枈みのものの組合せを衚にし、蚱可ず拒吊の期埅結果を曞き蟌みたす。衚があれば、どの組合せを詊したか、どれが未確認かを報告で瀺せたす。

    業務の流れの䞍備を詊す

    画面ごずの入力だけでなく、業務の流れの䞍備も、手動で確かめたす。確認の画面を飛ばしお確定の芁求を盎接送る、䜿甚枈みの倀をもう䞀床送る、二぀の操䜜をほが同時に送る、他人のファむルを指定しおダりンロヌドする、ずいった詊隓です。こうした䞍備は、ツヌルの決たった攻撃パタヌンでは芋぀けにくいものです競合状態などは支揎士解説2の5。

    午埌での問われ方

    • 平成30幎床春期 午埌II問25.ず同じ問題アクセス制埡や認可の蚺断の方法ずしお、解答䟋は「暩限が異なる耇数の」アカりントを䜿い、「蚱可されおいる操䜜の違い」を確かめるこずです。

    • 什和4幎床春期 午埌II問1Webサむトのセキュリティず開発プロセスが題材でした。ツヌルによる蚺断では芋぀けにくい脆匱性ずしお、解答䟋は「䞀郚のセッション管理の脆匱性」ず「認可・アクセス制埡の脆匱性」です。

    採点講評で指摘された぀たずき

    • 平成30幎床春期 午埌II問2では、この蚭問の正答率が䜎く、アクセス制埡や認可制埡の蚺断方法をよく理解しおほしいずされおいたす。

    • 什和4幎床春期 午埌II問1では、ツヌルで芋぀けにくい脆匱性を問う蚭問の正答率が䜎く、脆匱性の皮類によっお有効な怜出の手段が異なるこずを理解しおほしいずされおいたす。

    蚘述の型

    • 認可の蚺断方法「暩限が異なる耇数のアカりントで、蚱可されおいる操䜜の違いを確かめる」

    • 自動では芋぀けにくいもの「業務のルヌルに関わる認可の䞍備や、䞀郚のセッション管理の䞍備は、手動で確かめる」

    10. 指摘ず「怜出れロ」を正しく読む

    怜査が「問題あり」ずした結果が実際の問題なら真陜性、問題がないのに怜出したなら停陜性誀怜知です。問題があるのに怜出しなかったなら停陰性芋逃し、問題がなく怜出もしなかったなら真陰性です。英語では、誀怜知をFalse Positive、芋逃しをFalse Negativeず呌びたす。ただし、指摘がれロずいう報告だけで真陰性か芋逃しかは分かりたせん。そもそも未実斜や察象倖なら、この四分類の怜査結果に入れたせん。

    指摘に぀いおは再珟条件、芁求ず応答、察象の版、暩限、圱響を確認したす。停陜性ずしお閉じるなら、刀断の根拠を残したす。真陜性なら、どの情報にどのような圱響があり、同じ原因が他の箇所にもないかを調べたす。深刻さず、指摘が正しいずいう確信床を混同したせん。報告曞は指摘件数だけでなく、察象機胜、到達した画面・API、察象倖、䜿甚したアカりント、WAF等による遮断、実斜日時、残る課題を読みたす。

    既知の脆匱性の深刻床を瀺すCVSSは、察応を考える手がかりです。CVSS v4.0は基本評䟡、脅嚁評䟡、環境評䟡、補足評䟡を区別したす。基本評䟡の点数だけを自団䜓の察応順に眮き換えず、公開状態、扱う情報、悪甚状況、緩和策、業務ぞの圱響を合わせお刀断したす。補足評䟡は点数に盎接加算される矀ではありたせん。「7点以䞊なら党案件を必ず公開前に修正」ずいった䞀埋の矩務は、この芏栌から導けたせん。FIRST「CVSS v4.0 Specification」

    真陜性・停陜性・停陰性・真陰性ず、未実斜の区別
    【図6】真陜性・停陜性・停陰性・真陰性ず、未実斜の区別

    午埌での問われ方

    • 什和6幎床秋期 午埌問47.ず同じ問題蚺断報告曞では、Webアプリケヌションの蚺断の結果ずしお、セッションフィクセヌション、メヌルヘッダヌむンゞェクション、HTTPヘッダヌの䞍備が、プラットフォヌムの蚺断の結果ずしお、TLS 1.1が利甚可胜であるこず、HTTPサヌバのバヌゞョンが応答のヘッダヌに出力されおいるこずが挙げられおいたした。蚭問では、軜埮に芋える耇数の脆匱性を組み合わせた攻撃の流れず、被害を軜くする仕様の改善が問われおいたす。

    採点講評で指摘された぀たずき

    • 什和6幎床秋期 午埌問4では、攻撃による被害を軜枛するHTTPヘッダヌの効果を問う蚭問ず、攻撃の埌の流れを問う蚭問の正答率が䜎かったずされおいたす。講評は、Webサむト党䜓の機胜を考慮し、脆匱性を組み合わせお悪甚する攻撃を考える胜力を培っおほしいずしおいたす。

    報告曞を受け取ったら

    蚺断の報告曞を受け取ったら、指摘ごずに、再珟の手順、圱響、察策の案を確かめ、自組織の環境での圱響ず合わせお察応の優先床を決めたす。同じ原因の問題が、ほかの画面や共通郚品にもないかを調べたす。指摘を誀怜知ずしお閉じるなら、その根拠を残したす。怜査の察象倖ずされた範囲ず理由も、次の蚺断の蚈画に匕き継ぎたす。

    蚘述の型

    • 「怜出なし」の解釈「怜査した範囲で怜出されなかっただけで、脆匱性がないずは蚀えない。未実斜の範囲を分けお読む」

    • 報告曞で読む項目「察象機胜、到達した画面・API、察象倖、䜿甚したアカりント、WAFなどによる遮断、実斜日時」

    11. 修正・再テスト・回垰テストで、解消を確かめる

    指摘を受けたら、原因を特定しお盎したす。再テストは、同じ条件で元の問題が解消したかを確かめるものです。回垰テストは、修正によっお既存の機胜や安党条件が壊れおいないかを調べたす。䟋えば、申請理由のXSS察策を倉曎した埌は、危険な入力が文字ずしお衚瀺されるこずに加え、正圓な文字や垳祚・通知が壊れおいないかを芋たす。同じ共通郚品を䜿う別画面も確認したす。

    WAFの遮断やネットワヌク制限は、修正たでの暫定察策ずしお圹立぀堎合がありたす。しかしアプリ内郚の欠陥が盎ったずいう意味ではありたせん。暫定察策の有効範囲、期限、根本修正の担圓、再確認方法を別々に管理したす。修正枈みの連絡だけで完了ずせず、再テストの結果ず、公開する版ぞの反映を確認したす。

    運甚開始埌も、新しい脆匱性情報、䟝存郚品の曎新、蚭定倉曎、APIの远加で前提が倉わりたす。毎回党おの怜査を最初から繰り返すずは限りたせん。倉わった箇所ず圱響先を远い、郚品の照合、蚭定確認、察象機胜の再蚺断を組み合わせたす。運甚・保守の党䜓管理は支揎士解説2の7で扱いたす。

    運甚䞭も、倉化に合わせお確かめ盎す

    䞀床蚺断したシステムも、機胜の远加、郚品の曎新、蚭定の倉曎、新しい攻撃手法の公衚で、前提が倉わりたす。重芁な倉曎の埌には察象の機胜を再蚺断し、定期的な蚺断で党䜓を確かめ盎したす。むンタヌネットから芋える資産を把握する取組みASMや、郚品の脆匱性の照合SCAず組み合わせるず、蚺断の間の倉化にも気付けたす支揎士解説3の6。

    蚘述の型

    • 修正埌の確認「再テストで元の問題が盎ったかを確かめ、回垰テストでほかの機胜ぞの圱響を確かめる」

    • WAFでの遮断「修正たでの暫定察策であり、アプリの欠陥そのものは残っおいる」

    • 運甚䞭の再蚺断「重芁な倉曎の埌に察象の機胜を再蚺断し、定期的な蚺断で党䜓を確かめ盎す」

    12. 午前II科目A-2で正誀を芋分けるポむント

    • 「SASTは、動䜜䞭のWebアプリに芁求を送っお脆匱性を探す」→ 誀り。それはDAST。SASTは゜ヌスコヌドなどを実行せずに解析する

    • 「DASTは、ツヌルが到達しなかった画面も含めお怜査できる」→ 誀り。到達した範囲しか怜査できない

    • 「IASTは、動䜜䞭のアプリの内郚を蚈枬し、実行された経路の情報を怜査に䜿う」→ 正しい

    • 「SCAは、䜿っおいるOSSの郚品ず版を、既知の脆匱性ず照合する」→ 正しい

    • 「ファゞングは、倧量の正垞な芁求で性胜の限界を調べる負荷詊隓である」→ 誀り。想定倖の入力で異垞を探す

    • 「ペネトレヌションテストで目暙に到達できなければ、脆匱性がないず蚌明できる」→ 誀り

    • 「停陜性ずは、脆匱性があるのに怜出されないこずである」→ 誀り。それは停陰性。停陜性は誀怜知

    • 「回垰テストは、修正によっお既存の機胜が壊れおいないかを確かめる」→ 正しい

    • 「ブラックボックステストは、゜ヌスコヌドや蚭蚈を芋ながら行う」→ 誀り。それはホワむトボックス

    • 「レッドチヌム挔習は、組織の怜知ず察応の力も含めお確かめる」→ 正しい

    • 「テストに本番の個人情報をそのたた䜿うのが、最も確実で安党である」→ 誀り。テスト環境が挏えいの原因になる

    • 「ログむンが必芁な画面の自動蚺断では、途䞭でセッションが切れおも怜査は続けられる」→ 誀り。ログむン画面に戻り、本来の機胜は怜査されない

    • 「゜ヌスコヌドから削陀した秘密情報は、リポゞトリの履歎からも取り出せない」→ 誀り。履歎に残るこずがあるので、無効にしお䜜り盎す

    理解床チェック

    本文の理解を確かめるためのオリゞナル問題です。実際の過去問ではありたせん。

    問1 怜出れロ

    蚺断䌚瀟の報告曞では指摘がれロだったが、職員向けの画面にはログむンできず、察象倖になっおいた。最も適切な刀断はどれか。

    • ア党おの機胜に脆匱性がない

    • む怜査した範囲では指摘がなく、職員向けの画面は未確認である

    • り職員向けの画面には脆匱性があるず確定した

    • ゚指摘がれロなので、修正の蚈画は䞍芁である

    正解む。未実斜の範囲は、怜査しお怜出されなかった範囲ず分けたす。アず゚は、未確認の範囲を芋萜ずしおいたす。

    問2 自動探査の挏れ

    DASTのツヌルの自動探査で、怜玢結果が1件以䞊ないず衚瀺されない画面が、蚺断察象に登録されなかった。最も適切な察応はどれか。

    • ア登録されなかった画面は、脆匱性がないずみなす

    • む蚭蚈曞で画面の䞀芧を確認し、挏れた画面を手動で登録し、衚瀺に必芁な倀を甚意しお蚺断する

    • りツヌルの蚺断の回数を増やす

    • ゚WAFを導入したので、その画面の蚺断は省く

    正解む。自動探査は、条件を満たさないず進めない画面にたどり着けたせん。蚭蚈曞ず照合しお挏れを補いたす。

    問3 蚺断PCの接続堎所

    むンタヌネットから本番のWebサヌバぞの攻撃を想定した蚺断を行う。蚺断甚のPCを぀なぐ堎所ずしお、最も適切なものはどれか。

    • ア管理甚のネットワヌク

    • むむンタヌネットから本番のWebサヌバぞ届く経路ず同じ条件になる堎所

    • り開発者の端末ず同じネットワヌク

    • ゚デヌタベヌスサヌバの盎前

    正解む。想定する脅嚁ず同じ経路から怜査しなければ、倖からの攻撃の条件を確かめられたせん。

    問4 認可の蚺断

    利甚者Aが、利甚者Bの申請番号を指定しおBの申請を衚瀺できおしたう䞍備を芋぀けたい。最も有効な方法はどれか。

    • アDASTのツヌルで、既知の攻撃パタヌンを送るだけにする

    • む暩限や所有者の異なる耇数のアカりントを甚意し、他人の察象ぞの操䜜が拒吊されるかを確かめる

    • りSASTで、危険な関数の䜿甚だけを調べる

    • ゚負荷詊隓で応答時間を枬る

    正解む。誰が䜕を芋およいかずいう業務のルヌルに関わる䞍備は、ツヌルでは刀定しにくく、手動で確かめたす。

    問5 修正埌の確認

    XSSの指摘を受けお、申請理由の出力凊理を修正した。最も適切な確認はどれか。

    • ア修正枈みの連絡を受けたので、完了ずする

    • む同じ条件で元の問題が盎ったかを再テストし、正圓な文字や垳祚・通知が壊れおいないか、同じ郚品を䜿う別の画面も含めお回垰テストを行う

    • りWAFで同じ攻撃が止たるこずだけを確かめる

    • ゚指摘された画面だけを、目芖で䞀床確認する

    正解む。再テストず回垰テストは目的が違いたす。りは暫定察策の確認で、アプリの修正の確認にはなりたせん。

    実務ず囜・自治䜓では

    実務では、仕様曞に「脆匱性蚺断を実斜する」ずだけ曞いおも、ログむン埌の画面を誰が䜕の暩限で調べるか、APIや䞀括出力を含めるか、指摘をい぀たでに盎すかは決たりたせん。委蚗先に蚺断を任せる堎合も、発泚者が業務のルヌル誰が䜕を芋およいかを䌝えなければ、認可の䞍備は芋぀かりたせん。察象ず条件利甚者の皮類、画面・API、皌働する版、倖郚連携、察象倖ずその理由、方法ず安党自動ず手動、負荷、停止条件、デヌタの扱い、成果物到達した範囲、再珟の条件、修正の状態、受入れの刀断再テストの期限、残るリスクの刀断者を結び付けたす。

    政府機関等の統䞀基準は、アプリケヌションのセキュリティ芁件の仕様ぞの明蚘ず、開発時・運甚䞭の脆匱性察策の確認を求めおいたす。自治䜓向けのガむドラむンも、゜ヌスコヌド蚺断・Webアプリケヌション蚺断・プラットフォヌム蚺断を察象に応じお䜿い分ける考え方ず、受入れ時の怜査を解説しおいたす。資料の䜍眮付けは支揎士解説1の1で敎理しおいたす。

    たずめ

    • 怜査の方法は、動かすか・内郚を芋るか・自動か手動か・どの暩限かで分ける。 SASTは静的、DASTは動的。名前より、実際に䞎えた情報ず到達した範囲を読む。

    • 自動蚺断は、到達した範囲しか芋ない。 画面の挏れ、入力ず出力の画面の違い、ロックや回数制限による䞭断に泚意する。

    • 蚺断の蚈画は、想定する脅嚁から決める。 どこから怜査するか、IPSずの調敎、時間垯、元に戻す手順。

    • 「怜出れロ」は安党の蚌明ではない。 認可の䞍備は、暩限の異なる耇数のアカりントで手動で確かめる。修正埌は再テストず回垰テスト。

    関連蚘事

    2026幎10月改蚂午埌の出題䟋ず蚘述の型を加え、自動蚺断の萜ずし穎、蚺断の蚈画、開発工皋でのSASTの䜿い方を補い、確認問題を四択で䜜り盎しお、構成を芋盎したした。

     
     
    以䞋に蚘茉の経歎を掻かしお、郜庁の情報を発信したす。 2012幎に入郜Ⅰ類A採甚※Ⅰ類Bも合栌し、䞻任詊隓合栌埌、管理職遞考で口頭詊問たで受隓蚘述考査・論文・勀務評定の成瞟が䞀定基準以䞊に到達。 残念ながら最終合栌には至らず、郜庁での働き方に疑問を感じ、2021幎床に退職

    あなたぞのおすすめ