- バックエンドエンジニア
- PM
- 内部監査
- Other occupations (26)
- Development
- Business
- Other
さらなるセキュリティ強化を目指して。暗号資産取引所システムの信頼性を高める「バグバウンティプログラム」
Photo by Dan Nelson on Unsplash
※本記事は2021年6月にnoteにて公開された記事の転載です。各情報は掲載当時のものです。
2021年2月から、国内の暗号資産取引所で初めて*「提供するWebサービスやアプリケーションに対し、セキュリティ上の脆弱性を発見・報告してくれた方に報奨金を支払う」バグバウンティプログラムをスタートしたビットバンク。
*当社が、一般に公開された情報に基づき、国内暗号資産交換業者に関する状況を調査
今回は、プログラムの取り組みにあたって中心的な役割を担っている情報セキュリティ部の畑上英毅(はたがみ ひでき)に、プログラムを開始した経緯や課題、これからの展望について詳しく話を聞きました。
バグバウンティプログラム公開への道筋
ーーまず、ビットバンクのバグバウンティプログラムについて教えてください。
取引所システムにおけるセキュリティバグの報告をオープンに受け付ける場を新たに設け、脆弱性を発見・報告してくれた方に報奨金を支払うバグバウンティプログラムを2021年2月より開始しました。
これまでも当社は、外部の脆弱性診断会社による診断に加え、様々なセキュリティ対策を講じてきました。加えて今回、バグバウンティプログラムを一般公開することで、セキュリティバグにいち早く気づける体制を整備した形です。
ーーこのプログラムは、どんなきっかけでスタートしたのでしょうか?
実は当社では、本格的に制度化される前からバグバウンティ自体は実施していたんです。
当時は、PGPを利用したメールによる脆弱性報告を受け付け、クリティカルな報告に対して報奨金をお支払いしていました。ただ、知る人ぞ知る取り組みだったので、社内さえあまり認知されていない状況でした。
ーーそこから、本格的稼働となった背景について教えてください。
バグバウンティプログラムの制度設計・運営にあたって、まず大切なのは、セキュリティ分野の専門性が高い人材を確保することです。報告内容を正確に把握し、どの程度の問題なのかを判断できる人が一定数いないと、こうした取り組みの推進は難しいからです。
2018年以降、暗号資産への注目度も次第に高まり、当社でもセキュリティに精通した人材が増えてきました。その中で、改めてバグバウンティプログラム強化の気運が高まっていったのです。
ーーバグの「質」を見極められる人材の採用も含めて、体制づくりが重要なんですね。
はい。そこには当然コストや時間が通常の脆弱性診断よりもかかります。それもあって日本では一部のIT企業でバグバウンティプログラムが実施されているものの、まだまだ一般的には浸透していないのが現状です。
また、バグバウンティプログラムは、どんなシステムにでも容易に取り入れられるものではないんですよね。そもそも開発・運用しているシステム自体が、バグハント(脆弱性を探し出す行為)に対してある程度の耐久性を確保していないと運営できません。
ですから、今回のバグバウンティプログラム公開は、当社のセキュリティ品質における一定の自信とさらなる強化に向けた意識の高さをお客様に示す機会であり、信頼度の向上にもつながると捉えています。
エンジニアの協力を得たからこそ、推進できたプログラム
ーーバグバウンティプログラムは、どのようなプラットフォームを使って運営されているのでしょうか?
バグバウンティには金銭の授与が発生します。マネーロンダリング、本人確認等の観点から、今回のプログラムではバグ報奨金制度プラットフォーム「BugBounty.jp」を利用して、身元が明らかな方からの報告に限定する形を取っています。
「BugBounty.jp」からあがってきた報告ごとに、まずセキュリティチーム内で深刻度を判断。エスカレーションが必要な報告に対しては開発サイドにエスカレーションし、修正対応を進めていく流れになっています。
主担当は私のほか、セキュリティチームの3名とエンジニア4~5名が中心になって、部内横断的なプロジェクトとして取り組んでいます。
ーー実際にプログラムを進めていくなかで、どんな課題がありましたか?
私自身、いままでセキュリティの分野をはじめとして色々と経験してきましたが、バグバウンティプログラムの運営は初めてでした。だからこそチーム内や開発サイドで認識の齟齬が発生しないように、エンジニアの皆さんと丁寧にコミュニケーションすることを心がけました。
各メンバーには普段の業務に加えて、このプログラムに協力してもらう形になります。エンジニアが「セキュリティの人に言われたから仕方なくやっている」と感じてしまうと、ハレーションを起こしかねません。
それを防ぐために「なぜ、このプログラムを実施するのか?」の認識をメンバー間で共有し、不安要素を取り除きながら、お互いに理解し合えるように対話を重ねてきました。
ビットバンクのエンジニアは優秀な方ばかりで、自主的に意見を出し合いながら前向きな姿勢で取り組んでもらえているため本当に助かっています。
定性的かつ定量的にバグの「価値」を捉えることの重要性
ーーバグバウンティプログラムをスタートしてから、社内外からどんな反響がありましたか?
とても良い反応をいただいているようです。SNSでの好意的なリアクションがあり、嬉しかったですね。
社内でも、好意的に受け止められていると感じます。バグバウンティプログラムを通して発見できた未知のバグ、またそこから生じるリスクは、プロダクト価値を高めるための”宝”のような存在。大きな手応えを持って推進できています。
ーー実際にプログラムを運営してみて、改善していきたいところはありますか?
今後の課題は「判断基準を明確化し、より細かくルールを整備する」ことですね。
エンジニアには本来の開発業務もあるので、すべてのバグの報告にトリアージ(深刻度・緊急度に則して適切に対応するための分析・優先順位づけなどの判断)なしに順次対応するのは現実的ではありません。
だからこそセキュリティ側で「そのバグがどれほどの価値を持っているか?」といった判断基準を明確化して、指摘されたバグをどうハンドリングするかが重要になってきます。
また「情報を提供してくれたバグハンターに、いくら支払えばいいのか?」など、報酬金額についても検討する必要があります。
現状では、こうした判断の際に個人の知識やスキル・定性的な部分に頼っている部分があるので、より定量的な判断もできる形に改善していきたいと考えています。
ーーバグバウンティプログラムを続けていく中で、気をつけていることはありますか?
システム自体が日々アップデートされているので、それを考慮に入れながら対応することは重要ですね。
そのうえで「指摘されたバグはどの程度のリスクとなるのか」「その情報が現状のシステムに対して、どれくらい価値のある”鮮度”をもっているのか」と常にチーム内で考えるようにしています。
バグバウンティは「外部」の視点を獲得するチャンス
ーー最後に、今後の展望を教えてください。
現在のバグバウンティプログラムで受け付けているのは、当社の暗号資産取引所システムに関するバグのみですが、将来的には当社が管理しているシステム全体に対象範囲を広げていきたいですね。
また、スコープを限定してバグハンターの方々を当社の開発環境に招待する「プライベートプログラム」の導入も検討しています。
バグバウンティプログラムを通して「外部からの指摘」を受けることは、社内にとどまらない俯瞰的な視点を獲得できる、大きなチャンスだと私は捉えています。
様々な人の視点からシステムの問題点が指摘されれば、内部では予想もしていなかったところにバグがあったことにも気づけます。改修するだけではなく「新たな気づきをもらえるフィードバック」として考えることで、今後のシステム開発にも活かせるでしょう。
報告する側も報告される側も「お互いがハッピーになる仕組み」として定着できるように、継続的に取り組んでいきたいと思います。
──畑上さん、ありがとうございました!