ポストモーテム: 文字起こし事業者APIキーの露出

APIキーが露出した事象の経緯、影響範囲、再発防止策の公開記録です。

この記事について

本稿は、セキュリティ事象の公表フォーマットの雛形です。UNCHAIN株式会社は、利用者への影響が確認された事象について、経緯、対応および影響範囲を公表し、報告いただいた方への謝意をあわせて記載します。実際に発生した事象を公表する際は、概要、発生原因、対応、影響範囲、再発防止策、謝辞、参考情報の順に記載するこの構成を用います。以下の記載は記入例です。日付、報告者名、対象人数、件数、バージョン番号はプレースホルダーのままにしてあり、公表時に実際の値へ置き換えてください。第三者の事業者名を記載する場合は、公表前に当該事業者と調整してください。

概要

デスクトップアプリのベータ版の一部の版において、文字起こしの委託先である外部事業者のAPIキーが、アプリの設定情報を配信するエンドポイントを通じて取得できる状態になっていました。このキーを用いると、当該ベータ版で生成された文字起こしに到達しうる状態でした。

外部のセキュリティ研究機関からの報告を受け、同日中にキーを失効させ、配信経路から取り除きました。調査の結果、報告者による管理された検証の期間を除き、第三者による利用は確認されていません。

項目 内容
対象 デスクトップアプリのベータ版 〔影響を受けたバージョン〕
対象となる利用者 〔対象となる利用者数〕名(ベータ配布に参加していた方)
露出していた期間 お問い合わせください から お問い合わせください まで
報告者 〔報告者名〕(〔報告者の所属組織名〕)
修正日 お問い合わせください
第三者による不正な利用 報告者の検証を除き、確認されていません
一般提供版への影響 ありません

一般提供版のデスクトップアプリは別の文字起こし経路を使用しており、本事象の影響を受けていません。

発生原因

本事象は、委託先のAPIキーをクライアント側から参照できる場所に置いたという設計上の誤りと、不要になった設定が残り続けたという手順の漏れが重なって生じました。外部からの報告を受け付ける体制が整っていなかったことが、対応の遅れにつながっています。

経緯

日付 出来事
お問い合わせください 招待制でベータ版の配布を開始
お問い合わせください ベータ版が外部事業者の文字起こしを利用する構成となり、APIキーが設定配信のエンドポイントから取得できる状態になる
お問い合わせください 文字起こしの処理をサーバー側へ移行。ベータ版のアプリはキーを必要としなくなったが、配信の設定からは取り除かれないまま残る
お問い合わせください 報告者から、セキュリティ窓口の照会を受領(この時点では内容の共有なし)
お問い合わせください 報告者からの再度の照会を受領
お問い合わせください 報告者と直接の連絡経路を確立し、詳細の提供を依頼
お問い合わせください 詳細を受領。同日、当該キーを失効させ、配信の設定から削除
お問い合わせください 対応の完了を報告者へ通知
お問い合わせください 第三者による指摘を契機に、経営層へ報告のうえ内部調査を開始
お問い合わせください 委託先から取得したアクセス記録の分析を完了
お問い合わせください 対象となる利用者へ個別に連絡し、本ポストモーテムを公開

直接の原因

  1. 設計上の誤り — 委託先のAPIキーを、アプリ側から参照できる設定情報に含めていました。クライアント側にキーを置く構成は暫定的なものでしたが、当初から避けるべきでした。
  2. 不要になった設定の残存 — 処理をサーバー側へ移行した時点でキーは不要になっていましたが、配信の設定から削除する手順が漏れていました。

運用上の原因

外部からのセキュリティ報告を受け付けて優先度を判断する手順が確立しておらず、最初の照会に対する対応が遅れました。窓口のメールアドレスは公開していたものの、受信を確認して担当者に割り当てる運用が定まっていませんでした。

対応

日付 対応内容
お問い合わせください 報告内容を検証し、再現を確認
お問い合わせください 露出していたAPIキーを失効させ、削除。到達できないことを確認
お問い合わせください 新しいキーを発行し、秘密情報管理の仕組みに保管
お問い合わせください 委託先から、負荷分散装置のアクセス記録(送信元アドレス、時刻、エンドポイント、対象の識別子)を取得
お問い合わせください 記録を分析し、処理のサーバー側移行後のアクセスが自社の基盤および社内ネットワークに限られていたことを確認。例外は報告者の検証に対応する短時間のアクセスのみ
お問い合わせください 移行前の期間についても、文字起こしが原則として作成元の利用者からのみ参照されていたことを確認
お問い合わせください 報告者との間で、検証の日時が調査結果と一致すること、およびデータが保持されていないことを相互に確認

影響範囲

  • 影響を受けうるのは、対象期間にデスクトップアプリのベータ版を利用していた〔対象となる利用者数〕名です。
  • アクセス記録の分析では、報告者による管理された検証(短時間のアクセスで、〔検証で参照された文字起こしの件数〕件の文字起こしが対象)を除き、外部からの到達は確認されていません。
  • 報告者からは、検証で参照したデータを保持していないこと、および同機関の開示方針に従って調査を行ったことの確認を得ています。
  • 一般提供版の利用者への影響はなく、対応は必要ありません。
  • 対象となる方には、登録のメールアドレス宛に個別にご連絡しました。
個人情報保護法上の報告・通知との関係

個人データの漏えい、滅失もしくは毀損またはそのおそれが生じた場合、事案の内容によっては、個人情報の保護に関する法律第26条に基づく個人情報保護委員会への報告(速報および確報)と本人への通知が必要になります。報告の対象となる事態は同法施行規則第7条に、報告の期限は同規則第8条に、本人への通知事項は同規則第10条に定められています。文字起こしには要配慮個人情報が含まれることがあり、その場合は対象人数にかかわらず報告の対象となりうる点に注意が必要です。実際の事象を公表する際は、該当の有無と、報告・通知を行った場合はその旨を明記してください。

公表の根拠について

本ページは、UNCHAIN株式会社の自主的な取り組みとして公開しているものです。民間事業者に対してセキュリティ事象の公表を一般的に義務づける法律はありません。法令上の義務として生じうるのは、個人情報保護法第26条に基づく個人情報保護委員会への報告および本人への通知、電気通信事業者として届出を行っている場合の通信の秘密の漏えい等に関する報告、ならびに法人のお客様との契約に基づく通知です。

再発防止策

  1. 秘密情報の取り扱いの見直し — 外部事業者の認証情報を、アプリ側から参照できる経路に置かない方針を明文化しました。既存の設定配信の内容を全件点検し、同種の情報が含まれていないことを確認しました。
  2. 継続的な検出 — 継続的インテグレーションの工程に、認証情報の混入を検出する仕組みを組み込みました。検出時は本番環境への反映を停止します。
  3. 報告受付の体制 — セキュリティ窓口に届いた報告の受信確認、担当者の割当て、優先度の判断、社内への共有の手順を定めました。対応状況の記録も残します。
  4. インシデント対応手順の整備 — 事象の調査、影響範囲の確定、対象となるお客様への連絡までの手順と責任者を定めました。
  5. 外部の専門事業者との連携 — セキュリティ窓口の監視、報告の初期評価、侵入テスト、監査について、外部の事業者の支援を受ける体制を整えました。
  6. 体制の強化 — セキュリティを担当する技術者の採用を進めています。
報奨金制度について

脆弱性報告に対する報奨金制度を設ける場合は、その旨と開始時期を記載してください。制度を設けていない段階で「準備中」とだけ書くと、報告者の期待と実際の運用が食い違うおそれがあります。詳細は脆弱性開示ポリシーの記載と整合させてください。

謝辞

責任ある開示を行っていただいた〔報告者名〕(〔報告者の所属組織名〕)、本件を広く知らせて対応の契機をつくっていただいた〔第三者として指摘した研究者名〕、調査にご協力いただいた文字起こしの委託先に感謝します。

参考情報

外部の参照先について

報告者または外部の研究者が公開した技術情報がある場合は、その参照先をここに記載します。掲載の可否と時期は、公開者と調整してください。

← 報告: デスクトップアプリの画面遷移の脆弱性ポストモーテム: セッションのログアウト不全 →