Исследователи придумали способ находить подделки в PDF-документах

Исследователи придумали способ находить подделки в PDF-документах

Исследователи придумали способ находить подделки в PDF-документах

Учёные из Университета Претории (ЮАР) разработали новый способ выявления изменений в PDF-документах. Их прототип анализирует так называемые file page objects — это такие внутренние структуры файла, где хранится всё: от текста и картинок до метаданных.

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

Сегодня редактировать PDF может кто угодно: есть и Adobe Acrobat, и куча онлайн-редакторов. Поэтому важно уметь быстро определять, менялся ли документ — и если да, то как именно.

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

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

Что придумали в Претории

Новый прототип работает на Python и использует библиотеки PDFRW, hashlib и Merkly. Вот как он устроен:

  1. Сначала PDF нужно “защитить”. Программа читает файл, находит все page objects и создаёт уникальные хеши для каждой страницы, разбивая её содержимое на кусочки по 256 байт. Эти хеши строятся по принципу дерева Меркла: есть “листья” (для каждого блока) и “корень” (общий хеш всей страницы).
  2. Также отдельно хешируется сам объект страницы и метаданные всего документа. Чтобы избежать ложных срабатываний, некоторые части пропускаются — они могут меняться от редактора к редактору и не несут смысла.
  3. Все хеши прячутся внутри документа — в специальные скрытые поля. После этого сохраняется новая версия PDF — уже “защищённая”.
  4. Если потом нужно проверить файл на изменения, программа достаёт из него все сохранённые хеши, заново рассчитывает новые — и сравнивает. Если что-то не совпадает, значит, документ менялся.

Главное достоинство — точность. Система может указать не только, что файл изменился, но и какую именно страницу и какой участок (в пределах 256 байт) тронули. Также покажет, если были переписаны метаданные.

 

Пока работает лучше всего с Adobe Acrobat

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

Важное ограничение: систему нельзя применить к «обычным» PDF-документам — сначала их нужно защитить через этот же инструмент. И пока он не умеет отслеживать, скажем, смену шрифта или вставку JavaScript.

Тем не менее даже в таком виде инструмент может стать отличной основой для будущих решений в области цифровой гигиены и защиты документов.

Удалили Google API-ключ? Плохие новости: он может жить ещё 23 минуты

Исследователи из Aikido обнаружили неприятную особенность Google API-ключей: после удаления они могут продолжать работать до 23 минут. Сценарий простой. Ключ утёк, разработчик в панике бежит его удалять, выдыхает — вроде всё, опасность миновала. Но нет.

По данным Aikido, удаление ключа распространяется по инфраструктуре Google не мгновенно: одни серверы начинают отклонять запросы почти сразу, другие продолжают принимать их ещё десятки минут.

В тестах исследователи создавали API-ключ, удаляли его и затем отправляли по 3-5 авторизованных запросов в секунду, пока ответы не переставали проходить. Среднее окно составляло около 16 минут, максимум — почти 23 минуты. В отдельные минуты более 90% запросов всё ещё успешно проходили.

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

Проблема особенно болезненна на фоне новой биллинговой политики Google. Как пишет The Register, у некоторых пользователей лимиты расходов могут автоматически подниматься: например, с 250 до 100 тыс. долларов, если аккаунт старше 30 дней и уже потратил больше 1 тыс. долларов за всё время.

СМИ уже писали о случаях, когда украденные Google API-ключи приводили к пятизначным счетам за считаные минуты. В трёх известных случаях Google вернула разработчикам в общей сложности 154 тыс. долларов, но это, мягко говоря, не тот пользовательский опыт, который хочется повторять.

Самое весёлое — Google, по словам Aikido, не планирует исправлять 23-минутное окно. Компания закрыла отчёт как «Won’t Fix», объяснив, что задержка из-за распространения удаления ключей работает как задумано. Отличная формулировка; ключ уже удалён, деньги ещё списываются, всё по плану.

RSS: Новости на портале Anti-Malware.ru