Исследователи придумали способ находить подделки в 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.

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

Подпишитесь на новости

Фото из Яндекс Диска предложили вытаскивать отдельной утилитой

Облако должно избавлять от возни с файлами. Но иногда для возвращения собственного фотоархива приходится искать отдельную программу. Пользователь Хабра verimash представил инструмент для скачивания фотографий и видео из «Яндекс Диска», включая раздел безлимитной автозагрузки, на фоне проблем с доступностью файлов.

Согласно описанию автора, если оригинал фотографии недоступен, программа пытается получить другую доступную версию изображения.

Здесь важное ограничение: уменьшенная копия может спасти сам снимок, но не вернуть исходное качество.

 

С видео сложнее. Утилита пытается загружать доступные фрагменты, однако итоговый файл может оказаться неполным или повреждённым.

 

Исходный код размещён на GitHub. При этом README описывает текущий вариант как прототип и перечисляет непроверенные элементы работы. Поэтому считать его готовым и гарантированным средством восстановления преждевременно.

Автор советует не удалять содержимое облака после выгрузки: доступ к оригиналам может восстановиться. Напомним, причиной недоступности части данных стали атаки на дата-центры Яндекса.

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