Kaspersky Scan Engine содержит различные бинарные модули в виде динамически подключаемых библиотек, исполняемых файлов, файлов конфигурации и файлов интерфейса. Хакер может заменить один или несколько исполняемых модулей или файлов другими файлами, содержащими вредоносный код. Чтобы предотвратить замену модулей и файлов, Kaspersky Scan Engine может проверять целостность компонентов программы.
Приложение проверяет модули и файлы на наличие несанкционированных изменений или повреждений. Если модуль или файл приложения имеют неверную хеш-сумму, они считаются поврежденными.
Приложение также проверяет целостность файла манифеста, содержащего список файлов программы, целостность которых имеет решающее значение для корректной работы компонентов программы.
Начиная с версии Kaspersky Scan Engine 2.1, объекты KAV SDK поставляются в виде отдельного пакета. По этой причине у Kaspersky Scan Engine есть два файла манифеста:
Целостность компонентов программы проверяется с помощью инструмента проверки целостности, расположенного в каталоге %service_dir%, где %service_dir% — это каталог Kaspersky Scan Engine.
Файлы манифеста integrity_check.xml и integrity_check_sdk.xml (начиная с версии Kaspersky Scan Engine 2.1) защищены криптографической подписью "Лаборатории Касперского". Файлы манифеста находятся в каталоге %service_dir%.
Для запуска утилиты проверки целостности требуются права учетной записи пользователя root.
Чтобы проверить целостность компонентов программы, выполните следующую команду:
integrity_checker [options]
По умолчанию инструмент использует файл integration_check.xml, расположенный в каталоге %service_dir%.
Чтобы проверить целостность компонентов программы с помощью файла манифеста, расположенного в каталоге, отличном от каталога по умолчанию, выполните следующую команду:
integrity_checker [options] %path%
Здесь %path%
— это путь к файлу манифеста.
Вы можете запустить инструмент проверки целостности со следующими дополнительными параметрами:
--help
— отобразить справку по настройкам инструмента.--version
— вывести версию инструмента.--verbose
— расширенный вывод выполненных действий и результатов. Если вы укажете этот параметр, вывод будет содержать как успешные, так и неуспешные результаты сканирования объектов, перечисленных в файле манифеста. Если вы не укажете этот параметр, будут предоставлены только те объекты, которые не прошли проверку.--trace <filename>
, где <filename>
— это имя файла, используемого для регистрации событий, происходящих во время проверки. События будут регистрироваться на уровне DEBUG.Результат проверки каждого файла манифеста отображается рядом с именем файла манифеста в следующем формате:
SUCCEEDED
— целостность файлов подтверждена (код возврата 0
).FAILED
— целостность файлов не подтверждена (код возврата не равен 0
).Если вы создаете исполняемые файлы для режима HTTP или ICAP из исходного кода, утилита проверки целостности всегда возвращает FAILED
при проверке %service_dir%/bin/kavhttpd и %service_dir%/bin/kavhttp_client (режим HTTP) или %service_dir%/bin/kavicapd (режим ICAP).