脆弱性ハンドブック

2023年7月24日

ハンドブックというと、コーディングするときに文法を確認する、HTMLの要素や属性値を調べる、サーバの設定でパラメーターを確認する、サーバの運用・保守でコマンドを調べる、などの場面を思い浮かべるが、「脆弱性ハンドブック」(独立行政法人情報処理推進機構)は少々毛色が異なる。
まず、書籍のサイズがA4と大きく、手のひらサイズではない。PCに向かいながら片手でパラパラと頁をめくるような使い方は想定していないようだ。脆弱性ハンドブック
次にその内容であるが、脆弱性に関するトラブル事例から始まり、自サイトに脆弱性が発見された場合の対応手順、脆弱性情報を公開するまでの対応手順、システム構築ライフサイクルの各フェーズで実施すべき脆弱性対策、そして脆弱性に関する国際標準化の動向と、幅広い内容を網羅的に扱っている。
但し、各テーマの個々の内容はそれほど深く掘り下げられていない。概要レベルの説明である。より詳細な内容は、例えばSQLのコーディングであれば「安全なSQLの呼び出し方」というWebサイト上の関連資料をリンクする(参照する)形態になっている。

すなわち、ハンドブックというよりは、脆弱性に関してそれぞれの立場の人間が知っておくべき事項の、イントロダクション(導入部)集といった位置付けの書籍ではないだろうか。

書籍の構成であるが、第1章の「はじめに」に続き、
第2章は、全ての読者を対象に、脆弱性の全体概要と、国内の脆弱性関連情報の取り扱いの枠組みである「情報セキュリティ早期警戒パートナーシップ」に関する説明が記載されている。
第3章は、企業等の組織において情報システムのセキュリティを担当する人を対象に、脆弱性対策に関する作業をSI事業者に委託する際に考慮すべき点などを含めた、全般的な脆弱性対策が説明されている。
第4章では、Webサイトを運営する人、Webサイトを構築・運用する人を対象に、Webサイトの脆弱性に関する通知を受けた場合の対応手順、システムの納入前や納入後に考慮すべき事項が説明されている。
第5章では、ソフトウェア製品開発者を対象に、脆弱性情報の取り扱いに関する連絡体制の整備、連絡を受けた時の対応方法、脆弱性情報の公表手順が説明されている。
第6章では、脆弱性対策に関わる国際標準化の動向が説明されている。
第7章では、システムライフサイクルに沿って、それぞれのフェーズで利用できる外部資料(外部リンク)を紹介している。

冒頭で紹介したように、いわゆるハンドブックに相当するドキュメントは、本書の中で外部資料として紹介されており、多くはIPA(独立行政法人 情報処理推進機構)のWebサイトから入手できる。
ほとんどが無償である。以下に主要なドキュメントを記載する。

  • 安全なウェブサイトの作り方
  • 安全なSQLの呼び出し方
  • セキュアプログラミング講座
  • ファジング実践資料

また、ツールとして以下のものが提供されている

  • SIPに係る既知の脆弱性検証ツール
  • ソースコードセキュリティ検査ツール
  • MyJVNバージョンチェッカ

脆弱性対策というと、どうしてもネガティブな投資という印象がぬぐえない。
昔からある省力化・省人化を目的としたシステム化や、管理会計や昨今流行のデータ分析など、意思決定支援や情報提供型のシステム化が ポジティブな投資(前向きの投資)と言えるのに対して、脆弱性対策は経営課題に直結しない、本来は不要な投資という側面を持つ(悪意を持ってシステムに侵入する人間がいなければ不要な投資という意味である)。
しかしながら、昨今、これだけセキュリティ事故が増えると、対策しないことはそれ自体が大きな脅威となる。
ハンドブックにも書かれているように、脆弱性対策は、システム構築の企画段階から、設計・製造段階、運用・保守段階の、 それぞれのフェーズで実施すべき施策がある。
しかし、ソフトウェアライフサイクルプロセスであるSLCP-JCF2013を見ても、脆弱性対策に関して明示的に記載している個所は非常に少ない。
「2.2要件定義プロセス」の中に、「安全性リスク」や「財産への脅威」に関する記載があるのと、
「3.1運用プロセス」の中の「3.1.7システム運用の評価」に「安全性とセキュリティ」があるくらいだ。
また、非機能要件定義の説明の中でも安全性やセキュリティ要件などは明示されていない。
SLCPを適用する場合は、システムに要求されるセキュリティ強度に応じて、適宜テーラリング(修正)する必要がありそうだ。
個人的には、「4.支援プロセス」の配下に、セキュリティ対策や脆弱性対策に関わるプロセスやアクティビティがあっても良いのではないかと思う。

プロジェクト管理あれこれ
「プロジェクト管理あれこれ」のINDEX