Перейти к основному содержимому
Возможность

Когда экран утекает, определите не только сам факт утечки, но и её источник

ZeroLeak размещает на каждой защищаемой странице видимую метку, уникальную для пользователя, и встраивает в сами пиксели невидимый идентификатор-след. Утёкший скриншот — даже обрезанный, масштабированный или сфотографированный с монитора — несёт идентичность сессии, которая его произвела.

Большинство средств предотвращения утечки останавливают на границе: обнаруживают попытку и блокируют её. Более сложная проблема — когда утечка действительно происходит: тот, у кого есть лишь право просмотра, фотографирует экран, делится скриншотом онлайн или отправляет его наружу. Без форензик-следа вы знаете, что данные утекли, но не можете доказать, какой пользователь это произвёл. ZeroLeak добавляет на каждую защищаемую страницу два взаимодополняющих слоя: видимый водяной знак, уникальный для пользователя, как сдерживающее средство, и невидимый идентификатор-след, записанный в пиксели и устойчивый к обрезке, масштабированию и повторному фотографированию. Когда утечка обнаружена, источник доказуем.

2 слоя
Видимая метка, уникальная для пользователя, плюс невидимый идентификатор-след, встроенный в пиксели
3 слоя
Независимые видимые слои водяного знака, настраиваемые отдельно для каждого сервиса
На сессию
Невидимый идентификатор-след специфичен для сессии и расшифровывается в идентификатор сессии

Без определения источника утечка — это лишь факт, а не зацепка для расследования

Как только экран один раз сфотографирован или с него снят скриншот и поделён наружу, данные ушли. Остаётся единственный осмысленный вопрос: кто это произвёл? Без этого ответа инцидент превращается в неразрешимую загадку — а отсутствие результата само становится стимулом для следующей утечки.

Традиционный ответ — видимые водяные знаки, где имя пользователя отображается на экране, — работает как сдерживающее средство. Но обрезать изображение по части без водяного знака или сфотографировать его так, чтобы исключить его, убирает водяной знак. Пользователь это знает; сдерживающая ценность со временем размывается.

Современное определение источника требует двух слоёв. Видимой метки, дающей пользователю почувствовать, что он идентифицируем, плюс невидимого следа, встроенного в реальные пиксельные данные так, чтобы пережить очевидные атаки на видимый слой. ZeroLeak добавляет оба: видимая метка сдерживает лёгкие утечки, невидимый след ловит осторожных.

Два слоя, один результат — каждая утечка обнаруживаема

Оба слоя водяного знака применяются в одной и той же точке: в просмотрщике noVNC, который получает браузер пользователя. Ни один слой не живёт в DOM защищаемого веб-приложения, поэтому никакой сайт не может в них вмешаться и никакая front-end-политика не может их удалить. Видимый слой настраивается для каждого защищаемого сервиса; невидимый идентификатор-след порождается для каждой сессии.

Видимый водяной знак, уникальный для пользователя, размещаемый поверх отрендеренной страницы

Имя пользователя, идентификатор сессии или произвольный текст размещаются поверх отрендеренной страницы с использованием mix-blend-mode — так что они остаются видимыми и на светлом, и на тёмном контенте. Пользователь знает, что на каждом видимом им экране он персонально идентифицируем — постоянное и сильное сдерживающее средство против лёгких скриншотов.

Невидимый идентификатор-след, встроенный в пиксели

В реальные пиксельные данные каждого кадра, который видит пользователь, записывается паттерн, специфичный для сессии. Этот паттерн спроектирован пережить обрезку, масштабирование, повторное JPEG-сжатие и повторное фотографирование. Когда позже всплывает скриншот, встроенный идентификатор определяет произведшую его сессию — даже если видимый водяной знак был удалён обрезкой.

Видимый водяной знак, настраиваемый до трёх слоёв

Видимый водяной знак поддерживает до трёх независимых слоёв; у каждого свой текст, положение, поворот, шрифт, непрозрачность и размер плитки. При совместном использовании диагонального имени пользователя, идентификатора сессии по центру и метки времени в углу обрезать видимую метку, не теряя полезной площади экрана, становится гораздо сложнее.

Переживает очевидные атаки на видимый слой

Обрезка видимого водяного знака, уменьшение изображения для мессенджера, фотографирование монитора телефоном — невидимый идентификатор-след переживает всё это, поскольку он не наложение, а часть самих пиксельных данных. Расшифровка идентификатора-следа из восстановленного изображения определяет сессию.

Что обеспечивает система водяных знаков

Каждый из приведённых ниже элементов настраивается независимо для каждого защищаемого сервиса. Для низкочувствительного контента, где достаточно сдерживания, используйте только видимый слой; для высокочувствительного контента, где должно быть возможно определение источника, используйте оба слоя вместе.

Видимый текст на основе пользователя и сессии

Текст видимого водяного знака формируется из подтверждённой при старте сессии идентичности пользователя, идентификатора сессии, метки времени или любой комбинации, выбранной политикой в момент исполнения. Водяной знак на экране отражает не общий логотип, а конкретного человека, который просматривает.

Рендеринг mix-blend-mode под любой фон

Водяной знак использует mix-blend-mode, инвертирующий себя относительно цвета фона. Водяной знак, который на обычной чёрной или белой странице был бы невидим, остаётся читаемым везде — глаз видит согласованную метку, что бы ни показывала страница под ней.

Три независимых видимых слоя

Вместе настраивается до трёх видимых слоёв. У каждого слоя свой текст, цвет, непрозрачность, шрифт, поворот, размер плитки и положение. Слои могут диагонально повторяться, быть отцентрованы или закреплены в углу — обрезка скриншота, убирающая один слой, всё равно оставляет другие.

Невидимый идентификатор-след, записанный в пиксельные данные

В отрендеренные кадры, которые видит пользователь, встраивается паттерн-след, специфичный для сессии. Встраивание спроектировано устойчивым к распространённым атакам утечки экрана — обрезке, уменьшению для мессенджеров, повторному JPEG-сжатию и повторному фотографированию монитора камерой телефона; все они оставляют достаточно паттерна для восстановления идентификатора сессии.

Декодер для восстановленных изображений утечки

Когда найдено утёкшее изображение, оператор пропускает его через декодер. Декодер читает встроенный паттерн-след и возвращает идентификатор сессии, произведшей его. Оператор находит сессию в аудиторском журнале, получая идентичность пользователя, метку времени и соответствующий защищаемый сервис.

Живёт вне защищаемого приложения

Оба слоя водяного знака применяются в просмотрщике noVNC, который получает браузер пользователя, — а не в DOM защищаемого приложения. Защищаемое приложение не знает о водяном знаке и не может в него вмешаться. Front-end-фреймворки, политики trusted-HTML, расширения браузера в защищаемом приложении — ничто из этого не имеет доступа к метке.

Что переживает утечку, а что нет

Разные каналы утечки искажают утёкшее изображение по-разному. Невидимый идентификатор-след спроектирован против реалистичных атак; он честен в том, что может восстановить, а что нет.

01

Удаление видимого водяного знака обрезкой

Злоумышленник обрезает скриншот до нужной области данных и удаляет весь видимый текст водяного знака. Невидимый идентификатор-след распределён по всему кадру и переживает обрезку — восстановления области разумного размера из оригинального кадра достаточно для расшифровки идентификатора.

02

Уменьшение и повторное сжатие в мессенджерах

Большинство мессенджеров уменьшают и повторно сжимают в JPEG разделяемые изображения. Паттерн-след спроектирован с избыточностью, чтобы пережить распространённые коэффициенты уменьшения и артефакты JPEG-сжатия.

03

Фотографирование монитора телефоном

Злоумышленник, не желающий оставлять файловый след, направляет телефон на экран и делает фото. Паттерн-след спроектирован пережить оптический захват — фотографии с камеры телефона сохраняют достаточно пространственно-частотной информации, чтобы декодер всё ещё мог найти идентификатор сессии.

04

Агрессивная обрезка до очень маленькой области

Злоумышленник, сливающий лишь очень малую часть экрана — одно предложение, одну цифру, — уменьшает доступное количество паттерна-следа. Декодер сообщает низкую уверенность для малых областей; на пределе след нерасшифровываем. Честная граница — не каждая утечка обнаруживаема.

05

Тяжёлая фильтрация или перерисовка генеративным AI

Злоумышленник, пропускающий утёкшее изображение через тяжёлое размытие по Гауссу, генеративный AI-фильтр изображения или вручную перерисовывающий видимый контент, может уничтожить паттерн-след вместе с большей частью оригинальной информации. В этот момент утёкшее изображение уже не верная копия того, что на экране, — потеряно не только определение источника.

Где важно определение источника

Финансовые дата-румы и инвестиционные столы

Документы перед IPO, материалы слияний/поглощений, инвестиционные позиции — высокоценная информация, читаемая многими людьми до публичного раскрытия. Когда утечка появляется в прессе, определение того, из какой сессии она пришла, — это разница между неразрешимым инцидентом и действенным расследованием.

Клинические записи и данные пациентов

Медицинский персонал законно читает данные пациентов на экране. Когда утёкшая запись пациента всплывает наружу, видимый водяной знак сдерживает лёгкие утечки, а невидимый идентификатор-след определяет сессию, если утечка произошла, — поддерживая подотчётность HIPAA для ролей только с правом просмотра.

Государственные и разведывательные консоли аналитиков

Столы аналитиков, где один и тот же засекреченный контент видят несколько человек. Метки на основе пользователя материализуют индивидуальную подотчётность; невидимый идентификатор-след делает расследования возможными, когда утечка всплывает в открытых источниках.

Доступ подрядчиков и третьих сторон

Внешние стороны, которым в вашу среду дано лишь право просмотра. Видимая метка на основе пользователя на каждом экране, что они видят, напоминает им, что они идентифицируемы; невидимая метка делает ситуацию доказуемой, когда утечка появляется в их подсетях.

Часто задаваемые вопросы

Может ли пользователь отключить водяной знак из своего браузера?
Нет. Водяной знак рендерится в просмотрщике noVNC, который получает браузер пользователя, — он часть самого потока пикселей, а не наложение в DOM защищаемого приложения. Расширения браузера, DevTools, пользовательский CSS, внедрённый в защищаемое приложение, — ничто из этого не может добраться до слоя водяного знака.
Мешает ли видимый водяной знак чтению страницы?
Он настроен так, чтобы быть достаточно видимым для идентификации пользователя, но не перекрывать контент. Непрозрачность, цвет и интервал плитки настраиваются для каждого защищаемого сервиса. Для высокочувствительного контента видимый слой может быть более заметным; для рутинного контента он может оставаться тонким. Mix-blend-mode держит водяной знак читаемым и на светлом, и на тёмном фоне без необходимости высокой непрозрачности.
Как невидимый идентификатор-след переживает обрезку?
Паттерн-след не кодируется в один угол или область — он распределён по всему кадру со значительной избыточностью. Восстановления области разумного размера из оригинального кадра достаточно, чтобы декодер определил сессию. Агрессивная обрезка до очень малой области снижает уверенность декодера — честная граница существует.
Каков рабочий процесс, когда найдена утечка?
Оператор отправляет утёкшее изображение в декодер следа. Декодер читает встроенный паттерн и возвращает идентификатор сессии. Оператор ищет эту сессию в аудиторском журнале, получая идентичность пользователя, защищаемый сервис, метку времени и журнал активности. С этого момента расследование продолжается с полным контекстом.
Это только для скриншотов или работает и для видеоутечек?
Работает и для видео. Поскольку паттерн-след присутствует в каждом кадре, который видит пользователь, запись экрана сессии или видеозахват со смартфона тоже несут след. Расшифровки одного кадра из записи достаточно для определения сессии; несколько кадров дают более высокую уверенность.
Как эта защита связана с anti-OCR и шифрованием текста?
Anti-OCR и шифрование текста затрудняют полезное извлечение утёкшего контента (OCR терпит неудачу, копирование-вставка выдаёт бессмыслицу). Форензик-водяной знак идёт на шаг дальше: делает обнаружимой саму утечку. Anti-OCR повышает стоимость экспорта; форензик-метка повышает стоимость быть пойманным. В большинстве установок все три используются вместе для эшелонированной защиты.

Сделайте каждую утечку обнаружимой

Посмотрите форензик-водяной знак ZeroLeak в живой демонстрации. Мы открываем сессию, делаем скриншот, обрезаем его, уменьшаем, фотографируем с монитора — и каждый раз расшифровываем идентификатор-след обратно в сессию.