CWEはセキュアなソフトウェア開発を行う開発者にとっては欠かせない情報源です。2019年1月3日にCWE (Common Weakness Enumeration – 共通脆弱性タイプ) 3.2が公開されました。大幅更新と言える内容になっています。
この更新を一言で言うと「セキュアコーディング対応の強化」でしょう。
更新の概要
Summary:
There are now 806 weaknesses and a total of 1177 entries on the CWE List.
Changes for the new version include the following:
New Entries Added: 137
Entries Deprecated: 1
Entries with Important Changes: 230
Entries with Major Changes: 304
Entries with only Minor Changes: 2
Entries Unchanged: 733
追加だけでも137、重要な変更が230、大幅な変更が304もあります。
更新のハイライト
特に重要な更新は以下としています。
(1) adding 89 new entries related to quality issues that only indirectly make it easier to introduce a vulnerability and/or make the vulnerability more difficult to detect or mitigate (see the CWE-1040: Quality Weaknesses with Indirect Security Impacts view);
(2) adding 1 new weakness, CWE-1173: Improper Use of Validation Framework, detailing the improper use of an available input validation framework;
(3) adding 1 new view, CWE-1128: CISQ Quality Measures (2016), to map to the Consortium for IT Software Quality (CISQ) Automated Quality Characteristic Measures released in 2016; and
(4) updating the views and categories associated with the Software Engineering Institute (SEI) Computer Emergency Response Team (CERT) Coding Standards.
- 直接的でない間接的な攻撃のし易さなどセキュリティ品質に影響する検出や緩和策の89エントリを追加
- CWE-1173をして不適切な入力バリデーションフレームワークの利用脆弱性を追加
- CISQ 2016に準拠した脆弱性種別のビューを追加
- CERTのセキュアコーディング標準に準拠したビュー/カテゴライズのビューを更新
全般的にセキュアコーディングの基礎を強化する変更が主たる変更点になっています。
セキュリティ標準準拠への影響
ISO 27000(ISMS)やNIST SP800-171、PCI DSSなどといったセキュリティ標準準拠を要求されるアプリケーション開発現場への影響は小さくありません。
類似の変更/セキュリティ対策の強化は2017年版OWASP TOP 10でも行われており、OWASP TOP 10 A10:2017 Insufficient Logging&Monitoringとして要求されています。
セキュアコーディングの基礎を実装していないアプリケーションの場合、対応にはそれなりの工数が必要でしょう。
IPAの「安全なWebアプリの作り方」は安全ではない、と既にブログに書きました。IPAがいつまでも、脆弱なWebアプリの作り方を安全な作り方として公開しているのは大問題です。CWE-20に全く言及せず、アプリケーションとは別コンポーネントとなるWAF(Web Application Firewall)の導入することを勧める内容になっているのは、セキュリティ対策ガイドラインとしては失格と言われても仕方ないかも知れません。
実際、2017年版OWASP TOP 10を策定する際にはA10として導入された脆弱性の記述が「WAFの導入を薦める内容になっている」ことが問題とされ、プロジェクトマネージャーが交代し、WAFではなくアプリケーションで対応する記述に変更されました。
少なくともOWASPのセキュリティ専門家的には、現在のIPAの「安全なWebアプリの作り方」には大問題がある、という判断になると思われます。
変更箇所の一覧はMITREのニュースリリースから参照可能です。
まとめ
セキュアなソフトウェア開発の具体的な指針としてCWEは無視でない脆弱性カタログです。CWEに記載されている対策がない場合、特に基礎的対策がない場合、アプリケーション開発者の責任が大きく問われる可能性が高くなります。
MITREが最も重要としているCWEはCWE-20です。