EFI_SECURITY_VIOLATION là gì?

Quicknote EFI_SECURITY_VIOLATION là gì?

2 phút đọc
Đọc bằng Tiếng Việt English 日本語
Debug / Shell / Driver Terms cover

EFI_SECURITY_VIOLATION báo rằng operation bị chặn bởi security policy. Đây không phải lỗi “không tìm thấy” hay “input sai”, mà là firmware đã nhìn thấy request nhưng quyết định không cho phép.

Status này thường liên quan tới Secure Boot, authenticated variable, image verification, flash protection, SMM policy hoặc trạng thái lock sau EndOfDxe/SmmReadyToLock.

Ví dụ: LoadImage bị Secure Boot chặn

Boot0001: HD(...)/File(\EFI\BOOT\BOOTX64.EFI)
LoadImage(Boot0001) = EFI_SECURITY_VIOLATION

Ở đây device path có thể đúng, file có thể tồn tại, nhưng image không qua được signature verification.

Mục Giá trị Ghi chú
Secure Boot Image không được trust db/dbx/KEK/PK hoặc signature chain có vấn đề.
Authenticated Variable Update variable bị từ chối Thiếu auth descriptor, timestamp sai hoặc key không hợp lệ.
SMM Lock Policy đã khóa Sau SmmReadyToLock, một số thay đổi không còn được phép.
Flash Protection SPI write bị chặn BIOS_CNTL, descriptor hoặc vendor policy.

Debug Diary: không phải cứ security violation là Secure Boot

Một nhầm lẫn thường gặp là thấy EFI_SECURITY_VIOLATION thì chỉ nhìn Secure Boot. Nhưng nếu lỗi xảy ra khi SetVariable() trong Runtime, nguyên nhân có thể là authenticated variable hoặc SMM variable policy. Nếu lỗi xảy ra khi ghi flash, có thể là SPI protection.

01 IMAGE

LoadImage/StartImage

Nghi Secure Boot hoặc image verification.

02 VAR

SetVariable

Nghi authenticated variable, variable policy hoặc SMM variable driver.

03 FLASH

SPI write

Nghi flash descriptor, BIOS lock hoặc SMM protection.

04 TIME

After lock

Nghi thời điểm gọi sau EndOfDxe/SmmReadyToLock.

Đọc EFI_SECURITY_VIOLATION theo vị trí lỗi.

Firmware Engineer Notes

Security trong firmware thường là câu chuyện về thời điểm. Cùng một operation có thể hợp lệ trước lock nhưng bị chặn sau lock. Vì vậy khi debug, hãy log phase/timing: trước hay sau EndOfDxe, trước hay sau ReadyToBoot, trước hay sau SmmReadyToLock.

Checklist khi gặp EFI_SECURITY_VIOLATION

Bài liên quan

Nguồn tham khảo public

Thấy nội dung này hữu ích?

Lưu lại hoặc chia sẻ cho người cũng đang học firmware, BIOS/UEFI và embedded systems.

Biến note thành bài viết hoàn chỉnh

Notes là nơi ghi nhanh khái niệm.