みなさん、こんにちは!セキュリティチームのJasonとAzeemです。
私たちは今期(2019年10月〜12月)、セキュリティ意識の向上や、従業員に対するセキュリティベストプラクティスの啓蒙活動、シフトレフトセキュリティの概念(ソフトウェア開発ライフルサイクルの初期段階でセキュリティ上の問題に対処すること)を広める取り組みの一環として、メルカリ独自のセキュリティチャンピオンプログラムを発足しました。
開発チームに必ず所属すべき「セキュリティチャンピオン」とは?
セキュリティチャンピオンとは、各開発チームに配属されるセキュリティ担当者のこと。
OWASP(The Open Web Application Security Project)によると、セキュリティチャンピオンの役割は以下のとおりです。
・ プロダクトチームのメンバーとして適切なタイミングでセキュリティチームを巻き込む
・ プロダクトやチームのセキュリティの「代弁者」として行動する
・ チームや専門領域におけるセキュリティ問題の優先順位付けをサポートする
(参考:Security Champions)
つまり、会社全体のセキュリティ意識向上や、セキュア・バイ・デザインを意識したサービスづくりにおいてセキュリティチームをサポートするためには、セキュリティチャンピオンが欠かせないのです。また、セキュリティチャンピオンがセキュリティチームの延長として開発初期におけるセキュリティレビューのような、専門知識を必要とするタスクを通して、直接貢献できるようになるのが理想だと考えています。
メルカリで「セキュリティチャンピオンプログラム」を発足させた理由
写真左から、Azeem(プロダクトセキュリティエンジニア兼プログラムのテックリード)と、Jason(セキュリティエンジニア兼プログラムコーディネーター)
ここ数年でメルカリは急速に成長し、会社の環境も大きく変化しました。
成長中の企業でセキュリティチームが直面する課題の一つは、「大規模な環境でどのようにセキュリティを確保できるか」。この課題に対する一般的なアプローチとして、シフトレフトセキュリティがあります。このアプローチでは、ソフトウェア開発ライフルサイクルの初期段階でセキュリティ上の懸念、コンサル、テストに取り組むことで、チームはより安価かつ効率的に問題を解決できるのです。また、企業により大きな事業価値をもたらし、セキュア・バイ・デザインを意識した機能開発に取り組むことも可能です。
セキュリティチャンピオンは、セキュリティチームの延長として、それぞれのドメインにおけるセキュリティ上の問題や脅威に、リーダーシップを発揮しながら対処します。例えば、商品出品のセキュリティチャンピオンは、セキュリティの知識とドメイン知識を活用し、設計の初期段階でサービスに関わる脅威モデリングを実施。既存の脅威を特定することができます。
セキュリティチャンピオンプログラムで最高得点を獲得し、特別なセキュリティケンタウロスTシャツを最初に手にしたHunter(脆弱性ハンター)
そういった意味では、十分な訓練を受けたセキュリティチャンピオンは自律的に業務を遂行できるだけでなく、本当に必要な場合を除いて、セキュリティチームにDesignDocのレビューを依頼することも少なくなります。さらに、セキュリティチームの負担軽減やセキュリティ意識の向上。各ドメインチームはより強い責任感を持って、適切なセキュリティ対策を実施できます。
世の中的にも、サイバー攻撃は頻繁になりつつあり、セキュリティの重要性は今まで以上になってきています。このアプローチを有効活用するためには、エンジニアに必要なスキルを身につけてもらい、個人の成長のためにスキル向上をサポートすることが大事。そしてこれがセキュリティチャンピオンプログラムの目的でもあります。
セキュリティケンタウロスTシャツを手にしたAyman
メルカリには、お客さまに安心・安全な体験を提供するという大切な理念があり、全従業員を対象としたセキュリティトレーニングの実施や会社全体のセキュリティ意識向上は、これを達成する上で重要な役割を果たします。
プログラムの内容は?
Yannarak(Securityチーム、エンジニアリングマネージャー)
セキュリティチャンピオンプログラムの具体的な内容は?さっそくお伝えします。
まず、プログラムの最初に、セキュリティチームの役割・業務内容・課題・課題解決に必要なサポートについて説明します。同時に、適切なシークレット管理、ソフトウェアセキュリティ要件の基本、セキュリティ設計の原則、セキュリティレビューの実施方法などの、セキュリティベストプラクティスを伝えます。
エンジニアにとって、攻撃を防御するためには「攻撃者の手法を理解すること」が必須。そのため、このプログラムでは、攻撃への対策方法の理解を深めるためにハッカーが実際に使用するツールや手法について学びます。セキュリティ対策がいかに脆弱になり得るかを攻撃者視点から示し、適切なセキュリティ対策の欠如によって引き起こされる顧客や企業の金銭的損失について説明します。
さらに、過去の事例を取り上げて、具体的に何が起こったのか・根本的な問題は何か・どのように解決したか再発防止のために何ができるか、を話し合います。
セキュリティチャンピオンになるメリットは?
プログラムに参加したチャンピオンは、セキュリティチャンピオンステッカーやケンタウロスTシャツといった、特別な景品を手に入れることができます!(プログラムのために素晴らしいデザインを作成してくれたデザインチームの@tennisさん、ありがとうございました)
セキュリティチャンピオンプログラムでは、ポイントシステムを採用しており、獲得したポイント数に応じた景品を提供しています。
トレーニングセッションや「Capture The Flag」というセキュリティ競技への参加、セキュリティ関連トピックのプレゼンの実施。さらにはセキュリティチームが発見した課題の解決サポートなどのボーナスチャレンジを行うことで、ポイントを獲得できます。
エンジニアは、プログラムを通してセキュリティへの理解を深め、技術に磨きをかけることができるだけでなく、深い専門知識を得ることもできます。
セキュリティに関する強いカルチャーやコミュニティの醸成、そして参加者が毎週ワクワクした気持ちでチャレンジに取り組めるよう、プログラムにゲーム要素を取り入れています。
プログラムの一環として、さまざまな競技に参加するチャンピオンと共に、私たち独自のCTF(Capture The Flag)コミュニティを立ち上げました。競争にそこまで自信がないメンバーにもコミュニティを広げるため、よりカジュアルなボードゲームコミュニティも開始しました。これらのコミュニティは些細なことに見えるかもしれませんが、他のチームとの強固な信頼関係の構築や、リスクの早期発見に大いに役立っています。
セキュリティにおいて最も重要なスキルの一つは、積極的に学び続ける力だと思っています。セキュリティに関する技術力にさらに磨きをかけたいと思っているチャンピオンには、私たちも全力でサポートを行います。
プログラムのセッションはすべて録画し、プレゼンテーション資料と共に全社に共有します。徐々にセキュリティベストプラクティスの要約をつくり上げ、最終的には、全社規模のセキュリティ学習プラットフォームの構築を目指しています。
今後の予定は?
今期、初めてこのプラグラムを開始したこともあり、少々荒削りな部分もありました。しかし、ここまで達成できて嬉しいです。
次の四半期では、プログラムを更に広げて非エンジニアなメンバーのニーズ応えたり、外部スピーカーやセキュリティの専門家をお呼びして、チャンピオン向けの講演会などを開催したいと思っています。
2020年は、セキュリティチャンピオンがさまざま活動やイベント行うHacktoberfest形式のセキュリティ月間を開催し、会社全体のセキュリティ意識向上を高めていきたいです。そして、今後のプログラムやメルカリでのセキュリティへの取り組みは、またメルカンでもお伝えさせてください。
そして、セキュリティチームは積極的に採用も行っています。興味のある方は下記の採用中ポジションをご確認ください。