こんにちは。2023年に新卒で入社したn01e0です。研修・OJTを終え、セキュリティ対策室に配属されてから半年がたちました。
はやいですね。
やってきたこと
ASM
ペパボでは、複数のサービスが日々、様々な機能を開発している上、新たなサービスも増えています。
セキュリティ対策室として、事業部を横断して見るためにも、まずはリソースの把握が重要だと感じ、セキュリティ上のリスクを理解するためにも、まずはAttack Surface Managementに取り組みました。
ペパボが所有しているIPレンジに対する定期的なポートスキャンや、サービスのドメインに対するスキャンは既に行っていますが、よりアクティブに収集・管理を行うため、改修を行いました。
外部に公開しているサービスのドメインはもちろん、社内で利用しているツールなどのドメインも監視対象に加え、さらにCertificate Transparencyの情報を利用してサブドメインの自動収集も行っています。
セキュリティに関することいろいろ
- 脆弱性診断
- 新規サービスの開始や機能追加時など、社内でも脆弱性診断を行っています
- 脅威モデリング
- サービスの設計段階でセキュリティリスクを洗い出すために行っています
- EDR(Endpoint Detection and Response)のログ監視
- エンドポイント端末から上がってくるアラートなどのトリアージをしたり、監視ルールの作成を行っています
- セキュリティレビュー
- 各サービス・リポジトリのPRに対し、セキュリティ対策室としてレビューを行うこともあります
- 脆弱性情報のトリアージ
- 日々発行されるCVE-IDやGitHub Advisoryの情報を収集・トリアージしています
- インシデントレスポンス
- 社内CISRTとしてセキュリティインシデントへの対応だけでなく、障害対応にも参加しています
- 開発プロセスにおけるセキュリティの組み込み
- CIでSASTを簡単に導入できるようにしています
- 教育・研修
- 2024年に新卒で入社したエンジニア向けに研修を行いました など、セキュリティに関することをいろいろやっています。
幅広い内容に取り組めるのは事業会社でセキュリティエンジニアをするメリットだと改めて思います。
インシデントレスポンス
技術的に面白かったインシデントの共有をします。
Fileless Executionのアラートが発生し、見てみるとmemfd_create
で作成したanonymous file
をfexecve
で実行している。というものでした。
memfd_create
についてはたまたま以前調べていたので調査を行いました。
アラートの詳細を見てみると、実行しているプロセスの実行ファイルは/memfd:spawn_worker_trampoline
となっていました。
memfd_create
で作成したファイルを実行すると、このようにmemfd:
のprefixがつきます。
この情報をもとに調査してみると、DataDogのTracerがmemfdにバイナリを書き込んで実行しているようでした。すごい
Rustで書かれているのも面白いし、memfd
で実行しているのも面白いですね。
ライブラリとして単一バイナリを置くだけで機能させることを考えるとこの方法になるんでしょうか。
検知できたこと、そして誤検知であったことが何よりうれしいです。
セキュリティ研修の実施
今年入社した新卒エンジニアに向けてセキュリティ研修を実施しました。
「セキュリティエンジニアになってもらう」というより、日頃のアプリケーション開発や運用、業務におけるセキュリティの観点を身に着け、脆弱性を見つける・修正する・作らない技術を身につけることを目的としています。
- セキュリティレビュー体験
- 研修中にRails Tutorialで作成したアプリケーションに対し、脆弱な実装を含むPRを作成し、レビューに取り組んでもらいました
- EDRの実演
- 疑似マルウェアを作成し、EDRの検知とレスポンスの流れを実際に見てもらいました
- 脆弱性情報のトリアージについての説明
- PoCを実装し、脆弱性を放置した場合のリスクについて理解してもらいました
- 脆弱性診断・修正体験
- レビュー体験や実例の紹介で「脆弱性の発生しやすいパターン」をいくつか理解してもらったあとは、多くの脆弱性を実装したRails製の「やられアプリ」を対象に脆弱性を探し、修正をおこなってもらいました
セキュリティ研修は全体を通して「自分で調べ、手を動かして理解してもらう」ような形式にしています。
最初に技術的な説明は行いましたが、セキュリティにおいて重要なのは「違和感」を感じる力だと思っています。そのため、とにかく多くのコードを読み、アプリケーションを触り、その違和感を実際の攻撃と結びつけてもらうようにしました。
受講者のやる気と実力に依存した内容ではありましたが、期待通り楽しく学べていたようなので良かったです。
これからやること
Wazuhの活用
Wazuhはオープンソースのセキュリティプラットフォームです。
上記の記事の通り、全社でWazuhの導入を行い、ログの収集・Slackへの通知などの整備を行いましたが、やはりアラートの量が非常に多く、管理が大変です。
データは無いよりあった方が当然うれしいですが、あまりにも多いとノイズになり大変です。
セキュリティツールは「導入すれば安全になって終わり」というものではありません。
情報を活用し、偽陽性を減らすなど、より見やすくしていきたいと考えています。
脆弱性情報の管理
- CVE
- JVN
- GitHub Advisory Database
- EDR製品からの情報
- Xなどのソーシャルメディアからの情報 を収集し、トリアージを行っていますが、こちらも非常に量が多いです。
近年、発行されるCVE数は増加しており、自社で使用・依存しているライブラリやソフトウェアなどの情報だけでも膨大です。
セキュリティや監査、大量に流れてくる情報をうまく処理する。という点ではデータ活用の知見も必要ですね。
おわりに
ペパボは事業会社ということもあり、セキュリティ対策室では「セキュリティに関すること全部」をできます。新しい技術や知識を学び続ける環境が整っており、実際に業務に反映させることができるのが魅力です。
また、事業部を横断した組織ということで、連携も重要になってきます。そんなとき「雑に聞ける」環境が整っているのも非常にありがたいことだと思っています。
引き続き、セキュリティの最前線を意識して活動し、さらに強力な防衛体制を築いていきたいと思います。