脆弱性評価システムを作る〜CWE〜

週間・脆弱性評価システムを作ろう〜CWEとは〜

前回に引き続いて脆弱性情報についてです。今回はCWEについてまとめました。
ソースは引き続きIPAとChatGPTとなります。


CWE(Common Weakness Enumeration)

共通脆弱性タイプ一覧CWE(Common Weakness Enumeration)は、ソフトウェアにおけるセキュリティ上の弱点(脆弱性)の種類を識別するための共通の基準を目指しています。
1999年頃から米国政府の支援を受けた非営利団体のMITREが中心となり仕様策定が行われ、2006年3月に最初の原案が公開されました。その後、40を超えるベンダーや研究機関が協力して仕様改善や内容拡充が行われ、2008年9月9日にCWEバージョン1.0が公開されました。
CWEでは、SQLインジェクション、クロスサイト・スクリプティング、バッファオーバーフローなど、多種多様にわたるソフトウェアの脆弱性を識別するための、脆弱性の種類(脆弱性タイプ)の一覧を体系化して提供しています。CWEを用いると、ソフトウェア開発者やセキュリティ専門家などに次のようなメリットがあります。
ソフトウェアのアーキテクチャ、デザイン、コードに内在する脆弱性に関して、共通の言葉で議論できるようになる。
脆弱性検査ツールなど、ソフトウェアのセキュリティを向上させるための、ツールの標準の評価尺度として使用できる。
脆弱性の原因を認識し、脆弱性の低減を行い、再発を防止するための共通の基準として活用できる。
現在、CWEは、NISTのNVD、OWASPのTop Ten Projectや、いくつかのセキュリティベンダーなどで実際に活用されています。

CWEにはCWE互換認定の制度があり、脆弱性検査ツールや脆弱性対策情報提供サービス等がCWE識別子の正確な表示、CWE識別子による情報の検索などの機能要件を満たし、MITRE社へ申請するとCWE互換認定が受けられます。CWE互換認定を受けると、MITRE社のウェブサイトで紹介される、CWEのロゴが使用できる等のメリットがあります。

CWEの構造

CWEでは多種多様な脆弱性の種類を脆弱性タイプとして分類し、それぞれにCWE識別子(CWE-ID)を付与して階層構造で体系化しています。上位層に近いほど抽象的な脆弱性タイプを表し、下位層にいくほど具体的な脆弱性タイプや個々の脆弱性を表しています。

脆弱性タイプは、ビュー(View)、カテゴリー(Category)、脆弱性(Weakness)、複合要因(Compound Element)の4種類に分類されます。現在、ビュー(View)として22個、カテゴリー(Category)として105個、脆弱性(Weakness)として638個、複合要因(Compound Element)として12個、合計777個の脆弱性タイプが分類され一覧となっています。

詳細はIPAの以下のリンクを参照ください。 共通脆弱性タイプ一覧CWE概説

コメント

このブログの人気の投稿

【python】PySide6 におけるウィンドウとかダイアログボックス内のアイテムの自動調整

脆弱性評価システムを作る〜CVSSとは〜

dict型オブジェクトを内包するlistオブジェクトのコピー