はじめに
2023年7月から、新しい所属で働き始めて半年が過ぎました。そこで、自分なりに、今回の転職について振り返っておこうと思います。自分の今回の転職はセキュリティ業界におけるキャリアの1つとしては面白いかなと思うのでまとめておきます。主題としては、「セキュリティアナリストからセキュリティエンジニア」への転職です。言葉遊びのような感じはありますが、自分はこの2つの職種は違うと考えているので、分けて表現しています。
前職
前職では新卒で入社したISP(Internet Service Provider)のSOC(Security Operation Center)にてセキュリティアナリストとして5年間ほど働いていました。最初はSOCのインフラエンジニアとして働いていましたが、最後の2,3年ぐらいはマルウェア解析をメインに仕事をしていました。なお、ここで言うマルウェア解析とは、動的解析などよりも、もっと泥臭いアセンブリ言語などと向き合いながらリバースエンジニアリングをしていくのがメインでした。例えば、マルウェアのC&CサーバのIPアドレスやポート番号を抽出するPythonスクリプトを作ったり、マルウェアの持つ機能を洗い出して、C2サーバと連動するコマンドを明らかにしていくなど、一般的なサンドボックス製品では対応しきれないスキルが求められる仕事をしていました。
転職のモチベーション
なお、これだけが全ての動機ではないことはあらかじめ断っておきますが、マルウェア解析者として数年過ごして仕事をしている間に、「もっとユーザに近い立場で、セキュリティエンジニアリングを駆使して、組織のセキュリティ向上に貢献していきたい」という気持ちが芽生えてきました。こうした気持ちが芽生えた要因は複数あります。
一般に、マルウェア解析者もといセキュリティアナリストという区分に相当する人の中で、自分のように高度な解析をしている人間は、ユーザに近い立場にはいないことが多いと思っています。そういう中で働いており、どうも自分は、遠くやベンダーが相手とする幅広いステークホルダーに対して価値を提供することにやりがいを感じにくいということを感じました。マルウェア解析をしたりすることで、お客様のためになったり、ISPとして幅広いお客様のセキュリティ向上に努めているとは思っていましたが、どうもそれが見え辛く、自身の業務の価値に疑問を持ち始めました。純粋に自分の業務に自信が持てなくなっていたとも言えます。学生の頃から好きでやっていたリバースエンジニアリングが仕事になり、好きな気持ちだけでやっていたため、おままごとをしているような罪悪感を感じたりもしていました(少し大袈裟かもしれませんが。)。
また、転職をする1年前には、社内のSRE(Site Reliability Engineering)のチームで兼務もしていました。これは前述したような気持ちになったので、違う感じのセキュリティ業務を経験したいと思ったからです。ここで、Kubernetesのワークロードを守るためのツールを使った検証をしたり全く異なるジャンルのセキュリティの仕事をすればするほど、アナリシスよりもエンジニアリングがしたいんだと感じるようになりました。セキュリティアナリストという職種は、比較的既存のツールを使ったりするなどして、エンジニアリングに重きを置かない人が多い印象があります。自分は比較的そうならないようにツールを作ったり、仕組みを作ったりする仕事をやっていたつもりですが、やはり現職のままだと限界があると薄々感じ始めていました。これに関してはキャリア指向性があると思うのですが、あくまで自分はエンジニアリングに重きを置きたいと思い始めたという話です。また、エンジニアリングという言葉にはコーディングも含んでいます。自分で使うためにツールを作ったりコーディングをする機会はありましたが、もっと開発経験も経験したいと思いました。
こうした気持ちの変化から、「もし転職するとしたら、ベンダー側ではなく、ユーザー企業のセキュリティエンジニアとして、エンジニアリングをしっかりしながら、組織のセキュリティ課題に向き合っていきたい」と思いました。
転職先の検討と苦難
以上の考えから、セキュリティ専門ベンダーなどではなく、ユーザー企業のセキュリティエンジニアとして働きたいと思って転職先を検討しました。しかしながら、1つ難しい課題に直面しました。それは、「自分の培ってきたリバースエンジニアリングというスキルは、非常に専門性が高く、ユーザ企業のセキュリティエンジニアとしてはマッチしにくい」という現状でした。ユーザ企業が求めるセキュリティエンジニアとは、「組織のセキュリティ課題に基づいて新規セキュリティ製品の導入」や「プロダクト開発周りのDevSecOpsの推進」、「クラウド周りのセキュリティ設定やガードレールの整備」など、セキュリティアナリストのロールには含まれていないものが多い印象でした。結論から言うとこの問題は、完全なポジショントークですが、自分が前職の兼務でやっていた経験や個人的に取り組んでいた幅広い分野の自己学習や資格取得のおかげで、スキルを認めてもらうことが出来て、乗り越えることができました。こうした取り組みをしていたことを見てくださっていた方がいて、声をかけてもらいそれがきっかけとなり、現職に落ち着きました。ここで伝えたいこととしては、当たり前ですがキャリアを変えるためには、移りたい先の経験やスキルをどうにかしてでも獲得すべきと言う話です。例え、それがセキュリティという同じ分野だったとしてもです。
転職先での所感
転職先では、自社で1から作っているSOARの内製開発をGolangで行ったり、検知ルールの新規作成、チューニング、そしてインシデントレスポンスなど、「セキュリティアナリストのロールも含みながら、セキュリティエンジニアリング」に取り組んでいます。おそらく分野的にはDetection Engineeringが近しいのかな思います。また、名刺的には「セキュリティアナリスト」から「セキュリティエンジニア」に変わりました。これがこの記事のタイトルの由来となっています。
ユーザ企業のセキュリティエンジニアとして働くことで、ステークホルダーは非常に近く、常に自社の開発サイドやスタッフ部門の従業員と近い立場で議論をしてアラートハンドリングをしたり、社内のインシデントなどから新規ルールを考えて作ることが出来ます。また、組織のセキュリティ課題を意識してSOARの開発タスクの優先度を決めてセキュリティエンジニアリングで組織のセキュリティ向上に貢献していることを実感しています。
総括すると今の所積みたい、体感したいと思っていた感情を得ることに成功しています。そして、ユーザ企業ならではの予算やコストを意識したセキュリティ対策とは何かを常に考えながら仕事をすることが出来ています。こうした、少し高い視座から業務することは前職ではなかなかしづらく、深く深く解析することが求められていたので、自分にとって良い経験になっています(なお、前職でもそういう姿勢が求められていたのかもしれませんが、残念ながら当時の自分はそれを感じることはできませんでした、もしかしたら相手の伝え方が下手だった可能性もありますが。)。
おわりに
自分語りな感じでの話の流れだったかもしれませんが、似たような境遇の人にとって、何かしら考えるきっかけだったり、気づきになれば良いなと思いまとめました。もっとも、自分のフレッシュな感情を保存しておく意味でも。数年後に見返して、どういう気持ちの変化が訪れているかはわかりませんが、その変化含めて楽しみです。
P.S.
実は、もう一つ転職モチベーションに英語がありました。せっかく転職するなら、英語を使って仕事をしてみたいと思っていました。これはセキュリティ業界だけに限らず、英語という言語の壁のせいで、エンジニアとして変えられない壁で止まってしまっている人をちらほら見かけるからです。そのため、比較的若いうちに(今年で28歳になります、若いと言わせてください)、その壁を取り除きたいと思っています。これを乗り越えられると、より幅広い会社にリーチすることが出来ると思ったからです。幸い転職先の現職では、チームメンバーは全員外国籍だし、セキュリティ組織全体が非常にダイバーシティで、全て英語で仕事しないといけないので、良い訓練になっています。チームメンバーのみんな、いつも僕の拙い英語を真剣に聞いてくれてありがとう。