• 検索結果がありません。

脆弱性の種類を分類するための「CWE」

N/A
N/A
Protected

Academic year: 2021

シェア "脆弱性の種類を分類するための「CWE」"

Copied!
25
0
0

読み込み中.... (全文を見る)

全文

(1)

脆弱性の種類を分類するための

「CWE

(Common Weakness Enumeration)

~その脆弱性とこの脆弱性は本当に同じですか?~

1

独立行政法人 情報処理推進機構 (IPA)

セキュリティセンター

情報セキュリティ技術ラボラトリー

2010年8月6日 公開

(2)

アジェンダ

1.

CWEを見たことありますか?

2.

CWEとは

3.

CWEの利用例

4.

CWEの活用方法

2

(3)

CWEを見たことありますか?

JVN iPediaの参考情報で

3

CWEを用いた脆弱性の分類が

をあることをご存知ですか?

(4)

CWEを見たことありますか?

リンクを辿ると脆弱性の種類に対する解説があります

4

(5)

CWEとは

(6)

CWEとは

みんなで使う脆弱性の分類

英名:Common Weakness Enumeration

和名:

共通

脆弱性タイプ一覧

CWEは

「みんなで使う脆弱性の分類」

脆弱性の分類にIDを付けて一意に識別する

「クロスサイト・スクリプティング」と言われるものの分類

どれが一緒で、どう対策が違う?

– reflected型 – non-persistent型 – persistent型 – stored型 – DOM Based – UTF-7型 – 文字コード型

脆弱性の原因や対策等が書かれている

米国の非営利組織であるMITRE社が中心となり仕様策定が行われている

6

(7)

CWEとは

共通

脆弱性分類の意義

同じ意味の脆弱性の話をしてほしい

例えば・・・

クロスサイト・スクリプティング

バッファオーバーフロー

同じ言葉でも色々な意味がある

全般の話か各論の話か

これを解決するためにCWEでは

脆弱性毎にID(CWE-ID)を振って、一意に識別している

ツリー構造により、脆弱性毎の関連が分かるようになっている

「スタックベースのバッファオーバーフロー」はバッファオーバーフローの一種である

XSS全般の話? アンダーフロー? スタックベース? ヒープベース? 文字コード型? non-persistent 型?

クロスサイト・スクリプティングの場合

バッファオーバーフローの場合

7

(8)

CWEとは

共通

脆弱性分類の意義

一意のIDが振られている

脆弱性毎の関連性が分かる!

– ツリー構造

を利用してそれぞれの脆弱性の関連性を分か

るようにしている

原因と対策が分かる!

それぞれのCWE-IDで原因や対策等が書かれている

みんなも使っている分類!

48の組織が関わって作成している(2010年7月現在)

28の組織がCWEの互換性を持つソフトウェアやサービスを

使用、またはその予定があることを表明している(2010

年7月現在)

8

(9)

CWEとは

CWEの概要(1)-1

CWEの構造(ID)

一意のIDが振られている

それぞれのIDにタイプがある

ビュー(View)

カテゴリ(Category)

脆弱性(Weakness)

クラス(Weakness Class)

ベース(Weakness Base)

バリアント(Weakness Variant)

複合要因(Compound Element)

コンポジット(Composite)

チェイン(Chain)

CWEの公式ページでは

それぞれの脆弱性タイプ

のマークがある

9

例) 「ヒープベースのバッファオーバーフロー(CWE-122)」は 「開発者向け(CWE-699)」のビューのツリーにおいて、「ソフトウェアの開発と配布・配置・設定(CWE-1)」のカテゴリ ⇒ 「コード(CWE-17)」のカテゴリ ⇒ 「ソースコード(CWE-18)」のカテゴリ ⇒ 「データの取り扱い(CWE-19)」のカテゴリ ⇒ 「インデックス化が可能なリソースの不適切なアクセス(範囲エラー) (CWE-118)」の脆弱性・クラス ⇒ 「メモリバッファの境界内の強制オペレーションの失敗 (CWE-119)」の脆弱性・クラス ⇒ 「バッファの終端後のメモリ配置に対するアクセス (CWE-788)」の脆弱性・ベースの下にある、脆弱性・バリアントである 同列に「スタックベースのバッファオーバーフロー(CWE-121)」と「バッファオーバーリード(CWE-126)」がある

(10)

CWEとは

CWEの概要(1)-2

CWEの構造(ID)

名称

概要

ビュー

ある観点(対象の人や組織の観点等)からいくつかの脆弱性タイプを選

択して集めたもの。観点における脆弱性がリストアップされている。

「Graph」があるものはその脆弱性に関するツリーが存在する。

CWE-699:開発者向け CWE-1000:研究者向け CWE-629:OWASP Top10 CWE-635:NVDで使用

カテゴリ

共通の特性を持つ脆弱性タイプのグループ化した親ID.

CWE-16:環境設定 CWE-189:数値処理の問題

脆弱性

個々の脆弱性を示したもの。次の三つの属性がある。

-クラス

最も抽象的な脆弱性の属性。大まかな脆弱性の属性。

CWE-20:不適切な入力確認 CWE-200:情報漏えい

ベース

特定の環境や技術に依存しない脆弱性。

CWE-79:XSSCWE-89:SQLインジェクション

バリアント

特定の環境や技術に依存する脆弱性。

CWE-85:Doubled Character XSS Manipulations

複合要因

複数の要因が複合した脆弱性。次の二つの属性がある。

-コンポジット

複数の脆弱性が混合して発生する脆弱性。

CWE-384:Session FixationCWE-352:CSRF (*1)

(*2)

チェイン

ある問題が原因で別の問題が連鎖して発生する脆弱性。

CWE-699にない分類

CWE-680:Integer Overflow to Buffer Overflow

(*1) CWE-472:External Control of Assumed-Immutable Web Parameter, CWE-346: Origin Validation Error, CWE-446: Unintended Proxy/Intermediaryの複合

(*2) CWE-642: External Control of Critical State Data, CWE-613: Insufficient Session Expiration, CWE-346:Origin Validation Error, CWE-441: Unintended Proxy/Intermediaryの複合

(11)

CWEとは

CWEの概要(2)

CWEの構造(ビュー )

ビューでは、脆弱性の関連が分かるよう、IDをツリー構造に

している(一部はツリー構造とせず、リストのみを提供しているビューもある)

CWE-635におけるツリー構造 (JVN iPediaが使用する脆弱性タイプに関連するツリー) CWE-699 におけるツリー構造 (一部) http://cwe.mitre.org/data/graphs/699.html

11

(12)

CWEとは

CWEの概要(3)-1

CWEの構造(ビュー以外

それぞれのIDに書かれていること

12

解説

被害の緩和策

脆弱性の発生時期

脆弱なコード例

(13)

CWEとは

CWEの概要(3)-2

CWEの構造(ビュー以外

それぞれのIDに主に書かれていること

13

項目

記載内容

解説

脆弱性の要約・詳細な解説

別名

他の呼び方(例:クロスサイト・スクリプティングの場合、「XSS」等)

脆弱性の発生時期

設計の時に発生するか実装の時に発生するか、それとも両方か

該当するプラットフォーム

分類(例:ウェブサーバ)や言語等

一般的な影響

機密性・完全性・可溶性に対する影響について

攻撃を受ける可能性

高いか低いか

脆弱なコード例

どのようにすると脆弱なコードになってしまうか

被害の緩和策

どのようにすれば、当該脆弱性を回避できるか、対策ができるか

関係性

他のCWEとどのような関係があるか

影響を受けるシステムリソース

メモリで発生するのか等

他組織での分類

他の組織ではどのような分類をしているか

関連する攻撃パターン

CAPEC(Common Attack Pattern Enumeration and Classification)の分類

参照

参考資料

(14)

CWEのおさらい

14

CWEのポイント

一意のIDが振られている

IDにそれぞれタイプがある

•ビューのIDではツリー構造

を作成し、脆弱性の関連が

分かるようになっている

•ビュー以外では脆弱性

の説明

(15)

15

(16)

CWEの利用例

IPAの場合

IPAでは、NVD

*3

で使っているCWE(

CWE-635)と

同じものを使用。

16

(*3)NVD:National Vulnerability Database。NISTが運営する脆弱性データベース。 (*4)米国政府向けの技術支援や研究開発を行う非営利組織。

JVN iPediaとMyJVNで採用

CWE互換を達成!

MITRE

*4

に必要な手続きをすれば、正式に互換性のあるものと認

定される。

つまり、

NVDとJVN iPediaのデータは比較可能

http://www.ipa.go.jp/security/vuln/CWE.html

(17)

CWEの利用例

世界の場合

CWE/SANS TOP25

概要:「最も危険なプログラミングエラー25項目」として公開され

ている文書。

ワシントンDCで米国をはじめとする各国のサイバーセキュリティ会社に所属す

る30名以上の専門家でまとめたもの。

25項目にCWEを使用している。

17

<25項目の内訳>

脆弱性クラス:12項目

脆弱性ベース:11項目

複合要因コンポジット:2項目

大まかな分類をして、

開発者向けの要点をまとめている。

引用資料: The SANS™ Institute :CWE/SANS最も危険なプログラミングエラーTOP 25 http://www.sans.org/top25-programming-errors/2009/top25_japanese.pdf

(18)

CWEの利用例

世界の場合

OWASP

*5

Top 10

ウェブアプリケーションにおける危険な脆弱性のトップ10

を出している。

トップ10の脆弱性に、それぞれCWEのIDが関連付けている。

http://www.owasp.org/index.php/Top_10_2010

18

(*5)OWASP(Open Web Application Security Project):世界中のボランティアによるプロ ジェクト。ウェブアプリケーションにおけるセキュリティの資料の公開等を行う

引用資料: OWASP Foundation Top 10 2010-A1-Injection http://www.owasp.org/index.php/Top_10_2010-A1

OWASP Top 10 2010では、

(19)

CWEの利用例

世界の場合

その他の利用

WASC(Web Application Security Consortium)の資料に

おける脆弱性分類の基準として

http://projects.webappsec.org/Threat-Classification

米国企業:ソースコード脆弱性検査ツール

米国企業で、開発しているソースコード脆弱性検査ツ

ールに使用されている。

19

(20)

20

(21)

CWEの活用方法

セキュリティ研究者・ベンダの場合

セキュリティ検査ツールに

セキュリティ検査ツールのサポート範囲の明確化

説得のポイントとなる!

自社の検査が共通の仕様に基づいていることを示せる

検査レポートやセキュリティ用レポートに

CWEに準拠しているレポートとして

顧客への説明として

他の資料との対比のしやすさ。

より活用される資料にするために。

21

(22)

CWEの活用方法

セキュリティ研究者・ベンダの場合

受注側の説明資料に

例えば・・・

「ウェブアプリケーションの脆弱性に関しては、

この範囲のCWEの

対処が重要

です。この範囲に関しては重点的にサポートするよう

にいたします。」

というアピールに!

22

(23)

CWEの活用方法

開発者の場合

脆弱性の教育・理解に

脆弱性の教育や理解の際のCWEという体系に基づいた

勉強ができる。

脆弱性対策の指標に

自分のプロジェクトにおいて、コーディングする際に、知っ

ている必要があるものを体系立てるための判断材料にす

ることができる。

23

(24)

24

(25)

まとめ

CWEは「みんなで使う脆弱性の分類」です。

「レポートの比較」等ができるようになるなど、CWEを

みんなで利用することは有用です。

もし、脆弱性に関連するレポート等を作成される機

会があればCWEを交えて説明してはいかがでしょう。

25

参照

関連したドキュメント

危険有害性の要約 GHS分類 分類 物質又は混合物の分類 急性毒性 経口 急性毒性 急性毒性-吸入 吸入 粉じん 粉じん/ミスト ミスト 皮膚腐食性

製品開発者は、 JPCERT/CC から脆弱性関連情報を受け取ったら、ソフトウエア 製品への影響を調査し、脆弱性検証を行い、その結果を

12月 米SolarWinds社のIT管理ソフトウェア(orion platform)の

業種 事業場規模 機械設備・有害物質の種 類起因物 災害の種類事故の型 建設業のみ 工事の種類 災害の種類 被害者数 発生要因物 発生要因人

Oracle WebLogic Server の脆弱性 CVE-2019-2725 に関する注 意喚起 ISC BIND 9 に対する複数の脆弱性に関する注意喚起 Confluence Server および Confluence

図 21 のように 3 種類の立体異性体が存在する。まずジアステレオマー(幾何異 性体)である cis 体と trans 体があるが、上下の cis

人の生涯を助ける。だからすべてこれを「貨物」という。また貨幣というのは、三種類の銭があ

・コナギやキクモなどの植物、トンボ類 やカエル類、ホトケドジョウなどの生 息地、鳥類の餌場になる可能性があ