スクリーンショットのセキュリティ:機密情報を守る方法
共有するスクリーンショットは、どれも情報漏えいの入口になり得ます。APIキーが写り込んだバグ報告。顧客のメールアドレスが見えているサポートチケット。インフラ構成が分かる社内URL入りのSlackメッセージ。開発者の個人アカウントでログインしたままのドキュメント用スクリーンショット。
スクリーンショットは手軽に撮れるぶん、セキュリティの確認が飛ばされがちです。撮って、送って、あとになってから「本当に撮りたかったダイアログの裏のターミナルに、データベースの接続文字列が表示されていた」と気づくのです。
この記事では、スクリーンショット経由の情報漏えいを防ぐための実践的な対策を紹介します。何をチェックすべきか、どうすれば確実に隠せるか、どこに置けば安全か、そしてセキュリティを「あとからの作業」ではなく当たり前にしてくれるツールはどれかを解説します。
スクリーンショットから漏れやすい情報
セキュリティインシデントの報告事例と、よくあるパターンの分析から見えてきた、スクリーンショットで最も漏えいしやすい情報の種類です。
認証情報とトークン
- コードエディター、ターミナルの出力、設定画面に表示されたAPIキー
- パスワードを含むデータベース接続文字列
- ブラウザの開発者ツールに表示されたOAuthトークン
- ターミナルに表示されたSSHキーや証明書の中身
- プロセス一覧やデバッグ出力に表示された環境変数
個人を特定できる情報(PII)
- ユーザー一覧、受信トレイ、通知パネルに並ぶメールアドレス
- アプリの画面に表示されたフルネームやプロフィール画像
- 問い合わせフォームやユーザープロフィールの電話番号
- 配送先や請求先の画面に表示された住所
- サーバーログやネットワーク診断の出力に含まれるIPアドレス
社内インフラの情報
- 社内URLやドメイン名(ステージング環境や管理画面の存在が分かってしまいます)
- ターミナルのプロンプトやブラウザのアドレスバーに表示されたホスト名・IPアドレス
- 社内ツールやライブラリのバージョン番号(狙いを定めた攻撃の手がかりになります)
- ファイルパスやアプリ構成が分かるエラーのスタックトレース
- クエリ結果に表示されたデータベースのテーブル名・カラム名
事業上の機密情報
- 売上の数字、価格情報、財務ダッシュボード
- 顧客リストや商談パイプラインのデータ
- 開発環境に表示された未発表の機能
- 背面のウィンドウに写り込んだ社内のやり取り(Slackのメッセージ、メールのスレッドなど)
スクリーンショット公開前のチェックリスト
バグ報告、ドキュメント、サポートチケット、Slackの投稿、SNSへの投稿——スクリーンショットを共有する前に、次の箇所を必ず確認してください。
- ブラウザのアドレスバー — 社内URL、ステージング環境、管理画面のパスが表示されていませんか。
- ターミナル・コンソール — 環境変数、接続文字列、認証トークンが見えていませんか。
- 背面のウィンドウ — 目的のウィンドウの後ろに、Slackの会話、メール、社内資料が一部でも見えていませんか。
- ユーザーのデータ — 撮影した画面に、メールアドレスや氏名などの個人情報が表示されていませんか。
- 通知のポップアップ — 撮影中に、個人情報を含むシステム通知が表示されませんでしたか。
- ブックマークバー — ブラウザのブックマークから、社内ツールや非公開のURLが読み取れませんか。
- タスクバー — 開いているアプリから、今どんな作業をしているかが分かってしまいませんか。
確実に隠すためのコツ
ぼかしと黒塗り、どう使い分けるか
機密情報については、切り抜くか、完全に不透明な墨消しツールを使用してから、書き出したファイルを確認してください。ぼかしやモザイクは見た目を変えるだけで、閲覧者や復元ツールが推測できる情報が残ってしまうことがあります。
ぼかしとモザイク は、機密性の低い情報を目立たなくすることができますが、安全な黒塗り(レダクション)とみなすべきではありません。 Bishop FoxのUnredacter調査 は、ピクセル化されたテキストが特定の条件下で復元可能であることを実証しています。
完全に不透明な塗りつぶし は、不透明な編集(redaction)に対応したツールで適用すれば、フラット化されたエクスポート内の元のピクセルを置き換えられます。機密領域全体を覆い、エクスポートしたファイルを確認して、周囲のテキストやレイアウトから情報が推測できないか確認してください。Maxisnapの塗りつぶし図形は半透明のため、切り抜きまたは別のエディタの適切なツールを使用してください。
注意:半透明のオーバーレイは使わないでください。 画像編集ソフトによっては、初期設定で図形が半透明になっています。半透明の塗りつぶしは、明るさやコントラストを調整するだけで下の内容が見えてしまいます。必ず完全に不透明な方法で隠してください。
Maxisnapのぼかしツールを使う
Maxisnap は、単一のぼかしツールを備えており、 B キーを使って注釈エディタで利用できます。ツールを選択し、範囲にドラッグすると見た目の詳細を減らせます。 ぼかしガイドでは、この効果とその限界について説明しています。エクスポートしたファイルでは注釈が統合されますが、エディター内では元に戻すことができ、復元用のコピーには元の画像が保持されている場合があります。機密性の高い内容は切り取るか、別のエディターで完全に不透明な墨消しツールを使用したうえで、エクスポートしたファイルを確認してください。Maxisnapの塗りつぶし四角形は半透明です。
書き出したファイルを100%表示で確認し、機密情報を含むすべての領域をチェックしてください。ぼかしを何度重ねても、セキュリティが保証されるわけではありません。内容をクロップして除外するか、他のエディタで不透明な墨消しツールを使用してください。Maxisnapの塗りつぶし四角形ツールは半透明です。
メタデータとEXIF情報
スクリーンショットのファイルには、共有するつもりのなかった情報がメタデータとして残ることがあります。
- 作成日時 — いつ撮影したかが正確に分かります
- ソフトウェアのバージョン — 撮影に使ったツールとそのバージョンが分かります
- ディスプレイ情報 — 画面解像度、DPI、カラープロファイルなどが含まれる場合があります
- OS — ファイルのメタデータに埋め込まれています
業務用のスクリーンショットであれば、こうしたメタデータはほとんど問題になりません。ただし匿名性が重要な場面(内部告発、セキュリティ研究、競合調査など)では、メタデータから発信元が特定されることもあります。共有前に、画像編集ソフトの「Web用に保存」機能やExifToolなどでメタデータを削除しておきましょう。
PNGファイル(Maxisnapを含む多くのスクリーンショットツールの初期設定形式)は、JPEGよりメタデータが少なめです。スマートフォンの写真のようなGPS情報も含まれません。それでも作成日時とソフトウェアの識別情報は残ります。
安全なスクリーンショットの保存先
スクリーンショットをどこに置くかは、そこに何が写っているかと同じくらい重要です。よくある保存先を、安全性の高い順に紹介します。
自社サーバー(最も安全)
スクリーンショットは 自社サーバーへSFTPでアップロード。ファイルへのアクセス、保持期間、暗号化、閲覧者を自分で管理できます。Maxisnap Studioアドオンにより、SFTP、FTP、S3互換ストレージ、HTTP POSTアップロードが有効になり、いずれも自社で管理するインフラを利用先にできます。
プライベートなクラウドストレージ(中程度の安全性)
アクセス制御を設定したS3バケット、Google Cloud Storage、Azure Blob Storageなど。初期状態では一般公開されず、アクセスポリシーも自分で管理できます。自社サーバーを運用せずにマネージドなインフラを使いたいチームに向いています。
スクリーンショットツールのクラウド(安全性はまちまち)
Monosnap、Zightなどのツールは、自社クラウドにスクリーンショットを保存します。データは他社のサーバー上に、その会社の利用規約のもとで置かれることになります。保持期間、アクセス、削除の可否は提供元次第です。機密性の高いスクリーンショットでは、これはリスクになります。アップロードとプライバシーの違いについて詳しくは、 MaxisnapとMonosnapの比較 をご覧ください。
パブリック画像ホスト(管理の自由度が最も低い)
Imgur、prnt.sc(Lightshot)、および類似の公開ギャラリー。アップロードされた画像は通常誰でもアクセス可能で、URLが推測できてしまう場合があり、削除についてもユーザー側で制御できる範囲は限られています。特に短縮URL形式の公開ギャラリーでは、よく知られた列挙リスクがあります——連番や短いURLは自動化スクリプトによって総当たりで探索され得るというもので、これはprnt.sc(Lightshotの共有サービス)などがあります。機密性の高いスクリーンショットを公開ホストにアップロードしないでください。
チームで決めておきたいルール
組織として運用するなら、スクリーンショットのセキュリティは個人の判断任せにせず、明文化したルールにすべきです。おすすめのルールは次のとおりです。
公開前チェックを必須にする。 公開Issue、ナレッジベースの記事、社外向けの連絡にスクリーンショットを添付する前に、機密情報が写っていないか投稿者が必ず確認します。5秒で終わる作業で、事故を確実に減らせます。
標準化されたレダクション(黒塗り)の手順。 チームで機密性の高いスクリーンショットを扱う場合は、情報をクロップして除外する方法や、完全に不透明なツールで覆う方法についてあらかじめ合意し、書き出した結果を確認してください。キャプチャツールの注釈機能の一覧だけでは、安全に墨消しできることの証明にはなりません。詳しくは Lightshot比較 で、そのエディターの現在の機能一覧を確認してください。
アップロード先を社内に限定する。 チームのスクリーンショットは、公開ギャラリーではなく自社で管理するインフラにアップロードします。 Maxisnap Studioの SFTP・S3アップロードを使えば、これは簡単に実現できます。
ドキュメント用にはきれいな環境を用意する。 ドキュメントやマーケティング用のスクリーンショットを撮るときは、ダミーデータを入れた専用のデモアカウントを使いましょう。実在する顧客データ、本物の認証情報、社内URLは一切使いません。 テクニカルライティング向けガイド で詳しく解説しています。
セキュリティを手間にしないツール選び
長続きするセキュリティ対策とは、余計な手間がかからない対策のことです。セキュリティを後付けするのではなく、日々の作業に最初から組み込めるツールを選びましょう。
Maxisnap は、次の3つの形でスクリーンショットのセキュリティに対応しています。
- キャプチャと編集の操作 — クロップで機密情報を除外できます。ぼかし(
B)は他の領域を目立たなくすることができますが、安全な黒塗り(レダクション)ではありません - Studioのセルフホストアップロード — SFTP・S3アップロード に対応。第三者のクラウドではなく、自分で管理するインフラに保存できます
- プライバシーに配慮した計測 — Maxisnapは安定性向上のために製品利用状況とクラッシュ情報を収集しますが、設定画面からオプトアウトできます。また、ご自身でアップロードしたりバグ報告に添付したりしない限り、スクリーンショットの内容が送信されることはありません
取り扱う情報に見合ったキャプチャ、編集、ホスティングの設定を使用してください。 Maxisnapはローカルでのキャプチャと注釈に関して無料ですが、カスタムのアップロード先を利用するにはStudioが必要で、プライベートホスティングの場合もサーバー側でのアクセス制御の設定が必要です。