자유 게시판

UEFI Secure Boot 우회

2016.04.25 19:48

kernel 조회:1433

메인보드 바이오스 메뉴에서 UEFI Secure Boot 를 Enable 해 놓고 사용하면 부트 프로세싱 과정에서의 Root Kit 에 의한 공격을 통한 OS 변형을 막을 수 있는 장점이 있다.


또한, UEFI Secure Boot가 가능하려면 OS에서 제공되는 EFI 모듈들도 디지틀 싸인되어 있어야 한다.

Windows 7 은 UEFI를 지원하지만 OS에서 제공되는 EFI 모듈들이 UEFI Secure Boot를 위한 키가 싸인되어있지 않기 때문에 바이오스 메뉴에서

UEFI Secure Boot를 Disable 해 놓고 사용해야 한다. (UEFI Secure Boot가 가능하도록 디지틀 싸인되어있는 OS는 Windows 8 이상 부터다)


메인보드 마다 메뉴 형태는 다르다. 단순하게 Disable Secure Boot 형태가 될 수도 있고 Other OS 형태가 될 수도 있다.


그러나 UEFI 펌웨어 구조를 알고 있으면 메인보드에서 Secure Boot를 Enable 해 놓아도, Windows 7 UEFI Secure 부팅이 가능하로록 할 수가 있다.


UEFI 펌웨어는 Secure Boot에 관련된 정보를 SPI 플래쉬 칩에 저장해 놓고 있는데, 패턴매칭 코드를 만들어서 이 부분의 데이타를 파싱해서 변경해주면 된다.


SPI Flash Chip에 GUID {EC87D643-EBA4-4BB5-A1E53F3E36B20DA9} 로 매핑되어 있는 부분이 Secure Boot Policy 정보를 갖고있다.

이 부분의 Policy 값 '00 04 04'를 '04 00 00' 으로 바꿔주면 UEFI Secure Boot 를 우회 하는 게 가능.

 



XE1.11.6 Layout1.4.8