JPSRT LOGO

Microsoft のバグハンティング:脆弱性発見者へのインタビューとMSRCについて ~ CODE BLUE Open Talkより

より安全で安心な製品やサービスを提供するために、マイクロソフトでは、マイクロソフトの製品やサービスに影響を及ぼすセキュリティ上の脆弱性についてさまざまな調査を実施しています。マイクロソフト・セキュリティ・レスポンス・センター (MSRC) は、防御者コミュニティの一員として、20年以上にわたり、お客様のセキュリティを向上させるために活動してきました。私たちの使命は、マイクロソフトの製品やサービスに存在するセキュリティ上の脆弱性による被害からお客様を守り、マイクロソフト・クラウドに対する攻撃に迅速に対応することです。 私たちは、被害の防止、迅速な防御、コミュニティとの信頼の構築に重点を置いています。わたしたちは、より地域に密接することも重要だと考えており、脆弱性の報告を日本語でも受け付けてたり、地域のコミュニティと協力をしています。

地域のコミュニティとの協力を推進するため、マイクロソフトでは、2021年10月19日(火)〜10月20日(水)に開催された世界トップクラスの専門家による日本発の情報セキュリティ国際会議「CODE BLUE」 にスポンサーとして参加しました。また、CODE BLUEのマイクロソフトOpen Talkでは、MSRCや脆弱報奨金プログラム(バグバウンティ)の紹介をするとともに、バグハンティングをより知っていただくために、脆弱性調査を活発に実施されている RyotaK さん へのインタビューもお届けしました。多くの方にご参加いただき、誠にありがとうございました。

セッション中にご紹介したマイクロソフトのMSRCの取り組みや脆弱報奨金プログラム(バグバウンティ)は、下記のサイトに情報がまとまっていますので、ぜひご参照ください。

■CODE BLUE Open Talk :RyotaK さんインタビュー

マイクロソフト Open Talk 参加者の方々からは、特に、Open Talk の RyotaKさんへのインタビューが参考になったとの声をいただきました。残念ながら参加が叶わなかった方のために、このブログでインタビューの一部をご紹介します。

RyotaK

RyotaK 氏
ブログ:https://blog.ryotak.me/
ツイッター:https://twitter.com/ryotkak
趣味でセキュリティに関する調査や研究を行っている。2021 年 MSRC 最優秀セキュリティ研究者 にも選出されるなど、マイクロソフトの脆弱性調査に多く貢献。

質問: どういったモチベーションでバグ調査をされていますか?
RyotaK 氏 
「脆弱性を報告するモチベーションとしては、主に3つありまして、1つ目は単純に報奨金や記念品のためです。バグバウンティを実施している企業の一部には、期間限定で記念品を配布しているプログラムなどがあり、私自身記念品を集めるのが好きなため、そういったプログラムに対しては積極的に参加しています。
2つ目は、身の回りのソフトウェアを安全にするためで、これは自分や知人が使用しているソフトウェアにおいて、脆弱性を探す際のモチベーションになっています。自分や知人が使用しているソフトウェアに脆弱性が存在した場合、自分にも影響が及ぶ可能性があるため、そのようなソフトウェアに関しては利用開始時や更新時などに脆弱性を探すようにしています。
最後に挙げられるのが善意での報告で、例えば応援したいオープンソースソフトウェアプロジェクトなどにおいて、貢献の意味も兼ねて脆弱性を探して報告したりだとか、お世話になった人が開発に参加しているから脆弱性を探してみよう、といったようなモチベーションで脆弱性を探し、報告していることもあります。」

質問: マイクロソフトにも多く脆弱性を報告いただいていますが、マイクロソフトへの脆弱性報告には、どのようなモチベーションを持っていますか?
RyotaK 氏 
「マイクロソフトへ脆弱性報告をするモチベーションとしては、バグバウンティプログラムの対象となっている製品やサービスが非常に多いため、脆弱性がとても見つけやすいということが挙げられますね。対象となっているサービスの数が多いと、別のバグハンターと競合する可能性が低くなるため、バグバウンティでありがちな、数日間調査したけど何も見つからない…といった事態が起きにくくなり、結果としてモチベーションの低下を防ぐことへ繋がります。
また、これは少しバグハンティングの話からはそれてしまうのですが、マイクロソフトのセキュリティレスポンスセンターの方が柔軟な対応をしてくださるので、脆弱性関連の調査がやりやすいです。例として、TypeScriptのエコシステムにおけるサプライチェーン攻撃に繋がる脆弱性を開示した際は、マイクロソフトが一部関係している脆弱性だったため、セキュリティレスポンスセンターの方に相談したところ、開示するにあたっての社内との調整を行っていただけました。」
参考:RyotaK氏ブログ npmの@typesスコープにおける任意のパッケージの改竄 – RyotaK’s Blog

質問: マイクロソフトの脆弱性を調査している中で、どのような製品やサービス、技術のエリアを調査していて楽しいと感じますか?
RyotaK 氏 「特になにか見つけたというわけではないのですが、Azure関連の脆弱性を探したら面白そうだな、と考えています。海外のセキュリティ企業であるWizが発見していた、Cosmos DBにおける、アカウントを乗っ取ることができる脆弱性や、OMIにおける、任意コード実行の脆弱性のような、広い範囲に影響が及ぶ脆弱性は、潜在的に他にも存在すると思うため、そのような脆弱性を見つけられたら面白そうだなと思います。Azureに限らずMicrosoftの製品は非常に広い範囲で使用されているため、自分が見つけた脆弱性が色々な企業やユーザーに影響を与えると考えると、バグハンティングが楽しくなります。」

質問: マイクロソフトへも多く脆弱性を報告いただいていますが、これまでの脆弱性の報告の体験の中で、嬉しかった体験はありますか?
RyotaK 氏 「マイクロソフトへの脆弱性報告の中で一番嬉しかったことは、偶然見つけて報告した脆弱性が、報奨金の対象になったことですね。普段からGitHub上で様々なプロジェクトのソースコードを眺めているのですが、その際に見つけた脆弱性をマイクロソフトに報告したところ、バグバウンティプログラムの対象だということがわかり、予期せぬ報奨金が貰えたことが一番嬉しかったです。」

質問: マイクロソフトへの脆弱性報告をする際、「英語が不安」という声がよく寄せられます。このような不安はありますか?あるとしたらどのように克服していますか?
RyotaK 氏 「正直なところ、私も英語が得意ではなく、読み書きはなんとかできるんですが英語での会話はかなり苦手です。ただ、脆弱性を報告してきてわかったのですが、片言の英語でも意外と伝わりますし、最低限概念実証コードと再現動画を添付して、攻撃対象の製品とそのバージョンさえ記載しておけば再現自体はできるんですよね。
企業側からしてみたら、脆弱性を報告されないと、最終的に悪意ある第三者に悪用されてしまう可能性があるため、脆弱性の情報は間違いなく欲しいはずです。そのため、私はとりあえず最低限の情報でもいいので報告してみるといいんじゃないかなと思っています。もっとも、マイクロソフトに限って言えば、先程紹介があったとおり、日本語での報告を受け付けているため、英語が苦手な方は日本語での報告を行うといいかと思います。」
参考:日本語でマイクロソフトに脆弱性を報告する方法 – Microsoft Security Response Center

質問: バグハンティングのスキルをあげるために、どのようなことをしていますか?
RyotaK 氏「スキルアップと言えるかはわからないのですが、情報収集の一環として新着のCVEエントリは一通り流し読みしていて、気になるものがあればバージョン差分を読んでどのような脆弱性があったのかを調べたりしています。
また、流行りの技術スタックなども追うようにしていて、技術ブログなどは一通り読むようにしています。どういう箇所で脆弱性を作り込みそうかを把握しておくと、脆弱性が見つかりやすくなるのでおすすめです。」

質問: セキュリティ技術者への注目度も高まり、バグハンティングへの興味の声も聞かれます。これからバグハンティングを始めたいと考えている方へ、アドバイスはありますか?
RyotaK氏
「バグハンティングを始めたいと考えている方は、Web Security Academyのラボを一通り解いておくと良いと思います。Web Security Academyは、Burp Suiteを開発している会社が提供している無料のトレーニング用プラットフォームで、基礎的な脆弱性からある程度の応用まで幅広く学べるため、バグハンティングで活用しやすい知識を得ることができます。
また、最初は競争率が可能な限り低いプログラムを選ぶことが重要になると思っていて、競争率が高いと数週間脆弱性を探して何も見つからなかったといったようなことも起きます。例えば、HackerOneであればHackerOneが提供しているCTFを解くことにより、プライベートプログラムへの招待が貰えるため、競争率が低い環境でのバグハンティングを行うことができます。
同じような理由で、報奨金を提供していないプログラムで脆弱性を探してみるのもいいと思います。例として、Sonyが開催しているプログラムであれば有効な報告をするたびにTシャツを1枚貰えるため、競争率が低い実際の環境でどういった脆弱性が存在するのかを確認しつつ、Tシャツを貰って達成感を得る… といったような始め方も可能です。」

質問: 最後に、マイクロソフト製品やサービスのバグハンティングに興味のある方に、アドバイスをお願いします!
RyotaK 氏
「Microsoftのバグバウンティプログラムに参加するのであれば、Azure製品のスコープを調査すると良いと思います。実はAzure製品のスコープには、Azure本体だけではなく、Azureに関連したソフトウェアも含まれています。統合開発環境であるVisual Studioや、Azure SDKといったようなソフトウェアなども含まれているのですが、これらがAzure製品のスコープに入っているということがあまり知られていないため、脆弱性が見つかりやすいかな、と思います。」

■今後もコミュニティとの連携を

より地域に密接し、コミュニティとの連携は、より安全で安心な製品やサービスを提供するためにとても重要です。今後も、このように、様々な機会を通じ、連携を深めていきたいと考えています。Microsoft のバグハンティングに興味のある方は、Microsoft 報奨金プログラム | MSRC のページをご確認ください。

垣内由梨香
セキュリティ プログラム マネージャー
セキュリティレスポンスチーム