[SLOF] [PATCH 0/3] vTPM: Measure the bootloader

Alexey Kardashevskiy aik at ozlabs.ru
Wed May 13 12:48:07 AEST 2020



On 13/05/2020 01:44, Stefan Berger wrote:
> This series of patches adds support for measuring the booloader read from
> a GPT partition. Since the boot loader is read into a buffer much bigger
> (0x700000 bytes) than the original file, we need a way to determine the
> original file size of the boot loader so that we measure only those
> bytes from the buffer that are also found in the file. The file is
> assumed to be an ELF file. We do this by extending libelf with a function
> that allows us to determine the ELF file's original file size by walking
> the ELF headers and looking for the farthest offset. In the normal case
> this will result in the same hash calculated as if one does for example
> 'sha256sum grub'. However, it could lead to a different measurement if
> the user intentionately appended bytes to the file, which are not
> referenced by any ELF section. We cannot solve this case.
> 
>    Stefan
> 
> v2->v3:
>   - addressed nits



Thanks, applied.


> 
> v1->v2:
>   - Followed Alexey's comments
>   - Renamed new function suffix from '_file' to '_buffer' to be more
>     generic
> 
> 
> Stefan Berger (3):
>   elf: Implement elf_get_file_size to determine size of an ELF image
>   tcgbios: Implement tpm_hash_log_extend_event_buffer
>   tcgbios: Measure the bootloader file read from disk
> 
>  include/helpers.h              |  2 +
>  include/libelf.h               | 14 +++++++
>  lib/libelf/elf.c               | 26 +++++++++++++
>  lib/libelf/elf32.c             | 69 ++++++++++++++++++++++++++++++++++
>  lib/libelf/elf64.c             | 57 ++++++++++++++++++++++++++++
>  lib/libtpm/tcgbios.c           | 44 ++++++++++++++++++++++
>  lib/libtpm/tcgbios.h           |  5 +++
>  lib/libtpm/tpm.code            | 19 ++++++++++
>  lib/libtpm/tpm.in              |  1 +
>  slof/fs/packages/disk-label.fs | 19 +++++++++-
>  10 files changed, 255 insertions(+), 1 deletion(-)
> 

-- 
Alexey


More information about the SLOF mailing list