こんにちは、LINEのセキュリティ室でセキュリティエンジニアをしているコキチーズです。LINEでは、社内のエンジニアであれば誰でも技術イベントの企画や、勉強会での登壇が可能です。またそういったエンジニアの対外的な活動を支援してくれる専門のチームが社内に存在します。
それを利用して「Bug Bounty」をテーマとした勉強会「Meetup in Tokyo #34 – Security Bug Bounty –」を開催しました。
セキュリティの勉強会を主催するのは初めてで不安でしたが、結果的に大勢の方にお越しいただきました。皆様ありがとうございます。
Bug Bountyとは製品やサービスの脆弱性を報告し、それに対して報奨金の支払いを行うプログラムです。
LINEでもLINE Security Bug Bounty ProgramとしてBug Bountyを行っており、私は運営に携わっています。
LINE Security Bug Bounty Programについて
今回は主催だけではなく、登壇者として「LINE Security Bug Bounty Program について」という内容で登壇しました。
トップバッターということでBug Bountyの説明をしたあと私達が運営するLINE Security Bug Bounty Programの紹介を行いました。
LINE Security Bug Bounty Programは2015年から始まり、対象範囲も拡大、2017年の去年は212件の報告があり76,500USDの支払いが発生しました。より詳しい内容は2017年のレポートを見てみてください!
2017年LINE Security Bug Bounty Programの結果について
2017年はTシャツのリワードも行うようになり、報奨金までは残念ながら至りませんでしたが有益な報告をしてくれた方や特別に素晴らしい報告をしてくれた方にプレゼントしています。
レポートのTipsではこの内容が含まれているとより素早く審査をすることができると紹介しました。
- タイトルでどこのどういう脆弱性かわかる
- 再現手順が箇条書きでわかりやすい
- PoCやPayloadがある
- 脆弱性を利用した場合におけるRiskが書いてある
- 修正案が書いてある
そして脆弱性を探したい人のためにLINEの脆弱性を見つけるために、まずどこから手を付けるのがよいのかも紹介しました。LINEのアプリでは一見ネイティブだけど実はWebの技術が使われている箇所があります。そういうところが狙い目です。
他にも最近の社内の取り組みの紹介も行い、社内でSlackが導入されたのでBug Bountyのレポートの通知をSlackで行うようにしてみたことを話しました。
メリットとしてセキュリティ担当者以外の開発者の人も#bugbountyに参加していて、報告があるとすぐに開発者へ連絡と相談をすることができます。Slackで共有されるのはタイトルのみですが、タイトルでどこのサービスの問題かがわかるので、開発者の方もすぐ反応しやすいようです。
それと実験的ではありますが「社内Bug Bounty」も行っていて、セキュリティ担当者以外の人が脆弱性を見つけた場合に報奨金を受け取れる制度も実施しています。
話したいことが多すぎて色々詰め込んでしまいましたので、また別の機会に要素要素を皆さんと共有していけたらと考えています。
サイボウズのカオスルールを見せるぜ!!
次はサイボウズさんのBug Bountyである「脆弱性報奨金制度」についての「サイボウズのカオスルールを見せるぜ!!」です。サイボウズさんのPSIRTチームの長友さん、大塚さんに登壇していただきました。
サイボウズさんではのべ240名のハンターが参加し、報告件数は徐々に減っていき製品が堅牢になっていっているようです。
報奨金制度に関する様々な施策があり弊社でも参考にしたいなと、とても参考になりました。
その施策とは、報奨金の増額キャンペーンで製品によっては報奨金を5倍に、バグハン合宿などリアルなイベントを開催、リアルタイムランキングや英語化対応です。
他にもサンドボックス環境を用意して、安心して検査を行える環境が整っていたり、報奨金の計算にCVSSv3を利用していることや、制度は毎年クローズして次の年に向けて反省、改善をしているようです。
改善のためのサイクルがあるなど長年運営されているので色んな知見があり大変勉強になりました。
バグハンターが見てきたBug Bountyの7年
次はMasato Kinugawaさんによる「バグハンターが見てきたBug Bountyの7年」です。
Masato Kinugawaさんは日本人でも有数のバグハンターで弊社のHall of Fameを見てもらえるとわかりますが、いくつもの脆弱性を報告してもらっています。
Masato Kinugawaさんがハンターになったキッカケから、Bug Bountyをやっていてよかったこと、ハンターから見て運営の人にこうして欲しいことなど話して頂きました。
2010年頃からBug Bountyを始められてBug Bountyの報奨金で生活をしてそこで得られたものでもっと実力を付けていったという話から始まり、本に掲載されてイベントやセキュリティキャンプの講師などどんどん声が掛かるようになっていったと言う、まさに夢のような体験だなと感じました。
理想のBug Bountyについても紹介されていて、運営者と報告者との関係を良好にするために互いに尊重することが大事であり、ノベルティ、検証環境の整備、キャンペーンの実施、アンケートからの改善、謝辞の掲載など、Bug Bountyに参加されたい方だけではなく、Bug Bountyをすでに運営されている方、これから運営をしていきたい方にとっても勉強になる話でした。
Masato Kinugawaさんの考える準備と心構えは「脆弱性を理解する人がいる」「一通り検査を行っている」「報告者とのコミュニケーション」とのことです。
最後にMasato Kinugawaさんは新しいBug Bountyが開催された際には「僕が探しに行きます!」と言っていたのでBug Bountyを始めるとMasato Kinugawaさんに探しに来てもらえるようです。
サービス品質向上のためのフィードバックシステム
最後のセッションは「サービス品質向上のためのフィードバックシステム」でマイクロソフトの河野さんに登壇していただきました。
マイクロソフトさんは昔から「Microsoft Bounty Programs」を行っていて、Windowsなどのパッケージ製品だけではなく最近ではオンラインサービスでも対象としてやっているそうです。
パッケージ製品に関してはリモートコードエグゼキューション(RCE)を重要視していて、これに対する報告を特にプライオリティ高く対応しているようです。
DevSecOpsを大事にしていてセキュアな開発サイクルを行っているようです。
製品には利用者からフィードバックシステムを受け取れるシステムを導入していて、フィードバックから製品を改善していくのと同様、Bug Bountyでの報告も製品に適応していくよう開発のライフサイクルに取り入れられているようです。
マイクロソフトさんはTeamsを使ってBug Bountyの報告の管理を行っているなど普段あまり語られることのない貴重な話でとても興味深く聞かせていただきました。
さいごに
イベントでアンケートを取り皆様のご意見を拝見させていただきました。
頂いた意見、ご要望に応えられるようにまた次回もセキュリティの勉強会を行っていきますのでよろしくお願いいたします。
このイベントはmozaic.fm #35でゲストで呼んでもらったのがキッカケで始まった勉強会です、Jxckさんありがとうございます。
ぜひPodcastも聴いてみてください!
重ねてにはなりますが登壇してくれたスピーカーの方、参加者の皆さん本当にありがとうございました。
そして、LINEでは一緒にLINEのリリースする様々なアプリケーションやサービスの脆弱性を探したりBug Bountyの運営をしたい人を募集しています!