EFI_SECURITY_VIOLATION là gì?
Quicknote EFI_SECURITY_VIOLATION là gì?
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.
LoadImage/StartImage
Nghi Secure Boot hoặc image verification.
SetVariable
Nghi authenticated variable, variable policy hoặc SMM variable driver.
SPI write
Nghi flash descriptor, BIOS lock hoặc SMM protection.
After lock
Nghi thời điểm gọi sau EndOfDxe/SmmReadyToLock.
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.