웬디의 기묘한 이야기

글 작성자: WENDYS
반응형

64bit windows driver sign

안타깝지만 64비트 윈도우의 경우 드라이버에 정식 서명이 되어있지 않으면 시스템에 Load할 수 없습니다.


MSDN에 보면 다음과 같이 나와있습니다.
서명된 장치 드라이버는 Windows의 주요 보안 기능입니다. x64 기반 컴퓨터에 설치된 드라이버에는 디지털 서명이 있어야 합니다. 디지털 서명이 필요하지 않더라도 x86 기반 컴퓨터에 드라이버를 설치하기 전에 드라이버가 서명되어 있는지 확인하는 것이 좋습니다.
부팅에 필요한 모든 드라이버에는 포함된 서명이 있어야 합니다. PnP(플러그 앤 플레이) 드라이버에는 디지털 서명이 필요하지 않습니다. 그러나 실행 중인 운영 체제에 서명되지 않은 PnP 드라이버가 설치되어 있을 경우에는 관리자 자격 증명이 필요하며 64비트 운영 체제에는 이러한 드라이버를 설치할 수 없습니다.
x86 기반에서는 상관이 없습니다!

다르게 말하면 x86에선 악성코드를 만들기도 더 쉽다는 얘기가 되고, 더욱 취약하다는 이야기가 됩니다.

x64에선 패치가드라는게 존재해서 Kernel에서 SSDT후킹등이 불가능하여 제약이 많습니다. 하지만 이 또한 x86에선 가능합니다.


본론으로 가서 저희는 정식 배포를 위해 x64 테스트가 필요하지만 아직 개발중이거나 공식 인증서가 없는곳도 있을겁니다.
그렇기에 MS에서 제공되는 인증서 없이 Driver Load 방법을 소개하겠습니다.

윈도우 8.1 기준 화면 이며, 윈도우 10의 설정은 시작->설정 에 있습니다.










시작 설정

부팅시 나오는 시작 설정 화면입니다.

윈도우 8.1부터는 F8을 눌러도 안전모드에 들어갈 수 없어졌기때문에 해당 방법으로 해야하는 불편함이 있습니다.

1) 디버깅 사용

2) 부팅 로깅 사용

3) 저해상도 비디오 사용

4) 안전모드 사용

5) 안전모드 (네트워킹 사용) 사용

6) 안전모드 (명령 프롬프트 사용) 사용

7) 드라이버 서명 적용 사용 안 함

8) 맬웨어 방지 보호 조기 실행 사용 안 함

9) 오류 발생 후 자동 다시 시작 사용 안 함


이중 저희가 원하는 기능은 7번 입니다.

숫자 7 키를 누르시거나 F7 을 누르시면 해당 모드로 부팅되며,

해당 방법은 부팅시 매번 해주어야 합니다.


vmware 등 테스트 PC의 경우엔 TEST MODE로 동작하는 방법이 별도로 존재하며,

로컬 PC의 경우엔 해당 방법으로 필요할때만 부팅하시는 방법을 권장해드리겠습니다.


매번 위의 방법으로 부팅해야 드라이버가 로드 되는 불편함이 있겠지만, TEST와 사용을 병행하는 PC의 경우엔 이 방법이 조금 더 안전하겠네요




반응형