Зеркало для обхода цензуры и инструмент безопасности

📡 Набор инструментов для анализа утечки данных Taylor Wessing

Универсальный набор для судебно-технического аудита и послойной декомпозиции для выявления и разоблачения визуальных редактирований PDF-документов, выполненных компаниями Taylor Wessing LLP и Valve Corporation.

На этой странице
Forensic tools for examining digital evidence

🔍 Краткое резюме

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

⚖️ Техническая асимметрия возможностей

Эта утилита для аудита создана для устранения критического дисбаланса сил в корпоративной обработке данных. Когда крупные конгломераты (такие как Valve Corporation) представлены элитными юридическими фирмами (такими как Тейлор Вессинг ЛЛП), любая систематическая утечка данных не наносит ущерба корпорации или их высокооплачиваемым юристам — она катастрофически нарушает конфиденциальность их противники (отдельные субъекты данных, сторонние пользователи и несовершеннолетние, чьи чувствительные персональные данные были раскрыты из-за правовой и технической халатности). Этот инструментарий предоставляет частным лицам и независимым аудиторам возможность проверять безопасность данных и привлекать корпоративных субъектов к ответственности.

📊 Пример из практики: Утечка данных Taylor Wessing / Valve в соответствии с GDPR

В ходе обработки запросов субъектов данных (SARs) в соответствии со статьей 15 GDPR, касающихся данных пользователей Steam, была выявлена критическая уязвимость безопасности в документах, обработанных и отправленных внешним юридическим советником. Тейлор Вессинг ЛЛП от имени Valve Corporation.

Технический анализ сбоев

Вместо постоянной очистки исходных символьных массивов внутри потоков содержимого PDF, автоматизированный конвейер генерации PDF по индивидуальному заказу (использующий Aspose.PDF для .NET) был развернут. Эта система программным образом запрашивала координаты чувствительных полей и отображала сплошные черные векторные фигуры (используя PDF-файлы re и f/F/b/B операторы) поверх текста.

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

📂 Приложение A: Утёкшая переписка с доктором Патриком Цурхайде

Ниже приведён точный ответ, полученный от Д-р Патрик Цурхайде (Партнёр по вознаграждению в Taylor Wessing LLP) после того, как PhishDestroy официально уведомил фирму о неудачном редактировании их PDF-файлов и последующей утечке данных пользователей Steam. Вместо того чтобы инициировать уведомление об утечке данных согласно статье 33 GDPR, он предпочёл написать следующее:

Здравствуйте, команда PhishDestroy,

Благодарю за ваше, судя по всему, переведённое, но вполне занимательное сообщение. На какую именно коммуникацию «с уголовным преследованием» в адрес команды PhishDestroy вы ссылаетесь? Я уверен, что никогда ранее не имел дела с PhishDestroy ни в какой форме. Поэтому, пожалуйста, предоставьте эту предполагаемую переписку, чтобы понять, о чём вообще идёт речь.

К сожалению, содержанию Вашего письма трудно или даже невозможно следовать. В качестве замечания: дисклеймер, как в нижней части Вашего письма, о том, что якобы не делается/не предполагается, не имеет значения, если фактические действия противоречат ему.

Патрик Цурхайде

🔍 Анализ PhishDestroy:

  • занимательное сообщение Высокооплачиваемый «эксперт по IT-праву» назвал судебное уведомление о масштабной утечке данных в соответствии с GDPR, затронувшей раскрытые аккаунты Steam несовершеннолетних, «занимательным».
  • от сложного до совершенно невозможного для понимания Мы предоставили ему точные шестнадцатеричные значения, метаданные его PDF-файла, временные метки пакетного конвейера продолжительностью 36 секунд и конкретные Aspose 20.8 версия, вызвавшая утечку. По-видимому, ИТ-метрики слишком «сложны для понимания» для доктора ИТ-права.

🛠️ Возможности множества инструментов

Этот набор предлагает три взаимодополняющих режима, полностью работающих на стороне клиента, для анализа и устранения поддельных визуальных редактирований:

  • 📡 Режим 1: Рентгеновский сканер (PDF.js): Визуально отображает PDF-файл, но в реальном времени извлекает скрытый под закраской текст. Вы видите чёрный прямоугольник, но мгновенно читаете секрет.
  • ✂️ Режим 2: Снятие слоёв (PDF-Lib): Хирургическая очистка на уровне потока. Физически заменяет прямоугольные команды визуальной закраскиre f, re F) с n (без закрашивания) оператор, удаляющий черные полосы.
  • 🔎 Режим 3: Аудит коллизий (раскладка Фитца): Подсвечивает перекрывающийся текст и графику для автоматического составления списков утечек.

💻 Использование CLI (decensor.py)

# 1. Decompose PDF to raw text layers (Strips all drawings, lines, and masks globally)
python decensor.py -i compromised.pdf -d -o naked_document.pdf

# 2. Extract and save all text hidden under black visual shapes to a leaks text report
python decensor.py -i compromised.pdf -e verified_leaks.txt

# 3. List page-by-page structural element counts
python decensor.py -i compromised.pdf -l

🔍 Основной санитайзер потоков Python

import re, fitz

def strip_black_bars_global(input_path, output_path):
    doc = fitz.open(input_path)
    for xref in range(1, doc.xref_length()):
        if not doc.is_stream(xref):
            continue
        try:
            obj_dict = doc.xref_object(xref)
            if any(m in obj_dict for m in ["/Type /Font", "/Subtype /Image", "/Type /Halftone"]):
                continue
                
            stream_bytes = doc.xref_stream(xref)
            text = stream_bytes.decode('latin-1')
            
            # Swap rectangular painting operators with no-fill 're n', preserving newlines
            modified_text, count = re.subn(
                r'\bre\s+([fFbB]\*?)(?=\s|$)',
                lambda m: f"re{m.group(0)[2:-len(m.group(1))]}n",
                text
            )
            if count > 0:
                doc.update_stream(xref, modified_text.encode('latin-1'))
        except Exception:
            continue
    doc.save(output_path, garbage=4, deflate=True, clean=True)
    doc.close()
ЛИЦЕНЗИЯ · ПРАВА · ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ
PHISHDESTROY

ЛИЦЕНЗИЯ · ПРАВА · ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ

Расследование: Valve Corporation / Steam  ·  публичная — без срока действия, без права отзыва
MIT PUBLIC DOMAIN OFAC-RESTRICTED
РАЗДЕЛ I — ЛИЦЕНЗИЯ
PhishDestroy отказывается от всех прав на этот материал. Ноль. Всё. Готово. Вы можете воспроизводить его, продавать, подписывать своим именем, татуировать на своем боссе, что угодно. Без указания авторства, без необходимости писать нам, без ожидания благодарственной открытки.
ОДНО РЕАЛЬНОЕ ПРАВИЛО
Если вы пользователь из России или любой страны, находящейся под санкциями OFAC — этот материал НЕ для вас. Без лазеек. Наслаждайтесь вашими санкциями. И если вы сменили регион Steam на Turkey, сидя в Москве — поздравляем с вашим творческим географическим подходом. Вы все еще русский. Санкции по-прежнему действуют. В этом и есть весь смысл.
РАЗДЕЛ II — ЧТО ЭТО ТАКОЕ И ЗАЧЕМ ОНО СУЩЕСТВУЕТ
Мы опубликуем о Valve больше, чем средний сотрудник Valve знает о самом себе. Steam, по сути, создал нас. Он воспитывал нас на своих мошенниках, тикетах поддержки, экосистеме обхода банов — и вот мы здесь. Никакой злобы. Скорее поэтично. Мы ждали более 4 лет, пока они исправят проблему спуфинга, прежде чем мы могли написать об этом публично. Это конфликт? Нет. Можно ли его разрешить? Да. Но мы не будем подписывать NDA и не будем участвовать в bug bounty за копейки.
РАЗДЕЛ III — ОТКРЫТОЕ ПИСЬМО VALVE
Привет, Valve. Если вы думаете о том, чтобы заблокировать наш домен — просто напишите нам на почту. Не платите снова Dr. Patrick. Пожалуйста. Это позорно для всех участников.
Будем ли мы «наносить ущерб» Valve напрямую? Скорее всего, не так, чтобы они почувствовали это финансово. Мы не бредим. Но мы сделаем это честно, открыто, без погони за популярностью. У нас есть 5 лет архивов. Регуляторы получат оригиналы. Исследователи и журналисты получат версии с правками. PhishDestroy — это сообщество, а не личность.
СДЕЛКА (открытое предложение, юристы не нужны)
Если вы хотите убрать домен: пусть ваши специалисты по IT-праву рассчитают цену. 50% пойдет в SEAL Foundation. Мы закрываем домен. Без драмы. Без суда. Готово. Другим способом вы этого не добьетесь. Это не угроза. Это просто архитектура ситуации.
РАЗДЕЛ IV — ДЕНЬГИ, БАНЫ, ВЕСЬ ЦИРК
Вот в чем дело с тем, как Steam банит игорные сайты и мошенников: это не правоприменение. Это захват выручки. Valve забирает деньги себе, отмывает руки, а потом выходит на сцену и рассказывает всем трогательную историю. Тем временем Valve в 2017 году убил возможность правильно отслеживать скины. Мы докажем это: Скины более анонимны, чем Monero. Перуанский картель, по слухам, использовал скины Dota 2 для перемещения денег. Steam функционально является машиной для обхода санкций стоимостью около 7 млрд долларов в «торговых картах».
РАЗДЕЛ V — ДЕЛО О ВРЕДОНОСНОМ ПО
Мы НЕ раскрываем уязвимость в игре публично. Мы НЕ сообщаем о ней в Steam. Не потому, что не можем — а потому, что их bug bounty стоит примерно три копейки, и мы не работаем за три копейки. Наши коллеги по безопасности уже сообщили об этом в поддержку Steam. Это НЕ тривиальный вариант для CSGO. Это ближе к: RCE при подключении к серверу. То есть — вы подключаетесь к серверу, ничего не нажимаете. Само подключение является поверхностью атаки. Угроза активна.
ЗАЯВЛЕНИЕ ОБ ИСПОЛЬЗОВАНИИ И ПРАВАХ
Проект PhishDestroy & Коалиция по кибербезопасности
1. НЕТ УСЛОВИЙ К ИСПОЛЬЗОВАНИЮ
Весь материал, созданный Коалицией в этом обращении — заявления о фактах, анализ, доказательства, инструменты и выводы — публикуется БЕЗ ЗАПРЕТА НА ИСПОЛЬЗОВАНИЕ ЛЮБЫХ ПРАВ. Любой может воспроизводить, адаптировать, редактировать, переписывать, переводить, цитировать, включать в официальные документы, представлять как свою работу или передавать кому угодно — без запроса и без уведомления Коалиции.
2. ПОЧЕМУ ЭТО ВАЖНО ПРАКТИЧЕСКИ
Здесь нет ничего, с чем можно было бы запутаться. Коалиция ничего не просит, ей ничего не должны, она ничего не удерживает и не имеет никаких ожиданий. Орган, использующий этот материал, не действует от имени Коалиции. Он использует публичную информацию, которая просто была собрана кем-то другим.
3. ВСЕ УЖЕ ОТКРЫТО
Расследования опубликованы открыто на phishdestroy.io. Инструменты опубликованы как open source под лицензией MIT на gitlab.com/phishdestroy. Методология изложена в обращении. Коалиция не принимает пожертвования и опубликовала эту позицию с 2018 года.
4. ЦЕЛОСТНОСТЬ ПАКЕТА ДОКАЗАТЕЛЬСТВ
Каждая поставка сопровождается файлом SHA256SUMS, содержащим дайджест SHA-256 для каждого предоставленного файла, а также отдельной подписью OpenPGP SHA256SUMS.asc. Ключ подписи опубликован на phishdestroy.io/.well-known/pgp-key.txt и на keys.openpgp.org.
5. О СТИЛЕ ИЗЛОЖЕНИЯ
Орган может столкнуться с опубликованными расследованиями Коалиции и найти их резкими, враждебными и иногда сатирическими. Это впечатление верно. Коалиция пишет именно так намеренно. Отказ от претензий — это механизм, с помощью которого содержание можно отделить от стиля: орган может взять то, что полезно, переформулировать своими словами и отбросить каждое слово манеры Коалиции. Ничего не теряется при этом.
6. ЧТО ПРЕДОСТАВЛЯЕТ КОАЛИЦИЯ
Информацию, исследования и наблюдения. Ничто не утверждается как вывод, который Коалиция не имеет полномочий делать. Коалиция не ищет возмещения, оплаты, признания или какого-либо результата для себя. Она просит только, чтобы вопросы, изложенные в обращении, были заданы Valve Corporation органом, имеющим полномочия требовать ответа.
ЗАКЛЮЧИТЕЛЬНОЕ ЗАМЕЧАНИЕ — ТОМУ, КТО ПЕРЕДАЕТ ЭТО ДАЛЬШЕ
Мы хотим поблагодарить того, кто доставит этот материал туда, где он нужен. У Valve глубокие карманы, а Taylor Wessing берет деньги за час. Мы знаем, что делаем. Мы знаем, о ком пишем. Нам не нужно авторство. Нам не нужно упоминание. Нам не нужна победа. Нам нужен кто-то с реальной властью, чтобы задать Valve вопросы, которые уже лежат в этом обращении, с правом требовать ответа. Вот и всё. Вот и вся просьба.
PhishDestroy — публичное расследование — все права переданы человечеству  ·  Доступ из регионов OFAC: запрещен
Устойчивость к цензуре
Устойчивость к цензуре

Этот инструментарий и связанные с ним тематические исследования постоянно зеркалируются здесь. Любые юридические угрозы, запросы на удаление по DMCA или попытки запугивания со стороны Тейлор Вессинг ЛЛП или Valve Corporation будет расцениваться как публичное, неопровержимое доказательство попытки цензурировать исследования в области безопасности и сокрытия технической некомпетентности.