이 툴을 공격자가 장악하면? 각종 악성 행위 쉽고 안전하게 해결 가능
[보안뉴스 문가용 기자] 보안 업체 에클립시움(Eclypsium)의 전문가들이 광범위하게 분포되어 있는 윈도우 드라이버에서 새로운 취약점들을 발견했다. 이를 익스플로잇 할 경우 윈도우 시스템을 완전히 장악하는 게 가능하다고 한다. 시스템 내에 포함되어 있는 펌웨어에까지 영향을 주며, 특히 인텔(Intel)의 장비들이 많은 영향을 받고 있는 상태라고 한다.

[이미지 = iclickart]
에클립시움은 지난 8월 광범위하게 사용되는 윈도우 드라이버의 간단한 설계 오류를 남용함으로써 윈도우 커널이나 장비 펌웨어를 조작할 수 있는 방법에 대해 발표한 바 있다. 그러는 과정 중에 장비의 가장 깊숙한 부분에까지 도달해 머무를 수 있는 방법도 발견됐다. 따라서 권한은 높아지고 각종 방어 장치는 피해갈 수 있게 되는 것이다.
“펌웨어 업데이트를 원활하게 하기 위해 시스템 바이오스나 시스템 요소들에 접근할 수 있게 해주는 드라이버들이 존재합니다. 이 드라이버들을 활용했을 때 시스템 진단 등도 할 수 있게 되죠. 공격자들이 이 드라이버들을 자신의 것으로 만들게 되면, 강력한 무기를 손에 얻게 됩니다. 피해자의 눈에는 보이지 않으면서 각종 행동을 할 수 있게 해주는 마법과 같은 무기 말입니다.”
장비의 사용자 공간(user space)에 침투한 공격자는 취약한 드라이버를 자신의 뜻대로 조정함으로써 데이터를 읽거나, 커널 공간(kernel space)에 기록할 수 있게 된다. 심지어 커널보다 더 낮은 단계의 펌웨어 요소들에도 접근하는 게 가능하다고 한다. “윈도우의 무결성을 훼손시킬 수 있게 되고, 사용자에서 커널로 권한을 상승시킬 수도 있게 됩니다. 펌웨어를 악의적으로 훼손시키는 것도 가능합니다.” 에클립시움 측의 설명이다.
드라이버를 악용한 공격의 가장 큰 장점은 “드라이버들이란 것이, 제조사들이 장비 업그레이드와 관리를 편하게 하라고 마련한 극히 정상적인 도구라는 것”이다. 따라서 거의 모든 장비들이 드라이버들을 신뢰한다. 신뢰가 높다는 건 권한과 관련이 깊은 문제다. 보통 신뢰를 받는 요소들은 높은 권한을 보유하고 있는 것이 보통이다.
여기까지가 지난 8월 에클립시움이 발표한 내용이다. 당시 많은 취약점들이 공개됐는데, 픽스나 보안 권고문이 준비되지 않았던 인텔의 경우는 예외였다. 에클립시움은 인텔의 윈도우용 프로세서 식별 유틸리티 권고문(Intel Processor Identification Utility for Windows Advisory)인 INTEL-SA-00281과 인텔 컴퓨팅 향상 프로그램 권고문(Intel Computing Improvement Program Advisory)인 INTEL-SA-00283이 준비된 이번 주까지 상세 공개를 미뤘던 것이다.
여기에 더해 인텔 PMx 드라이버 혹은 PMxDrv라고 불리는 요소의 문제점도 당시 공개되지 않았다. 이 취약점의 경우 굉장히 복잡한 성격을 가지고 있어 쉽게 해결책을 찾을 수 없었기 때문이다. 이는 PMxDrv에 다양한 기능이 탑재되어 있기 때문이다.
1) 물리 메모리 공간에서 읽기와 쓰기
2) 특정 레지스터를 모델링 하기 위한 읽기와 쓰기
3) 레지스터를 제어하기 위한 읽기와 쓰기
4) 인터럽트 디스크립터 테이블(interrupt descriptor table)에서의 읽기와 쓰기
5) 글로벌 디스크립터 테이블(global descriptor table)에서의 읽기와 쓰기
6) 레지스터 디버깅을 위한 읽기와 쓰기
7) I/O 접근 권한 획득
8) PCI 접근 권한 획득
이렇게나 기능이 다양하기 때문에 에클립시움 측은 이 드라이버에 ‘스위스 군용 칼(혹은 맥가이버 칼)’이라는 별명을 붙이기도 했다. “이 드라이버만 자기 것으로 만들면 공격자는 피해자의 시스템 내에서는 사실상 전지전능한 존재가 됩니다. 그런데 이 드라이버는 1999년부터 인텔에서 만든 여러 도구들에 탑재가 되어 있습니다. 광범위하게 퍼져 있다는 것입니다.”
에클립시움은 인텔의 PSIRT 팀과 공동으로 이 문제에 대한 해결책을 찾기 위해 고심해왔다. 그리고 이번 주 업데이트 된 드라이버를 발표하는 데 성공했다. 그런 상태에서 최근에 한 번 더 윈도우 드라이버와 얽힌 문제들에 대해 발표한 것이다.
“저희가 분석했던 대부분의 드라이버들은 권한이 낮은 사용자가 익스플로잇 함으로써 장비 내 펌웨어와 커널을 공격할 수 있게 해줍니다. 일부 드라이버들에서는 사용자가 관리자 권한을 가지고 있어야만 특정 행동을 할 수 있도록 하는 제한 옵션이 발견되기도 했습니다.” 에클립시움의 설명이다.
“마이크로소프트의 설명에 의하면 사용자 공간에서 실행되는 프로세스들 중 관리자 권한을 가지고 있는 것들은 윈도우 커널과 동급으로 취급됩니다. 즉 두 공간 사이에 ‘보안 경계선’이 존재하지 않는다는 것이죠.” 에클립시움의 연구원들은 바로 이 지점에서 문제를 찾아냈다. “관리자로서 장비를 통제할 수 있지만, 보안 관련해서는 관리자도 뭘 어떻게 할 수 없는 영역이 존재한다는 뜻이니까요.”
이렇게 윈도우 드라이버를 공격자의 마법봉과 같은 무기로 둔갑시키는 취약점이 발견되자 다른 기업들도 관리자 계정 혹은 관리자 권한 보호를 위한 조치를 취하기 시작했다. 애플은 맥OS 요소들을 보호하기 위해 시스템 무결성 보호(System Integrity Protection)를 구축했고, 리눅스 개발사들은 커널 록다운(Kernel Lockdown)이란 걸 마련했다. 커널 록다운은 여러 리눅스 버전으로 퍼져가고 있는 중이다.
아직까지 윈도우 환경에서 악성 드라이버들이 로딩되는 것을 효과적으로 막을 방법은 발견되지 않고 있다. 에클립시움에 따르면 MS가 현재 이 문제를 해결하기 위해 여러 가지 방안을 마련 중에 있다고 하며, 특히 HVCI 기술을 활용하는 방법을 검토하고 있다고 한다. HVCI 기술을 활용할 경우 마이크로소프트가 커널 보호를 위한 가상의 방화벽 역할을 할 수 있게 된다. 지금은 관리자들이 현재까지 알려진 악성 드라이버들을 알아내 하나하나 블랙리스트 처리하는 게 최선이다.
3줄 요약
1. 여러 유명 윈도우 드라이버들에서 치명적일 수 있는 오류들 발견됨.
2. 드라이버들을 공격자가 장악하면, 시스템 내에서 온갖 활동할 수 있게 됨.
3. 아직까지는 하나하나 악성 드라이버 찾아내 블랙리스트 처리하는 게 최선.
[국제부 문가용 기자(globoan@boannews.com)]
<저작권자: 보안뉴스(www.boannews.com) 무단전재-재배포금지>