Know your enemy.Defense leadership.

2023.03.28

戸田廉

未経験からWeb診断員へ ― MBSDの教育制度

初めまして。私は2022年にMBSDへ転職してきたWeb診断員です。前職はSOCアナリストとして2年ほど働いておりましたが、脆弱性診断は未経験の状態からMBSDに転職して来ました。「未経験からMBSDみたいなプロ集団に混ざって脆弱性診断なんてできるの!?」と皆さん思ったことでしょう。私も思っていました。しかし、実はMBSDには素晴らしい教育体制があり、そのおかげで今では毎日楽しく診断業務に従事できるまで成長できました。

是非皆さんにもMBSDの教育体制を知っていただきたいと思い、本記事では私の体験を元に、MBSD着任後からWeb診断員として一人前になるまでの過程をご紹介したいと思います。是非色々な人に読んでいただき、MBSDに興味をもっていただけたら嬉しいです。

転職先としてMBSDを選んだ理由

私は未経験だったのですが、ありがたいことにMBSD含めたいくつかの企業から診断員やペンテスターとして内定をいただきました。その中でも私がMBSDを選んだ理由としては以下が挙げられます。

  • 教育体制が整っている
    他の企業では、座学も少し行うが実際の案件でOJTを行いながらスキルを身に着けていくことがメインというケースがほとんどでした。未経験で採用していただける時点でありがたいのですが、これではOJTである程度診断ができるようになったとしても、一人で案件を担当するようになったときにやっていけるか不安は拭いきれませんでした。
    それに対して、MBSDでは(後で紹介しますが)1000ページを超える独自の教育資料があり、まずはそれを徹底的に叩き込んだ後にOJTのような形でスキルを身に着けていくと面接で聞きました。MBSDが一番教育に対するコストをかけており、体制もしっかりしているのだろうという印象を受けました。診断に必要な知識を体系的に学んだあとにOJTを行うという流れのおかげで、OJTのときに出会わなかったような脆弱性や挙動を見つけても、教育資料を見返すことで診断手順を思い出しながら一人で診断することができています。
  • やりたいこと(Web診断)に100%集中できる
    診断業務全般(Web、Network、ペネトレーションテストなど)に興味はあったのですが、まずは一番惹かれたWeb診断を極めてからNetwork診断やペネトレといったようにスキルアップしていきたいと思っていました。
    他の企業ではセキュリティエンジニアとして採用されWebやNetworkやペネトレなど必要に応じて何でもやる体制が多かったのに対し、MBSDではWeb診断員として採用されWeb診断だけに没頭することができる体制だと面接で聞いていました。チームとして明確な分業化が行われていることや、各分野に特化したエンジニアが評価される体制がこれを可能にしているのだと今は感じています。
    もちろん希望すればNetwork診断など他のチームや部署に異動も可能な環境ですし、人によっては幅広く複数の診断サービスに携わっている方もおり、私はMBSDを選んで正解だったと思っています。

入社~Web診断員として独り立ちするまで

入社後は、私の場合は主に技術的なトレーニングをしていただけるトレーナーの方と、各種申請や日々の不明点など業務を行う上で色々とサポートしていただけるメンターの方が1人ずつ付いてくれました。ここからは私が実際に入社後に何を行ったかを時系列順にご紹介していきます。
※実際のトレーニングは本人の経験やスキル、そのときのリソース状況などによって変わってくると思います。また、トレーニング内容も随時アップデートされているため、現在は多少内容が変更されている可能性もあります。

入社~1ヶ月目:課題、自己学習

私が入社した月は私1人だけWeb診断員として転職してきたのですが、その翌月にも転職やら異動やらで新たにWeb診断員として着任する予定の方が数名いました。そのため新規着任者へのトレーニングは私が入社した翌月からの開始となり、最初の月はトレーニング資料の予習やトレーナーの方から与えられた課題を行う期間に充てることになりました。私の場合は診断どころかWebの開発経験もほとんどなく、特にJavaScriptはほとんどノータッチの状態でしたので、JavaScriptやjQueryをつかったアプリの作成を主な課題として与えられました。

また、弊社には自己啓発助成金制度というものがありますが、トレーニング期間は残業もなく時間があったので、この制度を利用して書籍を購入したり資格の勉強をしたりもしていました。(弊社の福利厚生に関しては採用情報をご確認ください。)

今思うとこの期間に足りない知識を補えたため、その後のトレーニングも割とすんなり入っていけた気がします。すごくラッキーでした。診断に関わらず、新たな分野に転職するのであれば入社前~入社後の比較的時間に余裕があるときに自己学習をしておくことをお勧めします。

入社1~2ヶ月目:Webアプリケーション基礎、巡回、脆弱性スキャナ、報告書

一緒にトレーニングを受ける仲間も着任し、いよいよ本格的にトレーニングが始まりました。トレーニングに関しては基本的に社内独自の資料があります。資料に沿ってトレーナーから講義を受け、実際に手を動かして確認を行っていくという流れで進めていきます。初めは以下を学んでいきます。

  • Webアプリケーション基礎
    Webを構成する技術(HTML、CSS、JavaScript、HTTP、ブラウザ、・・・)に関して学びます。これだけで200~300ページ程の内容になります。例えばCookieのところではdockerとphpなどでホストの異なるサーバでアプリケーションを作成し、各属性の挙動を検証しました。基礎とはいえ診断員が知らなければいけないことは多く、資料に細かい仕様なども記載されています。
  • 巡回
    「巡回」とは、診断対象の見積もりを行うために、リクエスト数を数える作業のことです。ここではBurp Suiteの使い方や、リクエストの数え方などを学んでいきます。(巡回に関してはこちらの記事も参照ください。)
  • 脆弱性スキャナ
    診断には脆弱性スキャナによるツール診断と、診断員による手動診断がありますが、ツール診断に関して、弊社は独自で開発している脆弱性スキャナを用いており、その使い方を学んでいきます。非常に高機能な分、設定や使い方を十分理解して使いこなす必要があるため、Webアプリ基礎と同じく200~300ページ程の資料を使ってトレーニングします。(脆弱性スキャナに関してはこちらの記事こちらの記事でも一部紹介しています。)
  • 報告書
    診断が終わると報告書を作成しますが、こちらも一部独自の報告書作成ツールを用いながら作成しているため、使い方に関して学んでいきます。

入社2~4ヶ月目:脆弱性、やられサイト診断

Webアプリ基礎やツールの使い方を一通り学んだ後は、待ちに待った脆弱性のトレーニングに入っていきました。

弊社では脆弱性をテクニカル系とロジカル系という2種類に分けて考えています。テクニカル系の脆弱性とは、SQLインジェクションやクロスサイトスクリプティング(XSS)などコーディング段階で作りこまれやすい脆弱性で、これらは脆弱性スキャナが見つけるのが得意です。ロジカル系の脆弱性とは、クロスサイトリクエストフォージェリ(CSRF)など設計段階で作りこまれやすい脆弱性で、これらはスキャナで見つけるのが難しく、診断員による手動診断で見つけることが多いです。

これらテクニカル系/ロジカル系の脆弱性の特性を踏まえ、すべての脆弱性に関して社内資料を用いて学んでいきます。各脆弱性1つ1つに関して、脆弱性の原理・影響・対策・診断方法などのエッセンスが社内資料にまとまっており、合わせて800ページ以上ある内容になります。非常に内容が多いですが、約2ヶ月かけて手を動かしながら診断手法を習得していきます。普段あまり見ない脆弱性に当たった時でも、この資料を読み返すことで診断手法や対策などを思い出すことができるので、本当に素晴らしい資料です。

ある程度脆弱性を学んだ段階で、実際に社内のやられサイトに対して巡回~診断~報告書作成までの一連の作業を実施していきます。それぞれのフェーズで、トレーナーだけでなくメンターや他の診断員の方からもフィードバックを受け、スキルアップしていきます。ここまでで座学と演習のトレーニングは一通り終了になります。

入社4~7ヶ月目:案件(OJT)、自己学習

ここからは実際の案件にOJTのような形で入っていくことになりました。私の場合はまずは巡回の案件にアサインされ、トレーナーの方や先輩社員と随時情報共有や相談をしながら、実際のWebサイトを巡回しました。

そのうち診断の案件にもアサインされ、数日で終わるような小規模の診断を実施しました。すべての診断案件は必ずチームで行いますが、基本的にメインで診断を行うのは1人です。ただ、いきなり単独で診断するのは難しいので、初めのうちは必ず他の先輩診断員が自分とは別に裏で診断(通称:裏診断)を行ってくれています。そのため、疑問点を聞いて解消したり、随時診断の仕方が誤っている場合は指摘していただいたり、診断終了間際には答え合わせのような形で検出漏れがないかチェックしたりと、品質を落とすことなく着実にスキルアップできる体制が整っています。これも診断員を豊富に抱える弊社だからこそ可能な仕組みなのかなと思っています。

ちなみにこの頃はOJTにちょうどいい案件をPMが選んでアサインしてくれるのですが、ちょうどいい案件が無いときは自己学習を行います。OSSの脆弱性を探して診断してみたり、社内資料の復習をしたり、社内の脆弱性スキャナの特殊機能を検証してみたり、SPAを構築してみたり、いつ案件が来てもいいように準備していました。

入社7ヶ月目~:本格的に診断案件へ

ここまでは飛び飛びに巡回や診断の案件が入ってきていましたが、入社して7ヶ月経過したあたりからはほとんど毎日診断の案件が入るようになってきました。段々と診断の規模も増え数週間~1ヶ月程度の中規模のものも担当するようになったり、SPAの診断も担当するようになったり、再診断(過去診断したWebサイトをお客さまが修正した後に再度診断すること)を経験したり、診断の幅がどんどん広がっていきました

また、徐々に疑問点や診断漏れが少なくなっていくと、裏診断の体制も徐々に緩くなっていき、ほぼ独力で診断を行えるまでスキルが上がってきました。今では1ヶ月以上の中~大規模な案件こそ数日間だけ裏診断に入っていただいてチェックしてもらうこともありますが、比較的小さい規模の案件は単独で診断作業を担当しています。 すべての案件を1人で任せてもらえるように引き続きスキルアップしていきたいと思います。

余談:働き方に関して

是非弊社の働き方に関しても皆様に知っていただきたいので、いくつかご紹介します。

  • リモートワーク
    私が所属する部署ではほぼ100%リモートワークが可能です。 もちろん、出社したい人は出社しても大丈夫です。私は会社にはまだ10回程しか行ったことがありません。診断員はほとんどの方がリモートワークを行っているため、これまで紹介してきたトレーニングもすべてリモートで行われます。
  • 休暇
    当然ですが、好きな時に休暇を取ることができます。私は祝日と有休をつなげて連休を取るのが好きなので、今年度はゴールデンウィークに10連休、シルバーウィークに9連休、年末年始に12連休を取りました。私だけでなく、同じように休暇を取る方も多くいます。
  • フレックス
    2022年度から弊社はフレックス制度を導入しました。別途細かい規則はありますが、基本的には案件をしっかりこなして月の労働時間を守りさえすれば、何時から働いても何時に勤務終了しても途中で中抜けしようとも大丈夫です。私はたまに早めに上がって映画を見に行ったり、疲れた時に早めに勤務終了したりするくらいしか利用していないですが、生まれたばかりの子供がいる先輩などはこの制度をフルに有効活用して仕事と子育てを両立させているようです。

まとめ

今回は私の体験談をベースに、未経験から一人前の診断員になるためのMBSDの教育制度に関してご紹介しました。経験者の場合はもっとトレーニング期間が短縮されたりしますが、いずれにしても素晴らしい教育環境が整っています。一方で、与えられたトレーニングをこなすだけでは診断のプロになれないことも痛感しています。まだまだ勉強すべきことは山ほどあるので、今度は技術ブログを書けるくらい技術を磨いていきたいと思います。

戸田廉

シェアする ツイートする