Как сделать пдф нередактируемым
Защита документа сертификатом подтверждает подлинность документа. Когда файл PDF подписан цифровым идентификатором или сертификатом, его содержимое блокируется, чтобы предотвратить внесение изменений в документ. Цифровые идентификаторы или сертификаты для подписи PDF-файлов используются в коммерческих и юридических целях и регулируются законодательством большинства стран.
Небольшое отступление в PDF
PDF или Portable Document Format — это, как следует из названия, портативный электронный документ. Этот формат используется во многих сферах, в основном в бизнесе. PDF был разработан Adobe в 2005 году. До 2020 года формат претерпел четыре изменения: в него были добавлены встроенные файлы, ссылки, сценарии и всевозможные функции. Формат, с которым мы знакомы на момент написания этой статьи (PDF 2.0), был выпущен не так давно — в конце 2020 года со спецификацией ISO 32000-2.
PDF включает в себя часть функций языка PostScript. Можно транслировать PDF в PostScript. Есть принтеры, которые умеют самостоятельно интерпретировать PDF в PostScript.
На первый взгляд структура PDF не так уж и сложна.Файл состоит:
- заголовок (header);
- тело файла (body);
- таблица перекрестных ссылок (cross-reference table);
- блок поиска таблиц объектов и ссылок (trailer).
Самая первая строка файла-это заголовок.Он же определяет номер спецификации.
В таблице хранится информация об объектах в файле: эта таблица состоит из разделов, количество которых зависит от количества объектов, добавленных в файл. Trailer помогает программе открывающей файл найти таблицу перекрестных ссылок и специальные объекты. Кстати, приложениям нужно читать PDF с конца.
Содержимое включает ссылки на объекты. К ним относятся страницы, изображения, шрифты. Комментарии могут появляться в PDF-файле. Их синтаксис такой же, как и у комментариев PostScript, начиная с символа % и заканчивая символом конца строки.За структурой формата находится структура публикации.
Текст в документе сжат и не отображается в файле. Например, так выглядит глава книги в формате PDF, если вы попытаетесь просмотреть ее как простой текстовый файл.
Так выглядит PDF для машины
Нападение
Во-первых, давайте разберемся с уязвимостью. Скажем, у нас есть Эмили(подписывает документ) и Эрик(получает документ, подписанный Эмили) и, конечно же, сам документ. Эмили подписала документ своим сертификатом и отправила его Эрику. Эрик убежден, что документ подлинный, потому что он подписан. Но что, если документ был подготовлен не Эмили (она только подписала), и не она тоже его отправила? Атака, направленная на подделку содержимого подписанного документа, обычно проходит в три этапа.
1.Хакер готовит документ, содержащий так называемое теневое содержимое. Это можно сравнить с пустым листом в сшитом контракте, куда вы можете добавить фрагмент после подписания.
2.Хакер отправляет этот документ Эмили. Эмили подписывает его и отправляет обратно хакеру. Хакер изменяет содержание документа, чтобы не нарушить подпись.
3.Хакер отправляет измененный документ Эрику. Эрик уверен, что документ настоящий, и обрабатывает его.
По поводу существования этой уязвимости упоминалось в 2012 году, когда PDF-файл соответствовал спецификации ISO 19005-3. Однако после выхода новой версии формата хакеры провели еще одно исследование и привлекли внимание компаний, разрабатывающих программное обеспечение для работы с PDF.
Есть три способа редактировать содержимое уже подписанного документа: скрытие, замена а так же скрытие и замена вместе.
Замена
Данная атака нацелена на интерактивные формы. Формы поддерживают множество масок ввода (таких как текстовые поля, текстовые области, переключатели и кнопки выбора), где пользователи динамически вводят новое содержимое и сохраняют его в документе. Формы также могут иметь значения по умолчанию, которые вы можете изменять по мере необходимости.
Хакер подготавливает файл, определяющий шрифт, и его описание содержится в документе. После подписания документа злоумышленники добавляют новое описание шрифта и перезаписывают предыдущее. Поскольку обнаружение новых шрифтов считается безвредным, приложения проверки подписи не отображают никаких предупреждений о внесенных изменениях.
Скрытие
Результатом этой атаки будет скрытие некоторого содержимого за видимым содержимым файла. Как только хакер получает документ, подписанный Эмили, он манипулирует им, чтобы видимый слой больше не отображался в средстве просмотра. Кроме того, в файле PDF теперь отображаются невидимые ранее объекты.
Скрытие и замена
Эта атака является наиболее мощной, так как позволяет изменять все содержимое документа. Хакер может создать теневой документ, который влияет на отображение каждой страницы или даже на общее количество страниц, а также на каждый объект в файле.
Другими словами, хакер создает файл PDF, содержащий два объекта с одинаковым идентификатором, но разным содержимым. Поскольку включение таблицы внешних ссылок, указывающей на объект, уже определенный в подписанной области, считается безвредным, никаких хакерских изменений не будет, и подпись будет успешно проверена. Однако Эрик и Эмили видят разное содержимое в одном файле.
Реализация
Число 0 на изображении ниже обозначает первый номер объекта в таблице, 334 — количество объектов. Первый элемент таблицы всегда XXXXXXXXXX 65535 f. 65535 — это номер по умолчанию для первого элемента в таблице. F (бесплатно) — объект не используется. Напротив используемых объектов стоит n. Затем идет XXXXXXXXXX — это смещение от начала файла до объекта. В документе будет столько таблиц, сколько объектов добавлено в файл.
После таблицы идет trailer, затем значение startxref, которое указывает смещение от начала файла до таблицы. Программа начинает чтение документа в конце. Для проведения атаки нам потребуются следующие инструменты:
- КриптоПро PDF;
- сертификат, ключ;
- Notepad++ (им я редактирую внутренности PDF);
- КриптоПро CSP для Windows;
- КриптоПро CSP для Linux; .
- Adobe Acrobat DC;
Перед началом обработки PDF-файла, нам нужно получить ключ с сертификатом, который подойдет для КриптоПро. Сгенерировать ключ в OpenSSL не получится. Поэтому запускаем машину Linux, заходим на сайт КриптоПро и скачиваем дистрибутив для нашей ОС (у меня он в виде файла .deb). Вы должны сначала зарегистрироваться.
Дистрибутив с файлами
Теперь переходим в папку / opt/ cprocsp/ bin/ amd64 . Там должны появиться следующие бинарники: certmgr , cpverify , cryptcp , csptest , csptestf , curl , der2xer , genkpim , inittst , wipefile .
В этой команде используются следующие ключи:
- СА — центр сертификации, который подпишет нам пару ключа с сертификатом. Данная пара будет валидной, но действовать будет только три месяца;
- сont — имя контейнера, в которое сохранится ключ с сертификатом.
- certusage — идентификатор назначения. Различают проверку сервера и клиента. Для нашего случая он неважен;
- hashAlg — алгоритм шифрования для сертификата. Чтобы посмотреть, какие они есть, можно выполнить команду cpconfig -defprov –view_type ;
Проверяем созданный контейнер:
Должен появиться контейнер как на скриншоте ниже.
Контейнер в Linux-системе
КриптоПро со своим CSP считает, что криптоконтейнер не должен храниться на жестком диске. Для этого были изобретены токены. Но поскольку у нас под рукой нет токена, а только жесткий диск, мы пойдем другим путем. Для этого нам понадобится ImDisk. Скачаем и установим его.
Данная программа способна создавать своего рода замкнутое дисковое пространство. Да, нам придется создать дополнительный виртуальный жесткий диск на нашем компьютере. Я создал раздел размером 60 МБ с папкой и закинул в него файлы контейнера. Теперь КриптоПро видит и ключ, и сертификат.
Перейдите в корневую папку / var / opt / cprocsp / keys /, где должен появиться каталог с именем, указанным в команде, для создания этого контейнера. В этом каталоге вы найдете шесть файлов с расширением .key — это контейнер. Загрузите и перенесите на свой компьютер с Windows.
Переходим к подготовке самого файла. Необходимо иметь на машине редактор PDF — я выбрал пробную версию Adobe Acrobat DC, а также КриптоПро PDF для возможности подписать файл.
Открываем Acrobat и создаем пустой файл. Пишем посередине ][aker. Сохраняем и закрываем его. Примерно так выглядят внутренности пустого файла с одним словом, которое мы ввели:
Для сохранения в файл нередактируемого отчета (карточки, журнала) отключите галочку "Просмотр" и нажмите на кнопку "Печать".
В случае, если галочка "Просмотр" отключена, при нажатии на кнопку "Печать" откроется окно выбора принтера.
Выберите принтер Adobe PDF и нажмите на кнопку "Печать" (если виртуального принтера PDF нет в системе, его нужно установить, существуют разные виртуальные принтеры PDF).
Будет предложено ввести имя и выбрать место сохранения файла.
Можно нажать на "Обзор папок", тогда откроется окно обзора папок.
После ввода имени файла и места сохранения нажмите кнопку "Сохранить".
Файл в формате PDF будет сохранен в указанную папку с указанным именем.
Аналогичным образом можно сохранить в формате PDF любые нередактируемые отчеты.
Для удобства выделим четыре типа программ: просмотрщики (для чтения и аннотирования), редакторы (для редактирования текста и другого содержимого), менеджеры (для разбивки, сжатия и прочих манипуляций с файлами) и конвертеры (для преобразования PDF в другие форматы). Большинство приложений, перечисленных в этой статье, можно отнести сразу к нескольким типам.
Полностью бесплатные программы
Эти приложения не самые функциональные, зато все их возможности доступны без ограничений.
1. PDF24 Creator
- Тип: просмотрщик, менеджер, конвертер.
- Платформы: Windows.
Эта небольшая программа не позволяет редактировать содержимое PDF‑документов, но полезна для множества других операций c форматом.
Что можно делать в PDF24 Creator:
- просматривать PDF;
- объединять документы в один файл;
- распознавать текст в PDF;
- сжимать файлы;
- конвертировать PDF в JPEG, PNG, BMP, PCX, TIFF, PSD, PCL и другие форматы;
- ставить пароль на файлы или отключать его;
- разбивать документы по страницам;
- извлекать выбранные страницы.
2. LibreOffice
- Тип: просмотрщик, конвертер.
- Платформы: Windows, macOS, Linux.
Хотя популярный пакет программ LibreOffice и создан для работы с вордовскими форматами, входящее в него приложение Draw умеет редактировать PDF‑документы. А программу Writer из этого же пакета можно использовать как конвертер.
Что можно делать в LibreOffice:
- просматривать PDF‑документы;
- конвертировать DOC и другие вордовские форматы в PDF;
- редактировать текст;
- рисовать в документе.
3. Foxit Reader
- Тип: просмотрщик, конвертер.
- Платформы: Windows, macOS, Linux, Android, iOS.
Быстрый и удобный PDF‑ридер с разными режимами просмотра. Идеально подходит пользователям, которым нужно простое средство для чтения документов без избытка дополнительных функций. Программа доступна на всех основных платформах.
Что можно делать в Foxit Reader:
- просматривать, выделять и комментировать текст;
- искать слова и фразы;
- конвертировать PDF в TXT;
- заполнять формы и подписывать документы.
Мобильная версия Foxit Reader позволяет редактировать текст и другое содержимое документов, но только в рамках платной подписки.
Условно‑бесплатные приложения
Эти программы предлагают более широкую функциональность для работы с PDF, но с некоторыми ограничениями. Вы можете использовать урезанные бесплатные версии или оформить подписку с полным набором инструментов.
1. Sejda PDF
- Тип: просмотрщик, редактор, конвертер, менеджер.
- Платформы: Windows, macOS, Linux.
Очень интуитивная и удобная программа. Запустив Sejda PDF, вы сразу увидите все инструменты, сгруппированные по категориям. Выбирайте нужный, перетаскивайте в окно программы необходимый файл и приступайте к манипуляциям. Большинство действий c PDF в этом приложении можно выполнять за несколько секунд, даже если вы пользуетесь им впервые.
Что можно делать в Sejda PDF:
-
;
- объединять и разделять документы по страницам;
- сжимать размер файлов;
- конвертировать PDF в JPG и Word (и наоборот);
- защищать документы паролем и отключать его;
- добавлять водяные знаки;
- обесцвечивать документы;
- обрезать площадь страниц;
- подписывать документы.
Бесплатная версия позволяет выполнять не больше трёх операций в сутки.
2. PDFsam
- Тип: просмотрщик, менеджер, конвертер, редактор.
- Платформы: Windows, macOS, Linux.
PDFsam не может похвастать отполированным до совершенства и удобным интерфейсом. Зато в программе есть несколько полезных менеджерских функций, доступных всем без оплаты и каких‑либо ограничений.
Что можно делать в PDFsam:
- объединять PDF;
- разбивать PDF по страницам, закладкам (в местах с указанными словами) и размеру на отдельные документы;
- поворачивать страницы (если некоторые из них были отсканированы вверх ногами);
- извлекать страницы с указанными номерами;
- конвертировать PDF в форматы Excel, Word и PowerPoint (платно);
- редактировать текст и другое содержимое файлов (платно).
3. PDF‑XChange Editor
- Тип: просмотрщик, менеджер, конвертер, редактор.
- Платформы: Windows.
Очень функциональная программа с классическим интерфейсом в стиле офисных приложений Microsoft. PDF‑XChange Editor не слишком дружелюбна по отношению к новичкам. Чтобы освоить все возможности, нужно потратить некоторое время. К счастью, все внутренние описания и подсказки переведены на русский язык.
Что можно делать в PDF‑XChange Editor:
- редактировать и выделять текст;
- добавлять аннотации;
- распознавать текст с помощью OCR;
- редактировать нетекстовое содержимое (платно);
- шифровать документы (платно);
- конвертировать PDF в форматы Word, Excel и PowerPoint и наоборот (платно);
- сжимать файлы (платно);
- сортировать страницы в любом порядке (платно).
4. Adobe Acrobat Reader
- Тип: просмотрщик, менеджер, конвертер, редактор.
- Платформы: Windows, macOS, Android, iOS.
Популярная универсальная программа для работы с PDF от компании Adobe. Бесплатная версия представляет собой весьма удобный кросс‑платформенный просмотрщик документов, остальные функции доступны по подписке.
Что можно делать в Adobe Acrobat Reader:
- выделять и комментировать текст, искать слова и фразы;
- редактировать текст и другое содержимое (платно);
- объединять документы в один файл (платно);
- сжимать файлы (платно); в форматы Word, Excel и PowerPoint (платно);
- преобразовывать изображения форматов JPG, JPEG, TIF и BMP в PDF (платно).
Все эти и другие функции доступны в десктопных вариантах Adobe Acrobat Reader. Мобильные версии позволяют только просматривать и аннотировать документы, а также (после оформления подписки) конвертировать их в разные форматы.
Тип документов PDF используют для электронных книг, журналов, бизнес-презентаций с большим количество графики и стилей. При форматировании и печати таких файлов сохраняется структура текста, что и сделало этот формат наиболее популярным выбором. Однако изменять ПДФ-файлы намного сложнее, чем обычные текстовые документы. Рассказываем, как редактировать PDF файл сразу несколькими способами.
Как отредактировать ПДФ с помощью специальных программ
Чаще всего для изменения ПДФ-файла применяют специальный компьютерный софт. Для базового редактирования можно использовать бесплатный Adobe Reader, в котором можно добавлять текст, картинки и электронную подпись. Более продвинутые действия потребуют покупки Adobe Acrobat Pro. Он предлагает более широкий спектр инструментов и даже распознает текст со сканов.
Также бесплатно отредактировать документы можно в программе для чтения Foxit Reader. В нем файлы можно подписывать, комментировать и шифровать. Также в макет можно добавлять текст (в том числе из буфера обмена с сохранением стиля) и штампы.
Как изменить текст в ПДФ документе с помощью онлайн-сервисов
Если требуется добавить небольшие правки, можно обойтись без специальной программы. Существует большой выбор онлайн-сервисов на русском языке, которые позволяют изменять ПДФ-файл прямо в браузере. Их плюсом является простое управление, так что разобраться, как отредактировать PDF файл, сможет даже новичок.
Один из самых популярных сайтов для редактирования электронной документации – PDF24. Список возможностей этого бесплатного сервиса впечатляет: файлы можно сжать, конвертировать, извлечь изображения, объединить или разделить на страницы и многое другое.
Если вы хотите узнать, как изменить ПДФ файл с несколькими листами, альтернативой можно назвать сайт ILovePDF. В основном сервис направлен на преобразование PDF в другой формат и создание цифровой книги из отсканированных файлов, Word, Excel и других. Также на сайте есть PDF-редактор, благодаря которому в документ можно добавить картинки, текст и геометрические фигуры. В отличие от PDF24, сервис показал быструю работу с многостраничными книгами, но функции распознавания текста здесь нет.
Стоит отметить, что, в отличие от программ для ПК, эти сервисы представляют собой пакет отдельных инструментов. Это значит, что за один раз вы можете выполнить одно действие. Затем потребуется скачать документ и заново загружать его на сервер, что значительно замедляет рабочий процесс.
Изменение PDF через текстовые редакторы
Как уже упоминалось, для изменения содержимого в документации онлайн потребуется распознать текст или преобразовать файл в Ворд. Но если вы работаете со стандартным ПДФ, а не отсканированными бумагами, документ можно обработать на компьютере в самом Microsoft Word.
Однако все же MS Word – это в первую очередь текстовой редактор, поэтому он часто некорректно отображает структуру. К примеру, софт не умеет работать со встроенными шрифтами, а таблицы и графики могут отображаться неправильно, форматирование заголовков сбивается.
Если вас это не смущает, но вам не хочется покупать дорогостоящий Word, бесплатной альтернативой станет Libre Office. Приложение повторяет практически все функции платного конкурента, в проекте можно удалять элементы, писать новый текст и вставлять фигуры. Есть даже специальный режим экспорта в PDF.
Заключение
Итак, мы рассмотрели, как редактировать пдфки и возможно ли сделать это без помощи специальных программ. В целом, чтобы внести небольшие корректировки можно использовать бесплатные онлайн-сервисы или открыть ПДФ в текстовых редакторах. Однако для полноценной работы с цифровой документацией, например, если нужно уменьшить шрифт, замазать фразы, заменить элементы или открыть битый файл ПДФ, потребуется скачать специализированный софт.
Читайте также: