UEFI Secure Boot 우회
2016.04.25 19:48
메인보드 바이오스 메뉴에서 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 를 우회 하는 게 가능.
댓글 [13]
-
박삿갓 2016.04.25 20:32
-
DarknessAngel 2016.04.25 21:01
preview니 유포전에 제대로 확인 안 되었을지도 모르겠군요
-
박삿갓 2016.04.25 21:07
계속 나오는 프리뷰는 여짓것 이런적이 없었습니다.
이번에 딱 그럽니다.
설명 감사합니다.
-
DarknessAngel 2016.04.26 04:33
정식버전조차 wim정보에 preview라 적어둔거 안 지울정도로 10 뭔가 두서 없이 관리됩니다
-
DarknessAngel 2016.04.25 21:00
결국은 가장 기초적인 bootmgr.efi등의 1차 로더랑 winload.efi등의 커널 로더만 사인 체크한다는것뿐이므로 보안적으로 크게 향상은 안 됩니다 (다만 사용자가 인지 못하게 시스템을 변조하는것은 막을 수 있습니다 (최저한도로 커널 이상 레벨에서 시스템을 수정해야하므로 OS자체 무결성 검사나 autoruns등으로 인지는 가능합니다)
다만 그것뿐이므로 일반 사용자 레벨에서는 인지 못하게 시스템 변조하는건 얼마든지 가능합니다 (예를 들어 커널 드라이버 하나 적재하면 백신등을 다 무력화하거나, 우회할 수 있습니다)
-
kernel 2016.04.26 00:49
UEFI Secure Boot 가 Disable 되었을 경우, digital sign 되지 않은 bootx64.efi 같은 스타트업 모듈이 정상적으로 실행될 수 있고, 만약 bootx64.efi 모듈에 UEFI FV 해킹 코드를 넣게 된다면 아무리 하드디스크를 포맷하고 OS를 다시 설치한다해도 FV에 있는 해킹 코드가 계속해서 남아서 실행되게 되죠. 아무리 하드디스크를 포맷하고 OS를 클린 설치해도 무용지물.
UEFI 펌웨어 구조에는 Firmware Volume Protocol 레이어라는 게 있는데, 쉽게 말하면 플래쉬 메모리에 메모리 맵 되어있는 일종의 펌웨어 파일시스템 구조임.
-
DarknessAngel 2016.04.26 04:36
과거 부트로더나 bios쪽 변조할때 그걸 방지하기 위해서 나온게 저거긴한데, 사인받을려면 비용이 많이 드는 시점에서 좀 문제가 있는듯합니다 (물른 아무나 다 사인할 수 있어도 곤란하긴하지만, 너무 심하게 제약되어져있습니다)
또한 위에 적었듯이 결론적으로는 EFI쓰던 안 쓰던 시스템 변조 안 줄어듭니다 (애초에 구형 bios + 부트로더의 한정된 용량에 무언가를 심는다는것자체가 매우 어려운 작업이라 변조 시도하는일 자체가 거의 없었는데, EFI 넘어오면서 해당 부분 제약이 줄어서 생긴 안전장치에 불과합니다)
-
박삿갓 2016.04.25 21:10
이런 질문을 드려도 될까요.
위에 적은 보드에 32bit UEFI 부팅이 가능하도록 바이오스 개조가 가능 할까요?
이젠 바이오스 모드는 사용을 안했으면 합니다.
32, 64bit UEFI부팅이되면 참 편할것 같습니다.
-
kernel 2016.04.26 00:34
32비트 UEFI 부팅이 안되는 이유가, 메인보드의 UEFI 펌웨어에 문제가 있어서 인지 아닌지는, UEFI 모듈을 프로그래밍 해서 만들어서 32비트 프로텍티드모드와 64비트 롱모드간에 모듈간 썽크가 동작되는지 확인해 보면 쉽게 알 수 있습니다만.
32비트 OS를 NTFS 형태로 설치하는 과정에서 안된다는 건지, 아니면 NTFS 파일시스템 형식으로 USB 디스크 만들어서(rufus 같은 툴 이용) OS가 정상적으로 하드디스크에 설치는 됐는데, 하드디스크에 설치된 32비트 OS가 UEFI 부팅이 안된다는 건지 모호하네요.
-
박삿갓 2016.04.26 01:02
설명이 좀 부실햇습니다.
현재 파티션에(ntfs) 직접 설치는 안하고 x64는 vhd(ntfs) wimboot 로 설치를 해서 사용 중입니다.
32bit는 vhd(ntfs) wimboot 부팅을 시도했는데 실패했습니다.
위의 vhd는 winntsetup으로 wimboot 옵션으로 설치를 합니다.
이때 vhd 포맷이 ntfs 로 하는게 맞는지 아니면 gpt 로 하는게 맞는지도 궁금합니다.
이게 해결되면 멀티부팅 환경이 상당히 편할게 될 것 같습니다.
감사합니다.
-
그린cnc 2016.04.26 01:53
부트 엔트리가 쫑나던가 설정에 문제가 있는거 같네요 -
DarknessAngel 2016.04.26 04:38
통상적으로 기본으로 EFI탑재된 보드일지라도 x86 OS를 EFI로 부트할 수 있는 모듈자체가 안 들어있는경우가 대부분입니다
즉 bios x86/x64 + efi x64만 기본 부트 지원하고, 모듈이라도 집어넣지 않는한 efi x86은 부트 불가능합니다
-
박삿갓 2016.04.26 09:06
네, 그런것 같아서 개조가 가능한지 문의를 드린것입니다.
번호 | 제목 | 글쓴이 | 조회 | 등록일 |
---|---|---|---|---|
[공지] | 자유 게시판 이용간 유의사항 (정치, 종교, 시사 게시물 자제) [1] | gooddew | - | - |
27667 | 코타나는 언제 한국어가 될까요?? [7] | ANT-MAN | 811 | 04-27 |
27666 | 윈도10 RS1 [레드스톤1] 14332 업데이트 중입니다 [5] | suk | 1380 | 04-27 |
27665 | 전세금 이자? [5] | 상승 | 1099 | 04-27 |
27664 | 바보. |
|
892 | 04-27 |
27663 | Windows 10 Insider Preview Build 14332 새로 나왔네요 [2] | ANT-MAN | 1097 | 04-27 |
27662 | 그냥 노래... [1] |
|
701 | 04-27 |
27661 | PE받다가 [3] | DarknessAn | 1319 | 04-27 |
27660 | 윈도우 7 리테일 키 하나 날렸습니다. [2] | 타임머신 | 1675 | 04-26 |
27659 | 유튜브 음원 추출 사이트-펌 [3] | 대하리 | 1964 | 04-26 |
27658 | 트로트가 이렇게 감칠맛이 있군요. [10] | 클레멘타인 | 1353 | 04-26 |
27657 | 사진수정 부탁합니다 [7] |
|
1258 | 04-26 |
27656 | pe도 좋고, snapshot 정말 좋다 [4] |
|
1579 | 04-25 |
27655 | 올해는 건강을 우선적으로 챙겨야 겠습니다. [8] | 오늘을사는 | 747 | 04-25 |
» | UEFI Secure Boot 우회 [13] | kernel | 1432 | 04-25 |
27653 | 뱅킹후 [7] | 虎視 | 1113 | 04-25 |
27652 | 강남순환고속도로 민자구간 7월 개통 | asklee | 858 | 04-25 |
27651 | DDR4 8G 램가격? [5] | k호놀누누 | 2451 | 04-25 |
27650 | 메이커 PC 추천 좀 요~~ [9] |
|
1288 | 04-25 |
27649 | 출근하고 보니..... [3] | 얼음심장 | 1196 | 04-24 |
27648 | 사진을 무단 사용했군요 [14] | gooddew | 2561 | 04-24 |
오늘 황당한 경험을 했습니다.
제보드가 스카이레이크 지원하는 ASUS Z170I-PRO GAMING 입니다.
지금 M.2 SM851 ssd에 설치해서 ntfs UEFI 멀티 부팅을 사용합니다.
이번에 나온 windows 10 RS1 14328 Eet 버전을 부팅하니 부팅에러가 나드군요.
디지털서명...어쩌고, 드라이브도 디지털서명 어쩌고 하면서요...
몇번을 새로 만들어도 같은 정상이고 10 TH2 버전은 부팅이 되고...
그래서 바이오스에서 Other OS 으로 바꾸니 부팅이 잘됩니다.
이같은 경우도 디지털서명이 안되어서 그런 걸까요?