注目記事

選ばれるセキュリティエンジニアとは「目的地へ安全に届けるガイド」 GMOサイバーセキュリティ byイエラエ阿部慎司に聞くキャリアと技術の磨き方

阿部慎司馬さんメインカット

この記事でわかること

  • セキュリティ専業の会社とユーザー企業のセキュリティ担当の違いと特徴

  • セキュリティ領域未経験からスキルを磨いていくための学習ロードマップ

  • セキュリティエンジニアが開発者と視座を共有する意義

  • AIのアウトプットを評価する「目利き」であることの重要性

ITプロダクトやサービスにおいてセキュリティは不可欠な要素です。「何から学ぶべきか」「セキュリティエンジニアになるには?」「優れたセキュリティエンジニアとは?」と悩むエンジニアに向け、GMOインターネットグループCISOで国際標準「X.1060」の策定を主導した阿部慎司氏に取材しました。

良質な環境、仕事の本質、セキュリティ領域未経験からの学習ロードマップ、開発者とのギャップ解消、AI時代における人間の付加価値まで、セキュリティエンジニアとして成長するためのヒントを聞きました。

【関連記事】AI時代に求められるセキュリティエンジニアとは——NTTデータの最前線で聞いた、技術力と調整力の磨き方

阿部慎司

北海道大学工学院卒。2007年NTTコミュニケーションズ入社。SEを経てセキュリティ領域へ転身し、NTTセキュリティ・ジャパンにてSOC構築を主導。国連ITU-Tにおける国際標準「X.1060」の策定主導のほか、JNSA賞やISLAを受賞。2022年にGMOサイバーセキュリティ byイエラエに参画し、現在は執行役員としてSOCやインシデント対応を含むディフェンシブセキュリティ事業を統括しながら、GMOインターネットグループ全体のCISOも兼任する。ISOG-J副代表、SOCYETI主宰。著書に『セキュリティのためのログ分析入門』がある。

【X(旧Twitter)】:@shinji_abe

【ブログ】:Security along DesigN

セキュリティ技術者の「良質な仕事環境」、セキュリティ専業か事業会社かという選択

ーーまず、セキュリティエンジニアが成長できる「良質な仕事環境」の条件とは何でしょうか。

阿部さん:極めてシンプルに、「自分がやりたいこと、チャレンジしたいことに飛び込める環境」だと私は思っています。

その上で、セキュリティエンジニアがどこに身を置くべきかという話をするとき、よく「ユーザー企業(事業会社)のセキュリティ担当」と「セキュリティ専門事業者(ベンダー)」のどちらが良いかという議論になります。私は、これはどちらが良い悪いという話ではなく、自分がキャリアのどの段階にいて、何を大事にしたいかによって選ぶべきだと考えています。


もし、「純粋にセキュリティの技術面で尖りたい」と思うのであれば、最初は専業の会社の方が、セキュリティに集中できますし、何十、何百という多種多様なお客さまの環境で起きているインシデントや攻撃の手法を見る機会があり、広い経験が得られます。ユーザー企業の場合は、その会社で起こっている事象の中での経験になることが多いので、広さという点では違いがあります。


ただ、逆に私たちのような専業会社からユーザー企業に移っていくケースも多いです。「自身の専門性を生かして誰かを助けたい」「このビジネスやサービスを、中から守りきりたい」という思いを持つ人が、そういった選択をすることがあります。

実は、セキュリティエンジニアとして大きく成長するうえで、「ユーザー企業側で、大規模なインシデント(攻撃被害)が発生した際、当事者として対応にあたる」という経験は非常に重要です。先ほどの「広さ」の観点とはまた違う、インシデント対応における「深さ」の違いが出てくるからです。

セキュリティ事業者として外部から関わる場合、どうしても自分たちのサービス提供範囲(たとえば外部SOCとして検知の部分だけ、フォレンジック調査の部分だけ、など)での支援に限定されることがあり、インシデントの最初から最後までに深く伴走できるとはかぎりません。

しかし、ユーザー企業の当事者であれば、目の前で起きているインシデントに向き合いながら、原因を究明し、その後の対策、さらには社内のセキュリティルールの見直しや組織の変革まで、セキュリティ対応の「最初から最後までのサイクル」を担当者としてすべて実体験できる可能性があります。こうした真の当事者としての泥臭い経験は、セキュリティエンジニアとしての非常に大きな資産になります

「つくる楽しさ」から「守る価値」への転換。セキュリティが果たすべき「良質なブレーキ」の役割とは

ーー開発やインフラを担当しているエンジニアがセキュリティ領域に進む際、最も大きな「思考のギャップ」はどこにあるのでしょうか。

阿部さん:一番大きなギャップは、やはり「提供する価値のベクトルが180度反転すること」だと思います。

開発に携わるエンジニアにとって「つくったものがお客さまに届き、喜んでもらえること」は大きな喜びでしょう。アクセルを全開で開発し、素晴らしいプロダクトを世に送り出す。そこには明確な手応えがあります。私もエンジニアとして開発に関わっていた頃はそれが大きなモチベーションでした。

しかし、セキュリティは基本的に何かを生み出すというよりは「何も起こさないこと」を目指す業務になります。私自身、SEからセキュリティ運用組織(SOC)へ異動になった当初は、大きなギャップを感じました。開発者から見れば、セキュリティ担当者は「アクセルを踏みたいのに、横からブレーキを踏んでくる、面倒な奴ら」に見えてしまうこともあるかと思います。

ーーその「開発とセキュリティのギャップ」を解消するために、どう振る舞うべきなのでしょうか。

阿部さん:まず「アクセルしかない車は逆に怖くありませんか?」という問いかけが重要だと思います。どんなに優れたスポーツカーでも、ブレーキが効かない車には、恐ろしくて誰も乗りたくありません。ブレーキがあるからこそ、ドライバーは安心してアクセルを踏み、目的地までたどり着けます。

セキュリティとは、単に開発のスピードを減速させる「邪魔者」ではなく、ビジネスという先の読めない道であっても事業やお客様を目的地まで安全に届けるためのガイドであり、「安全にスピードを出すためのブレーキ」でなければなりません。

ですから、避けるべきは警告だけをそのまま開発チームに「使用しているライブラリからパッチが出た。いまのままでは危険だから、すぐに開発を止めてパッチを当てろ!」と押し付ける、いわば「安易なブレーキの踏み方」です。現場はプロジェクトのスケジュールを守るのに懸命ですから、そんな乱暴な止め方をされたら反発はまぬがれません。


ーー「良きガイド」として機能するブレーキとは、具体的にどのような対応でしょうか。

阿部さん:プロジェクトの状況に応じて濃淡をつけ、代替案をセットで提案することではないでしょうか。

たとえば、「あるデザインソフトをアップデートしたいが、今ソフトウェア修正を当てるとプロジェクト進行中のクリエイティブ実務に重大な不具合が生じる」という状況があるとします。安易に考えれば「例外は認めない、すぐにアップデートしろ」というコミュニケーションになってしまいますが、良いセキュリティエンジニアはビジネスの領域における重要性などを捉えつつ、たとえば次のような選択肢を提示します。

  1. プロジェクトが完了するまでの期間のみ、アップデートを猶予します
  2. 猶予する代わりに、当該端末のログをSOC側できちんと重点監視します
  3. また、万が一の際に、論理的にネットワーク隔離して、他への影響を防ぎます

お客さまや開発チームが「どこへ、どれくらいのスピードで行こうとしているのか」を考慮し、ビジネスゴールを見据えたうえで、濃淡をつけたコントロールを行う。こうした引き出しを多く持つことが、良いセキュリティエンジニアになるうえで重要だと思います。


ーーそうした引き出しを充実させるにはどうすればいいでしょうか。

阿部さん:私たちの実践に照らせば、「セキュリティエンジニアにも、商用プロダクトの開発を経験してもらう」は有用な手立てといえるかもしれません。

ーーセキュリティエンジニアが「開発」を経験するのですか?

阿部さん:そうです。弊社のSOCでは、高度なログ分析や通知・報告をサービスとして実現するためのプラットフォームや分析基盤システム(GitLab、CI/CD、ChatOps、Kubernetes上に構築された20以上のコンテナ群)を、メンバー自身が内製開発しています。

この「自分たちでプロダクトをつくり、実際に商用として運用する」というプロセスを経験することで、以下のような開発者の視点を身をもって学べます。

  • CI/CDパイプラインを急に止められたら、どれほど開発効率が落ちるか
  • 不具合が発生し、深夜にコンテナが動かない時のプレッシャーの大きさ
  • セキュリティ要件を後から追加されることが、どれほどアーキテクチャに影響を与えるか

つくる大変さや動かない苦しさを当事者として経験したセキュリティエンジニアならば、開発者に対してより実務的な提案ができるようになるでしょう。


まず攻撃手法を身をもって学ぶ。セキュリティエンジニアの成長ロードマップ

ーーこれからセキュリティを本格的に学ぼうとする場合、どのような基礎知識が前提として必要になりますか。

阿部さん:極論を言えば、IT関連ならどの領域から入っても、すべてセキュリティに繋がっていますので、どこからでもスタートできるでしょう。

ネットワーク出身なら通信防御やパケット解析に活きますし、サーバー構築なら堅牢化、Web開発ならアプリケーションの安全な実装に繋がります。なにかしらIT技術の特定の領域を深く触った経験があることは、セキュリティを理解するうえでアドバンテージになります。

システムがどうつくられているか、どのように動くかといった構造が理解できていれば、サイバー攻撃が行われてしまったシステムログを見たときにも、「ここで権限昇格が起きて、サーバー権限からルート権限へ侵入段階が遷移しているな」といった攻撃プロセスの想定がスムーズにできるようになるでしょう。

ーー全くのセキュリティ初心者が、実務レベルのスキルを身につけるための具体的な「学習ロードマップ」を教えてください。

阿部さん:私が若手のメンターになったとしたら、まずは「実際に攻撃(攻め)を体験しよう」と伝えたいです。

なぜなら、「弓矢で攻められるのか、刀で切られるのか、拳銃で狙われるのか」という、敵の攻め手(攻撃構造)を知らなければ、どのような盾(ディフェンス)を構えればいいのか見当がつかないからです。


ーー具体的にどのように攻撃を学べばいいでしょうか。

阿部さん:たとえば、まずは次の2つの領域について実際に手を動かして脆弱性体験をしていただきたいです。

  • Webアプリケーション脆弱性診断:安全なデモ環境などを用意し、SQLインジェクションやクロスサイトスクリプティング(XSS)などの手法を用い擬似的な攻撃を行う。アプリケーション層で「意図しない動作」がなぜ起きるのか、ソースコードレベルの構造的な脆弱性を理解する
  • プラットフォーム(ネットワーク)診断:ポートスキャンをかけ、ネットワークやOSの脆弱性を突いて侵入を試みる。TCP/IPプロトコルの挙動や、OS・ミドルウェアの権限管理、パケット構造への理解を深める

この2つの領域で参考書を片手に、テスト環境に対して自分の手で攻撃コードを動かしてみるのがお勧めです。

「攻め手」を経験したエンジニアならば、ログを見た時の解像度が変わるはずです。「あ、このログにPHPの怪しい引数が混ざっているということは、あの攻撃を仕掛けられているな」といったような、直感が得られるのです。攻防両面の現実的な体験を持つことが、ステップアップにつながるでしょう。

【関連記事】セキュリティエンジニアにおすすめの資格8選!取得するメリットも紹介

AI共存時代における人間に残る介在価値と、強みを決定づける根源的な「志」

ーー生成AIの台頭により、セキュリティエンジニアの業務はどう変化していくでしょうか。

阿部さん:現時点での考えですが、人間が毎日繰り返しているような定常的なセキュリティ業務(パターン化されたログのチェックや定型的な攻撃の検知・防御、簡易な脆弱性診断など)は、ほぼすべてAIに代替・自動化されていくと思います。その中で、人間に残る介在価値は以下の4つに集約されると考えています。

  1. AIそのものをつくれる
  2. AIを育てられる(学習データや脅威インテリジェンスを与えられる)
  3. AIを適切に使える(言語化してインプットでき、ハーネスで安全性を保てる)
  4. AIのアウトプットの良し悪しを判断(目利き)できる

特に重要なのが、4つ目の「判断(目利き)できる力」です。

AIのアウトプットにはハルシネーション(もっともらしい嘘)や、一見正しく動くものの「認証情報をコードに直書きしている」といった致命的なセキュリティ欠陥が含まれることが多々あります。AIが出した構成やコードに対して、「ログのチェック結果として矛盾や見逃しがないか」「セキュリティ上の問題を内包してしまっていないか」といった点をレビューし、ストップをかけるうえでは、いまのところ、技術の奥底にある仕組みやプロトコルをしっかり理解している人間の方が有利です。

AIを補助輪のように使いこなして生産性を高めるのは素晴らしいことですが、裏側で「なぜその攻撃が成立するのか」「なぜこの対策が有効なのか」という構造の根本理解がないまま、AIのアウトプットをコピペしているだけでは、プロとしての市場価値は失われていきます。また、お客さまのシステム環境特有の「ユニークな実装」や業務・運用プロセスにある「組織の癖」を考慮したセキュリティの品質担保は、まだ人間でなければ対応できない領域でしょう。


ーー最後に、これからサイバーセキュリティの領域を志す方に向けて、最も大切にしてほしいマインドセットを教えてください。

阿部さん:セキュリティ、特に「守り(ディフェンス)」の仕事は、直接的な利益を生み出しにくく、評価も得にくい地味な側面があります。そのため、単に「技術が面白いから」という知的好奇心だけをモチベーションにしていると、数年同じ業務を続けたところで「自分は一体何のためにこれをやっているんだろう」と飽きや迷いが生じやすい。

そこで自分を支えてくれるのは、「何かを守りたい、世の中を少しでも良くしたい」という根源的な志や使命感だと思います。


私はチームメンバーとの1on1で、よくこんな質問を投げかけます。「明日、1週間、1ヶ月、1年、完全に自由で、コストの心配もせず何でもやっていいと言われたら、あなたは何を成し遂げたい?」と。

期間が「1日」や「1週間」だと、普段の忙しさからの解放を求めた回答(mustやshouldの消化)になりがちですが、「1ヶ月」「1年」という単位では、その人が本当に心からやってみたい「want」や「vision」が言葉として溢れ出てきます。

自分がやりたい「Wants」を、組織や社会の課題解決と結びつけ、倫理観を持って長く、粘り強く取り組み続けること。セキュリティという広範な領域を取り扱う仕事においては、長く続け経験を重ねること自体が最大の強みになり、良きスペシャリストへと通じる道になります。ぜひ、志をもって、長くその道を楽しみ歩んでもらいたいですね。


【関連記事】選ばれるクラウドエンジニアに必要なのは「ビジネスとの対話」──クラスメソッド濱田孝治が語る市場価値を高めるキャリアアップ戦略

取材・文・撮影:はてな編集部

制作:マイナビ転職 アンドエンジニア編集部

``