Skip to content

[Meta-issue] Production blockers #6

@dimakuv

Description

@dimakuv
  • Add testing infrastructure (CI) for VM/TDX

    • Currently we trigger runs of our Bash-scripts-Frankenstein manually.
    • Currently we need to apply patches to some Makefiles/Gramine manifest templates (ideally must use unmodified CI-Examples and Examples).
  • Implement typical ring-0 protections

    • KASLR
    • SMAP/SMEP
    • Tighter page permissions
    • CET / Shadow Stack
    • Mitigations of Spectre v1
  • Move away from TD-Shim vBIOS

    • This will be easier in terms of building/deployment/controlling the code if we won't have such an unconventional dependency.
    • TD-Shim is minimal, but still has a lot of features not required by Gramine
    • It's better if Gramine has full control over TDMR and RTMRs (currently TD-Shim populates most of them)
    • Because of TD-Shim's initial state (page tables, GDTs, IDTs), Gramine PAL must re-initialize all those
    • Because TD-Shim loads the initial executable (Gramine PAL), we have no control over its base address (prevents us from easily doing KASLR) and over relocations (which requires the commit "[PAL] Allow to skip relocations in setup_pal_binary()")
    • Our own vBIOS could better control which TD pages are accepted initially
  • Move from the MVP Linux stack to the mid-stream Linux stack

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions