ソフトウェア・インテグリティ

 

MITREが2020 CWE Top 25最も危険性の高いソフトウェアの脆弱性を発表

今年のCWE Top 25最も危険なソフトウェア脆弱性のリストを利用してアプリケーション・セキュリティの優先順位を設定する方法をご紹介します。

CWE Top 25最も危険性の高いソフトウェアの脆弱性リスト | シノプシス

危害のもとになるのは何かを知っておけば役に立ちます

これが、非営利団体MITREがリリースした2020年の共通脆弱性タイプ一覧(CWE)最も危険なソフトウェアのバグ・トップ25(CWE Top 25)の要旨です。

CWE Top 25とは

タイトルが示すように、CWE Top 25は障害の原因となる可能性が最も高いソフトウェアの問題(エラー、バグ、潜在的な攻撃ベクトル)の一覧です。これらの問題により、システムのハイジャック、データ漏洩(秘密データの盗難)、サービス拒否(DoS)攻撃、システム・クラッシュ、任意コードの実行などが生じる可能性があります。

MITREは、「これらの弱点は見つかりやすく、悪用されやすいことが多く、敵対者がシステムを完全に乗っ取ったり、データを盗んだり、アプリケーションの機能を妨げる可能性があるため危険です。」と指摘しています。

これらの弱点は見つかりやすく、悪用されやすいことが多く、敵対者がシステムを完全に乗っ取ったり、データを盗んだり、アプリケーションの機能を妨げる可能性があるため危険です | シノプシス

このリストは、そうした弱点を知っていれば修正が可能だという発想に立っています。そして、MITREが最も危険な脆弱性に関する便利なリストを提供している以上、悪意のある者もその脆弱性を確実に認識していますから、特に注意して修正する必要があります。

これはMITREからの最新情報ではありません。とはいえ、リストは発表は以前に比べてはるかに迅速になっています。同社が2019年9月にリストを掲載したのは2011年以来のことでした。当時、MITREは年次報告の形にするつもりでしたが、この更新はそれよりも早く、2020年8月に発表されました。

MITREの外部コミュニケーション・リーダーであるJennifer Lang氏によると、毎年のリストは過去2年間のデータに基づいているということなので、今年のリストは2018~19年に見つかったCWEが元になっています。

「脆弱性と弱点の全体的なマッピングが改善され、既存のマッピングを確認するのに必要な時間が短縮されているので、春近くにリストをリリースすることを目標にしています」とLang氏は言います。

米国国土安全保障省(DHS)が出資するMITREは、プレスリリースで、このリストは「開発者、テスター、ユーザー、プロジェクト・マネージャー、セキュリティ研究者、教育者を支援するコミュニティ・リソース」になることを意図していると述べました。

このリストには、セキュリティの専門家にはよく知られている種類の弱点が含まれています。トップ10の中には、クロスサイト・スクリプティング(XSS)、SQLインジェクション、不適切な入力検証、範囲外の読み取り、不正なアクターへの機密情報の漏えいなどが含まれています。

弱点と脆弱性 の違い

CWE Top 25最も危険性の高いソフトウェアの脆弱性 | シノプシス

弱点は脆弱性ではない、少なくともまだ脆弱性にはなっていないということに着目することが重要です。このような弱点は「ソフトウェアの深刻な脆弱性に発展する可能性があります。」とMITREは指摘しています。

つまり、弱点は前兆と見なされますが、MITREが管理している、国立標準技術研究所(NIST)の脆弱性情報データベース(NVD)のデータから作成された、より知名度の高い共通脆弱性識別子(CVE)リストと、各CVEに関連する共通脆弱性評価システム(CVSS)スコアの対象ではありません。

「弱点とは、ソフトウェア内のある種の誤りであり、条件が揃えばそのソフトウェア内で脆弱性を招く可能性があるものをいいます。」とJennifer Lang氏は言い、

「脆弱性は、1つまたは複数の弱点が具体化したもので、条件が整うと悪用されてソフトウェアが意図しない方法で動作する原因になります。でも、条件は悪用のために存在しているわけではないので、弱点のすべてが脆弱性になるわけではありません。」と述べています。

シノプシスの上級研究リーダーであるKsenia Pegueroは次のように付け加えています。「2つの理由から、弱点すべてがCVEに相当するわけではありません。その1つは、コードの弱点はコードベース外の制御によって緩和されます。また、CVEは、特定のソフトウェアの特定のバージョンで報告される脆弱性です。対照的に、CWEは脆弱性の種類です。

「たとえば、2020年のリストには不適切な認証を示すCWE-287がありますが、これは脆弱なパスワード要件からOAuthフローの不適切な実装、認証サービスの完全な回避に至るまで、あらゆる場面で現れる可能性があります」とPegueroは言います。

「脆弱性のクラスのもう一つの例として、資格情報保護が不十分であることを示すCWE-522も、パスワードハッシュの欠如、ソルトの欠如、MD5などの弱いハッシュアルゴリズムの使用といった、多岐にわたる場面で見られます。」

毎年何千もの脆弱性と弱点が発見されており、今年のリストの編集に使用された2018-19 NVDデータには、弱点に関連する約27,000のCVEが含まれていましたが、必ずしもすべてが大きな脅威であるとは限りません。また、セキュリティ・カンファレンスで何度も指摘されているように、ソフトウェアのすべての欠陥を修正することは不可能です。それに挑んで製品を市場に投入できる企業は稀で、開発は行き詰まることになるでしょう。

アプリケーション・セキュリティの弱点 | シノプシス

2020 CWE Top 25の使い方

CWE Top 25リストは、開発チームや組織が優先順位を設定するために役立ちます。これにより、開発をスローダウンすることなく、重大な脅威に対処できます。

また、MITREリストは、ソフトウェアのセキュリティ向上を目的とするリソース組織だけが使用するものではありません。CVEは脆弱性を網羅していないという批判があります。2018年では、番号を振られていたのは既知の脆弱性のわずか62%でした。

CWEリストは「CVE番号が割り当てられた脆弱性のみに基づいているため、偏りが生じている可能性があります。CVEに付番するには、脆弱性を公開し、対象が十分に普及した(一般に外部公開された)アプリケーションである必要があります。」とPegueroは指摘します。

また、「バグバウンティプログラムで報告される多くの脆弱性は、プロセスが冗長であるため、開示されず、CVE番号も付与されません」とPeguero は言い、OWASP Top 10は「オープンソースや一般に知られているアプリケーションだけでなく、異なるセキュリティ企業によって評価される内部商用アプリケーションも基準にしているため、より正確なデータに依存しています」と付け加えました。

Pegueroは、MITREリストの一番下の25番にCWE-862、認証の欠如があるのを見て驚いたと言い、「シノプシスのコンサルタントがクライアント・コードを見ると、この弱点はCWEリストの他のいくつかの弱点よりもはるかに頻繁に生じています」と指摘します。

適切なツールを使用してSDLC(ソフトウェア開発ライフサイクル)にセキュリティを組み込む

しかし、MITRE CWE Top 25リスト、OWASP Top 10などのリストでは常にそうであるように、それらの情報を利用すれば有益であることは間違いありません。つまり、ソフトウェア内で特定された弱点を見つけて修正するということです。

それを支援するさまざまなソフトウェア・テスト/分析ツールが市場に出ています。最も危険な脆弱性のリストがあれば、脆弱性の発見・修正に最適なツールについての示唆を得ることができます。

Lang氏によると、「市場に出ている静的解析ツールの多くは、解析結果をトリアージして報告する方法として、CWE Top 25を製品に組み込んでいます。

これには、シノプシスのプロダクト・マネージャー、Yatin Patilとシノプシスのプロダクト・マーケティング担当シニア・マネージャー、Anna Chiangがブログ投稿で、「コード品質の問題とセキュリティ問題の両方を特定する上で優れた、数少ない主要な静的アプリケーション・セキュリティ・テスト(SAST)ソリューションの1つ」と紹介したSynopsys Coverity®も含まれます。

Coverityなどの静的解析ツールは範囲外の読み取り(CWE-787)または範囲外の書き込み(CWE-125)の特定に最適で、Tinfoilなどの動的解析ツールは認証の欠如(CWE-862)や重要な機能に対する認証の欠如(CWE-306)に関する問題の特定に最適だとPegueroは言います。

Black Duck®などのソフトウェア・コンポジション解析(SCA)ツールは、組織がオープンソース・ソフトウェア・コンポーネントでコーディングされた脆弱性やライセンスの競合の可能性を見つけるために役立ちます。

これらのすべてが別の重要な現実を示唆しています。それは、一つですべてをまかなえるツールはないということです。SDLC全体でテストツールを組み合わせて適切なタイミングで使用し、堅牢なセキュリティ環境下で製品を市場に投入する必要があります。

セキュリティ上の脆弱性をソフトウェアから排除
eBookをダウンロード

 

この著者によるその他の情報