アットウィキロゴ

CISSPドメイン8 ソフトウェア開発のセキュリティ


CISSP の8ドメインのうち、ソフトウェアを作る段階で脆弱性を作り込まないこと、作ったソフトウェアや外から取り入れたソフトウェアの安全性を確かめることを扱うドメインの学習ページです(英語では Software Development Security)。このwikiの用語ページを、学ぶ順に、一行の説明を付けて並べています。

このドメインの問い


ISC2 の試験アウトライン(2024年4月15日発効)は、このドメインを5つの項目に分けています。8.1 開発の流れへのセキュリティの組み込み、8.2 開発の環境での管理策、8.3 ソフトウェアのセキュリティの有効性の評価、8.4 取り入れたソフトウェアの影響の評価、8.5 安全なコーディングの指針と標準です。2027年4月15日発効の新しいアウトラインでは、5つの項目の枠は変わらず、その中の細目が入れ替わります。たとえば、8.1 に NIST(米国国立標準技術研究所)の SSDF(安全なソフトウェア開発の実践の枠組み。DevSecOpsのページに説明があります)と SBOM(ソフトウェアを構成する部品の一覧)の要件、シフトレフトが加わり、8.2 のプログラミング言語の例にメモリ安全な言語(バッファオーバーフローのページに説明があります)が入ります。一方で、8.5 の Software-defined security と、8.2 の IAST(動いているアプリケーションの内側から試験する手法)の例示が外れ、ソフトウェアの構成の分析(SCA)は 8.4 のオープンソースの例に移ります。

要点:作り込まれやすい弱点

MITRE(米国の非営利の研究機関)の CWE Top 25(最も危険なソフトウェアの弱点の一覧、2025年版、2025年12月公表)では、上位3つが Web アプリケーションで問題になりやすい弱点でした。CWE は、MITRE がまとめるソフトウェアの弱点の分類で、CWE-79 のような番号で弱点を指します。
順位 弱点 このwikiのページ
1 XSS(CWE-79) クロスサイトスクリプティング
2 SQL インジェクション(CWE-89) SQLインジェクション
3 CSRF(CWE-352) クロスサイトリクエストフォージェリ
5 範囲外への書き込み(CWE-787) バッファオーバーフロー
11 古典的なバッファオーバーフロー(CWE-120) バッファオーバーフロー
4位は認可の欠如(CWE-862)で、このwikiにはまだ専用のページがありません(関連:認可)。
米国の CISA(サイバーセキュリティ・インフラストラクチャセキュリティ庁)は、作り手に向けた一連の警告(Secure by Design Alert)を出しており、そのうち SQL インジェクションと XSS の警告は FBI(連邦捜査局)と共同です。SQL インジェクションについては、過去20年にわたって広く知られ、有効な対策もあるのに作り込まれ続けているとして、この種類の欠陥を丸ごと無くすよう求めました(2024年3月)。XSS については、防げる脆弱性で、製品にあってはならないとしています(2024年9月)。

学ぶ順序


日本で働くなら:対応するガイドラインと資料

2026年10月時点の内容に基づきます。
考え方 日本で対応するもの
安全な設計と継続的な見直し 個人情報保護委員会「個人情報の保護に関する法律についてのガイドライン(通則編)」の「10(別添)講ずべき安全管理措置の内容」:個人情報取扱事業者は、情報システムを使って個人データを取り扱う場合に、技術的安全管理措置を講じなければならない。その (4) 情報システムの使用に伴う漏えい等の防止の手法の例に、「情報システムの設計時に安全性を確保し、継続的に見直す(情報システムのぜい弱性を突いた攻撃への対策を講ずることも含む。)」がある。同じガイドラインは、手法はリスクに応じて必要かつ適切な内容とすべきもので、例示の全てを講じなければならないわけではないとしている
Web アプリケーションの実装 IPA(情報処理推進機構)「安全なウェブサイトの作り方」(改訂第7版):届出の多い脆弱性ごとに、「根本的解決」と「保険的対策」を示す
製品の脆弱性の届出と公表 情報セキュリティ早期警戒パートナーシップ:ソフトウェア製品の脆弱性は IPA が届出を受け、JPCERT/CC(JPCERT コーディネーションセンター)が開発者と調整し、JVN(Japan Vulnerability Notes。脆弱性の対策情報を公表するサイト)で公表する(ゼロデイ攻撃の「脆弱性を見つけたら」)

確認問題

  1. XSS の根本的な対策は、入力の検査と出力の無害化のどちらですか。理由も答えてください
  2. SQL インジェクションに対して、OWASP(Web アプリケーションのセキュリティの団体)と IPA が第一に挙げる対策は何ですか
  3. NIST の SSDF は、安全な開発の実践を、どんな4つの群に分けていますか

模範解答

  1. 出力の無害化。CWE-79 は、XSS を「利用者が制御できる入力を、ほかの利用者に提供する Web ページとして出力する前に、無害化しない、または誤って無害化する」弱点と定義している。IPA も、Web ページに出力する全ての要素へのエスケープを根本的解決とし、入力の検査は保険的な対策で、幅広い文字を許す仕様では対策にならないとしている。
  2. パラメータ化したクエリ(プレースホルダ)で SQL 文を組み立てること。値を機械的に割り当てるので、値と命令の区別が保たれる。OWASP は、入力をすべてエスケープする方法を強く非推奨としている。
  3. 組織を備える(PO)、ソフトウェアを守る(PS)、十分に安全なソフトウェアを作る(PW)、脆弱性に対応する(RV)。

次に読む

  • 実装の手引きを読むなら:IPA「安全なウェブサイトの作り方」と、OWASP の Cheat Sheet Series(どちらも無料。下の出典と、各用語のページの出典にあります)
  • ほかの外部の資料:リンク集

出典

確認日:2026年10月18日
最終更新:2026年10月18日 18:18