ケイパビリティ

画面が漏洩したとき、漏洩した事実だけでなく発生源を特定する

ZeroLeakは保護対象の各ページにユーザー固有の可視マークを配置し、ピクセルそのものに不可視の痕跡識別子を埋め込みます。漏洩したスクリーンショットは — トリミング、スケーリング、モニターからの撮影がされていても — それを生んだセッションのIDを帯びます。

ほとんどの漏洩防止制御は境界で止まります:試みを検出してブロックします。より難しい問題は漏洩が実際に起きてしまうことです:閲覧権限しか持たない人が画面を撮影し、スクリーンショットをオンラインで共有し、あるいは外部に送ります。フォレンジックな痕跡がなければ、データが漏洩したことはわかっても、どのユーザーが生んだかを証明できません。ZeroLeakは保護対象の各ページに2つの補完的な層を追加します:抑止としてのユーザー固有の可視ウォーターマークと、トリミング、スケーリング、再撮影に耐える、ピクセルに書き込まれた不可視の痕跡識別子です。漏洩が発見されたとき、発生源は証明可能です。

2層
ユーザー固有の可視マークと、ピクセルに埋め込まれた不可視の痕跡識別子
3層
サービスごとに個別構成可能な独立した可視ウォーターマーク層
セッションごと
不可視の痕跡識別子はセッション固有で、セッションIDに解読される

発生源特定がなければ、漏洩は単なる事実にすぎない — 調査の手がかりではない

画面が一度撮影またはスクリーンショットされ外部に共有されると、データは出ていってしまいます。残る唯一の意味ある問いはこれです:誰がこれを生んだのか? この答えがなければ、インシデントは解けない謎に変わります — そして結果が出ないことが、次の漏洩へのそれ自体の誘因になります。

従来の答え — ユーザーの名前が画面に表示される可視ウォーターマーク — は抑止として機能します。しかし画像をウォーターマークのない部分でトリミングするか、そう撮影することでそれを取り除けます。ユーザーはそれを知っており、抑止効果は時間とともに薄れます。

最新の発生源特定には2つの層が必要です。ユーザーに自分が識別可能だと感じさせる可視マークと、可視のものへの明白な攻撃に耐えるよう実際のピクセルデータに埋め込まれた不可視の痕跡です。ZeroLeakは両方を追加します:可視マークが容易な漏洩を抑止し、不可視の痕跡が注意深い者を捕捉します。

2つの層、1つの結果 — すべての漏洩を特定可能に

両方のウォーターマーク層は同じ場所で適用されます:ユーザーのブラウザが受け取るnoVNCビューアです。いずれの層も保護対象WebアプリケーションのDOMには存在しないため、いかなるWebサイトもそれらに干渉できず、いかなるフロントエンドポリシーもそれらを取り除けません。可視層は保護対象サービスごとに構成されます。不可視の痕跡識別子はセッションごとに生成されます。

生成されたページの上に配置されるユーザー固有の可視ウォーターマーク

ユーザー名、セッションID、またはカスタムテキストが、生成されたページの上にmix-blend-modeを使って配置されます — そのため明るいコンテンツでも暗いコンテンツでも見えたままになります。ユーザーは見るあらゆる画面で自分が個人的に識別可能であることを知ります — 容易なスクリーンショットに対する継続的で強力な抑止です。

ピクセルの中に埋め込まれた不可視の痕跡識別子

ユーザーが見るすべてのフレームの実際のピクセルデータに、セッション固有のパターンが書き込まれます。このパターンはトリミング、スケーリング、JPEG再圧縮、再撮影に耐えるよう設計されています。後にスクリーンショットが現れたとき、埋め込まれた識別子はそれを生んだセッションを特定します — 可視ウォーターマークがトリミングで取り除かれていても。

最大3層まで構成可能な可視ウォーターマーク

可視ウォーターマークは最大3つの独立した層をサポートし、それぞれが自身のテキスト、位置、回転、フォント、不透明度、タイルサイズを持ちます。斜めのユーザー名、中央のセッションID、隅のタイムスタンプを併用すると、有用な画面領域を失わずに可視マークをトリミングで取り除くことがはるかに困難になります。

可視層への明白な攻撃に耐える

可視ウォーターマークをトリミングで取り除く、画像をメッセージングアプリ向けに縮小する、モニターを電話で撮影する — 不可視の痕跡識別子はこれらすべてに耐えます。なぜならそれはオーバーレイではなくピクセルデータそのものの一部だからです。復元された画像から痕跡識別子を解読するとセッションが特定されます。

ウォーターマークシステムが提供するもの

以下の各項目は保護対象サービスごとに独立して構成可能です。抑止で十分な低機密のコンテンツには可視層のみ。発生源特定が可能であるべき高機密のコンテンツには2つの層を併用してください。

ユーザーおよびセッション別の可視テキスト

可視ウォーターマークのテキストは、セッション開始時に認証されたユーザーID、セッションID、タイムスタンプ、またはポリシーで選択された任意の組み合わせから構成されます。画面上のウォーターマークは汎用ロゴではなく、閲覧している特定の個人を反映します。

あらゆる背景に対応するmix-blend-modeレンダリング

ウォーターマークは背景色に応じて自身を反転させるmix-blend-modeを使います。通常は黒または白のページで見えなくなるウォーターマークが、どこでも読めたままになります — 目は、下のページが何を表示していようと一貫したマークを見ます。

3つの独立した可視層

併せて最大3つの可視層まで構成できます。各層は自身のテキスト、色、不透明度、フォント、回転、タイルサイズ、位置を持ちます。層は斜めに繰り返したり、中央に配置したり、隅に固定したりできます — ある層を取り除くようスクリーンショットをトリミングしても、他の層は依然として残ります。

ピクセルデータに書き込まれる不可視の痕跡識別子

ユーザーが見る生成されたフレームに、セッション固有の痕跡パターンが埋め込まれます。埋め込み処理は一般的な画面漏洩攻撃に耐えるよう設計されています — トリミング、メッセージングアプリ向けの縮小、JPEG再圧縮、モニターを電話のカメラで再撮影すること。いずれもセッションIDを復元するのに十分なパターンを残します。

復元された漏洩画像のためのデコーダー

漏洩した画像が見つかったとき、オペレーターはそれをデコーダーに通します。デコーダーは埋め込まれた痕跡パターンを読み取り、それを生んだセッションIDを返します。オペレーターは監査記録からそのセッションを検索し、ユーザーID、タイムスタンプ、関連する保護対象サービスを見つけます。

保護対象アプリケーションの外で動作する

両方のウォーターマーク層はユーザーのブラウザが受け取るnoVNCビューアで適用されます — 保護対象アプリケーションのDOMではありません。保護対象アプリケーションはウォーターマークを認識せず、それに干渉できません。フロントエンドフレームワーク、trusted-HTMLポリシー、保護対象アプリケーション内のブラウザ拡張機能 — いずれもマークにアクセスできません。

漏洩から何が生き残り、何が生き残らないか

異なる漏洩チャネルは漏洩画像を異なる方法で劣化させます。不可視の痕跡識別子は現実的な攻撃に対して設計されており、何を復元でき何を復元できないかについて正直です。

01

可視ウォーターマークをトリミングで取り除く

攻撃者がスクリーンショットを望むデータ領域までトリミングし、すべての可視ウォーターマークテキストを取り除きます。不可視の痕跡識別子はフレーム全体に分散されておりトリミングに耐えます — 元のフレームの妥当な大きさの領域を復元すれば識別子を解読するのに十分です。

02

メッセージングアプリでの縮小と再圧縮

ほとんどのメッセージングアプリは共有された画像を縮小しJPEGとして再圧縮します。痕跡パターンは一般的な縮小率とJPEG圧縮アーティファクトに耐えるよう冗長に設計されています。

03

モニターを電話で撮影する

ファイルシステムの痕跡を残したくない攻撃者が画面に電話を向けて写真を撮ります。痕跡パターンは光学キャプチャに耐えるよう設計されています — 電話カメラの写真は、デコーダーが依然としてセッションIDを見つけられるよう十分な空間周波数情報を保持します。

04

ごく小さな領域への積極的なトリミング

画面のごく一部だけを漏洩させる攻撃者 — 1つの文、1つの数字 — は利用可能な痕跡パターンの量を減らします。デコーダーは小さな領域については低い信頼度を報告します。極端な場合、痕跡は解読不能になります。正直な境界です — すべての漏洩が特定可能なわけではありません。

05

重いフィルタリングまたは生成AIによる描き直し

漏洩画像を重いガウシアンブラー、生成AIの画像フィルタに通す、あるいは可視コンテンツを手で描き直す攻撃者は、元の情報の大部分とともに痕跡パターンも破壊し得ます。この時点で漏洩画像はもはや画面上のものの忠実なコピーではありません — 失われるのは発生源特定だけではありません。

発生源特定が重要となる場所

金融データルームと投資デスク

IPO前の文書、M&A資料、投資ポジション — 公表前に多数の人が読む高価値情報。報道で漏洩が出たとき、どのセッションから来たかを特定することが、解決不能なインシデントと実行可能な調査の違いになります。

臨床記録と患者データ

医療スタッフは患者データを正当に画面で読みます。漏洩した患者記録が外部に出たとき、可視ウォーターマークは容易な漏洩を抑止し、不可視の痕跡識別子は漏洩が起きた場合にセッションを特定します — 閲覧権限のみを持つロールについてHIPAAの説明責任を支えます。

政府およびインテリジェンスのアナリストコンソール

同じ機密分類コンテンツを複数の人が見るアナリストデスク。ユーザー別マークは個人の説明責任を具体化します。不可視の痕跡識別子は、漏洩がオープンソースインテリジェンスに浮上したときに調査を可能にします。

請負業者およびサードパーティのアクセス

お客様の環境に閲覧権限のみを与えられた外部の当事者。見るあらゆる画面上のユーザー別の可視マークは、彼らが識別可能であることを思い出させます。不可視のマークは、漏洩が彼ら自身のサブネットワークで現れたときに状況を証明可能にします。

よくある質問

ユーザーはウォーターマークをブラウザから無効化できますか?
いいえ。ウォーターマークはユーザーのブラウザが受け取るnoVNCビューアで生成されます — 保護対象アプリケーションのDOM上のオーバーレイではなく、ピクセルストリームそのものの一部です。ブラウザ拡張機能、DevTools、保護対象アプリケーションに注入されたカスタムCSS — いずれもウォーターマーク層に到達できません。
可視ウォーターマークはページの読み取りを妨げますか?
ユーザーを特定できる程度に可視だが、コンテンツを覆わないよう調整されています。不透明度、色、タイル間隔は保護対象サービスごとに構成可能です。高機密のコンテンツには可視層をより目立たせることができます。日常的なコンテンツには控えめなままにできます。mix-blend-modeは、高い不透明度を必要とせずにウォーターマークを明るい背景でも暗い背景でも読めるように保ちます。
不可視の痕跡識別子はトリミングをどう生き延びますか?
痕跡パターンは単一の隅や領域にエンコードされず — フレーム全体に大きな冗長性をもって分散されます。元のフレームの妥当な大きさの領域を復元すれば、デコーダーがセッションを特定するのに十分なパターンが残ります。ごく小さな領域までの積極的なトリミングはデコーダーの信頼度を下げます — 正直な境界があります。
漏洩が見つかったときのワークフローはどうなりますか?
オペレーターは漏洩画像を痕跡デコーダーに送ります。デコーダーは埋め込まれたパターンを読み取り、セッションIDを返します。オペレーターはそのセッションを監査記録から検索し、ユーザーID、保護対象サービス、タイムスタンプ、アクティビティログを取得します。この時点から、調査は完全なコンテキストとともに進みます。
これはスクリーンショットだけのためのものですか、それとも動画漏洩にも効きますか?
動画にも効きます。痕跡パターンはユーザーが見るすべてのフレームに存在するため、セッションの画面録画やスマートフォンの動画キャプチャも痕跡を帯びます。録画から単一のフレームを解読すればセッションを特定するのに十分です。複数のフレームはより高い信頼度を提供します。
この保護はanti-OCRやテキスト暗号化とどう関係しますか?
Anti-OCRとテキスト暗号化は漏洩したコンテンツを有用に抽出することを困難にします(OCRが失敗し、コピー&ペーストが無意味な出力になります)。フォレンジックウォーターマークはさらに一歩進みます:漏洩そのものを特定可能にします。Anti-OCRは持ち出しのコストを上げ、フォレンジックマークは捕捉されるコストを上げます。ほとんどの構成は多層防御のために3つを併用します。

すべての漏洩を特定可能にする

ZeroLeakのフォレンジックウォーターマークをライブデモでご覧ください。セッションを開き、スクリーンショットを取り、トリミングし、縮小し、モニターから撮影します — そして毎回、痕跡識別子をセッションに解読し直します。