microsoft / mu_feature_mm_supv

Project Mu - Feature Repo - MM Supervisor
https://microsoft.github.io/mu
Other
46 stars 28 forks source link

Add key symbols to the auxillary file #252

Closed Javagedes closed 6 months ago

Javagedes commented 6 months ago

Description

Adds two additional fields to IMAGE_VALIDATION_DATA_HEADER, KeySymbolCount and OffsetToFirstKeySymbol and a new struct, KEY_SYMBOL which is a U32, U32 (Signature / Offset) pair.

Updates the aux gen to support adding key symbols via the config file by using the [[key]] config header.

This will allow a consumer of the auxillary file to define a set of key symbols that are necessary before performing any validation of an efi. The expectation is that the signature will allow the consumer to identify the purpose of the provided offset and act accordingly. The expectation is not that the signature will match the symbol name, but the purpose that the symbol is used for.

+--------------------------------------------+
+  IMAGE_VALIDATION_DATA_HEADER
+--------------------------------------------+
+  KEY_SYMBOL's
+--------------------------------------------+
+  IMAGE_VALIDATION_ENTRY_HEADER's
+--------------------------------------------+
+  Raw Data
+--------------------------------------------+

How This Was Tested

<Please describe the test(s) that were run to verify the changes.>

Integration Instructions

<Describe how these changes should be integrated. Use N/A if nothing is required.>