基本的な機能要件は次のとおりです。 図 1 の脆弱性の一次分類と二次分類の両方を図 2 のシートから選択する必要があります。脆弱性 A の一次分類として「タイプ 1」が選択された場合、二次分類は「高リスク、中リスク、低リスク」に対応し、「タイプ 2」が選択された場合、二次分類は「基本構造、適用システム」など、一次分類の選択に応じて二次分類が選択されます。
脆弱性名 | 分類 | 二次分類 |
脆弱性A | クラス II | 基本構造 |
脆弱性B | 3つのカテゴリー | SQLインジェクション |
脆弱性 C | 1種類 | リスクが高い |
脆弱性 D |
1種類 | クラス II | 3つのカテゴリー |
リスクが高い | 基本構造 | SQLインジェクション |
中リスク | オペレーティング·システム | クロスサイトスクリプティング |
リスクが低い |
図2 シート分類まとめ表
具体的な実装手順:
1) 「分類の概要」シートの最初の行に名前を付けます。私がとった「第 1 段階の分類」は自分で変更できます。そして、カテゴリ1、2、3にそれぞれ「第1カテゴリの2次分類」、「2番目のカテゴリの2次分類」、「3番目のカテゴリの2次分類」と名前を付けます。Excelの名前付け方法は、改行または列を選択して、図3の赤枠の位置に名前を書き込むか、ctrl+f3で名前を付けます。
図3 Excelの命名方法
2) 「脆弱性分類集計表」シートのB列を選択し、[データ]→[データツール]→[データ有効性]→[設定]→[順序]を選択し、式「=第一分類」を入力します(一番外側の引用符内のみ式を記述します。以下同様)
3) C2の[データ]→[データツール]→[データ検証]→[設定]→[シーケンス]を選択し、次の式を入力します。「=IF(B2="クラスI"、クラスIの2番目のクラス、IF(B2="クラスII"、クラスIIの2番目のクラス、IF(B2="クラスIII"、クラスIIIの2番目のクラス)))」
4) C2、ctrl+cを選択し、C列(C1を除く)を選択し、[形式を選択して貼り付け]→[有効性検証]を選択すると、C列全体(C1を除く)に対して同様のデータ有効性選択機能が実現されます。
以上の手順により、記事冒頭で説明した機能が実現できます。
名前は行または列全体であるため、「一般的な脆弱性分類表」の列 C のデータの有効性には、「一般的な分類表」の最初の行の内容も含まれます。誰かが解決策を持っている場合は、ガイドしてください...よろしくお願いします。