脆弱性の種類を識別する共通基準 CWE


脆弱性の情報には、一部の地域限定ではなく世界共通で共有したい重要なものが多くあります。それらを、重複しないIDで識別できるのが、CWE(Common Weakness Enumeration)です。
CWEは、米国政府向けの技術支援や研究開発を行う非営利組織であるMITRE Corporation が、多くのベンダーや研究機関の協力を得て仕様が決められ、公開されています。

CWEは、IT関連のセキュリティに影響を与えるソフトウェアとハードウェアの弱点のリストです。この場合、弱点の意味するところは、ソフトウェアやハードウェアの実装、コード、設計、アーキテクチャにおける欠陥、障害、バグ、その他のエラーのことで、対処しないまま放置すると、システム、ネットワーク、ハードウェアが攻撃に対して脆弱になる可能性があるものを指します。そのため、CWEリストは、脆弱性をCWE識別子の観点から、識別、分類、および説明するために使用できる共通言語として利用されています。

CWEは、900種類以上のソフトウェアおよびハードウェアの品質・セキュリティ問題に関する弱点情報を提供しており、弱点には、最も抽象的なものから最も具体的なものまで、明確に定義された「Pillar」、「Class」、「Base」、「Variant」4つの階層があります。 CWEに含まれる情報は、行動、特性、技術、言語、リソースといった異なる観点で相関関係あるため、これら4つを使用してマッピングできます。5番目のタイプとして「Category」もあります。
たとえば、毎年のようにCWE TOP25にリストされているCWE-79のクロスサイトスクリプティング(XSS)のページには、XSSがどんな場合に発生し、主な3つの種類の詳細説明が記載されています。加えて、XSSでの攻撃の結果、どのような被害があるか、そして具体的なコードの実例や、観察された例、どのような対処策があるのか、検出方法、関連する攻撃パターン、参考文献まで載っています。誰がいつ作成しその変更履歴も載せてあるので、信憑性についての安心度が上がります。

CWEは、IPA(独立行政法人情報処理推進機構)でも、NISTが運営する脆弱性データベース NVD(National Vulnerability Database)が使用している脆弱性分類(CWE-635)を参考に、脆弱性対策情報データベース JVN iPediaで公開するそれぞれの脆弱性対策情報の参考情報欄に、CWEの脆弱性タイプを掲載するしてくれており、コードをクリックすればCWEコードの説明ページに移動できるためとても参考になります。そしてこれによって、「脆弱性対策情報データベース検索」機能にて、CWEコードを使ってCWEリストのプルダウンメニューからの検索が可能となっています。 また、MyJVN APIのgetVulnOverviewList、getVulnDetailInfo、getStatistics APIにて、APIを利用してCWEを取得して、脆弱性対策情報を利用したサイトやアプリケーションを開発することが可能となっています。

CWEを理解し更に活用することが、脆弱性の原因を認識し、脆弱性の低減を行い、再発を防止するための共通の基準となり、企業や組織にとっても強靭な情報セキュリティのシステムを構築する上で大変有効となります。


CWEで、脆弱性情報の共有がし易くなる


CWE, 脆弱性