第3章:診断士のキャリアパス
本章では、診断士のキャリアパスを説明します。
私は本稿執筆時点(2015年11月現在)で、Webアプリ診断に従事して約6年になりますが、それ以前は、SEとして銀行システムの開発に約5年携わっていました。SE時代はセキュリティに関心を払う余裕がなかったため、Webアプリ診断の世界に入ったときはセキュリティ未経験の状態でした。
そんな私がどのようにしてどうやって診断士としてのキャリアを積んでいったのかを、実経験を基に説明いたします。
診断士のキャリアパス
診断士は比較的新しい職種であり、数万人規模で人材が不足している状況です。このため、本稿執筆時点(2015年11月時点)では、診断士やその他セキュリティに携わる人材の需要は非常に高い状態にあります。このため、求人は診断ベンダーに限らず、SI企業、金融業(銀行、保険など)、官公庁(警察、自治体職員)など様々なところから出ています。
また、キャリアパスは診断ベンダーによって様々だと思いますが、一般企業と大差はなく、担当者から主担当、プロジェクトマネージャ、グループマネージャになるものと考えています。以下、キャリアパスに沿って役割を説明します。
-
自動検査の担当者
診断案件のプロジェクトマネージャの指揮下で、スキャナを使用した自動検査のスキルを習得します。
スキャナは診断ベンダーのみならず、SEが使用することを想定して開発されているため、操作は容易に行うことができます。また、スキャナが機械的に脆弱性を検出してくれるため、診断のスキルが無くとも脆弱性を検出することができます。よって、先ずはスキャナを実行し、検出された脆弱性の意味(発生原理、リスク)を一つずつ理解していくことが重要です。また、OJTを通して、検出された脆弱性を精査する経験を積んでいきます。単独でスキャナの実行と結果の精査が行えるようになるまでに、約1~2年程度の歳月が掛かります。この期間に、様々なシステムに対してより多くの自動検査経験を積む必要があります。
-
手動検査の担当者
診断案件のプロジェクトマネージャの指揮下で、スキャナで検出できない脆弱性を手動で検出するスキルを習得します。
自動検査の経験を十分に積み、スキャナで検出できる脆弱性とできない脆弱性の区別ができる診断士が、手動検査の担当者になります。
手動検査では、組織としての検査項目は存在しますが、診断士の閃きや気づきといった非定型な要素が多くなるため、半年ほどは熟練した診断士と共に手動検査を行う必要があります。手動診断の深さには限りがないため、技術としての診断士の最終到達点になります。
-
プロジェクトマネージャ
自動検査、手動検査の経験を十分に積んだ診断士が、診断案件のマネジメントを行います。
本ポジションでは、プリセールスや診断案件のマネジメント(QCD管理、顧客折衝、トラブル対応など)を主に行います。また、配下の診断士のフォローアップや、場合によってはプロジェクトマネージャ自ら診断を行うこともあります。診断のスキルに加え、ビジネススキルやマネジメントスキルが求められます。
-
グループマネージャ
いわゆる課長のポジションだと思います。
会社で決められた診断業務の収益目標を達成するために、プロジェクトマネージャの管理を行います。また、診断サービスの効率化や、新たなサービスの開発などを行います。組織をあるべき方向に導く強力なリーダーシップと、先を見通す広い視野が求められます。
どうやってキャリアを積んだのか — 筆者の事例 —
最初に結論を言いますと、先ずは熟練診断士の真似をし、とにかく何でもやってみることが重要です。更に細かく述べると、以下4点が非常に重要であると考えています。
- とにかく経験を積むこと
- 自己研鑽に励むこと
- 優秀な診断士の手法を研究すること
- 診断士を志した理由を忘れないこと
-
とにかく経験を積むこと
Webアプリ診断は少々マニアックな分野であり、インターネットで具体的な診断手順を検索しても有益な情報は見つかりません(診断ベンダーのノウハウに係ることなので、ある意味仕方がないかもしれません)。このため、先ずは「あれこれ考えずに手を動かしてみる」というマインドが必要です。
私の場合、約1年にも及ぶOJTを通して基本的なスキルを身に付けました。診断用のマニュアルは存在しましたが、マニュアル通りに完了する診断はありません。それは、診断対象のWebアプリケーションは多種多様であること(規模も動作も全く異なる)、また、お客様の要件も同じものは二つとしてなく、状況に応じて臨機応変に手順の変更や顧客折衝を行う必要があるためです。更に、診断中に不測の事態が発生することもあるため(注12)、技術スキルは勿論のこと、代替手順に直ぐに切り替える柔軟性やお客様との折衝スキルも求められます。
上述したノウハウはマニュアルや書籍を読むだけでは身に付かないため、「とにかくやってみる」「経験を積み重ねる」ことが必要になります。
-
自己研鑽に励むこと
これはエンジニアの方であれば当たり前のことかもしれません。
診断対象のWebアプリケーションは様々な開発言語やDBを使用しているため、言語やDBについての幅広い知見が必要になります。また、新たな脆弱性は日々発見されているため、国内外問わず常に最新の脆弱性情報をキャッチアップする必要があります。これらは、業務を通して少しずつ身に付けていくことも可能ですが、日々発見される脆弱性や技術の進歩に追いつくためには、自己研鑽が必須になります。私の場合、プライベートな時間でも診断を行ってきました。勿論、許可なく他社のWebアプリケーションを診断することは犯罪になりますので、あくまでも自身で構築した検証用のWebアプリケーションや、フリーの検証用アプリケーション(Bad Store、OWASP Broken Web Applicationなど)に対して診断を行いました。この経験を通して、診断のテクニックを身に付けたり、疑似攻撃がWebアプリケーション内部でどのように問題を生じさせるのか、そのメカニズムを理解することができました。
また、最近では懸賞金プログラム(注13)と呼ばれる企業活動が活発になっています。このプログラムに参加することによって、検証用アプリケーションに対する診断とは異なる、より実践的な診断経験を得ることができます。
-
優秀な診断士の手法を研究すること
経験を積んだ診断士(熟練診断士)の診断手法は洗練されており、見習い診断士にとっては最大の見本になります。OJTの空き時間を利用し、熟練診断士が過去に行った診断結果(診断ログ(注14)や報告書など)を解析し、その手法を取り込む必要があります。
私の場合、幸いなことに複数人の熟練診断士が身近にいましたので、彼らの過去の診断ログを徹底的に調べ、不明点があれば質問をし、自身のスキルアップに役立てました。また、インターネット上には、国内外の診断士が自身のノウハウ(の一部)をブログなどに投稿していますので、それらの情報を収集することも重要だと考えています。
-
診断士を志した理由を忘れないこと
私個人としては、これが最も重要であると考えています。
上述の1~3の通り、診断士としてのスキルアップを図るためには、相当の努力と忍耐力、精神力が必要になります。また、プライベートな時間も利用する必要があります。正直なところ、私自身、何度も心が折れかけたことがあります。それでも前に進むことができたのは、「診断士を志した理由」が明確にあったからです。6年前の私は、今後益々サイバーセキュリティの重要性は増していき、個人や企業のみならず国家レベルでも欠かすことができなくなると考えていました。また、サイバー攻撃が情報漏洩やサービス停止などに留まらず、人命に直結する事態も発生するのではないかと考えるようになりました。そんな中で、微力ながら社会の安全・安心に貢献したいという思いが募っていき、セキュリティ業界へのキャリアチェンジを決断しました。
診断士を志す理由は人それぞれでしょう。しかし、その理由が何であっても、初心を忘れなければどんな困難でも乗り切ることができると考えています。厳しい言い方になりますが、「給与アップのため」「職にありつくため」「注目されているので何となく」といった明確な志がない方には向いていない職業かもしれません。
- 注12:診断中に不測の事態が発生
- 意図しないDBの破壊や、Webサーバがダウンすることなど。
特に本番稼働中のWebアプリケーションの場合は、お客様への謝罪・状況説明と共に、復旧に向けての協力を行う必要があります。また、診断が停止することで納期に間に合わなくなる場合には納期延長の交渉等を行う必要があります。 - 注13:懸賞金プログラム
- 自社のWebアプリケーションの脆弱性を発見した人に報酬を与える活動のこと。
GoogleやMicrosoft、Facebookなどの海外企業を始め、ここ数年はサイボウズなどの国内企業も同様の活動を行っています。 - 注14:診断ログ
- 診断実施中に対象のWebアプリケーションに対して行った疑似攻撃時のHTTPリクエスト/HTTPレスポンスのログ。
診断士を志すエンジニアの方へ
以上で本稿は終了となります。実際のWeb診断業務や、診断士になるためのキャリアパスなどをお伝えしたことで、多少は皆様の心理的なハードルは下がったでしょうか?
業務内容等を知ったことで、かえって「やはり難しく感じる」「私には無理」と感じる方もおられるかもしれません。しかし、この仕事は地道に積み上げていくほど成熟度が増していく仕事ですので、セキュリティエンジニアになりたい、診断士を目指したいという初心を忘れず、自己研鑽を重ねていけば、必ずキャリアチェンジを実現することが出来ると信じて頂きたいと思います。
また、診断業務は、Webアプリ診断に限らず、サーバやネットワークに対する診断や、組み込み機器やスマートフォンアプリの診断など、サイバー攻撃に晒されるITシステムに対する診断業務は多岐にわたります。
そのため、先ずは自身のこれまでキャリアを考えた上で、自身の経験を活かせる職種を探してください。そして、前章でも述べたように、診断士を志す理由をしっかりと持つこともポイントです。
この「経験を活かせる職種を探す」「診断士を志す理由をしっかりと持つ」の2点がブレなければ、転職活動時の面接でも困ることはないと思いますし、診断士にキャリアチェンジした後でも、大きな精神的な支えになると思いますので、先ずはこの2点を十分に検討して頂きたいと思います。
勇気を持って診断士への一歩を踏み出してください
現在、ITシステムは企業、官公庁、地方自治体、社会インフラ(発電所、空港、鉄道など)のみならず、PC・スマートフォンや自動車など個人の生活にも様々な形で深く入り込んでおり、IT無しでは何も成立し得ないほど、ITシステムは社会にとって欠かせない存在となっています。
同時に、これらのITシステムを狙ったサイバー攻撃も複雑化・巧妙化してきており、フィッシング詐欺のように「個人」から機密情報や金銭を搾取する攻撃や、「官公庁や地方自治体、防衛機関・民間企業」から大量の機密情報を盗み出す攻撃なども発生しています。
この世の中にITシステムが存在する限りサイバー攻撃が無くなるとは考えられず、むしろITシステムの更なる高度化により、より一層増加していくと考えています。
しかし、このような背景があるにも関わらず、日本国内には、これらの脅威に対峙するセキュリティエンジニアが数万人規模で不足している現状があります
診断士は、社会的ニーズも高く、将来にわたって有望な職業だと思いますので、先ずは一歩を踏み出してみてください。
長文にお付き合いいただいた皆様に感謝いたします。どうもありがとうございました。