Перейти к содержимому


rek
Фотография

Несколько способов подделки PDF с цифровой подписью

взлом хакер хакерский софт вирус вредоносное по уязвимости подделка цифровая подпись

В этой теме нет ответов

#1 roguevad

roguevad
  • Эксперт.
  • Пользователи
  • PipPipPipPipPip
  • 301 сообщений

Отправлено 16 Март 2019 - 02:55

Всем привет, все мы убеждены в том, что автора PDF документа удостоверяют цифровые подписи. Однако как показывает практика, то из-за того что открытие данных файлов происходит на стороннем софте, то зачастую оно не выполняет свою задачу. Исследователи из Рурского университета рассказали о парочке возможных методов подделки цифровой подписи в PDF документы, которое работают практически во всех программах и сервисах по обработке данный файлов.

А чтобы защитить файл от подделки, нужна специальная программа, существует только одна такая и она работает только на системе Linux

ZhJQHoJC4wM.jpg

 

На рисунке выше мы можем видеть, как выглядит PDF документ внутри. Если вы сохраняете изменения документа в инкрементальном режиме, то в него будут добавлены новые объекты в body и вместе с тем новая табличка Xref, где будут описываться добавленные объекты, а также trailer вместе с ссылками на catalog. Catalog – это корень PDF документ, именно с помощью его идет определение структуры файл а также определение необходимых прав доступа.

Новый объект начинается с его собственного номера, а также с номера версии, которые будет повышаться после того как документ будет обновлен.

iErD-syvZ6o.jpg

 

Создание подписи

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

  • Новый Catalog который будет иметь параметр Perms, необходимый для определения прав доступа на изменение файла.
  • Объект Signature (5 0 obj) в нем будет находится криптографический алгоритм и вся необходимая информация для него, которая будет использоваться, чтобы захэшировать подпись. Также будет имеется параметр Contents, содержащий в себе hex кодированный блоб PKCS7 – он необходим для хранения сертификатов и значения самой цифровой подписи, когда была создана с помощью специального ключа, который совпадает с ключем в сертификате. Параметр ByteRanger понадобится чтобы определить, какие байты PDF документа нужны во время входа функции хэширования подписи, а именно определение того, какая именно часть будет подписываться
  • Таблица Xref где будет иметься ссылка на созданный объект
  • Новый Trailer

C4geLX6KGlA.jpg

 

На сегодняшний день рекомендуют подписывать файл полностью, не трогая при этом блоб PKCS7.

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

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

 

Подделка цифровой подписи

На данный момент исследователи из университета рассказали о 3 методах подделки подписи, а именно:

  • Универсальная подделка подписи
  • Атака на инкрементальное сохранение
  • Атака на обертку подписи

 

Универсальная подделка подписи

Суть данного метода состоит в том, чтобы отключить проверку цифровой подписи в самом приложении, которое производит открытие файла. При том, что пользователь увидит сообщение о том, что проверка на подлинность подписи прошла успешно. Чтобы это сделать, нужно провести несколько трюков с объектом Signature в документе. Например, в документе создается неверная запись, или ссылка на объект просто удаляется. Конечно, программа просмотра документов не может сказать о подлинности подписи, но иногда она все же говорит о ее наличии.

Специалисты нашли 18 различных векторов данной атаки, однако на рисунке ниже я покажу 8 основных:

T26FUNi8Ij0.jpg

 

Атака на инкрементальные сохранения

Данная атака начинается с того, что структура документа переопределяется. Смысл в том, что подпись узнает с исходя из диапазона байтов, который указан в объекте ByteRange, а добавочная секция не попадет под влияние данного диапазона, это хорошо показано на рисунке ниже

6eXUYOm8cgc.jpg

 

Атака на обертку подписи

Итак, вот мы и подошли к подделке подписи без использования инкрементального сохранения, а достигает этого с помощью перемещения той части файла, где имеется подпись, в самый конец документа, после чего использование Xref в подписанном Trailer изменяя саму таблицу xref. Также она может быть обернута в другой объект, чтобы избежать обработки перемещенной части.

NngChpLuqZw.jpg

 

 

Эффективность атак

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

MFPPXDbbhm4.jpg

dbIiqHf06wM.jpg

 



rek




Темы с аналогичным тегами взлом, хакер, хакерский софт, вирус, вредоносное по, уязвимости, подделка, цифровая подпись


reklama reklama

Рейтинг@Mail.ru Analysis informer pr cy
Рейтинг@Mail.ru
Добавить Vkontakte Добавить в Facebook Добавить в Twitter Добавить в LiveJournal