Отключение контроля целостности файла на диске при сохранении защиты памяти

Issues related to VMProtect
Post Reply
aat
Posts: 7
Joined: Thu Mar 07, 2024 11:10 am

Отключение контроля целостности файла на диске при сохранении защиты памяти

Post by aat »

Добрый вечер.
Мы используем VMProtect 3.8.0 под Linux.
У проекта в опциях есть защита памяти, которая защищает и память, и файл на диске. Возможно ли отключить контроль целостности файла на диске и оставить включённой защиту памяти?
Нужно это в связи с тем, что мы дописываем в elf файл дополнительные секции, что приводит к срабатыванию контроля целостности.
Admin
Site Admin
Posts: 2586
Joined: Mon Aug 21, 2006 8:19 pm
Location: Russia, E-burg
Contact:

Re: Отключение контроля целостности файла на диске при сохранении защиты памяти

Post by Admin »

Вы являетесь зарегистрированным пользователем VMProtect?
aat
Posts: 7
Joined: Thu Mar 07, 2024 11:10 am

Re: Отключение контроля целостности файла на диске при сохранении защиты памяти

Post by aat »

Да, он у нас приобретён на компанию, где я работаю.
Admin
Site Admin
Posts: 2586
Joined: Mon Aug 21, 2006 8:19 pm
Location: Russia, E-burg
Contact:

Re: Отключение контроля целостности файла на диске при сохранении защиты памяти

Post by Admin »

Вы планируете подписывать файл с помощью bsign?
aat
Posts: 7
Joined: Thu Mar 07, 2024 11:10 am

Re: Отключение контроля целостности файла на диске при сохранении защиты памяти

Post by aat »

Да, мы планируем использовать bsign, плюс у нас есть своя утилита, которая прописывает информацию о версии файла и продукте в секции note. Секции наша утилита добавляет с использованием утилиты objcopy из binutils. Проблема при подписывании и нашей утилиты и bsign одинаковая - нарушается контроль целостности. Свою утилиту мы допилим при необходимости, нужно только понимать, как можно решить проблему. Если это можно сделать без снижения уровня защиты, то вообще отлично.
Admin
Site Admin
Posts: 2586
Joined: Mon Aug 21, 2006 8:19 pm
Location: Russia, E-burg
Contact:

Re: Отключение контроля целостности файла на диске при сохранении защиты памяти

Post by Admin »

Можно убрать из контроля целостности все поля, которые относятся к ELF секциям в Elf_Ehdr: e_shoff, e_shentsize, e_shnum, e_shstrndx. Такой вариант устроит?
aat
Posts: 7
Joined: Thu Mar 07, 2024 11:10 am

Re: Отключение контроля целостности файла на диске при сохранении защиты памяти

Post by aat »

Если после этого у нас всё заработает, то конечно устроит. Надо попробовать. Что для этого нужно сделать?
aat
Posts: 7
Joined: Thu Mar 07, 2024 11:10 am

Re: Отключение контроля целостности файла на диске при сохранении защиты памяти

Post by aat »

С bsign мы разобрались, почитал тему здесь о проблемах с bsign для подписей под АстраЛинукс. Вариант с двойной подписью до и после перемешивания у нас сработал. Но осталась проблема с нашей утилитой.
Поэтому вариант с убиранием из контроля целостности полей, относящихся к ELF секциям по прежнему актуален.
Как это сделать?
aat
Posts: 7
Joined: Thu Mar 07, 2024 11:10 am

Re: Отключение контроля целостности файла на диске при сохранении защиты памяти

Post by aat »

С нашими дописываемыми секциями с данными о ревизии мы разобрались - VMProtect удаляет секции .note, но если создать секцию с другим кастомным именем (например .revision), то всё нормально, эти секции не удаляются/
aat
Posts: 7
Joined: Thu Mar 07, 2024 11:10 am

Re: Отключение контроля целостности файла на диске при сохранении защиты памяти

Post by aat »

А вот при подписи обработанных VMProtect'ом файлов в АстраЛинукс с помощью bsign у нас возникла проблема: при двойном подписывании до и после обработки VMProtect'ом исполняемого файла всё хорошо, а вот при загрузке обработанной таким образом библиотеки (.so) срабатывает защита целостности файла.

Может ли это быть ошибка в VMProtect или какая-то особенность обработки им библиотек?
Post Reply