スクリーンショットからは、画面に表示されている以上の情報が明らかになることがある。APIキー、ターミナルの出力、社内ダッシュボード、位置情報、機密性の高いテキストなどが、画像やそのメタデータに含まれてしまう可能性がある。
画像共有サービスのGyazoは、攻撃者が画像アップロードサーバーを侵害した後、約2362万件のユーザー記録と4億9000万件の画像メタデータ記録が流出したと発表した。影響を受けたアカウントデータにはメールアドレスとパスワードハッシュが含まれていた。一方、メタデータの内容は記録によって異なり、IPアドレス、EXIF位置情報、OCRで抽出されたテキスト、画像ID、参照元URLなどが含まれていた可能性がある。
防御側にとっては、こうしたメタデータの一部が、パスワードをリセットしても長く残るリスクを生む可能性がある。
攻撃者はアップロードサーバーからGyazoのデータベースへ侵入
報道によるThe Hacker Newsによると、攻撃者はGyazoの画像アップロードサーバーに存在した詳細不明の脆弱性を悪用し、影響を受けたサーバー上で任意のコマンドを実行できる状態になった。
Gyazoを運営するHelpfeelは不審な活動を検知した。9月11日に検知し、同12日早朝までに、特定されたアクセス経路を遮断し、攻撃者との接続を切断して、脆弱性を修正したと同社は説明している。9月14日にはデータが露出していたことを確認し、同15日に日本の個人情報保護委員会へ届け出たうえで、同16日に情報流出を公表した。
影響を受けたユーザーの記録には、氏名、メールアドレス、パスワードハッシュ、ユーザーIDおよびデバイスID、ログインセッションID、X連携トークン、Google SSOのメールアドレス、プロフィール情報、アカウントアクティビティなどが含まれていた可能性がある。Helpfeelによると、決済カード情報は露出していない。
2362万件という数字は、必ずしも2362万人の個別の被害者を指すものではなく、記録の件数を示している。匿名アカウントも含まれており、Helpfeelは依然として、何人の個人情報が露出したのかを特定中だ。
4億9000万件のメタデータ記録に位置情報、OCRテキスト、画像IDが含まれる
は、流出したアカウント認証情報よりも対処が難しい可能性がある。
4億9000万件の記録の大半は、2019年1月以前に登録された画像に紐付いている。露出したメタデータからは、さまざまな種類の情報が明らかになる可能性がある。
- 画像の出所:アップロード時のIPアドレスやEXIF座標から、ユーザーの所在地を推測できる可能性がある。
- スクリーンショットに何が写っていたか:OCRデータには抽出されたテキストが含まれる可能性があり、タイトルや参照元URLが追加の文脈を与えることもある。
- 画像にどうアクセスできるか:画像IDはGyazoのURLの生成に使われる。一部の記録には、非公開画像用のハッシュ化されたパスフレーズも含まれていた。
Gyazoでは通常、各キャプチャーのURLの一部として32文字の画像IDを使用する。この長い識別子は、共有されていないリンクを推測しにくくするためのものだ。しかし画像IDが露出すると、URLが不正な発見に対して同じ保護を提供できなくなる可能性がある。特に、追加のアクセス制御を必要としなかったキャプチャーでは、そのリスクが高い。
Helpfeelは一部の画像について一時的に閲覧機能を無効にし、攻撃者が非公開のキャプチャーを閲覧した可能性を否定できないと説明している。
このリスクは、業務のスクリーンショット共有にGyazoを利用していた開発者や企業にとって、特に深刻になり得る。Infosecurity Magazineは、スクリーンショットにターミナル出力、APIキー、設定ファイル、認証情報、社内アプリケーション、機密文書などが含まれている可能性を指摘した。
GyazoのOCR機能は別の問題も生む。スクリーンショット内のテキストが抽出され、画像上でしか見えない状態にとどまらず、検索可能なデータとして保存される可能性があるためだ。
「本当の影響範囲はメタデータの層にある」と、BreachLockの創業者兼CEOであるSeemant Sehgal氏はeSecurity Planetに語った。
Sehgal氏は、EXIF座標、OCRテキスト、セッションID、画像URL情報を挙げ、これらのデータが攻撃者によるユーザーの活動や位置履歴の組み立てに役立つ可能性があると指摘した。
データの多くが古いことは、いくらかの安心材料になる。2019年以前のスクリーンショットに含まれていたAPIキーなどの認証情報は、すでに期限切れになっているか、更新されている可能性がある。一方、位置情報、社内URL、個人情報、長期間有効な認証情報は、はるかに長く利用価値を持ち続ける可能性がある。
Gyazoの情報流出で社内セグメンテーションに注目集まる
アップロードサーバーの脆弱性は、攻撃者が侵入できた経路を説明する。今回の露出規模は、別のセキュリティ問題も浮かび上がらせる。侵害されたインターネットに公開されたシステムが、最初の侵入後にどれだけの範囲へアクセスできたのかという問題だ。
Sehgal氏は、画像アップロードサーバー上で任意のコマンド実行を許していたことは重大なセキュリティ上の失敗だと述べた。同時に、そのサーバーが数億件の記録を保管するデータベースの近くにあったことは、社内セグメンテーションの弱さを示していると指摘した。
COE Securityも同様に、脆弱なアプリケーションコンポーネントが過剰な権限やバックエンドリソースへの無制限のアクセス権を持つと、はるかに危険になると警告している。
セキュリティチームは、次の3つの対策に注力することで、被害の拡大範囲を抑えられる。
- 権限を制限する:インターネットに公開されたアプリケーションには、必要なデータベース権限とシステム権限だけを与えるべきだ。
- 機密システムを分離する:実行可能な範囲で、アップロードサーバー、データベース、ストレージ、管理環境を分離するべきだ。
- 異常なアクセスを監視する:コマンド実行、異常なデータベースクエリ、予期しない管理操作があれば、調査を開始するべきだ。
COE Securityは、セキュアなファイル処理のための対策、継続的な監視、インターネットに公開されたアプリケーションの脆弱性管理も推奨している。
アップロードサーバーにパッチを適用することで修正できるのは侵入口だけだ。セキュリティチームは、インターネットに公開されたシステムがアクセスできる範囲も制限する必要がある。そうすれば、1つのサービスが侵害されても、攻撃者が大量の機密データの保管場所へ到達する経路を与えずに済む。
Gyazoのユーザーとセキュリティチームが今すべきこと
Helpfeelは、すべてのGyazoユーザーにパスワードを変更するよう求めている。また、同じ、または似たパスワードを使っていた他のサービスでも認証情報を更新するよう促している。ユーザーは、情報流出で得られた情報を使ってGyazoや別の信頼できるサービスになりすます不審なメールやメッセージにも注意すべきだ。
従業員が開発や社内コラボレーションにGyazoを利用していた組織は、現在も有効な可能性がある認証情報や秘密情報が古いスクリーンショットに残っていないか、確認を検討すべきだ。
セキュリティチームは、次の対策を優先すべきだ。
- 露出した秘密情報をローテーションする:APIキー、トークン、パスワード、その他の認証情報のうち、現在も有効な可能性があるものを置き換える。
- セッションと連携を無効化する:パスワードだけに注目せず、露出したセッションIDやサードパーティーのトークンを確認する。
- 二次的な攻撃を監視する:クレデンシャルスタッフィング、不審なログイン、フィッシング、アカウント乗っ取りの試み、偽の情報流出通知に注意する。
組織は、古いスクリーンショットが無害だと決めつけてはならない。認証情報、社内URL、顧客情報、位置情報を含むキャプチャーを特定し、露出した秘密情報、セッション、連携が無効化されていることを確認すべきだ。
Gyazoの情報流出は、インシデント対応がパスワードのリセットだけにとどまってはならない理由を示している。認証情報は置き換えられるが、位置履歴、インデックス化されたスクリーンショットのテキスト、何年も前に取得された社内情報は、いったん露出すると回収できない可能性がある。
続きを読む:Gyazoだけが、脆弱なアクセス制御によって機密データへの扉を開いた最近の事例ではない。研究者らはデフォルトの認証情報によって2億2080万件の乗客・乗員記録が露出していたことも明らかにした。





