Web システムの脆弱性の分類

品質保証QA脆弱性

Web システムの脆弱性によるセキュリティの問題について、対策する開発者側やテストを行う検証者側の視点に立って分類しました。
どこに脆弱性があるのか、どのように攻撃するのかという観点を元に分類することで、対策する箇所の理解やテストケースの作成もわかりやすくなるかと思います。


共通脆弱性タイプ一覧(CWE)
CWE【Common Weakness Enumeration】では、ソフトウェアにおけるセキュリティ上の弱点(脆弱性)の種類を識別するための共通の基準を目指し、脆弱性のパターンに共通の呼び名をつけてリスト化しています。
また、JVN【Japan Vulnerability Notes】では、CWE 識別子をキーワードとして対応する脆弱性対策情報が検索できるサービス JVN iPedia を公開しています。

CWE【Common Weakness Enumeration】
https://cwe.mitre.org/
JVN iPedia
https://jvndb.jvn.jp/

IPA でも、すぐに広まりそうな危険性の高いセキュリティ問題をいち早く提供してくれています。
Twitter でも情報収集できるので、フォローしておくと良いでしょう。

重要なセキュリティ情報一覧
https://www.ipa.go.jp/security/announce/alert.html
Twitter
https://twitter.com/ICATalerts/

本記事では、2021 年度版の「CWE Top 25」(最も危険なセキュリティ問題トップ 25)より解説する項目をピックアップしました。
CWE Top 25」は、CWE のトップページ右上にある「Top25」という丸いボタンから見ることができます。

2021 CWE Top 25 Most Dangerous Software Weaknesses
https://cwe.mitre.org/top25/archive/2021/2021_cwe_top25.html


脆弱性の種類・分類
大きく5つの観点に分けました。

脆弱性種別攻撃方法・原因など解説ページ
不正なリクエストデータに対する脆弱性 ・不正な SQL 文を埋め込む攻撃
・不正な OS コマンドを埋め込む攻撃
・不正な HTML タグや JavaScript を埋め込む攻撃
・不正なパス名を埋め込む攻撃
・不十分なバリデーションチェック
・信頼できないデータの復元
・XML ドキュメントによる不正な外部エンティティ参照
[ 解説 ]
認証の欠如による脆弱性・認証済の利用者を踏み台にした攻撃
・承認済のサーバを踏み台にした攻撃
・不適切・不十分な認証処理
・ユーザ権限の確認不十分
[ 解説 ]
機密情報・認証情報の漏えいによる脆弱性・エラーメッセージ出力による機密情報の漏えい
・認証情報の不十分な保護
[ 解説 ]
不適切なパーミッションによる脆弱性・不適切なパーミッション設定[ 解説 ]
不正なメモリ領域へのアクセスによる脆弱性・境界外の読み取り・書き込み
・解放済みメモリの使用
・整数の桁あふれ
・NULL ポインタの逆参照
[ 解説 ]

以下の章でそれぞれについて解説していきます。

Web システムの脆弱性まとめ その1
Web システムの脆弱性まとめ その2
Web システムの脆弱性まとめ その3
Web システムの脆弱性まとめ その4

コメント