4.2 脆弱性診断技術の深掘り #
同じ脆弱性診断でも、診断の種別によって特徴が違います。
プラットフォーム診断は、CVE番号が付いているような既知の脆弱性をツールを使って探すことが多いです。そのため、診断ツールの扱い方、危険度の判断やトリアージ、脆弱性情報の収集、攻撃の検証や脆弱性の修正方法についての知識などが必要で、業務をおこなっていく中でこれらのスキルが身についていきます。
Webアプリケーション診断は、未知の脆弱性を探すことが多いです。どのようなシステムにでも応用できる、汎用的な攻撃手法に関するスキルが身につきます。また対象Webアプリケーションの特性や用途に応じた診断や危険度判断が必要なため、小売・金融・医療・不動産・行政など診断対象の業界に関する知識も勉強して身につけていくことになるでしょう。
その他、スマホアプリ・IoT・AI・OT(工場)・車・人工衛星などなど、さまざまなシステムを対象とした脆弱性診断が(件数は多くないかもしれませんが)あります。対応するにはそれに特化した、対象に関する知識や診断手法を身につける必要があります。脆弱性診断士として学べることはいくらでもあります。プラットフォーム診断だけではなくWebアプリケーション診断にチャレンジしてみるなど、意欲次第でいくらでも診断の幅を広げていくことができます。
ペネトレーションテストなど、あまり体系化されておらずツール化も限定的なテストでは、その場での判断が必要になるためアドリブ力が求められます。上記のような脆弱性に関する知識、攻撃手法に関する知識、対象システムに関する知識などを幅広く身につけ、多くの引き出しを持っていれば、現場で柔軟に判断し対応できるようになります。
上記のように診断の幅を広げていくだけではなく、深く掘り下げ、極めていく道もあります。 たとえばWebアプリケーション診断であれば、以下の様な流れでスキルアップすることができるでしょう。
- ツールの見つけた脆弱性を精査するだけ
- ツールと同等の脆弱性を、ツールに頼らず見つけられる
- ツールが見つけられない脆弱性を手動で見つけられる
- 診断手法をブラッシュアップし、速度や検出率を上げる
- 未知の新たな診断手法を発明する