태터데스크 관리자

도움말
닫기
적용하기   첫페이지 만들기

태터데스크 메시지

저장하였습니다.

Windows Vista x64 에디션에서 드라이버 개발을 하다 보면 불편한 것이 한둘이 아닙니다.

중의 하나가 바로 테스트용 드라이버를 로드하려면 반드시 드라이버 시그너쳐 확인 옵션을 부팅시에 죽여 줘야 한다는 것입니다.

사실 이전 버전의 윈도우즈에서 개발된 제품들 중에서 드라이버 싸인닝 이슈로 인해서 실행 되지 않는 경우가 많습니다.

Windows Vista x64 에디션에서는 드라이버를 로딩하기 위해서 디지탈 싸인이 꼭 필요합니다.

한때 3rd 파티 드라이버 중의 하나인 Atsiv를 사용하여 드라이버를 로딩할 수 있었던 적이 있습니다. 싸인이 안 된 어떤 드라이버들이라도 로드할 수 있었습니다. Kernel Mode Code Signing (KMCS) 정책에 위배하는 행위를 허용해 주는 일종의 백도어인 셈입니다. 이렇게 로딩된 드라이버는 enumDeviceDrivers() API로부터도 검출이 안됩니다.

Kernel Mode Code Signing (KMCS) 는 코드를 누가 짰는지, 드라이버를 누가 제공하는지를 알려 주는 방법입니다.

이크로소프트에서는 이 드라이버에 대해서 다음과 같은 조치를 취했습니다.

2007년 8월 2일 Windows Defender의 시그너쳐에 추가됨

2007년 8월 2일 VeriSign에 의해서 증서 취소

마이크로소프트 안팀에서 조사 실시


이크로소프트에서는 이러한 대응이 가능한 것이 KMCS의 효과라고 주장합니다. 즉, KMCS로 Atsiv의 제작자를 바로 파악할 수 있었고, 자사 제품에서 해당 드라이버를 블랙리스팅할 수 있었으니까요.

지만 아무리 OS 제작사에서 이렇게 보안 장치를 구현해 놓아도 안일한 3rd 파티 개발자들이 백도어를 생산하는 이상 비슷한 취약점들은 앞으로 계속 나오지 않을까 생각합니다.

태터데스크 관리자

도움말
닫기
적용하기   첫페이지 만들기

태터데스크 메시지

저장하였습니다.

'엔지니어링' 카테고리의 다른 글

Volume Shadow Copy란 무엇인가  (0) 2008/03/17
비스타(Windows Vista)의 레지스트리 가상화  (0) 2008/03/17
Windows Vista x64 에디션의 드라이버 싸이닝 문제  (0) 2008/03/17
IRP_MJ_CLEANUP과 IRP_MJ_CLOSE의 차이점  (0) 2008/03/12
Windows Vista SP1의 Object Manager Filtering으로 할 수 있는 일  (0) 2007/10/31
Windows Vista SP1의 Object Manager Filtering  (0) 2007/10/30
Posted by 오정욱