I have been reading up on Secure Boot, in particular what it actually checks during the boot process.
According to Microsoft the Secure Boot process works as follows:
- Firmware Boot Components: The firmware verifies the OS loader is trusted
Windows boot components: BootMgr, WinLoad, Windows Kernel Startup. Windows boot components verify the signature on each component. Any non-trusted components will not be loaded and instead will trigger Secure Boot remediation.
Antivirus and Antimalware Software initialization: This software is checked for a special signature issued by Microsoft verifying that it is a trusted boot critical driver, and will launch early in the boot process.
Boot Critical Driver initialization: The signatures on all Boot-critical drivers are checked as part of Secure Boot verification in WinLoad.
Additional OS Initialization
Windows Logon Screen
From this I have understood that Secure Boot will only check the firmware (bootloader, EFI applications, OS integrity).
But would it be possible to have the secure boot process also verify the integrity of the OS applications from tampering as well? I.e some user applications that run on Windows e.g paint etc.
If you do the whole signing process of a user application you want to have its integrity checked, and add it's public key to the Secure Boot whitelist database, would it actually check the user application's integrity? I searched online but I could not find a definite list of what exactly Secure Boot checks for.