Webサイトの脆弱性診断は、事業を安心安全に運営するために重要な要素です。本記事では、Web脆弱性診断の内製化における「人材」の観点にフォーカスしていきます。
Web脆弱性診断/内製化への道シリーズ
- 押さえておきたい「実施モデル」と成功のための5つの鍵
- うちの会社は当てはまる? 四つの観点で見る内製化向きの企業とは?
- 誰に任せるべき? 内製化を担う人材像をひもとく ← 本記事
脆弱性診断の業務
Web脆弱性診断の内製化において、担当者は主に以下の業務を担います。
1.計画と準備
- 診断の目的と範囲を明確にし、対象となるWebアプリケーションやシステムの資産を特定・管理します
- 脆弱性の評価基準や修正期間(SLA)など、脆弱性管理のルールを策定します
2.チーム体制の構築
- Web脆弱性診断の内製化チームにおいて必要となる役割と責任を明確に定義し、必要なスキルを持つ人材を確保・育成します
内製化チームに必要となる役割は、以下のとおりです。
| 診断アナリスト | WebアプリケーションおよびAPIに対する自動・手動診断の実行。脆弱性の再現確認、深刻度の評価および具体的な修正案を含む診断報告書の作成を担当 |
| セキュリティオペレーションリード | 内製診断プログラム全体の管理。診断プロセスの標準化、案件の優先順位付け、リソース調整および重大なリスクの経営層へのエスカレーションを担う |
| QAレビュアー | 診断アナリストが作成した報告書の査読。診断内容の正確性、再現手順の不備および組織の診断基準(IPA基準など)をクリアしているかを客観的に検証し、品質を保証する |
| セキュリティツールエンジニア | 診断基盤(DAST/SASTなどのスキャンツール)の選定・保守。診断プロセスの自動化スクリプトの開発やツールのシグネチャ最適化、診断データの管理システムの運用を専門に行う |
立ち上げ当初は小規模スタートで、セキュリティオペレーションリードがQAレビュアーを兼務し、診断アナリストがセキュリティツールエンジニアを兼務するといった体制でスタートすることも多くあります。体制内での継続的な教育については、メンバー間で兼務して実施していくかたちになります。
また、内製化チームは、企業や組織における経営の健全性、透明性および法令や社会規範の遵守を確保するための役割を担う「ガバナンス・コンプライアンス担当」や、アプリケーション開発エンジニア、インフラ担当者といったメンバーとも連携し、業務を進めていくことになります。
必要なチーム規模とは
内製化チームの規模を検討するにあたり、開発者80名に対してセキュリティエンジニア1名というのが、一つの基準になるといわれています。
ここで注意するべき点は、以下のとおりです。
- 開発者80名に満たない規模でも、内製化を検討したほうが良いケースもあること(リリース頻度が高い場合、高リスク・高規制業界である場合、社内にセキュリティの知見を蓄積したい場合など)
- 内製化チームを1名体制などの小規模でスタートする際には、必ずシニア以上の人材を配置すること。また、ハイブリッドな内製化(外部サービスと内製化による診断の組み合わせ)というのも成功の鍵となりえます
- 小規模チーム(1〜2名)の場合、人件費の目安は1000万〜2000万円。大規模チームになると役割を分散した7〜15名以上となり、人件費の目安は7000万〜1億5000万円以上といわれています
3.ツールの選定と導入
- DAST(動的アプリケーションセキュリティテスト)などの診断ツールを選定し、自社環境での概念実証(PoC)を通じて、検出精度、操作性、既存ツールとの連携などを評価します
4.診断の実施
- 選定したツールを用いて、対象アプリケーションの自動スキャンを実行します。必要に応じて、手動診断も組み合わせて実施します
5.結果の分析と優先順位付け
- スキャン結果を分析し、誤検知を除去します
- リスク管理フレームワークに基づき、脆弱性の深刻度やビジネスへの影響度を評価し、修正の優先順位を決定します
6.報告と修正
- 開発チームに診断結果を報告し、一般的な修正方法を提示します
- 修正が完了したら、再スキャン/再診断を行い、脆弱性が解消されたことを確認します
7.継続的な改善
- 診断精度の向上、業務の効率化、そして組織全体のセキュリティレベルの底上げを目的に継続的な改善活動を実施します
改善活動では、以下の四つの視点が大切とされています。
- 診断プロセスとツールの最適化
診断の効率を高め「見逃し」や「誤検知」を減らす - 定量的指標(KPI)による可視化と分析
チームのパフォーマンスを数値で管理し、ボトルネックを特定する - 振り返りと根本原因の分析
過去の事例から学び、将来の再発を防ぐ - 人材育成とナレッジ共有
チームメンバーのスキルを維持・向上させる
業務遂行に必要なスキル
想定される業務を行うために必要なスキルについて、まとめてみました。
1.Webアプリケーションの脆弱性に関する深い知識
Webアプリケーションの脆弱性に関する知識は、診断の「質」を担保するために最も重要です。
脆弱性の特定と理解
XSS(クロスサイトスクリプティング)やSQLインジェクション、CSRF(クロスサイトリクエストフォージェリ)といった具体的な脆弱性がどのように発生し、どのような影響を及ぼすかを理解することで、ツールが検出した結果を正確に評価できます。
誤検知の排除と優先順位付け
自動診断ツールは多くの脆弱性を検出しますが、中には誤検知も含まれます。深い知識があれば、誤検知を正確に判断し、ビジネスへの影響度や悪用の可能性に基づいて脆弱性の優先順位を適切に決定できます。
手動診断の実施
ツールでは見つけにくい複雑なビジネスロジックの欠陥や、認証・認可の弱点などは、専門家による手動診断でしか発見できません。この手動診断には、脆弱性に関する深い洞察力と攻撃者目線での思考が求められます。
2.プログラミングスキル
プログラミングスキルは、脆弱性の根本原因を特定し、効果的な修正を提案するために必要です。
コードレベルでの理解
脆弱性は多くの場合、アプリケーションのソースコードに起因します。Webアプリケーションの開発経験や診断対象アプリケーションの開発言語の知識があれば、診断結果が示す脆弱性がコードのどの部分で発生しているかを特定し、開発者に対して具体的な修正方法をアドバイスできます。
診断のカスタマイズと効率化
診断ツールの中には、スクリプトやプラグインで機能を拡張できるものもあります。プログラミングスキルがあれば、特定のアプリケーションに合わせた診断シナリオを作成したり、自動化スクリプトを記述したりすることで、診断の精度と効率を高めることができます。
3.ネットワーク・HTTP通信の知識
WebアプリケーションはHTTP/HTTPSプロトコル上で動作するため、その基盤となるネットワーク通信の知識は不可欠です。
通信の解析と脆弱性の発見
HTTPリクエストやレスポンスの構造、セッション管理、クッキーの仕組みなどを理解することで、通信の不備や不正なデータ操作による脆弱性(例:パラメータ改ざん、セッションハイジャック)を発見できます。
ツールの設定と運用
脆弱性診断ツール(特にDASTツール)は、Webアプリケーションへの疑似攻撃を通じて脆弱性を検出します。これらのツールを効果的に設定・運用するためには、プロキシ設定や通信経路の理解など、ネットワークの知識が必須です。
4.セキュリティフレームワークの知識
セキュリティフレームワークは、診断の網羅性と体系性を確保するための羅針盤となります。
標準的なリスクの把握
OWASP Top 10は、Webアプリケーションにおける最も重大なセキュリティリスクをまとめたもので、診断の対象項目を決定する際の基準となります。この知識があれば、診断の抜け漏れを防ぎ、業界標準に準拠した評価が可能です。
リスク評価と報告の標準化
フレームワークの知識は、発見された脆弱性の深刻度を評価し、関係者(開発チームや経営層)に対して共通の理解に基づいた報告を行う上で役立ちます。
また、IPAや経済産業省が出している各種ガイドラインは、国内のWeb脆弱性診断において非常に重要なフレームワークとして位置付けられます。例えば、日本国内で最も標準的なWebアプリケーションのセキュリティ実装・診断の基準となる「安全なウェブサイトの作り方(IPA)」、中小企業全般のECサイト向けの包括的なガイドラインである「ECサイト構築・運用セキュリティガイドライン(IPA/経産省)」などが挙げられます。
5.セキュリティツールを活用するスキル(Burp Suite、OWASP ZAP、Niktoなど)
これらのツールは、脆弱性診断を効率的かつ広範囲に実施するための「武器」です。
自動診断の実行と管理
Burp SuiteやOWASP ZAPなどのツールは、Webアプリケーションの脆弱性を自動でスキャンし、既知の脆弱性を効率的に検出します。ツールの操作方法を習得することで、診断プロセスを迅速に進めることができます。
結果の分析と活用
ツールが出力するレポートを読み解き、検出された脆弱性の詳細を理解し、修正につなげるためには、ツールの機能や出力形式に習熟している必要があります。
手動テストとの連携
Burp Suiteのように、自動スキャンだけでなく手動での詳細なテストをサポートするツールもあります。これらのツールを使いこなすことで、自動診断では見落とされがちな脆弱性も発見できるようになります。
内製化の成否を分けるのは、継続的な教育投資
Web脆弱性診断の内製化において、継続的な教育は極めて重要であり、不可欠な要素になります。
1.進化し続けるサイバー脅威への対応
サイバー攻撃の手法は日々巧妙化・複雑化しており、新たな脆弱性が絶えず発見されています。内製チームが常に最新の脅威動向や攻撃手法を把握していなければ、診断の精度が低下し、見落としが発生するリスクが高まります。継続的な教育は、これらの変化に対応し、適切な防御策を講じるための知識を常に更新し続けるために不可欠です。
2.セキュリティ知識とスキルの陳腐化防止
セキュリティ技術やツールは急速に進化しており、一度習得した知識やスキルも時間とともに陳腐化する可能性があります。継続的なトレーニングや学習を通じて、担当者は最新の診断ツールや手法、セキュリティフレームワーク(OWASP Top 10など)の知識を習得し、診断能力を維持・向上させる必要があります。これにより、誤検知の削減や、より複雑な脆弱性の発見が可能になります。
3.社内ノウハウの蓄積と品質向上
内製化の大きなメリットの一つは、診断を通じて社内にセキュリティの知見が蓄積され、担当者の熟練度が向上することです。継続的な教育は、このノウハウ蓄積を加速させ、診断プロセスの効率化や品質向上につながります。また、担当者のスキルが向上することで、開発チームへの具体的な修正アドバイスや、よりセキュアな開発文化の醸成にも貢献できます。
4.人材の定着とモチベーション維持
セキュリティ人材の採用は難易度が高く、育成にはコストがかかります。継続的な教育機会の提供は、担当者のスキルアップを支援し、キャリアパスを明確にすることで、優秀な人材の定着につながります。また、最新の知識を学び続けることは、担当者のモチベーション維持にも寄与します。
5.コンプライアンスと規制への適応
情報セキュリティに関する法規制や業界標準は定期的に更新されます。継続的な教育は、これらのコンプライアンス要件を遵守し、監査に対応できる体制を維持するためにも必要です。
これらの理由から、Web脆弱性診断の内製化を成功させ、その効果を最大限に引き出すためには、人材への継続的な教育投資が重要な要素であるといえます。
まとめ
内製化においては、人材のスキルがボトルネックになりえるといわれている点からも、情報システム担当者の兼任で……などという判断ではなく、Webアプリケーションへの知見、セキュリティに関わる専門知識や業務経験を持った人材、かつ継続的な教育が必要不可欠となります。
初期コストという点でも継続的なコストという点でも、やはり大きな投資になることは避けて通れない部分になりますね。
費用対効果の面から、肝を社内で押さえスピードへの対応や知見の蓄積をしつつ、外部サービスを効果的に活用するハイブリッド型の内製化検討が推奨されることが多いのもうなずけるなと感じます。

ライター/ふぁんふぁん
愛犬をめで、楽器と戯れ、おいしいものにかぶりつく日常を送りつつ、信興テクノミストのハイブリッドWebセキュリティ診断「ABURIDA®️」のカスタマーサポートとして縁の下の力持ちになるべく修行中。