Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Disable demand for Intel CET in fwupdmgr security #4960

Closed
mhalano opened this issue Aug 28, 2022 · 33 comments
Closed

Disable demand for Intel CET in fwupdmgr security #4960

mhalano opened this issue Aug 28, 2022 · 33 comments
Labels

Comments

@mhalano
Copy link

mhalano commented Aug 28, 2022

Describe the bug
Intel CET isn't implemented in Linux kernel yet, so even you have a compatible processor it will be marked as non-supported and you will never achieve level 3 of security.

Steps to Reproduce
Have a processor with Intel CET support (mine is Intel i7-11800H) and execute fwupdmgr security command.

Expected behavior
A clear and concise description of what you expected to happen.
Not be considered since there is no kernel support yet.

fwupd version information
Please provide the version of the daemon and client.

runtime   org.freedesktop.fwupd         1.8.3
runtime   org.freedesktop.fwupd-efi     1.0
runtime   com.dell.libsmbios            2.4
compile   org.freedesktop.gusb          0.3.10
runtime   org.kernel                    5.19.3-051903-generic
compile   com.hughsie.libjcat           0.1.9
compile   org.freedesktop.fwupd         1.8.3
runtime   org.freedesktop.gusb          0.3.10

Native installation on Ubuntu Kinetic Kudu

fwupd device information
Please provide the output of the fwupd devices recognized in your system.

Dell Inc. Dell G15 5511
│
├─DELL0A70:00 04F3:317E:
│     Device ID:          f0b5af888f84b1518085848a548471c338c31187
│     Summary:            Touchpad
│     Current version:    0x0005
│     Bootloader Version: 0x0001
│     Vendor:             HIDRAW:0x04F3
│     GUIDs:              db972db2-d0dd-557e-9ddd-ea0a77323371 ← HIDRAW\VEN_04F3&DEV_317E
│                         1bdaa505-7fc5-57ba-97b6-80918e9811c7 ← HIDRAW\VEN_04F3&DEV_317E&REV_00
│                         38d75275-10b3-5f2f-8c9f-a8d60111c768 ← HIDRAW\VEN_04F3&DEV_317E&MOD_0089
│                         4296cbee-f355-5bf6-b62d-a6a286b69414 ← ELANTP\ICTYPE_10
│                         4eed77b6-0567-5942-a842-2413a8622e3a ← ELANTP\ICTYPE_10&MOD_0089
│     Device Flags:       • Internal device
│                         • Updatable
│   
├─Unknown Device:
│     Device ID:          bbc98c073ac3282642278424d95dc59fcd055153
│     GUID:               c9ddd069-c7f2-58c5-b382-0487e683463a ← GPIO\ID_INT34C6:00
│   
├─11th Gen Intel Core™ i7-11800H @ 2.30GHz:
│     Device ID:          4bde70ba4e39b28f9eab1628f9dd6e6244c03027
│     Current version:    0x00000040
│     Vendor:             Intel
│     GUIDs:              b9a2dd81-159e-5537-a7db-e7101d164d3f ← cpu
│                         30249f37-d140-5d3e-9319-186b1bd5cac3 ← CPUID\PRO_0&FAM_06
│                         a6bd4ca5-75a6-5796-b564-66b5cab1b11b ← CPUID\PRO_0&FAM_06&MOD_8D
│                         d9dd5e77-df17-5bab-b5ec-22827598bfed ← CPUID\PRO_0&FAM_06&MOD_8D&STP_1
│     Device Flags:       • Internal device
│   
├─GA106M [GeForce RTX 3060 Mobile / Max-Q]:
│     Device ID:          ce4c74a5188d5b9cdb1e72ed32dad2d313c1c999
│     Current version:    a1
│     Vendor:             NVIDIA Corporation (PCI:0x10DE, PCI:0x8086)
│     GUIDs:              76567ea7-c9d9-5b64-9581-755d22386b00 ← PCI\VEN_10DE&DEV_2560
│                         8f2594a6-3673-54fd-bb97-777fa492042a ← PCI\VEN_10DE&DEV_2560&REV_A1
│                         218353e3-7021-5286-8b4f-8016bb66294e ← PCI\VEN_10DE&DEV_2560&SUBSYS_10280A70
│                         1f275bfc-d092-507a-a98e-3298382e8d63 ← PCI\VEN_10DE&DEV_2560&SUBSYS_10280A70&REV_A1
│                         c7dac7da-12ca-57be-ba1d-8617ec295689 ← PCI\VEN_8086&DEV_9A01
│                         7305c01c-2139-594e-ace6-16ab469a5d85 ← PCI\VEN_8086&DEV_9A01&REV_05
│                         f0228d97-3a50-557b-a76e-f4139752577d ← PCI\VEN_8086&DEV_9A01&SUBSYS_10280A70
│                         bdc52f91-b558-528b-b6e4-a7857a51fc5e ← PCI\VEN_8086&DEV_9A01&SUBSYS_10280A70&REV_05
│     Device Flags:       • Internal device
│                         • Cryptographic hash verification is available
│   
├─IM2P33F3A NVMe ADATA 512GB:
│     Device ID:          03281da317dccd2b18de2bd1cc70a782df40ed7e
│     Summary:            NVM Express solid state drive
│     Current version:    92103061
│     Vendor:             ADATA Technology Co., Ltd. (NVME:0x1CC1)
│     Serial Number:      DL402SJYMPC0
│     GUIDs:              53f16832-8fd9-536c-b006-e1610314d459 ← STORAGE-DELL-109737
│                         096da7a8-2137-4343-8d99-bdc6f640016d
│     Device Flags:       • Internal device
│                         • Updatable
│                         • System requires external power source
│                         • Needs a reboot after installation
│                         • Device is usable for the duration of the update
│   
├─KINGSTON SNVS2000G:
│     Device ID:          4515e9a4ca4664ef9a2f99a999be418e61193a6a
│     Summary:            NVM Express solid state drive
│     Current version:    S8442105
│     Vendor:             Kingston Technology Company, Inc. (NVME:0x2646)
│     Serial Number:      50026B7381437DC9
│     GUIDs:              f1a1778f-9c0b-59e8-b4a5-9291e05453dd ← NVME\VEN_2646&DEV_500F
│                         e5cec947-354f-519d-ae68-d03ff2acf438 ← NVME\VEN_2646&DEV_500F&REV_03
│                         5ab96d4e-747b-5d6f-bc9b-b495b44ee7b8 ← NVME\VEN_2646&DEV_500F&SUBSYS_2646500F
│                         a607ef7d-8fa3-589c-8eab-a8bf4973e9b5 ← NVME\VEN_2646&DEV_500F&SUBSYS_2646500F&REV_03
│                         d8491165-3cd0-59ce-9c21-0598f57f9371 ← KINGSTON SNVS2000G
│     Device Flags:       • Internal device
│                         • Updatable
│                         • System requires external power source
│                         • Needs shutdown after installation
│                         • Device is usable for the duration of the update
│   
├─System Firmware:
│ │   Device ID:          a45df35ac0e948ee180fe216a5f703f32dda163f
│ │   Summary:            UEFI ESRT device
│ │   Current version:    1.16.0
│ │   Minimum Version:    1.16.0
│ │   Vendor:             Dell (DMI:Dell Inc.)
│ │   Update State:       Success
│ │   GUIDs:              0320a545-48ca-986d-d52b-c28c648bf8d7
│ │                       230c8b18-8d9b-53ec-838b-6cfc0383493a ← main-system-firmware
│ │   Device Flags:       • Internal device
│ │                       • Updatable
│ │                       • System requires external power source
│ │                       • Supported on remote server
│ │                       • Needs a reboot after installation
│ │                       • Cryptographic hash verification is available
│ │                       • Device is usable for the duration of the update
│ │ 
│ └─UEFI dbx:
│       Device ID:        362301da643102b9f38477387e2193e57abaa590
│       Summary:          UEFI revocation database
│       Current version:  83
│       Minimum Version:  83
│       Vendor:           UEFI:Linux Foundation
│       Install Duration: 1 second
│       GUIDs:            00fe3755-a4d8-5ef7-ba5f-47979fbb3423 ← UEFI\CRT_E28D59CA489BD2AD580F2EA5D62D6A29BB9C02AE5A818434A37DA7FC11DFF9E9
│                         4a6cd2cb-8741-5257-9d1f-89a275dacca7 ← UEFI\CRT_E28D59CA489BD2AD580F2EA5D62D6A29BB9C02AE5A818434A37DA7FC11DFF9E9&ARCH_X64
│                         c6682ade-b5ec-57c4-b687-676351208742 ← UEFI\CRT_A1117F516A32CEFCBA3F2D1ACE10A87972FD6BBE8FE0D0B996E09E65D802A503
│                         f8ba2887-9411-5c36-9cee-88995bb39731 ← UEFI\CRT_A1117F516A32CEFCBA3F2D1ACE10A87972FD6BBE8FE0D0B996E09E65D802A503&ARCH_X64
│       Device Flags:     • Internal device
│                         • Updatable
│                         • Needs a reboot after installation
│                         • Only version upgrades are allowed
│                         • Signed Payload
│     
├─TPM:
│     Device ID:          c6a80ac3a22083423992a3cb15018989f37834d6
│     Summary:            TPM 2.0 Device
│     Current version:    600.7.41.2158
│     Vendor:             Intel (TPM:INTC)
│     GUIDs:              ff71992e-52f7-5eea-94ef-883e56e034c6 ← system-tpm
│                         34801700-3a50-5b05-820c-fe14580e4c2d ← TPM\VEN_INTC&DEV_0000
│                         00d06c7f-2244-5a35-aa98-5d60704b3f5d ← TPM\VEN_INTC&MOD_TGL
│                         03f304f4-223e-54f4-b2c1-c3cf3b5817c6 ← TPM\VEN_INTC&DEV_0000&VER_2.0
│                         9c3106c7-42ca-5099-9363-96ef5c22cbf7 ← TPM\VEN_INTC&MOD_TGL&VER_2.0
│     Device Flags:       • Internal device
│   
├─TigerLake-H GT1 [UHD Graphics]:
│     Device ID:          5792b48846ce271fab11c4a545f7a3df0d36e00a
│     Current version:    01
│     Vendor:             Intel Corporation (PCI:0x8086)
│     GUIDs:              542e165e-ec6d-59dd-b7c2-60892a04d76a ← PCI\VEN_8086&DEV_9A60
│                         91ff7032-68d2-5f2b-aa22-cf9d9a6beab6 ← PCI\VEN_8086&DEV_9A60&REV_01
│                         d09dc701-39aa-5949-90ee-e67ce17ea3b3 ← PCI\VEN_8086&DEV_9A60&SUBSYS_10280A70
│                         61cedbd3-fea1-5f10-8569-053e08d69d90 ← PCI\VEN_8086&DEV_9A60&SUBSYS_10280A70&REV_01
│                         9e16e783-334d-53b3-a6b4-673e6551d7b0 ← PCI\VEN_8086&DEV_9A60&REV_00
│                         217cce07-3b60-5bdf-a254-017c84118df7 ← PCI\VEN_8086&DEV_9A60&SUBSYS_10280A70&REV_00
│     Device Flags:       • Internal device
│                         • Cryptographic hash verification is available
│   
├─UEFI Device Firmware:
│     Device ID:          349bb341230b1a86e5effe7dfe4337e1590227bd
│     Summary:            UEFI ESRT device
│     Current version:    62
│     Minimum Version:    62
│     Vendor:             DMI:Dell Inc.
│     Update State:       Success
│     GUID:               176e090d-0ddb-495e-8173-bc998ccfecd0
│     Device Flags:       • Internal device
│                         • Updatable
│                         • System requires external power source
│                         • Needs a reboot after installation
│                         • Device is usable for the duration of the update
│   
├─UEFI Device Firmware:
│     Device ID:          2292ae5236790b47884e37cf162dcf23bfcd1c60
│     Summary:            UEFI ESRT device
│     Current version:    2450534497
│     Minimum Version:    2450534497
│     Vendor:             DMI:Dell Inc.
│     Update State:       Success
│     GUID:               096da7a8-2137-4343-8d99-bdc6f640016d
│     Device Flags:       • Internal device
│                         • Updatable
│                         • System requires external power source
│                         • Needs a reboot after installation
│                         • Device is usable for the duration of the update
│   
└─USB4 host controller:
      Device ID:          b077e814fac8da0ca9bdf4afc7c82267b13599cd
      Summary:            Unmatched performance for high-speed I/O
      GUID:               e72e778e-94f7-5ed2-b560-1c1262ee217c ← TBT-fixed
      Device Flags:       • Internal device
                          • System requires external power source
                          • Signed Payload
    
Idle…                    [***************************************]
Successfully uploaded 1 report

Additional questions

  • Operating system and version: Ubuntu Kinetic Kudu
  • Have you tried rebooting? Yes
  • Is this a regression? I think no (it probably never worked)
@mhalano mhalano added the bug label Aug 28, 2022
@hughsie
Copy link
Member

hughsie commented Aug 28, 2022

Is CET marked as disabled, enabled, or active? We're testing the cpuid flags directly, not asking the kernel. The output of 'fwupdmgr security --json' would be helpful.

@mhalano
Copy link
Author

mhalano commented Aug 28, 2022

@hughsie is marked as non-supported. at least the data sheet for the processor says it should be supported. I found in the Linux kernel support for IBT, but not for Shadow Stack. Both are part of CET.

{
  "SecurityAttributes" : [
    {
      "AppstreamId" : "org.fwupd.hsi.Kernel.Swap",
      "Created" : 1661703827,
      "HsiLevel" : 0,
      "HsiResult" : "not-enabled",
      "Name" : "Linux swap",
      "Plugin" : "linux_swap",
      "Uri" : "https://fwupd.github.io/libfwupdplugin/hsi.html#org.fwupd.hsi.Kernel.Swap",
      "Flags" : [
        "success",
        "runtime-issue"
      ]
    },
    {
      "AppstreamId" : "org.fwupd.hsi.Fwupd.Plugins",
      "Created" : 1661703827,
      "HsiLevel" : 0,
      "HsiResult" : "not-tainted",
      "Name" : "fwupd plugins",
      "Plugin" : "core",
      "Uri" : "https://fwupd.github.io/libfwupdplugin/hsi.html#org.fwupd.hsi.Fwupd.Plugins",
      "Flags" : [
        "success",
        "runtime-issue"
      ]
    },
    {
      "AppstreamId" : "org.fwupd.hsi.Kernel.Tainted",
      "Created" : 1661703827,
      "HsiLevel" : 0,
      "HsiResult" : "tainted",
      "Name" : "Linux kernel",
      "Plugin" : "linux_tainted",
      "Uri" : "https://fwupd.github.io/libfwupdplugin/hsi.html#org.fwupd.hsi.Kernel.Tainted",
      "Flags" : [
        "runtime-issue",
        "action-config-os"
      ]
    },
    {
      "AppstreamId" : "org.fwupd.hsi.Kernel.Lockdown",
      "Created" : 1661703827,
      "HsiLevel" : 0,
      "HsiResult" : "not-enabled",
      "Name" : "Linux kernel lockdown",
      "Plugin" : "linux_lockdown",
      "Uri" : "https://fwupd.github.io/libfwupdplugin/hsi.html#org.fwupd.hsi.Kernel.Lockdown",
      "Flags" : [
        "runtime-issue",
        "action-config-os"
      ]
    },
    {
      "AppstreamId" : "org.fwupd.hsi.Uefi.SecureBoot",
      "Created" : 1661703827,
      "HsiLevel" : 0,
      "HsiResult" : "not-enabled",
      "Name" : "UEFI secure boot",
      "Plugin" : "uefi_capsule",
      "Uri" : "https://fwupd.github.io/libfwupdplugin/hsi.html#org.fwupd.hsi.Uefi.SecureBoot",
      "Flags" : [
        "runtime-issue",
        "action-config-fw"
      ]
    },
    {
      "AppstreamId" : "org.fwupd.hsi.Mei.ManufacturingMode",
      "Created" : 1661703827,
      "HsiLevel" : 1,
      "HsiResult" : "locked",
      "Name" : "CSME manufacturing mode",
      "Plugin" : "pci_mei",
      "Uri" : "https://fwupd.github.io/libfwupdplugin/hsi.html#org.fwupd.hsi.Mei.ManufacturingMode",
      "Flags" : [
        "success"
      ],
      "kind" : "CSME"
    },
    {
      "AppstreamId" : "org.fwupd.hsi.Mei.OverrideStrap",
      "Created" : 1661703827,
      "HsiLevel" : 1,
      "HsiResult" : "locked",
      "Name" : "CSME override",
      "Plugin" : "pci_mei",
      "Uri" : "https://fwupd.github.io/libfwupdplugin/hsi.html#org.fwupd.hsi.Mei.OverrideStrap",
      "Flags" : [
        "success"
      ],
      "kind" : "CSME"
    },
    {
      "AppstreamId" : "org.fwupd.hsi.Mei.Version",
      "Created" : 1661703827,
      "HsiLevel" : 1,
      "HsiResult" : "valid",
      "Name" : "CSME v0:15.0.41.2158",
      "Plugin" : "pci_mei",
      "Uri" : "https://fwupd.github.io/libfwupdplugin/hsi.html#org.fwupd.hsi.Mei.Version",
      "Flags" : [
        "success"
      ],
      "kind" : "CSME",
      "version" : "0:15.0.41.2158"
    },
    {
      "AppstreamId" : "org.fwupd.hsi.PlatformDebugEnabled",
      "Created" : 1661703827,
      "HsiLevel" : 1,
      "HsiResult" : "not-enabled",
      "Name" : "Platform Debugging",
      "Plugin" : "msr",
      "Uri" : "https://fwupd.github.io/libfwupdplugin/hsi.html#org.fwupd.hsi.PlatformDebugEnabled",
      "Flags" : [
        "success"
      ],
      "Guid" : [
        "b9a2dd81-159e-5537-a7db-e7101d164d3f",
        "30249f37-d140-5d3e-9319-186b1bd5cac3",
        "a6bd4ca5-75a6-5796-b564-66b5cab1b11b",
        "d9dd5e77-df17-5bab-b5ec-22827598bfed"
      ]
    },
    {
      "AppstreamId" : "org.fwupd.hsi.Spi.SmmBwp",
      "Created" : 1661703827,
      "HsiLevel" : 1,
      "HsiResult" : "locked",
      "Name" : "SPI BIOS region",
      "Plugin" : "pci_bcr",
      "Uri" : "https://fwupd.github.io/libfwupdplugin/hsi.html#org.fwupd.hsi.Spi.SmmBwp",
      "Flags" : [
        "success"
      ]
    },
    {
      "AppstreamId" : "org.fwupd.hsi.Spi.Ble",
      "Created" : 1661703827,
      "HsiLevel" : 1,
      "HsiResult" : "enabled",
      "Name" : "SPI lock",
      "Plugin" : "pci_bcr",
      "Uri" : "https://fwupd.github.io/libfwupdplugin/hsi.html#org.fwupd.hsi.Spi.Ble",
      "Flags" : [
        "success"
      ]
    },
    {
      "AppstreamId" : "org.fwupd.hsi.Spi.Bioswe",
      "Created" : 1661703827,
      "HsiLevel" : 1,
      "HsiResult" : "not-enabled",
      "Name" : "SPI write",
      "Plugin" : "pci_bcr",
      "Uri" : "https://fwupd.github.io/libfwupdplugin/hsi.html#org.fwupd.hsi.Spi.Bioswe",
      "Flags" : [
        "success"
      ]
    },
    {
      "AppstreamId" : "org.fwupd.hsi.SupportedCpu",
      "Created" : 1661703827,
      "HsiLevel" : 1,
      "HsiResult" : "valid",
      "Name" : "Supported CPU",
      "Plugin" : "cpu",
      "Uri" : "https://fwupd.github.io/libfwupdplugin/hsi.html#org.fwupd.hsi.SupportedCpu",
      "Flags" : [
        "success"
      ],
      "Guid" : [
        "b9a2dd81-159e-5537-a7db-e7101d164d3f",
        "30249f37-d140-5d3e-9319-186b1bd5cac3",
        "a6bd4ca5-75a6-5796-b564-66b5cab1b11b",
        "d9dd5e77-df17-5bab-b5ec-22827598bfed"
      ]
    },
    {
      "AppstreamId" : "org.fwupd.hsi.Tpm.EmptyPcr",
      "Created" : 1661703827,
      "HsiLevel" : 1,
      "HsiResult" : "valid",
      "Name" : "TPM empty PCRs",
      "Plugin" : "tpm",
      "Uri" : "https://fwupd.github.io/libfwupdplugin/hsi.html#org.fwupd.hsi.Tpm.EmptyPcr",
      "Flags" : [
        "success"
      ],
      "Guid" : [
        "ff71992e-52f7-5eea-94ef-883e56e034c6",
        "34801700-3a50-5b05-820c-fe14580e4c2d",
        "00d06c7f-2244-5a35-aa98-5d60704b3f5d",
        "03f304f4-223e-54f4-b2c1-c3cf3b5817c6",
        "9c3106c7-42ca-5099-9363-96ef5c22cbf7"
      ]
    },
    {
      "AppstreamId" : "org.fwupd.hsi.Tpm.Version20",
      "Created" : 1661703827,
      "HsiLevel" : 1,
      "HsiResult" : "found",
      "Name" : "TPM v2.0",
      "Plugin" : "tpm",
      "Uri" : "https://fwupd.github.io/libfwupdplugin/hsi.html#org.fwupd.hsi.Tpm.Version20",
      "Flags" : [
        "success"
      ],
      "Guid" : [
        "ff71992e-52f7-5eea-94ef-883e56e034c6",
        "34801700-3a50-5b05-820c-fe14580e4c2d",
        "00d06c7f-2244-5a35-aa98-5d60704b3f5d",
        "03f304f4-223e-54f4-b2c1-c3cf3b5817c6",
        "9c3106c7-42ca-5099-9363-96ef5c22cbf7"
      ]
    },
    {
      "AppstreamId" : "org.fwupd.hsi.Uefi.Pk",
      "Created" : 1661703827,
      "HsiLevel" : 1,
      "HsiResult" : "valid",
      "Name" : "UEFI platform key",
      "Plugin" : "uefi_pk",
      "Uri" : "https://fwupd.github.io/libfwupdplugin/hsi.html#org.fwupd.hsi.Uefi.Pk",
      "Flags" : [
        "success"
      ]
    },
    {
      "AppstreamId" : "org.fwupd.hsi.Iommu",
      "Created" : 1661703827,
      "HsiLevel" : 2,
      "HsiResult" : "enabled",
      "Name" : "IOMMU",
      "Plugin" : "iommu",
      "Uri" : "https://fwupd.github.io/libfwupdplugin/hsi.html#org.fwupd.hsi.Iommu",
      "Flags" : [
        "success"
      ]
    },
    {
      "AppstreamId" : "org.fwupd.hsi.IntelBootguard.Enabled",
      "Created" : 1661703827,
      "HsiLevel" : 2,
      "HsiResult" : "enabled",
      "Name" : "Intel BootGuard",
      "Plugin" : "pci_mei",
      "Uri" : "https://fwupd.github.io/libfwupdplugin/hsi.html#org.fwupd.hsi.IntelBootguard.Enabled",
      "Flags" : [
        "success"
      ]
    },
    {
      "AppstreamId" : "org.fwupd.hsi.IntelBootguard.Acm",
      "Created" : 1661703827,
      "HsiLevel" : 2,
      "HsiResult" : "valid",
      "Name" : "Intel BootGuard ACM protected",
      "Plugin" : "pci_mei",
      "Uri" : "https://fwupd.github.io/libfwupdplugin/hsi.html#org.fwupd.hsi.IntelBootguard.Acm",
      "Flags" : [
        "success"
      ]
    },
    {
      "AppstreamId" : "org.fwupd.hsi.IntelBootguard.Otp",
      "Created" : 1661703827,
      "HsiLevel" : 2,
      "HsiResult" : "valid",
      "Name" : "Intel BootGuard OTP fuse",
      "Plugin" : "pci_mei",
      "Uri" : "https://fwupd.github.io/libfwupdplugin/hsi.html#org.fwupd.hsi.IntelBootguard.Otp",
      "Flags" : [
        "success"
      ]
    },
    {
      "AppstreamId" : "org.fwupd.hsi.IntelBootguard.Verified",
      "Created" : 1661703827,
      "HsiLevel" : 2,
      "HsiResult" : "valid",
      "Name" : "Intel BootGuard verified boot",
      "Plugin" : "pci_mei",
      "Uri" : "https://fwupd.github.io/libfwupdplugin/hsi.html#org.fwupd.hsi.IntelBootguard.Verified",
      "Flags" : [
        "success"
      ]
    },
    {
      "AppstreamId" : "org.fwupd.hsi.PlatformDebugLocked",
      "Created" : 1661703827,
      "HsiLevel" : 2,
      "HsiResult" : "locked",
      "Name" : "Platform Debugging",
      "Plugin" : "msr",
      "Uri" : "https://fwupd.github.io/libfwupdplugin/hsi.html#org.fwupd.hsi.PlatformDebugLocked",
      "Flags" : [
        "success"
      ],
      "Guid" : [
        "b9a2dd81-159e-5537-a7db-e7101d164d3f",
        "30249f37-d140-5d3e-9319-186b1bd5cac3",
        "a6bd4ca5-75a6-5796-b564-66b5cab1b11b",
        "d9dd5e77-df17-5bab-b5ec-22827598bfed"
      ]
    },
    {
      "AppstreamId" : "org.fwupd.hsi.Tpm.ReconstructionPcr0",
      "Created" : 1661703827,
      "HsiLevel" : 2,
      "HsiResult" : "valid",
      "Name" : "TPM PCR0 reconstruction",
      "Plugin" : "tpm",
      "Uri" : "https://fwupd.github.io/libfwupdplugin/hsi.html#org.fwupd.hsi.Tpm.ReconstructionPcr0",
      "Flags" : [
        "success"
      ],
      "Guid" : [
        "ff71992e-52f7-5eea-94ef-883e56e034c6",
        "34801700-3a50-5b05-820c-fe14580e4c2d",
        "00d06c7f-2244-5a35-aa98-5d60704b3f5d",
        "03f304f4-223e-54f4-b2c1-c3cf3b5817c6",
        "9c3106c7-42ca-5099-9363-96ef5c22cbf7"
      ]
    },
    {
      "AppstreamId" : "org.fwupd.hsi.IntelBootguard.Policy",
      "Created" : 1661703827,
      "HsiLevel" : 3,
      "HsiResult" : "valid",
      "Name" : "Intel BootGuard error policy",
      "Plugin" : "pci_mei",
      "Uri" : "https://fwupd.github.io/libfwupdplugin/hsi.html#org.fwupd.hsi.IntelBootguard.Policy",
      "Flags" : [
        "success"
      ]
    },
    {
      "AppstreamId" : "org.fwupd.hsi.PrebootDma",
      "Created" : 1661703827,
      "HsiLevel" : 3,
      "HsiResult" : "enabled",
      "Name" : "Pre-boot DMA protection",
      "Plugin" : "acpi_dmar",
      "Uri" : "https://fwupd.github.io/libfwupdplugin/hsi.html#org.fwupd.hsi.PrebootDma",
      "Flags" : [
        "success"
      ]
    },
    {
      "AppstreamId" : "org.fwupd.hsi.SuspendToIdle",
      "Created" : 1661703827,
      "HsiLevel" : 3,
      "HsiResult" : "enabled",
      "Name" : "Suspend-to-idle",
      "Plugin" : "acpi_facp",
      "Uri" : "https://fwupd.github.io/libfwupdplugin/hsi.html#org.fwupd.hsi.SuspendToIdle",
      "Flags" : [
        "success"
      ]
    },
    {
      "AppstreamId" : "org.fwupd.hsi.SuspendToRam",
      "Created" : 1661703827,
      "HsiLevel" : 3,
      "HsiResult" : "not-enabled",
      "Name" : "Suspend-to-ram",
      "Plugin" : "linux_sleep",
      "Uri" : "https://fwupd.github.io/libfwupdplugin/hsi.html#org.fwupd.hsi.SuspendToRam",
      "Flags" : [
        "success"
      ]
    },
    {
      "AppstreamId" : "org.fwupd.hsi.IntelCet.Enabled",
      "Created" : 1661703827,
      "HsiLevel" : 3,
      "HsiResult" : "not-supported",
      "Name" : "Intel CET Enabled",
      "Plugin" : "cpu",
      "Uri" : "https://fwupd.github.io/libfwupdplugin/hsi.html#org.fwupd.hsi.IntelCet.Enabled",
      "Guid" : [
        "b9a2dd81-159e-5537-a7db-e7101d164d3f",
        "30249f37-d140-5d3e-9319-186b1bd5cac3",
        "a6bd4ca5-75a6-5796-b564-66b5cab1b11b",
        "d9dd5e77-df17-5bab-b5ec-22827598bfed"
      ]
    },
    {
      "AppstreamId" : "org.fwupd.hsi.IntelSmap",
      "Created" : 1661703827,
      "HsiLevel" : 4,
      "HsiResult" : "enabled",
      "Name" : "Intel SMAP",
      "Plugin" : "cpu",
      "Uri" : "https://fwupd.github.io/libfwupdplugin/hsi.html#org.fwupd.hsi.IntelSmap",
      "Flags" : [
        "success"
      ],
      "Guid" : [
        "b9a2dd81-159e-5537-a7db-e7101d164d3f",
        "30249f37-d140-5d3e-9319-186b1bd5cac3",
        "a6bd4ca5-75a6-5796-b564-66b5cab1b11b",
        "d9dd5e77-df17-5bab-b5ec-22827598bfed"
      ]
    },
    {
      "AppstreamId" : "org.fwupd.hsi.EncryptedRam",
      "Created" : 1661703827,
      "HsiLevel" : 4,
      "HsiResult" : "not-supported",
      "Name" : "Encrypted RAM",
      "Plugin" : "cpu",
      "Uri" : "https://fwupd.github.io/libfwupdplugin/hsi.html#org.fwupd.hsi.EncryptedRam",
      "Guid" : [
        "b9a2dd81-159e-5537-a7db-e7101d164d3f",
        "30249f37-d140-5d3e-9319-186b1bd5cac3",
        "a6bd4ca5-75a6-5796-b564-66b5cab1b11b",
        "d9dd5e77-df17-5bab-b5ec-22827598bfed"
      ]
    }
  ],
  "SecurityEvents" : [
    {
      "AppstreamId" : "org.fwupd.hsi.Kernel.Swap",
      "Created" : 1661703827,
      "HsiLevel" : 0,
      "HsiResult" : "not-enabled",
      "Name" : "Linux swap",
      "Plugin" : "linux_swap",
      "Uri" : "https://fwupd.github.io/libfwupdplugin/hsi.html#org.fwupd.hsi.Kernel.Swap",
      "Flags" : [
        "success",
        "runtime-issue"
      ]
    },
    {
      "AppstreamId" : "org.fwupd.hsi.Fwupd.Plugins",
      "Created" : 1661703827,
      "HsiLevel" : 0,
      "HsiResult" : "not-tainted",
      "Name" : "fwupd plugins",
      "Plugin" : "core",
      "Uri" : "https://fwupd.github.io/libfwupdplugin/hsi.html#org.fwupd.hsi.Fwupd.Plugins",
      "Flags" : [
        "success",
        "runtime-issue"
      ]
    },
    {
      "AppstreamId" : "org.fwupd.hsi.Kernel.Tainted",
      "Created" : 1661703827,
      "HsiLevel" : 0,
      "HsiResult" : "tainted",
      "Name" : "Linux kernel",
      "Plugin" : "linux_tainted",
      "Uri" : "https://fwupd.github.io/libfwupdplugin/hsi.html#org.fwupd.hsi.Kernel.Tainted",
      "Flags" : [
        "runtime-issue",
        "action-config-os"
      ]
    },
    {
      "AppstreamId" : "org.fwupd.hsi.Kernel.Lockdown",
      "Created" : 1661703827,
      "HsiLevel" : 0,
      "HsiResult" : "not-enabled",
      "Name" : "Linux kernel lockdown",
      "Plugin" : "linux_lockdown",
      "Uri" : "https://fwupd.github.io/libfwupdplugin/hsi.html#org.fwupd.hsi.Kernel.Lockdown",
      "Flags" : [
        "runtime-issue",
        "action-config-os"
      ]
    },
    {
      "AppstreamId" : "org.fwupd.hsi.Uefi.SecureBoot",
      "Created" : 1661703827,
      "HsiLevel" : 0,
      "HsiResult" : "not-enabled",
      "Name" : "UEFI secure boot",
      "Plugin" : "uefi_capsule",
      "Uri" : "https://fwupd.github.io/libfwupdplugin/hsi.html#org.fwupd.hsi.Uefi.SecureBoot",
      "Flags" : [
        "runtime-issue",
        "action-config-fw"
      ]
    },
    {
      "AppstreamId" : "org.fwupd.hsi.Mei.ManufacturingMode",
      "Created" : 1661703827,
      "HsiLevel" : 1,
      "HsiResult" : "locked",
      "Name" : "CSME manufacturing mode",
      "Plugin" : "pci_mei",
      "Uri" : "https://fwupd.github.io/libfwupdplugin/hsi.html#org.fwupd.hsi.Mei.ManufacturingMode",
      "Flags" : [
        "success"
      ],
      "kind" : "CSME"
    },
    {
      "AppstreamId" : "org.fwupd.hsi.Mei.OverrideStrap",
      "Created" : 1661703827,
      "HsiLevel" : 1,
      "HsiResult" : "locked",
      "Name" : "CSME override",
      "Plugin" : "pci_mei",
      "Uri" : "https://fwupd.github.io/libfwupdplugin/hsi.html#org.fwupd.hsi.Mei.OverrideStrap",
      "Flags" : [
        "success"
      ],
      "kind" : "CSME"
    },
    {
      "AppstreamId" : "org.fwupd.hsi.Mei.Version",
      "Created" : 1661703827,
      "HsiLevel" : 1,
      "HsiResult" : "valid",
      "Name" : "CSME v0:15.0.41.2158",
      "Plugin" : "pci_mei",
      "Uri" : "https://fwupd.github.io/libfwupdplugin/hsi.html#org.fwupd.hsi.Mei.Version",
      "Flags" : [
        "success"
      ],
      "kind" : "CSME",
      "version" : "0:15.0.41.2158"
    },
    {
      "AppstreamId" : "org.fwupd.hsi.PlatformDebugEnabled",
      "Created" : 1661703827,
      "HsiLevel" : 1,
      "HsiResult" : "not-enabled",
      "Name" : "Platform Debugging",
      "Plugin" : "msr",
      "Uri" : "https://fwupd.github.io/libfwupdplugin/hsi.html#org.fwupd.hsi.PlatformDebugEnabled",
      "Flags" : [
        "success"
      ],
      "Guid" : [
        "b9a2dd81-159e-5537-a7db-e7101d164d3f",
        "30249f37-d140-5d3e-9319-186b1bd5cac3",
        "a6bd4ca5-75a6-5796-b564-66b5cab1b11b",
        "d9dd5e77-df17-5bab-b5ec-22827598bfed"
      ]
    },
    {
      "AppstreamId" : "org.fwupd.hsi.Spi.SmmBwp",
      "Created" : 1661703827,
      "HsiLevel" : 1,
      "HsiResult" : "locked",
      "Name" : "SPI BIOS region",
      "Plugin" : "pci_bcr",
      "Uri" : "https://fwupd.github.io/libfwupdplugin/hsi.html#org.fwupd.hsi.Spi.SmmBwp",
      "Flags" : [
        "success"
      ]
    },
    {
      "AppstreamId" : "org.fwupd.hsi.Spi.Ble",
      "Created" : 1661703827,
      "HsiLevel" : 1,
      "HsiResult" : "enabled",
      "Name" : "SPI lock",
      "Plugin" : "pci_bcr",
      "Uri" : "https://fwupd.github.io/libfwupdplugin/hsi.html#org.fwupd.hsi.Spi.Ble",
      "Flags" : [
        "success"
      ]
    },
    {
      "AppstreamId" : "org.fwupd.hsi.Spi.Bioswe",
      "Created" : 1661703827,
      "HsiLevel" : 1,
      "HsiResult" : "not-enabled",
      "Name" : "SPI write",
      "Plugin" : "pci_bcr",
      "Uri" : "https://fwupd.github.io/libfwupdplugin/hsi.html#org.fwupd.hsi.Spi.Bioswe",
      "Flags" : [
        "success"
      ]
    },
    {
      "AppstreamId" : "org.fwupd.hsi.SupportedCpu",
      "Created" : 1661703827,
      "HsiLevel" : 1,
      "HsiResult" : "valid",
      "Name" : "Supported CPU",
      "Plugin" : "cpu",
      "Uri" : "https://fwupd.github.io/libfwupdplugin/hsi.html#org.fwupd.hsi.SupportedCpu",
      "Flags" : [
        "success"
      ],
      "Guid" : [
        "b9a2dd81-159e-5537-a7db-e7101d164d3f",
        "30249f37-d140-5d3e-9319-186b1bd5cac3",
        "a6bd4ca5-75a6-5796-b564-66b5cab1b11b",
        "d9dd5e77-df17-5bab-b5ec-22827598bfed"
      ]
    },
    {
      "AppstreamId" : "org.fwupd.hsi.Tpm.EmptyPcr",
      "Created" : 1661703827,
      "HsiLevel" : 1,
      "HsiResult" : "valid",
      "Name" : "TPM empty PCRs",
      "Plugin" : "tpm",
      "Uri" : "https://fwupd.github.io/libfwupdplugin/hsi.html#org.fwupd.hsi.Tpm.EmptyPcr",
      "Flags" : [
        "success"
      ],
      "Guid" : [
        "ff71992e-52f7-5eea-94ef-883e56e034c6",
        "34801700-3a50-5b05-820c-fe14580e4c2d",
        "00d06c7f-2244-5a35-aa98-5d60704b3f5d",
        "03f304f4-223e-54f4-b2c1-c3cf3b5817c6",
        "9c3106c7-42ca-5099-9363-96ef5c22cbf7"
      ]
    },
    {
      "AppstreamId" : "org.fwupd.hsi.Tpm.Version20",
      "Created" : 1661703827,
      "HsiLevel" : 1,
      "HsiResult" : "found",
      "Name" : "TPM v2.0",
      "Plugin" : "tpm",
      "Uri" : "https://fwupd.github.io/libfwupdplugin/hsi.html#org.fwupd.hsi.Tpm.Version20",
      "Flags" : [
        "success"
      ],
      "Guid" : [
        "ff71992e-52f7-5eea-94ef-883e56e034c6",
        "34801700-3a50-5b05-820c-fe14580e4c2d",
        "00d06c7f-2244-5a35-aa98-5d60704b3f5d",
        "03f304f4-223e-54f4-b2c1-c3cf3b5817c6",
        "9c3106c7-42ca-5099-9363-96ef5c22cbf7"
      ]
    },
    {
      "AppstreamId" : "org.fwupd.hsi.Uefi.Pk",
      "Created" : 1661703827,
      "HsiLevel" : 1,
      "HsiResult" : "valid",
      "Name" : "UEFI platform key",
      "Plugin" : "uefi_pk",
      "Uri" : "https://fwupd.github.io/libfwupdplugin/hsi.html#org.fwupd.hsi.Uefi.Pk",
      "Flags" : [
        "success"
      ]
    },
    {
      "AppstreamId" : "org.fwupd.hsi.Iommu",
      "Created" : 1661703827,
      "HsiLevel" : 2,
      "HsiResult" : "enabled",
      "Name" : "IOMMU",
      "Plugin" : "iommu",
      "Uri" : "https://fwupd.github.io/libfwupdplugin/hsi.html#org.fwupd.hsi.Iommu",
      "Flags" : [
        "success"
      ]
    },
    {
      "AppstreamId" : "org.fwupd.hsi.IntelBootguard.Enabled",
      "Created" : 1661703827,
      "HsiLevel" : 2,
      "HsiResult" : "enabled",
      "Name" : "Intel BootGuard",
      "Plugin" : "pci_mei",
      "Uri" : "https://fwupd.github.io/libfwupdplugin/hsi.html#org.fwupd.hsi.IntelBootguard.Enabled",
      "Flags" : [
        "success"
      ]
    },
    {
      "AppstreamId" : "org.fwupd.hsi.IntelBootguard.Acm",
      "Created" : 1661703827,
      "HsiLevel" : 2,
      "HsiResult" : "valid",
      "Name" : "Intel BootGuard ACM protected",
      "Plugin" : "pci_mei",
      "Uri" : "https://fwupd.github.io/libfwupdplugin/hsi.html#org.fwupd.hsi.IntelBootguard.Acm",
      "Flags" : [
        "success"
      ]
    },
    {
      "AppstreamId" : "org.fwupd.hsi.IntelBootguard.Otp",
      "Created" : 1661703827,
      "HsiLevel" : 2,
      "HsiResult" : "valid",
      "Name" : "Intel BootGuard OTP fuse",
      "Plugin" : "pci_mei",
      "Uri" : "https://fwupd.github.io/libfwupdplugin/hsi.html#org.fwupd.hsi.IntelBootguard.Otp",
      "Flags" : [
        "success"
      ]
    },
    {
      "AppstreamId" : "org.fwupd.hsi.IntelBootguard.Verified",
      "Created" : 1661703827,
      "HsiLevel" : 2,
      "HsiResult" : "valid",
      "Name" : "Intel BootGuard verified boot",
      "Plugin" : "pci_mei",
      "Uri" : "https://fwupd.github.io/libfwupdplugin/hsi.html#org.fwupd.hsi.IntelBootguard.Verified",
      "Flags" : [
        "success"
      ]
    },
    {
      "AppstreamId" : "org.fwupd.hsi.PlatformDebugLocked",
      "Created" : 1661703827,
      "HsiLevel" : 2,
      "HsiResult" : "locked",
      "Name" : "Platform Debugging",
      "Plugin" : "msr",
      "Uri" : "https://fwupd.github.io/libfwupdplugin/hsi.html#org.fwupd.hsi.PlatformDebugLocked",
      "Flags" : [
        "success"
      ],
      "Guid" : [
        "b9a2dd81-159e-5537-a7db-e7101d164d3f",
        "30249f37-d140-5d3e-9319-186b1bd5cac3",
        "a6bd4ca5-75a6-5796-b564-66b5cab1b11b",
        "d9dd5e77-df17-5bab-b5ec-22827598bfed"
      ]
    },
    {
      "AppstreamId" : "org.fwupd.hsi.Tpm.ReconstructionPcr0",
      "Created" : 1661703827,
      "HsiLevel" : 2,
      "HsiResult" : "valid",
      "Name" : "TPM PCR0 reconstruction",
      "Plugin" : "tpm",
      "Uri" : "https://fwupd.github.io/libfwupdplugin/hsi.html#org.fwupd.hsi.Tpm.ReconstructionPcr0",
      "Flags" : [
        "success"
      ],
      "Guid" : [
        "ff71992e-52f7-5eea-94ef-883e56e034c6",
        "34801700-3a50-5b05-820c-fe14580e4c2d",
        "00d06c7f-2244-5a35-aa98-5d60704b3f5d",
        "03f304f4-223e-54f4-b2c1-c3cf3b5817c6",
        "9c3106c7-42ca-5099-9363-96ef5c22cbf7"
      ]
    },
    {
      "AppstreamId" : "org.fwupd.hsi.IntelBootguard.Policy",
      "Created" : 1661703827,
      "HsiLevel" : 3,
      "HsiResult" : "valid",
      "Name" : "Intel BootGuard error policy",
      "Plugin" : "pci_mei",
      "Uri" : "https://fwupd.github.io/libfwupdplugin/hsi.html#org.fwupd.hsi.IntelBootguard.Policy",
      "Flags" : [
        "success"
      ]
    },
    {
      "AppstreamId" : "org.fwupd.hsi.PrebootDma",
      "Created" : 1661703827,
      "HsiLevel" : 3,
      "HsiResult" : "enabled",
      "Name" : "Pre-boot DMA protection",
      "Plugin" : "acpi_dmar",
      "Uri" : "https://fwupd.github.io/libfwupdplugin/hsi.html#org.fwupd.hsi.PrebootDma",
      "Flags" : [
        "success"
      ]
    },
    {
      "AppstreamId" : "org.fwupd.hsi.SuspendToIdle",
      "Created" : 1661703827,
      "HsiLevel" : 3,
      "HsiResult" : "enabled",
      "Name" : "Suspend-to-idle",
      "Plugin" : "acpi_facp",
      "Uri" : "https://fwupd.github.io/libfwupdplugin/hsi.html#org.fwupd.hsi.SuspendToIdle",
      "Flags" : [
        "success"
      ]
    },
    {
      "AppstreamId" : "org.fwupd.hsi.SuspendToRam",
      "Created" : 1661703827,
      "HsiLevel" : 3,
      "HsiResult" : "not-enabled",
      "Name" : "Suspend-to-ram",
      "Plugin" : "linux_sleep",
      "Uri" : "https://fwupd.github.io/libfwupdplugin/hsi.html#org.fwupd.hsi.SuspendToRam",
      "Flags" : [
        "success"
      ]
    },
    {
      "AppstreamId" : "org.fwupd.hsi.IntelCet.Enabled",
      "Created" : 1661703827,
      "HsiLevel" : 3,
      "HsiResult" : "not-supported",
      "Name" : "Intel CET Enabled",
      "Plugin" : "cpu",
      "Uri" : "https://fwupd.github.io/libfwupdplugin/hsi.html#org.fwupd.hsi.IntelCet.Enabled",
      "Guid" : [
        "b9a2dd81-159e-5537-a7db-e7101d164d3f",
        "30249f37-d140-5d3e-9319-186b1bd5cac3",
        "a6bd4ca5-75a6-5796-b564-66b5cab1b11b",
        "d9dd5e77-df17-5bab-b5ec-22827598bfed"
      ]
    },
    {
      "AppstreamId" : "org.fwupd.hsi.IntelSmap",
      "Created" : 1661703827,
      "HsiLevel" : 4,
      "HsiResult" : "enabled",
      "Name" : "Intel SMAP",
      "Plugin" : "cpu",
      "Uri" : "https://fwupd.github.io/libfwupdplugin/hsi.html#org.fwupd.hsi.IntelSmap",
      "Flags" : [
        "success"
      ],
      "Guid" : [
        "b9a2dd81-159e-5537-a7db-e7101d164d3f",
        "30249f37-d140-5d3e-9319-186b1bd5cac3",
        "a6bd4ca5-75a6-5796-b564-66b5cab1b11b",
        "d9dd5e77-df17-5bab-b5ec-22827598bfed"
      ]
    },
    {
      "AppstreamId" : "org.fwupd.hsi.EncryptedRam",
      "Created" : 1661703827,
      "HsiLevel" : 4,
      "HsiResult" : "not-supported",
      "Name" : "Encrypted RAM",
      "Plugin" : "cpu",
      "Uri" : "https://fwupd.github.io/libfwupdplugin/hsi.html#org.fwupd.hsi.EncryptedRam",
      "Guid" : [
        "b9a2dd81-159e-5537-a7db-e7101d164d3f",
        "30249f37-d140-5d3e-9319-186b1bd5cac3",
        "a6bd4ca5-75a6-5796-b564-66b5cab1b11b",
        "d9dd5e77-df17-5bab-b5ec-22827598bfed"
      ]
    }
  ]
}

@mhalano
Copy link
Author

mhalano commented Aug 28, 2022

From here
image
And here is the details about my processor (just the first core):

processor	: 0
vendor_id	: GenuineIntel
cpu family	: 6
model		: 141
model name	: 11th Gen Intel(R) Core(TM) i7-11800H @ 2.30GHz
stepping	: 1
microcode	: 0x40
cpu MHz		: 2031.374
cache size	: 24576 KB
physical id	: 0
siblings	: 16
core id		: 0
cpu cores	: 8
apicid		: 0
initial apicid	: 0
fpu		: yes
fpu_exception	: yes
cpuid level	: 27
wp		: yes
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf tsc_known_freq pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb cat_l2 invpcid_single cdp_l2 ssbd ibrs ibpb stibp ibrs_enhanced tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid rdt_a avx512f avx512dq rdseed adx smap avx512ifma clflushopt clwb intel_pt avx512cd sha_ni avx512bw avx512vl xsaveopt xsavec xgetbv1 xsaves split_lock_detect dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp hwp_pkg_req avx512vbmi umip pku ospke avx512_vbmi2 gfni vaes vpclmulqdq avx512_vnni avx512_bitalg avx512_vpopcntdq rdpid movdiri movdir64b fsrm avx512_vp2intersect md_clear ibt flush_l1d arch_capabilities
vmx flags	: vnmi preemption_timer posted_intr invvpid ept_x_only ept_ad ept_1gb flexpriority apicv tsc_offset vtpr mtf vapic ept vpid unrestricted_guest vapic_reg vid ple pml ept_mode_based_exec tsc_scaling
bugs		: spectre_v1 spectre_v2 spec_store_bypass swapgs eibrs_pbrsb
bogomips	: 4608.00
clflush size	: 64
cache_alignment	: 64
address sizes	: 39 bits physical, 48 bits virtual
power management:

I don't know if the flags are getting directly from CPU or is being filtered by the kernel.

@pinkflames
Copy link

pinkflames commented Aug 28, 2022

I'm seeing the same on a CPU that's definitely Intel CET capable. I have not tested any actual ROP gadget to verify it's working but my userspace is built with -fcf-protection=full (unless the particular package has it filtered out at distro level).

@hughsie
Copy link
Member

hughsie commented Aug 28, 2022

For the fwupd test to pass we need SHSTK and IBT; I don't see the former from your CPU output. For SHSTK we're checking CPUID 0x7 and then ecx >> 7 -- is that right? Running /usr/libexec/fwupd/fwupd-detect-cet and then checking the return code (e.g. echo $?) will tell you if CET is functionally working.

@pinkflames
Copy link

pinkflames commented Aug 28, 2022

The return code is 1 which I guess in this context means a good result rather than error code 1? I also see that grep ' ss ' /proc/cpuinfo does list shadow stack being supported on my system. Just like ibt is supported. However it still prints "✘ Intel CET Enabled: Not supported".

I now realized that the issue author also has ss reported as a CPU flag. Is this not the right flag?

@hughsie
Copy link
Member

hughsie commented Aug 28, 2022

I thought CET was cet_ss, not ss. If fwupd-detect-cet returns with 1 it means that CET is not actually working.

@pinkflames
Copy link

pinkflames commented Aug 28, 2022

I thought CET was cet_ss, not ss. If fwupd-detect-cet returns with 1 it means that CET is not actually working.

My googling efforts only found ss but, yeah, that flag has probably been around for far to long to be related to CET.

@mhalano
Copy link
Author

mhalano commented Aug 28, 2022

ss means "self snoop". The CPU flag is shstk. I'm wondering if there is a way to check if the flag exists from a place different from /proc/cpuinfo, like a memory or something. For some reason, I can't get Shadow Stack enabled on my machine, even the processor is supported. I was wondering if there is a filter since kernel doesn't seem to support Shadow Stack yet.

@hughsie
Copy link
Member

hughsie commented Aug 28, 2022

like a memory or something

fwupd doesn't read /proc/cpuinfo and just asks the CPU directly. I wonder if it's being turned off by the mainboard or even as an option in the system firmware settings? Maybe we need to ask Intel why shstk isn't being returned?

@mhalano
Copy link
Author

mhalano commented Aug 28, 2022

I used the cpuid command and got this:
image
So, I'm wondering if the verification method used to detect if CET is enabled was changed since the /usr/libexec/fwupd/fwupd-detect-cet helper was written.

@mhalano
Copy link
Author

mhalano commented Aug 28, 2022

That is the feature enumeration. I don't know how to check this using cpuid in raw mode. Any tips?
image

@hughsie
Copy link
Member

hughsie commented Aug 28, 2022

This is what we're doing:

guint32 ebx = 0;
guint32 ecx = 0;
if (!fu_cpuid(0x7, NULL, &ebx, &ecx, NULL, error))
	return FALSE;
if ((ebx >> 20) & 0x1)
	self->flags |= FU_CPU_DEVICE_FLAG_SMAP;
if ((ecx >> 7) & 0x1)
	self->flags |= FU_CPU_DEVICE_FLAG_SHSTK;
if ((ecx >> 13) & 0x1)
	self->flags |= FU_CPU_DEVICE_FLAG_TME;
if ((ecx >> 20) & 0x1)
	self->flags |= FU_CPU_DEVICE_FLAG_IBT;

fwupd-detect-cet is written to actually crash -- it was originally written by an Intel engineer. :/

@mhalano
Copy link
Author

mhalano commented Aug 28, 2022

@hughsie Do you have any clue why cpuid command returns true about Shadow Stack and the fwupd-detect-cet does not?

@hughsie
Copy link
Member

hughsie commented Aug 28, 2022

No, but I'd certainly appreciate some debugging 🙏

@mhalano
Copy link
Author

mhalano commented Aug 28, 2022

I just can't go further. I don't know about cpuid and C enough to troubleshoot this problem. Can we contact the original author or other Intel engineer?

@hughsie
Copy link
Member

hughsie commented Aug 29, 2022

I just can't go further

Does fwupd-detect-cet work correctly using gcc/clang -- i.e. the other one to what you're using now?

@hughsie
Copy link
Member

hughsie commented Aug 29, 2022

Also, can you provide: cpuid -i -1 -r and cpuid -i -1 please.

@pinkflames
Copy link

pinkflames commented Aug 29, 2022

Not sure why without digging into the build system but, when built with Clang 14.0.6, there is no /usr/libexec/fwupd/fwupd-detect-cet binary installed (and presumably neither built).

raw cpuid.txt

decoded cpuid.txt

@mhalano
Copy link
Author

mhalano commented Aug 29, 2022

I hope the raw output can be useful to find out if the CET feature is being detected correctly.

cpuid_raw.txt
cpuid_decoded.txt

@mhalano
Copy link
Author

mhalano commented Aug 29, 2022

I just can't go further

Does fwupd-detect-cet work correctly using gcc/clang -- i.e. the other one to what you're using now?

I built using gcc, but just to get symbols to try to execute using gdb (that's not work well as I expected). I'm using Ubuntu Kinetic with fwupd installed using apt.

@hughsie
Copy link
Member

hughsie commented Aug 29, 2022

@mhalano can you compile the wip/hughsie/cpuid-cet branch and then grab the output of sudo ./src/fwupdtool --verbose security --plugins cpu please.

@mhalano
Copy link
Author

mhalano commented Aug 29, 2022

plugin-cpu.txt
I got this after compile and install (without install it didn't find the plugin)

hughsie added a commit that referenced this issue Aug 29, 2022
According to Intel, EDX[bit 20] corresponds to IBT feature, *not* ECX.

Fixes half of #4960
@hughsie hughsie mentioned this issue Aug 29, 2022
4 tasks
@hughsie
Copy link
Member

hughsie commented Aug 29, 2022

Aha! We're checking ECX for the IBT check, and intel specified EDX. Can you try #4963 please?

@mhalano
Copy link
Author

mhalano commented Aug 29, 2022

This is the result of command sudo ./src/fwupdtool --verbose security --plugins cpu using the branch mentioned on #4963.
I specially worried about Shadow Stack part, because there is no CPU flag for me, even cpuid command says that is supported.
plugin-cpu-with-fix.txt

@hughsie
Copy link
Member

hughsie commented Aug 29, 2022

Did you ninja install?

@mhalano
Copy link
Author

mhalano commented Aug 29, 2022

I just did. I will reupload the log. My mistake.

@mhalano
Copy link
Author

mhalano commented Aug 29, 2022

image
Success!

hughsie added a commit that referenced this issue Aug 29, 2022
According to Intel, EDX[bit 20] corresponds to IBT feature, *not* ECX.

Fixes half of #4960
@mhalano
Copy link
Author

mhalano commented Aug 29, 2022

@hughsie I will wait the next release (that I think will include the fix) to close the ticket. That is ok for you?

@hughsie
Copy link
Member

hughsie commented Aug 29, 2022

Lets close now; I'm tagging a new release tomorrow morning.

@hughsie hughsie closed this as completed Aug 29, 2022
@mhalano
Copy link
Author

mhalano commented Aug 29, 2022

Just one final question: do we have any tests about the execution in an older processor, where Intel CET is naturally unavailable?

@mhalano
Copy link
Author

mhalano commented Aug 29, 2022

I used KVM to boot a Ubuntu 22.04.1 machine and configured to use an old processor (IvyBridge). I got what I was expecting.
image
image

@pinkflames
Copy link

pinkflames commented Aug 29, 2022

FWIW, the patch solved this for me, too.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Development

No branches or pull requests

3 participants