Kaspersky Scan Engine contains a multitude of various binary modules in the form of dynamic-link libraries, executable files, configuration files, and interface files. A hacker can replace one or more application executable modules or files with other files containing malicious code. To prevent the replacement of modules and files, Kaspersky Scan Engine can check the integrity of application components.
The application checks modules and files for the presence of unauthorized changes or corruption. If an application module or file has an incorrect checksum, it is considered to be corrupted.
The application checks the integrity of the manifest file containing a list of application files whose integrity is critical for the correct operation of application components.
The integrity of the application components is checked by using the integrity check tool located in the directory %ProductRoot%, where %ProductRoot% is the directory of Kaspersky Scan Engine. The integrity_check.xml manifest file, protected by the cryptographic signature of Kaspersky, is also located in the %ProductRoot% directory.
Root user account privileges are required to run the integrity check tool.
To check the integrity of application components, run the following command:
By default, the tool uses the integrity_check.xml file located in the directory %ProductRoot%.
To check the integrity of application components using the manifest file located in a directory other than the default one, run the following command:
integrity_checker [options] %path%
%path% is the path to the manifest file.
You can run the integrity check tool with the following optional settings:
--help—display Help for tool settings.
--version—display tool version.
--verbose—expanded output of performed actions and results. If you specify this setting, the output will contain both successful and unsuccessful results of checking the objects listed in the manifest file. If you do not specify this setting, only objects that did not pass the check will be provided.
--trace <filename>, where
<filename>is the name of the file used for logging events that occur during a scan. The events will be logged at the DEBUG level.
The result of checking each manifest file is displayed next to the name of the manifest file in the following format:
SUCCEEDED—integrity of the files is confirmed (return code
FAILED—integrity of the files is not confirmed (return code is not
If you build executable files for HTTP mode or ICAP mode from the source code, the integrity check tool will always return
FAILED when checking %ProductRoot%/bin/kavhttpd and %ProductRoot%/bin/kavhttp_client (HTTP mode), or %ProductRoot%/bin/kavicapd (ICAP mode).