Карта Германии 1:1 в PDF-формате? Легко!

Карта Германии 1:1 в PDF-формате? Легко!

Карта Германии 1:1 в PDF-формате? Легко!

Как оказалось, в файл PDF можно втиснуть страницу космических размеров. Лимиты, указанные в спецификациях формата, отображают возможности конкретного приложения для просмотра таких документов — Adobe Acrobat.

О том, что формат PDF не ограничивает размеры страниц таких документов, сказано, например, в соответствующей статье Википедии. Тем не менее программист Алекс Чань (Alex Chan), известная под ником alexwlchan, неоднократно сталкивалась с мнением, будто максимальный размер PDF-страниц — 381 км по стороне.

Таким листом можно накрыть половину Германии на карте масштабом 1:1, однако откуда взялось это магическое число?

 

В приложениях к спецификациям PDF 1.7 (PDF) отмечено, что лимиты на величину и количество объектов в таких файлах связаны с возможностями принтеров и соответствующих приложений. В Acrobat 5.0 и выше размеры страниц ограничены 200 х 200 дюймов; в этих границах дефолт можно для каждой менять с помощью записи UserUnit (число отображает кратность измерения на странице относительно типографского пункта, в программах Adobe равен 1/72 дюйма).

Версии Acrobat 7.0 и новее поддерживают верхнее значение UserUnit в 75 000, то есть страница PDF по каждой стороне не должна превышать 15 млн дюймов (381 км). Чтобы удостовериться, что для PDF это не предел, Чань изучила структуру таких файлов и собрала дополнительную информацию, задавая наводящие вопросы ChatGPT, а затем приступила к экспериментам, создав несколько простейших образцов вручную.

Как выяснилось, увеличить размеры страниц можно не только с помощью UserUnit, но также манипулируя значением MediaBox (размер материала, на котором производится печать). При превышении лимитов Acrobat приложение продолжало упорно показывать в метаданных 15 млн дюймов, а такой же трюк с UserUnit оно вообще не заметило (не выдало ни предупреждения, ни ошибки).

В ходе исследования было установлено, что встроенная в macOS программа Preview.app не поддерживает UserUnit и потому полностью игнорирует такие значения, считая, что во всех PDF установлен дефолт 1/72 дюйма. Верхний предел, как в случае с Acrobat, для этого приложения выставить невозможно, поэтому оно спокойно покажет в свойствах файла, что ширина страницы соизмерима с расстоянием от Земли до Луны.

 

Когда в ходе экспериментов Preview.app заявила, что PDF больше вселенной (примерно 37 млрд световых лет в квадрате), Чань решила остановиться. Распечатывать такие страницы даже не стоит пытаться.

Opera встроила защиту от вредоносных команд в буфере обмена

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

Функция включена по умолчанию и работает прямо на уровне браузера, а не ждет, пока антивирус или операционная система заметят что-то подозрительное.

Paste Protect объединяет два механизма. Первый — уже знакомая защита от перехвата, когда вредонос меняет содержимое буфера обмена. Классика жанра: пользователь копирует криптокошелек или банковский IBAN, а в буфере внезапно оказывается адрес злоумышленника. Opera должна распознать такую подмену и предупредить пользователя.

 

Второй механизм — новая защита от инъекции. Он нацелен на атаки в стиле ClickFix, где пользователя обманывают фейковыми CAPTCHA, ошибками браузера или проблемами с воспроизведением видео. Дальше всё просто: сайт предлагает скопировать команду для исправления проблемы и вставить её в терминал или PowerShell. После этого человек фактически сам запускает вредоносную нагрузку.

Opera теперь анализирует содержимое буфера обмена в реальном времени на Windows, macOS и Linux. Если браузер видит признаки шелл-скрипта, PowerShell-команды, закодированной нагрузки или другого подозрительного содержимого, копирование блокируется, а пользователь получает предупреждение. В уведомлении показывается короткий фрагмент заблокированного текста — до 120 символов.

Для продвинутых пользователей оставили обходные варианты. Например, функцию Hold to Copy, где блокировку можно снять после задержки, а также список доверенных сайтов. Это пригодится разработчикам, которые регулярно копируют команды с GitHub или из документации.

В Opera подчёркивают, что Paste Protect не отменяет здравый смысл. Если сайт просит вставить непонятную команду в терминал, это не починка браузера, а почти наверняка ловушка.

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