mercan

「ゲートキーパーではなく伴走者」メルカリ&メルコインのプロダクトセキュリティにおけるスタンス #今メルカリとメルコインが一緒に働きたい仲間

2021-12-17

「ゲートキーパーではなく伴走者」メルカリ&メルコインのプロダクトセキュリティにおけるスタンス #今メルカリとメルコインが一緒に働きたい仲間

Share

  • X
  • Facebook
  • LinkedIn

求人情報には、必須・歓迎条件、求める人材像が記載されていますが、もう少しくわしく言うとどんな人?そこで誕生したのが、メルカリ・メルペイで採用に関わるメンバーが“仲間募集中”なチームに根掘り葉掘り質問していくシリーズ企画「#今メルカリとメルコインが一緒に働きたい仲間」!

今回登場するのは、メルカリのプロダクトセキュリティを担当するNikolay Elenkov(@nikolay)と、メルコインのセキュリティチームのマネージャー竹井悠人(@yuto)です。

メルカリグループにおける「プロダクトセキュリティ」とは、開発の企画段階から参加し、セキュリティ観点から脆弱性などを指摘し、お客さまへ安心・安全に新機能などを届ける役割を担っています。現在ではメルカリのプロダクトセキュリティが中心となり、メルコインと連携しながらより強固なセキュリティ体制を目指しています。

…と、ここまで書くとメルカリ・メルコインともにプロダクトセキュリティチームで求める人材は同じでは?と思われますが、実はけっこう違いまして。そこで今回は、それぞれのプロダクトセキュリティの役割や業務内容、連携体制などをメンバーに聞いてみました。

この記事に登場する人


  • Nikolay Elenkov(ニコライ・エレンコフ、@nikolay)

    PKI、スマートカードやエンタープライズ系の開発経験を経て、Web・モバイルセキュリティに関わる。『Android Security Internals』の作者、Android Security Symposium, HITCON, Qualcomm Product Security Symposiumなどの発表者。LINE のアプリケーションセキュリティとセキュリティ開発チームをリードし、LINE Security Bug Bounty やBecks セキュリティミートアップの運用に関わる。2020年夏にメルカリのProduct Securityチームにジョイン。現在は、SDLCの展開とセキュリティオートメションに取り組む。


  • 竹井悠人(Yuto Takei、@yuto)

    東京大学理学部情報科学科卒、同大学院 コンピュータ科学専攻修了のソフトウェア エンジニア。Google等でのインターンや、経済産業省・IPAの行う未踏事業・未踏アドバンスト事業への採択、スタートアップ創業などを経験。暗号資産には2016年から関わり、国内最大の取引所でCISO・ブロックチェーン開発部長を歴任。その後、暗号資産ブロックチェーンをビッグデータ的に分析するアルゴリズムを開発するBassetを創業、コンプライアンスや資金洗浄対策に取り組む。2021年夏メルカリグループによるBasset株式の取得によってメルコインに参画。現在は取引所の堅牢なセキュリティ体制の構築に日々取り組む。


メルカリグループ全体を見る役割と、暗号資産に特化した役割

ーまず、メルカリとメルペイにおけるプロダクトセキュリティチームそれぞれの必須条件を見てみましょうか。

<メルカリ>
・ 学士号または同等の実務経験
・ 次に記載されている開発言語の内、一つ以上の言語に精通していること:Go、PHP、Java、Ruby、Python、C/C++、Objective-C、Swift、KotlinまたはJavaScript
・ 2年以上のシステムセキュリティにおける分析経験(ペネトレーションテスト、Webアプリケーションセキュリティテスト、脆弱性スキャン、脅威モデリング等)
・ モダンWebアプリケーションアーキテクチャ、TLS、HTTP、TCP/IP、標準ネットワーク、およびシステムセキュリティ技術への深い理解
・ 分散型バージョン管理システム(git)、依存管理ツール、ビルドシステム、CI/CDなどの、モダンなソフトウェア開発ツールの使用経験
・ 多様な環境で働くための高いチームワーク力
・ 効果的な対人・コミュニケーションスキル

<メルコイン>
・ メルコインのミッション・バリューへの理解と共感
・ アプリケーションセキュリティ、もしくは、インフラセキュリティに関する経験(セキュリティレビュー、セキュリティシステムの開発、ペネトレーションテスト、Webアプリケーションセキュリティテスト、脅威モデリング、セキュリティ自動化等)
・ 何らかの言語でのプログラミングスキルを持っていること( Go、PHP、Java、Ruby、 Python、C/C++、Objective-C、Swift、KotlinまたはJavaScript等)
・ 暗号資産やブロックチェーン、ウォレットシステムに関する基本的な知識と強い関心
・ セキュリティエンジニアリング、コンピュータおよびネットワークセキュリティ、システムオペレーションセキュリティ、モバイルセキュリティ、認証、セキュリティプロトコルおよび応用暗号学に関する基礎的理解
・ モダンWebアプリケーションアーキテクチャ、HTTP、TCP/IP、標準的なネットワークおよびシステム・セキュリティ技術への深い理解
・ 開発者たちと共に、安全なプロダクト開発に楽しんで取り組めること

ー今、メルカリとメルコインのプロダクトセキュリティチームは連携しながら動いているんですよね?それぞれどんな役割を持っているんですか?

@nikolay:現在、メルカリのプロダクトセキュリティチームはグループ全体のプロダクトを担当している状況です。具体的には、仕様や設計の段階でのレビュー、リリース前のチェック、開発ツールのセキュリティチェック、あとは今まで検討していないリスクを顕在化させて、対策方法を考える「脅威モデリング」などにも取り組んでいます。

意識しているのは、ゲートキーパー的な役割ではなく、プロダクトチームや開発チームと伴走していくスタンス。そして、セキュリティと開発の効率性を両立させていきたいと思っています。

Nikolay Elenkov(@nikolay)

ーグループ全体のプロダクトセキュリティを担当しているとのことですが、そうなると@yutoさんはどういう立ち位置になるのでしょうか?

@yuto:メルコイン専属のプロダクトセキュリティ担当ということになります。他のプロダクトと異なり、メルコインは暗号資産を取り扱っているサービスです。一般的なWebシステムとしての部分は@nikolayさんのチームと連携しつつ、暗号資産に特化した部分を集中的に担当しています。

専門性が高い業務であり、今のところやることがものすごく多いですね。暗号資産への安全性に対する社会からの期待によるものですが、金融庁の審査基準をクリアするための整備がけっこう大変なんです。また同時にメルコイン内でのプロダクトセキュリティチームを構築しなければいけないので、新しい会社の立ち上げに匹敵するタスクがある状況です。

竹井悠人(@yuto)

ーそれぞれのチームの規模は?

@nikolay:メルカリは、私を含めて7名のメンバーがいます。メンバーのバックグラウンドはさまざま。セキュリティ一筋のメンバー、開発側からセキュリティに移ったメンバー、セキュリティに興味があって異動したメンバーもいますね。

@yuto:メルコイン専属は私1人です(笑)。

@nikolay:さらっと言ってますが、これって本当にすごいことです。@yutoさんは1人で5人分ぐらいの仕事をしていると思いますよ(笑)。

プロダクトセキュリティとして大事にしているのは「フラットなやりとり」

ープロダクトセキュリティとして、メルカリならではのユニークな部分は?

@nikolay:前提として、メルカリグループが掲げている「Trust & Openness」に支えられていますね。社内メンバーであれば設計書やソースコードなどを全部自由に見ることができるカルチャーがあり、セキュリティとしてはすごくありがたいです。会社によっては「ソースコードにアクセスするための権限を付与してください」みたいな調整によって1週間ほど作業できなくなってしまうところもあります、でも、メルカリグループにはまったくない。Slackのチャンネルもほとんどオープンなので、気になるプロジェクトがあればすぐに入ってコミュニケーションをとれる点は長所だと思います。

ーメルコインの場合は?

@yuto:メルコインとしては、メルカリという大きなブランドのもと、スタートアップの機動力で物事を進められる点は、ものすごく恵まれていると思います。

メルカリ側のメンバーには能力やコミュニケーションスキルが高い人が多く、相談もしやすいし、アドバイスも的確。頼れるメンバーが揃っています。一方、メルコイン社内に目を向ければ、サービス立ち上げに熱心なメンバーに溢れ、プロダクトチームや開発チームとの距離が近いのでディスカッションもこまめにできるし、新しい挑戦への意思決定スピードも早い。メガベンチャーとスタートアップのいいとこ取りのような環境で働けるのは、魅力的です。

ー「コミュニケーションスキルが高い」というのは?

@nikolay:一般的にも、セキュリティチームは業務上、開発における脆弱性を指摘することもよくあります。そのイメージが強すぎて、「声をかける=叱られる」と不安に感じてしまうメンバーもいます。そうなると、スムーズにコミュニケーションができません。必要以上に固くさせないよう、できるかぎりフラットに話しかけるようにしているんですよね。そうすることで、逆に何かあればすぐに相談してもらえる関係性も構築しようとしているんです。

@yuto:「気軽に相談される存在でありたい」という点は、私自身も意識しているところです。普段から相談しやすいようにして、何かあったら「今後はこうしましょう。ちゃんと相談してくれたことに感謝しています」「ここはこうした方がいい。なぜならば、こういうふうによくなるからです」とプラスのコミュニケーションをとるようにしています。私たちも「プロダクトをよくしたい」という一心で仕事に向き合っているので、あくまでも同志だということを伝えていきたいですね。

ーリモートワーク状況下において、コミュニケーションで工夫していることはありますか?

@yuto:私はいろんな人に「1on1しませんか?」と持ちかけたり、チームビルディングのランチを入れたりしています。あとは、週に1〜2回はオフィスへ行って、オフラインでコミュニケーションをとる機会も意識的につくっていますね。

@nikolay:確かにオフラインでのコミュニケーションは大事ですね。Slack文化が根付いているので、コミュニケーション自体には大きな問題はないのですが、一緒に設計を議論するときやブレインストーミングのときなどは、ホワイトボードに意見を書き込みながらブラッシュアップさせていく方法がまだまだ効率的だと思います。

「大規模なスケール」「事業成長に直結する」という面白さ

ーメルカリとメルコインのプロダクトセキュリティ同士は普段どう連携しているんですか?

@nikolay:私たちだけで…というより、関係部門のメンバーや検討している分野にくわしいメンバーを巻き込むことが多いですね。暗号資産に関してはメルコイン側で担当していますが、システム全体の議論は一緒に検討することがほとんど。厳密に線引きはしていません。

@yuto:プロダクト設計の段階でも、認証・認可や外部システムとの連携、ネットワークや暗号化など、セキュリティのさまざまな分野の知識が求められます。1人ではカバーできない部分はメルカリから支援を受けつつ、メルコインのセキュリティとして責任を持って対応しています。

ー現在、一番力を入れているところはどこでしょうか?

@nikolayCodecov インシデントが発生したあとの工程ですね。ハードコーディングされたシークレットがないか定期的にスキャンしたり、リポジトリの中のバグや脆弱性を開発者が見つけやすいようにするツールを検証・導入したり。

@yuto:メルコインでは、あらゆるシステムの安全性観点でのチェックやその取り組みに関する資料・戦略づくりに取り組んでいます。特に注力しているのは、メルコインとしてお客さまからお預かりする暗号資産の安全な保管の仕組みや、ゼロトラストと呼ばれる社内外のあらゆる人やシステムの権限整理です。あまりこういう場ではお話しできないような細かい部分のセキュリティなどもあります。

ーセキュリティには話せないことも多そうなので、社外の人とのコミュニケーションが大変なイメージもあります。

@yuto:おっしゃるとおり、各論まで明かすことは難しいです(笑)。でも、Webアプリケーションをつくるうえでのガイドラインやツールを活用しながら、セキュリティ業界内で「うちではこういうところに注意していますよ」「どのように考えていますか?」といった意見交換はできます。他社の意見に触れることで客観視できるし、知識のリフレッシュにもつながります。

ーそれぞれのプロダクトセキュリティの仕事のおもしろさは?

@nikolay:大きく分けて3つあります。1つは、大規模なスケールで動かしている点。2つ目は、オープンなカルチャーがあるので、直接担当していないところでも興味があればチャレンジできる点。3つ目は、今後いろんなビジネスに参入できるので、立ち上がりのフェーズから入っていける点ですね。

@yuto:メルコインの場合、自分の仕事が事業成長に直結する責任感ですね。プレッシャーはありますが、達成感はあるし、「自分がプロダクトとチームを支えている」という自負みたいなものも感じられます。さらに経営陣がセキュリティへの意識が高いので、妥協せずに取り組める。理想のセキュリティを構築できるところはやりがいを感じます。

求めたいのは「エンジニアリングの全体像を把握していること」

ーどういった人であれば、活躍できると思いますか?

@nikolay:プロダクトセキュリティはいろいろなバックグラウンドの方が活躍できる分野です。とはいえ、プロダクトや事業の全体像を踏まえて考え、時には上から下までレイヤーのすべてをある程度理解できている人でないと難しい部分もあるように思います。

例えば、Webアプリケーションの認証を考える際も、ネットワークやデータベースに脆弱性があると攻撃が可能になります。何より、エンジニアたちと同じ土俵でコミュニケーションをとっていく必要もあります。フレームワークや言語、開発手法などエンジニアリングに対してある程度を理解している方に来ていただきたいですね。

@yuto:メルコインも同様ですね。さらに付け加えるならば、暗号資産の未来に価値を感じている方がいいかもしれません。暗号資産は、自由自在に動ける価値の象徴だと私は思っています。メルコインのミッションである「多様な価値がめぐる新しい経済をつくる」に共感し、10年後の未来に期待し、熱意を持って取り組める方に来ていただきたいです。

ー選考段階で注視しているポイントはありますか?

@nikolay:技術面のほか、「周囲とコミュニケーションを取りながらプロジェクトを前に進めていける力」には注目しています。セキュリティというと、“問題を発見してレポートを提出して終わり”みたいな仕事をイメージしている人もいますが、私たちが求めるのは主体性です。自らどんどんコミュニケーションをとり、取り組めるかどうかは重要なんです。

@yuto:当然ながら、メルコインでは暗号資産の知識は大きなプラスです。とはいえ、セキュリティに関する基礎体力的な部分も不可欠なので、そのあたりの総合力に注目しています。

将来的にメルコインは、ブロックチェーン上のプロダクトをつくっていく可能性もあります。そうなると、ブロックチェーン上のセキュリティを考えられる人も必要。正直、まだそういったことができる方は稀少だと思っていますが。いずれはそういう方にも来てほしいですね。

そして、今までのWebアプリケーションの世界とはまったく違うので、異なる知識やスキルセットが必要になります。ブロックチェーン上でデジタル資産を扱う仕組みを組めたり、スマートコンタクトを書いたことがあったり。そんなメンバーの精鋭部隊をメルコインではつくっていきたいですね。

@nikolay:メルカリでいうと、現状は引き続き全体を見渡してやっていくことになります。ただ、会社ごとに大きくなって専門性が高くなっていくと、専属のセキュリティがいないと対応が難しくなる。金融分野だとPCI DSSやクレジットカードの知識が必要になったり、先日設立したばかりのメルロジではオンライン・オフラインの融合を目指すのでIOTとかハードウェアのバックグラウンドが必要になったり。メルカリグループ全体を見ても、セキュリティ分野はより専門性の高い人たちが活躍できる組織になっていくと思いますよ。

Share

  • X
  • Facebook
  • LinkedIn

Unleash the
potential
in all people

メルカリで働きたい!
という人は採用サイトもご覧ください

Join us !