どんな仕事?
様々な情報システムが外部からの侵入や攻撃に対して弱点や問題点がないか診断する。そのため情報システムを擬似的に攻撃するが、実際にシステムを壊し、サービスが停止する事態は避ける。脆弱性診断士、脆弱性診断エンジニアと呼ばれることもある。
情報セキュリティ関係の仕事としては様々なものがある。情報システムがセキュリティ上問題ないか監査したり(セキュリティ監査)、情報システムの脆弱性の診断をしたり(脆弱性診断)、攻撃による事故等が発生したときに痕跡や原因を調べたり(デジタルフォレンジック)、そして、システムへの外部からの攻撃や不正アクセスを監視し、インシデント発生時の対応を行うセキュリティエキスパート(オペレーション)の仕事もある。これらの中でここでは脆弱性診断を解説する。
脆弱性診断の対象となるハードウェアはWebサーバーが多いが、スマートフォン、PC、IoT機器等も含まれ、幅広い。さらには最近では自動運転等の開発が進む自動車や、AI(人口知能)のシステムも対象となる。対象となるソフトウェアも、Windows、Linux等OS(オペレーティングシステム)、データベース等ミドルウェア、更にこれらの上で動くアプリ(アプリケーションソフトウェア)等、幅広い。
脆弱性を狙った攻撃は政治的、経済的意図による海外からのものが多く、国内からの本格的な攻撃は少ない。
情報システムのセキュリティに関して検討する方法としては「脆弱性診断」と「ペネトレーションテスト」がある。脆弱性診断とはシステムに存在する脆弱性やセキュリティ上の不備についてツール等を使用して網羅的に診断するものである。ペネトレーションテストとは、情報サービスを止める、システムに侵入する、内部情報を不正に取得する等、特定の意図による攻撃が成功するかどうか、テストするものである。情報システムの脆弱性だけでなく、従業員教育も含め組織が様々な攻撃に対して問題ないか検討する。
脆弱性診断の方法としては「自動診断」と「手動診断」がある。「自動診断」では、製品版あるいは無料の自動検査ソフトウェアを使用して脆弱性を診断する。Webサイトの診断ではWebアプリケーションスキャナ(略して「スキャナ」)が用いられる。マニュアルに従って行うこともでき、脆弱性診断にそれほど詳しくなくてもできる。「手動診断」では脆弱性診断の専門知識を持つ者が直接、各種検査を実施する。なお、手動診断の中でも効率的な作業のために各種ソフトウェアは利用される。診断に用いるソフトウェアやツールは大半が米国等海外のものである。
診断は概ね、①診断前の打合せと準備→②診断の実施、脆弱性評価、レポート作成→③診断結果の報告とアフターフォローという流れになる。
「①診断前の打合せと準備」では顧客と打合せをしながら、診断対象を確認し、どこに重点を置くか等診断の順位づけを行う。ここで診断対象となるシステムは様々なため、対象システムについて事前に勉強する必要もある。例えば医療系のシステムであれば、そのシステムがどのように医療現場で利用されるか知っておく必要がある。診断の内容と方法の説明を行い、経費の見積もりを顧客に提示する。また、作業に必要なアカウントや権限を顧客から提供を受けたり、診断対象への接続方法や作業場所の準備も行う。多くは自社からネットワーク経由で接続し、診断作業は自社で行うが、データセンター等顧客のシステムの設置場所で行う場合もある。この診断前の打合せと準備に基づき診断実施計画書を作成する。
「②診断の実施、脆弱性評価、レポート作成」では診断実施計画書を基に、自動診断、手動診断により診断を行う。自動診断、手動診断が適切に行われているか確認し、診断ツールからの出力結果も利用しながら、脆弱性の評価を行い、レポートを作成する。
「③診断結果の報告とアフターフォロー」では、診断結果を顧客に報告し、対処法を顧客と検討する。対処が行われた後、対処が適切に行われ、脆弱性が解消したか、再診断を行い確認する。
脆弱性診断がどの程度の期間になるかは、Webサイトのページ数等、対象システムの大きさ、また、診断実施の難しさ等による。短ければ数日で終わる場合もあるが、1か月程度かかることもある。診断の経費としても数十万円から数百万円、中には数千万円と様々である。
脆弱性診断は2、3人のチームで行うことが多い。これは診断作業を手分けしたり、それぞれの得意分野を組み合わせたり、診断の評価を相互にチェックするためである。
よく使う道具、機材、情報技術等
脆弱性診断ツール、自動検査ソフトウェア、Webアプリケーションスキャナ、文書作成ソフト(Word、一太郎等)、表計算ソフト(Excel、Googleスプレッドシート等)、プレゼン資料作成ソフト(PowerPoint、Keynote等)、パソコン