「OWASP Top10」を活用する
OWASP Top10では、「悪用のしやすさ」「蔓延度」「検出のしやすさ」「技術面への影響」を数値化することで、リスクの高さを算出、危険度の高い10種類の脆弱性を整理している。それぞれの指針を3段階で評価し、「悪用のしやすさ」「蔓延度」「検出のしやすさ」の平均を求め、その数値と「技術面への影響」の数値の積を求めたものがスコアとなる。
また、Top10のそれぞれの脆弱性について、「攻撃手法」「セキュリティ上の弱点」「影響」について紹介し、さらに「脆弱性発見のポイント」「防止方法」「攻撃シナリオの例」「参考資料」が詳細に説明されている。システム管理者などは、これらを参照することで、具体的なリスクの内容や発見方法、対策方法を知ることができる。
例えば、2013年版と2017年版でトップとなった「インジェクション」は、「悪用のしやすさ」が最高の3、「蔓延度」が2、「検出のしやすさ」「技術面への影響」がともに3となっている。インジェクションには、SQL、LDAP、XPath、あるいはNoSQLクエリ、OSコマンド、XMLパーサー、SMTPヘッダー、式言語、およびORMクエリでよく見られるが、コードを調べることで簡単に発見できると書かれている。
「インジェクション」の解説(「OWASP Top 10 -2017」日本語版より抜粋)
そして、「脆弱性発見のポイント」「防止方法」「攻撃シナリオの例」「参考資料」を参照することで、具体的な発見方法や対策方法が分かるので、対策のために必要な工数やスケジュールを想定しやすくなっている。OWASP Top10が高い評価を得ているのは、こうした技術書やマニュアルの側面が大きいと思われる。自社でウェブアプリケーションを運用している場合は、OWASP Top10を参考に脆弱性の洗い出しを実施してみてはいかがだろうか。