メンバーの共通点は「好奇心」。プロダクトライフサイクルのあらゆるフェーズを支援するProduct Securityチーム #MercariSecurityPrivacy

メルカリのセキュリティ&プライバシーに関するチームを紹介する連載、題して『Meet Mercari’s Security & Privacy Team』。今回は、開発者がプロダクトの要件定義からリリースおよびメンテナンスまでの各フェーズにおいて、セキュアなプロダクトを設計・開発できるように支援しているProduct Securityチームを特集します。

チームメンバーの出身国も経歴もさまざまで、柔軟な組織体制のもと多岐にわたるプロジェクトを担当していることが特徴です。多様なバックグランドを持つメンバー7人に、チームに期待されること、目指すことをたっぷり語ってもらいました。

この記事に登場する人


  • Nikolay Elenkov

    Security Engineeringチームのディレクター。2020年7月にメルカリ入社。現在は、SDLC、自動化、セキュリティコンサルティング、Securityチームの拡大に取り組んでいる。PKI、スマートカードやエンタープライズ系の開発経験を経て、Web・モバイルセキュリティに関わる。『Android Security Internals』の著者。Android Security Symposium、HITCON、Qualcomm Product Security Symposiumなどで講演。LINEアプリケーションセキュリティとセキュリティ開発チームをリードし、LINE Security Bug BountyやBecksセキュリティミートアップの運用に関わる。


  • Azeem Ilyas

    2018年10月にメルカリに入社し、Securityチームのメンバーになって約4年。前職では、Samsung UKでモバイルセキュリティエンジニアとして、さまざまなSamsung Galaxy Android端末(フルスタックブートローダからアプリレベルまで)の脆弱性を発見する業務に従事。SASTやDASTツールの導入、Design Docのレビュー、ペネトレーションテストの実施、メルカリのセキュリティチャンピオンプログラムのコンテンツ作成に関わる。また、メルカリOpen Source Program Officeの一員として、メルカリOSS社内プロジェクトのオープンソースステータスの取得やサードパーティーライセンス準拠をサポート。


  • Joshua Williams

    2020年7月に入社。Securityチームに異動する前はメルペイのBankおよびPoint-backマイクロサービスのBackendを担当。現在は、Design Docのレビューや社内セキュリティツールのコードの品質向上に従事。


  • Nirat Tatiyanupanwong

    セキュリティを担当する前は、Backendエンジニアを務める。2018年2月にメルカリに入社し、チームのリソースが十分に揃い、軌道に乗るまではメルカリとメルペイの両方を担当。チームとしては、セキュリティを前倒しで実践するシフトレフトセキュリティを推進し、主にメルカリグループのセキュリティデザインのレビュー、コンサルティング、プロダウトのペネトレーションテストを行ってきた。また、メルペイの業務に深く関わったことで、PCI-DSS ISAの資格を取得。リソース不足を補うために、他のメンバーとともにセキュリティチャンピオンプログラムを運営し、社内全体のセキュリティ意識を高める活動にも従事。


  • Shaokang Sun

    2018年8月にプロダクトセキュリティエンジニアとしてメルカリに入社。ここ数年は、主にメルカリおよびメルペイのエコシステム全体のセキュリティペネトレーションテストやセキュリティデザインのレビューに携わり、SDLCに自動化したさまざまなセキュリティソリューションを導入することに取り組んできた。ウェブおよびAPIアセットを守るためにWAFの導入を支援。また、会社のセキュリティに対する関心と意識を高めるためにセキュリティチャンピオンプログラムで発表したり、ワークショップを運営。


  • Viktor Ferter

    2022年9月にメルカリに入社したばかりの新しいメンバー。社内でプロダクトセキュリティエンジニアとして活躍するためにキャッチアップ中。メルカリのインフラは巨大で、多くのことを学ばないといけないが、ドキュメントが豊富に揃っていることに感謝。以前は、Docler HoldingでITセキュリティスペシャリストという似たような役割を担い、またKPMGでペネトレーションテストやコンサルティングを行った経験も持つ。主にウェブおよびストリーミング技術に注力してきたが、キャリアを通して何かしらの形で主要なセキュリティ領域に携わったことがある。

最新のセキュリティ基準に適合しながら、お客さまのセキュリティ&プライバシーに対する期待値も満たす

──まずは、Product Securityチームのミッションから教えてください。

@nikolay: Product Securityチームのミッションは、すべてのメルカリプロダクトおよびサービスが最新のセキュリティ基準に適合しながら、お客さまのプライバシー&セキュリティに対する期待値も満たすことです。また、メルカリのビジネス上の目標にもできる限り合わせ、セキュアなプロダクトをリリースできるようにProductチームをサポートします。

Nikolay Elenkov (@nikolay)

@Azeem: 要件定義からリリースおよびメンテナンスまでのすべての段階において、セキュアなプロダクトを設計・開発できるように開発者をサポートすることです。リリースするすべてのプロダクトは、お客さまのセキュリティとプライバシーを考慮して設計しないといけません。その際、開発担当チームに負荷をかけることなく、むしろ迅速に高品質なプロダクトをお届けできるように支援していく必要があります。

──チームの特徴についても教えてください。

@Azeem: メンバーは、ブルガリア、中国、ハンガリー、タイ、イギリス、アメリカなど、さまざまな国から集まっています。ダイバーシティに富んだチームであり、お互いを認め、尊重しています。メンバーは自分が興味を持った領域に取り組んだり、リサーチしたりできるチャンスもあります。例えば、今まで自社でシークレットをスキャンするソリューションを開発したり、意図的に脆弱性が存在するWebサーバの構築を行いました。

@Eli: 大変素晴らしくかつユニークなカルチャーの一つとして、Securityチームと開発チームとの間でとても良い関係を築けている点が挙げられます。チームとしても門番のように振る舞うのではなく、開発チームと協力することを目指しています。設計の初期段階から積極的に関与することで、開発チームと一緒に脅威モデリングやセキュリティデザインのレビューを行うようにしています。また、みなさん、セキュリティ意識が高いため、デザインに問題がないか、システムリスクを抱えていないかを確認するため、開発チームの方から相談に来られることもあります。

──みなさんがメルカリ入社を決めた理由はなんだったのでしょうか?

@nikolay: もともとはメルカリのモダンな開発・デプロイメントスタック(Goやマイクロサービスアーキテクチャ)に興味を持っていました。入社後は、開発、プロダクト、Securityチームが常に最新技術を習得できるように、そしてGoogle Cloudを最大限活用できるように、裏ではもっと色々な取り組みが行われていることがわかりました。幸運にも、非常に推進力があるチームに温かく迎え入れてもらい、最終的にはここのカルチャーも大変気に入りました。

@Azeem: メルカリの職場環境は最高です。また、人間関係も素晴らしいです。メルカリでは、社内で「孤立する」ということは全くありません。チームランチやチームビルディングのイベント、部活動なども多く開催され、参加が推奨されています!

Azeem Ilyas (@Azeem)

@าirat: メルカリのカルチャーが大好きです。うまく言葉にするのが難しいですが、同僚との対人関係と仕事としての付き合いのバランスが何ものにも代え難いです。ちょっとこぼれ話ですが、先日、メルカリグループ日本事業責任者であるNaokiさんがふらっとAzeemさんの席に立ち寄り、セキュリティチャンピオンのTシャツが欲しいと声をかけてきた、といったこともありました。

上級執行役員 SVP of Japan Region(メルカリグループ日本事業責任者)兼 株式会社メルコイン代表取締役 CEOおよびセキュリティ名誉チャンピオンの青柳直樹!

@Eli: メルカリでは業務を通して自己学習と自己成長の機会がたくさんあると思っています。業務改善のための新しいソリューションやツールを提案したり、試したりすることができます。同時に、スキルを向上させたり、社外の優秀な方々と交流するための研修やカンファレンスに参加する機会もあります。

@viktor: メルカリに惹かれた一番の理由はカルチャーですね。すでに友人がメルカリで働いていて、素晴らしい同僚のことや色々なアクティビティに参加している話を聞いていました。メルカリは、職場はただ単に仕事をする場ではなく、社会的活動であること、そしてチームの結束力やモチベーションが個人のスキルと同じくらい生産性を高めるために重要であることを心底理解しています。オフィスの雰囲気が素晴らしく、仕事も楽しく協働できています。

外から見ると、メルカリはとても実用的なプロダクトとビジネスモデルを有している会社だと思われているかもしれません。しかし、入社後はメルカリのビジネスは非常に幅があって深みもあることに気づきました。また、メルカリは言語の壁を越えたコニュニケーションに対して、強いコミットメントを示していることも興味深かったです。最も驚いたのが、入社前と後で期待値に全くギャップがなかったことです。多くの会社では、外から見たときは魅力的に感じ、心が惹かれることも多いですが、メルカリは入社後でも同じ気持ちでいました。

Viktor Ferter (@viktor)

開発者、PM、そして経営層、組織全体でセキュリティの重要性を認識

──プロジェクトの成果や反響を教えてください。

@nikolay: Product Securityチームとして、メルカリが開発している最新のプロダクトやサービスを常にサポートすることに努めています。開発チームとWebアプリケーションのマイクロサービスへの移行、WebアプリケーションのセキュリティアクセストークンDevSecOpsの推進など、純粋なエンジニアリング関連の問題について密に連携しています。ときには、プロダクトのデザインやUXのディスカッションにも深く関与したり、決済サービスのPCI DSS認証取得の支援もしています。

また、Azeemさんもお話しした通り、社内のプロジェクトに関しては、セキュリティを堅持しながら開発者への負担を減らし、サポートすることを目的としています。自動化を改善し、Secure Development Lifecycle(SDLC)を最適化する方法を日々模索しています。詳細は、コードスキャニングとモバイルセキュリティに関する過去の記事をご確認ください。新しいテクノロジーをリサーチし、メルカリの開発プロセスに適用・統合できる最善の方法を評価したり、はたまた、基本に立ち返り、ゼロから暗号化アルゴリズムを実装することもあります。

@execjosh: 主にDesign Docのレビューや社内セキュリティツールのコードの品質改善に取り組んでいます。また、Threat Detection Engineeringチームとも密に連携し、最新のGoのデザインパターンやベストプラクティスに則ってSOARシステムが更新されているか確認しています。

Joshua Williams(@execjosh)

@Azeem: プロダクトセキュリティエンジニアの人数も限られている中、グループ内の各カンパニーをサポートする必要があるため、Securityチームが常にあらゆる場面に顔を出すわけにはいきません。そのため、メルカリではセキュリティチャンピオンプログラムを開始しました。本プログラムは定期的に実施され、重要なセキュリティ原則について学び、特定のセキュリティトピックを深掘りすることで、開発者がセキュリティチャンピオンになれるように働きかけています。各プログラムのサイクルの終わりに、コントリビューションに応じてチャンピオンにアワードを付与しています。各チャンピオンは自分の担当ドメインでの重大なセキュリティ上の問題を設計およびコードと依存関係の両観点から特定、修正します。

開催したすべてのセキュリティチャンピオンのイベントで参加者からフィードバックを集め、10段階で評価してもらいました。これで各イベントのNPSを測ることができます。ほぼすべてのイベントは60-80の範囲内に収まり、NPSのガイドラインによると、大変いいスコアだと言えます。また、参加者に対してヒアリングを行い、理論的な話よりも、もっと実践的なことを学びたいことが分かりました。これ以外にもいただいた色々なフィードバックを活かすことで、次のサイクルのセキュリティチャンピオン研修を劇的に改善することができます。

@Eli: 主要なGitHubレポジトリにGitHub Advanced Securityを無事に統合させることができました。これにより、各対象レポジトリ上で静的コードスキャンとシークレットスキャンを自動化できます。その結果を用いて早期に問題を特定して、修正することもできます。また、プルリクエストにクレデンシャルが含まれるのを防ぐためのPush Protectionや、各レポジトリのセキュリティボードのサマリーなど、その他にも便利な機能がたくさん揃っています。今後は、各レポジトリに表示する、健全性を示すセキュリティバッジの数をさらに増やす予定です。

@าirat:私は主にセキュリティデザインのレビュー、コンサルティング、さまざまなプロダクトやサービスのペネトレーションテストを担当しています。メルペイの業務に深く関わることも多いがゆえに、最近はPCI DSSのセキュリティ内部監査人に認定されました。しばらくの間は外部監査人を使用していましたが、その状況を変えたいと考えていました。最近は監査のプロセスに関わっているメンバーの負担を軽減できるように、できる限り監査を自動化する取り組みを開始しました。

@nikolay: ソフトウェアやセキュリティと同じようにプロジェクトも常に進化しています。開発者から継続的にフィードバックを集め、開発プロセスにおける負荷をできる限り最小化し、誤検知を減らし、全体的な使い勝手を向上させるためにソリューションの改善と最適化に努めています。使用しているサードパーティツールを置き換えるようなシンプルなソリューションもあれば、多くの関係者とのプランニングや調整が求められる比較的長期的な開発を必要とする場合もあります。

一つ例を挙げますと、社内のマイクロサービスで幅広く使われているGoプロジェクトとの相性がいいGitHubのdependabotを採用するというソリューションがありました。一時的にトークンを付与するシステムを設計したり、dependabotを使用するすべてのプロジェクトをシームレスに統合する仕組みを考えなければいけませんでした。今後、さらに詳細を説明した記事を書きたいと思います!

@าirat: 開発者、PM、経営陣がセキュリティの重要性を強く認識してくれたことが一番の成果だと思っています。これにより、メンバーが関わっている他のプロジェクトも非常にスムーズに進むようになりました。

異なるレベルの抽象度で業務を遂行するメンバーの共通点は「好奇心」

──現在、チームが抱えている課題はなんでしょうか??

@Azeem: 会社の動きがとても速いことです!新しい技術・ドメインを速いスピードで採用するとなると、Product Securityチームもその技術・ドメインの仕組み、設計上の制限、セキュリティへの影響を理解しないといけません。安定した環境を望んている方にとっては辛いかもしれませんが、カオスかつ高速な開発プロセスを好み、新しい技術について学んだり、試したりするのが大好きな人にとっては最高の環境です。

@nikolay:最新の技術やプロダクトを常に把握するだけでなく、チーム内の変化や社内の組織変更にも素早く適応していく必要があります。メルカリでは、特定のプロジェクトマネジメント手法や開発プロセスを強制していませんので、社内のさまざまなチームと仕事する上で柔軟性を持って対応することが極めて重要となります。また、ツールやテクノロジーに関しては、メルカリではほぼボトムアップのカルチャーが浸透しているため、セキュリティツールやプロセスを社内に幅広く徹底させるためには、良いアイディアであることをエンジニアに説得するとともに、開発スピードを落とさないことを証明しなければなりません。

──どのような方がこのチームにフィットすると思いますか?

@Azeem: 間違いなく、色々なものをバラバラにし、再構築することが好きな方ですね。メルカリのような大きなシステムに飛び込むことを恐れず、短期間で隅々まで理解し、他の方が見逃した可能性のあるギャップを特定することができる方です。通常、開発者がセキュリティエンジニアになることが多いですが、通訳者など、技術的な経歴を持っていない方もチームに加わったことがあります。どれだけ意欲も持っているか、またシステムの仕組みをどれだけ早く理解できるか次第でチームにフィットできるかが変わってきます。

@าirat: 最初は趣味としてセキュリティに足を踏み入れた開発者も多いかと思います。実際、私自身も含め、チームの半分以上がこのタイプです。Azeemも言ったとおり、巨大なシステムのため、学び、学び直し、再確認しないといけないことがたくさんあります。十分に理解していると思ったことでも1か月以内に劇的に変わることもあります。このような絶えず変化し続ける環境が好きであれば、応募前に軽くお話しすることもできます。また、短中長期的なソリューションに対する多岐にわたる代替案を考え、関係者と期待される成果や落としどころについて議論できる方も大歓迎です。

Nirat Tatiyanupanwong (@าirat)

@nikolay:AzeemさんとNiratさんもお話ししたように、さまざまな経歴をお持ちの方をお待ちしています。メンバー全員に共通していることとして、好奇心旺盛、異なるレベルの抽象度で業務を遂行できる能力、コンピューティングに関する幅広い知識などが挙げられます。セキュリティエンジニアになるためのこれといったキャリアパスはなく、チャレンジしたい気持ちがあればいつでもセキュリティエンジニアにキャリア転向することができます。詳細はまた別の記事を書いていきたいですが、こちらのParisa TabrizChris Palmerの2つの記事はセキュリティエンジニアになるためにそれぞれが辿ったキャリアパスや直面した課題についてとてもきれいにまとめています。

メルカリでセキュリティエンジニアとして活躍するためには、あらゆることを受け入れる心構えとセキュリティに妥協することなく柔軟に対応することが大切です。ルールを徹底させたり、ルールを導入することで影響を受ける人たちからのフィードバックを得ずにセキュリティソリューションを展開するというやり方に慣れている方は、基本的にはメルカリでは成功できません。

また、プロダクトセキュリティの領域では、コミュニケーションやデザインがとても重要ではありますが、それに加え、エンジニアリングやソフトウェア開発のしっかりとした基礎を有していることも極めて重要です。自動スキャニングツールも日々進化していますが、それらは成熟したセキュリティプロセスの一部にしかすぎません。主にツールを用いたペネトレーションテストやチェックリストをベースとしたコンプライアンス活動の経験をお持ちの場合、メルカリに入社後、キャッチアップに苦労することもあります。

──現在のProduct Securityチームでは、どのような経験を積むことができますか?

@nikolay: 先ほども述べたとおり、メルカリのエンジニアリングチームはモダンな開発スタックやプロセスを活用し、常に最新のクラウド開発の状況も把握しています。もし、クラウド技術のセキュリティ対策、脆弱性検知ルールの自動化、モバイル・ウェブ開発の限界を押し広げようとしている開発チームと連携することに興味を持っている場合は、間違いなく、メルカリこそが最高の職場だと思います。

プロダクトセキュリティエンジニアとして、好きなツール(オープンソースや商用)を使用したり、独自のツールを構築してセキュリティコミュニティにリリースしたり、セキュリティにおける最新の開発状況を理解するためにオンライン/オフラインの研修やカンファレンスに参加することができます。また、初期段階からプロダクトやサービス開発に影響をもたらすチャンスもあります。

メルカリは、会社としては比較的フラットな組織体制であり、Trust & Openessのカルチャーにより、気軽に関係者に連絡を取ったり、情報にアクセスしたりできます。また、すでに決定した設計について質問するだけでなく、実際にプロダクトや会社の方向性についても意見することもできます。メルカリのエンジニアリング組織は非常に多様性に富んでいるため、幅広い技術に携われるだけでなく、さまざまな国の方や文化的背景をお持ちの方と一緒に働くことができます。

@Azeem: 新しい技術を試したり、プロジェクトに取り組める機会が本当にたくさんありますよね。アイディアがあれば、そのアイディアについて提案することはまったく問題ないですし、アイディアを実現するための時間も十分に確保できます。

@Eli: 自己学習のためのオンライン研修も会社から多く提供されています。それとは別に、技術試験や認定試験にチャレンジすることを個人OKR(objectives and key results)として設定することもできます。

Shaokang Sun (@Eli)

@าirat: 少人数のチームのため、現在取り組んでいる業務やまだ手を付けられていない業務を一緒に推進してくれる人を探しています。チームとして動くことができ、アイディアをプロジェクト化できれば、無限の可能性が待ち受けています。ただし、予算は無限ではありませんが(笑)。

メルカリのプロダクト開発をサポートし、セキュリティの最先端にいることを目指す

──では、チームの将来の目標は?

@Azeem: ベンダーに過度に依存することなく自社のツールを構築することです。また、世界に通用するツールをオープンソース化し、グローバルレベルで他の部署のメンバーと共有し、メンテナンスすることです。

@nikolay: メルカリのプロダクト開発をこれからも支援しながら、ソフトウェア開発とセキュリティの最新動向を追っていきたいです。メルカリのビジネスが多様化し、新たなドメインに足を踏み入れるに伴い、Product Securityチームもあわせてスケールし、各ドメインの経験を積んでいく必要があります。IoTやAIベーステクノロジーのような変化のスピードが速い領域でセキュリティを担保するのはチャレンジングではありますが、同時にイノベーションとリサーチの機会が溢れています。

@viktor:メルカリでは最先端のテクノロジーを活用しているため、斬新な攻撃経路を特定したり、それらから身を守るためのセキュリティツールを構築する機会が実際に巡ってきます。この領域でのリサーチと開発を行うことでメルカリのセキュリティが強化され、最終的にインターネット全体のセキュリティが高まることに寄与するはずです。

────最後に読者の皆さんにメッセージをお願いします!

@Azeem: みなさんに、ぜひ力を貸してもらいたいと思っているプロジェクトがたくさんあります。また、メンバーも自由にいつでも取り組んでみたいプロジェクトを提案することができます。

– 新規アプリケーションのDNS検知の自動化やDASTツールへの追加
– 内製のSCAやサプライチェーン分析ツール
– レポジトリやサービスリスク評価の自動化
– 課題を抱えている領域について社内のCTFプラットフォームを開発
– ゲーミフィケーションを活用して社内の教育プログラムの開発と改善

@nikolay: Mercari Securityで掲げている共通ビジョン「Security and privacy by design, by default, and at scale」の実現に向けて、セキュリティのあらゆる面に関わり、ライフサイクルを通してプロダクトをサポートし、セキュリティをスケールさせながら実装することに挑戦したいと思っている方、大歓迎です。スピード感のある職場、クラウドテクノロジー、自動化、モバイル・ウェブアプリケーションのセキュリティ対策が好きな方、ぜひ応募をご検討ください

関連記事 サクッと読める!✨

本日、東証プライム市場へ変更しました! #メルカリな日々

2022年夏、メルカリはインドのベンガルールに新たなエンジニア開発拠点を設立します #メルカリな日々

【祝!メルカリShops本格提供開始】ソウゾウメンバーに今の気持ちを突撃取材! #メルカリな日々

関連記事 読み応えアリ✨