Enumeration)(*1)は、ソフトウェアにおけるセキュリティ上の弱点(脆弱性)の種類を識別するための共通の基準を目指しています。1999年頃から米国政府の支援を受けた非営利団体のMITRE(*2)が中心となり仕様策定が行われ、2006年3月に最初の原案が公開されました。その後、40を超えるベンダーや研究機関が協力して仕様改善や内容拡充が行われ、2008年9月9日にCWEバージョン1.0が公開されました。CWEでは、SQLインジェクション、クロスサイト・スクリプティング、バッファオーバーフローなど、多種多様にわたるソフトウェアの脆弱性を識別するための、脆弱性の種類(脆弱性タイプ)の一覧を体系化して提供しています。CWEを用いると、ソフトウェア開発者やセキュリティ専門家などに次のようなメリットがあります。ソフトウェアのアーキテクチャ、デザイン、コードに内在する脆弱性に関して、共通の言葉で議論できるようになる。脆弱性検査ツールなど、ソフトウェアのセキュリティを向上させるための、ツールの標準の評価尺度として使用できる。脆弱性の原因を認識し、脆弱性の低減を行い、再発を防止するための共通の基準として活用できる。Project(*6)や、いくつかのセキュリティベンダーなどで実際に活用されています。サービス等がCWE識別子の正確な表示、CWE識別子による情報の検索などの機能要件を満たし、MITRE社へ申請するとCWE互換認定が受けられます。CWE互換認定を受けると、MITRE社のウェブサイトで紹介される、CWEのロゴが使用できる等のメリットがあります。iPedia(*7)、MyJVN(*8)もCWE互換認定に向けて、2008年10月にMITRE社へCWE互換を宣言しました。1.5の資料を基に作成しました。CWEの構造CWEでは多種多様な脆弱性の種類を脆弱性タイプとして分類し、それぞれにCWE識別子(CWE-ID)を付与して階層構造で体系化しています。上位層に近いほど抽象的な脆弱性タイプを表し、下位層にいくほど具体的な脆弱性タイプや個々の脆弱性を表しています。Element)の4種類に分類されます。Element)として12個、合計777個の脆弱性タイプが分類され一覧となっています。(View)ある観点からいくつかの脆弱性タイプを選択して集めたものです。この19個の脆弱性タイプを集めたビュー(View)にCWE-635のCWE識別子が割り当てられています。この他、開発者の観点から脆弱性タイプを集めたビュー(View)にCWE-699、研究者の観点のものにCWE-1000、C言語に起因するものにCWE-658、Java言語に起因するものにCWE-660などが割り当てられています。カテゴリー(Category)共通の特性を持つ脆弱性タイプをグループ化したものです。CWE-310の暗号の問題に関連する脆弱性、CWE-355のユーザインターフェースに関連する脆弱性が該当します。脆弱性(Weakness)個々の脆弱性を表したもので、クラス(Class)、ベース(Base)、バリアント(Variant)の属性が付与されています。クラス(Class)は、最も抽象的な脆弱性の属性です。CWE-362の競合状態の脆弱性が該当します。ベース(Base)は、特定のリソースや技術に依存しない脆弱性の属性です。CWE-567の共有データへの非同期アクセスの脆弱性が該当します。バリアント(Variant)は、個々のリソースや技術、コンテキストなどが特定できるような脆弱性の属性です。CWE-488の異なるセッション間で適切にセッションを識別できないことによる情報漏えいの脆弱性が該当します。Element)複数の要因が複合した脆弱性を表したもので、コンポジット(Composite)とチェイン(chain)の属性が付与されています。コンポジット(Composite)は、複数の脆弱性が混合して発生する脆弱性の属性です。CWE-352のクロスサイト・リクエスト・フォージェリ(CSRF)の脆弱性が該当します。チェイン(chain)は、ある問題が原因で別の問題が連鎖して発生する脆弱性の属性です。CWE-680の整数オーバーフローの発生によるバッファオーバーフローの脆弱性が該当します。List)には、CWE識別子(CWE-ID)ごとに様々な情報が記載されています。脆弱性の概要、攻撃の受けやすさ、一般的な脅威、脆弱性の軽減策、脆弱性の発生する具体的なコーディング例、当該脆弱性に起因する具体的な事例の紹介などの情報が整理されています。利用者は、脆弱性を識別し、脆弱性の低減を行い、再発を防止するための辞書として活用することができます。iPedia」(*7)で公開するそれぞれの脆弱性対策情報の参考情報欄に、CWEの脆弱性タイプを掲載する試行を2008年9月10日から開始しました。その後、CWEの表示・検索などCWE互換を宣言するための要件を整備し、2008年10月3日よりCWEの適用を開始しました。次のMITREのページでも紹介されています。ツール「MyJVN」(*8)でもCWEを適用しています。け」については、表1に示す機能で実現しています。iPediaの検索機能により、利用者はCWE識別子をキーワードとして対応する脆弱性対策情報が検索できます。各脆弱性対策情報の参考情報欄において、CWE識別子を表示しています。詳細情報のアドバイザリ情報、参考情報において、CWE識別子を表示しています。本資料が、CWEおよびCWE互換、CWE関連機能の実現方法についての文書となります。iPediaのIDとCWE識別子の対応付け結果を提示しています。iPediaに掲載する脆弱性タイプに関連するものを抜き出して表した階層構造図です。iPediaが使用する脆弱性タイプです。今後、実際に公表される脆弱性を考慮し、脆弱性の事例の多いものは脆弱性の原因に着目して、より下位層の脆弱性タイプを選択して詳細化を図るなど、検討を行っていきます。IPAの普及啓発資料「知っていますか?脆弱性」や「安全なウェブサイトの作り方」、「セキュア・プログラミング講座」の該当する箇所を示してありますのでご活用下さい。表2の#20~#23はCWE-635で分類できないもので、#20はCWE-635以外のCWE分類に該当するもの、#21はCWEで分類できないもの、#22は分類するための情報が不足しているもの、#23はシステム設計上の問題です。iPedia」を運用しています。iPediaに登録されている脆弱性対策情報毎にCWEを付与しています。2016年11月時点で、脆弱性対策情報の収集元としている組織において、3章、4章に記載しているCWE以外も利用され、広く活用されています。iPediaでは、3章、4章に記載しているCWEに加えて脆弱性対策情報の収集元に記載されているCWEも付与しています。本CWEの付与に伴い、IPAが提供しているサービスにおいて以下が可能となっています。APIにて、付与したCWEを取得可能なお、追加で付与しているCWEについては、NVDで使用されるCWEの情報等を参考にしています。Enumeration。Corporation:米国政府向けの技術支援や研究開発を行う非営利組織。科学技術分野における計測と標準に関する研究を行う機関。NISTが運営する脆弱性データベース。ウェブアプリケーションやウェブサービスを安全にするためのオープンソースソフトウェアの開発や、ソフトウェアのセキュリティを高めるための普及・啓発資料などを整備している非営利プロジェクト。Project:ウェブアプリケーションの脆弱性対策の重要性の啓蒙を目的に、OWASPがウェブアプリケーションにおける深刻な脆弱性に絞り、上位10個の脆弱性をまとめたもの。バージョンアップ」を参照下さい。参考情報を追加しました。5日CWEの1.5版を適用しました。iPediaのCWE翻訳ページに変更しました。3日CWEの1.4版に合わせ更新しました。5010005007126)。