Integrity checking

Kód podepisování používá veřejné klíčové infrastruktury , aby zkontrolovat, zda soubor byl změněn, protože je digitálně podepsané jejím vydavatelem. Alternativně, vlastník nebo správce systému lze použít šifrovací funkci hash vypočítat "otisk prstu" v okamžiku instalace, které mohou pomoci odhalit následné neoprávněné změny na disku knihoven kódu. Nicméně, nedostatečně propracované systémy pouze zkontrolovat, zda má kód byla změněna od okamžiku instalace; Subversion před té doby není zjistitelný. Otisků prstů, musí být obnoveno pokaždé, když jsou provedeny změny v systému: například po instalaci aktualizací zabezpečení nebo jejich aktualizace Service Pack . Funkce hash vytváří Message Digest , relativně krátký kód vypočtenou z každého bitu v souboru pomocí algoritmu, který vytváří velké změny ve zprávě stravitelné s ještě menšími změnami původního souboru. Přepočtem a porovnání výtah ze zprávy instalovaných souborů v pravidelných intervalech proti důvěryhodného seznamu digestů zpráv, změny v systému, mohou být detekovány a monitorovány-tak dlouho, dokud původní základní byl vytvořen dříve, než se přidá malware. Více-sofistikované rootkity jsou schopny rozvracet proces ověření předložením neupravená kopii souboru pro kontrolu, nebo tím, že úpravy kódu pouze v paměti, nikoli na disku. Technika tedy může být účinná pouze proti nedostatečně propracované rootkity-například ty, které výměnu Unixových binární soubory jako " ls "skrýt přítomnost souboru.

Podobně, detekce v firmware může být dosaženo výpočtem kryptografický hash firmwaru, a přirovnal ji k whitelist očekávaných hodnot, či rozšířením hodnoty hash do Trusted Platform Module (TPM) konfigurační registry, které se později ve srovnání s whitelist z očekávané hodnoty. [ 73 ] Kód, který provádí hash, srovnat, nebo rozšířit operace musí být také chráněný v této souvislosti, pojem z neměnné root-of-důvěry si myslí, že velmi první kód pro měření vlastností zabezpečení systému se musí Samotný být důvěryhodný, aby zajistily, že rootkit či bootkit neohrožuje systém na své nejzákladnější úrovni.