정보 · 테크
[소식] 수억 명의 Dell 유저들이 커널 취약점에 노출되다

개요

SentinelLabs가 Dell 제품에 들어가는 펌웨어 업데이트를 위한 커널 드라이버에서 5개의 심각한 취약점을 찾았다고 합니다. 이 취약점들을 이용하면 로컬 유저에서 커널 권한을 얻을 수 있는 로컬 권한 상승(Local Privilege Escalation, LPE) 공격이 가능하며, 2009년 이래로 Dell이 Windows 기반으로 만든 데스크톱, 노트북, 테블릿 등 수억 개의 기기에 영향을 미친다고 합니다. SentinelLabs는 2020년 12월 1일에 이 취약점들을 Dell에 제보했으며, Dell은 이 취약점들을 하나로 묶어 CVE-2021-21551를 부여, 현재는 취약점들이 모두 패치되었다고 합니다.

취약점 정보

취약점들은 Dell 제품에 들어가는 펌웨어 업데이트 드라이버인 dbutil_2_3.sys 에서 발생합니다. 이 커널 드라이버는 Dell Bios Utility를 통해서 Dell 펌웨어 업데이트를 진행하며, 대부분의 윈도우즈 기반의 Dell 기기들에 기본으로 설치되어 있습니다. 따라서, 대부분의 Dell 기기들에서 이 취약점이 발생한다고 합니다. 다음은 5개의 취약점들에 대한 정보입니다.

  1. 메모리 변조로 인한 로컬 권한 상승
  2. 메모리 변조로 인한 로컬 권한 상승
  3. 입력 값에 대한 확인 부족으로 인한 로컬 권한 상승
  4. 입력 값에 대한 확인 부족으로 인한 로컬 권한 상승
  5. 잘못된 로직으로 인한 서비스 거부 취약점

SentinelLabs는 위 취약점들 중 일부에 대해서만 내용을 공개하고 있습니다.

첫 번째 취약점은 dbutil_2_3.sys에서 0x9B0C1EC8번호의 IOCTL (Input/Output Control) 요청을 처리하는 과정에서 발생합니다. 해당 드라이버는 ACL (Access Control List)이 설정되어 있지 않아서 일반 유저권한으로 접근할 수 있기 때문에, 이 취약점은 로컬 권한 상승 공격으로 이어질 수 있습니다. IOCTL의 인자로 넘겨준 값들이 아무런 확인 없이 memmove의 인자로 전달되어 커널 주소를 포함한 임의의 주소를 읽거나 쓰는 것이 가능한 강력한 취약점입니다. 취약점이 발생하는 코드는 다음과 같습니다.
graph-view.jpg
(출처: https://labs.sentinelone.com/wp-content/uploads/2021/05/graph-view.jpg)

이 취약점을 이용해서 현재 프로세스의 권한을 나타내는 프로세스 토큰 값을 바꾸어 원하는 권한으로 상승할 수 있습니다. (프로세스 토큰은 커널이 관리하며 커널 메모리 영역에 존재합니다.) 공격 데모 영상은 https://assets.sentinelone.com/labs/Dell?lb-mode=overlay 에서 확인할 수 있습니다.

세 번째, 네 번째 취약점들은 해당 드라이버에서 커널 모드로 I/O instruction을 임의의 인자로 실행할 수 있기 때문에 발생합니다. 커널 모드로 임의의 I/O instruction을 실행할 수 있다는 것은 HDD, SSD 등 저장 장치 뿐만 아니라 GPU 등 다른 기기들에 직접적으로 접근을 할 수 있다는 것을 의미합니다. 즉, 저장 장치에 직접 쓰기가 가능하여 원하는 파일을 수정할 수 있다는 것 입니다. 이를 이용하여 높은 권한으로 실행되는 프로그램을 수정, 로컬 권한 상승을 할 수 있다고 합니다.

결론

매년 커널과 관련된 심각한 취약점들이 다수 발견되고 있습니다. 이에 빠르게 대응하기 위해서는 유저들은 윈도우즈 업데이트 등을 통해서 커널을 최신버전으로 유지하는 것이 매우 중요합니다. 저희 티오리에서는 취약점과 관련된 자세한 내용을 공유하기 위해서 커널 및 브라우저 등과 같은 상용 소프트웨어에서 발생했던 1-day 취약점들을 상세히 분석하는 서비스인 Ferimium-252를 제공하고 있습니다. 이를 통해서 어떤 원인으로 인해서 취약점들이 발생했는지 공유, 우리가 사용하는 소프트웨어를 좀 더 안전하게 만들 수 있도록 노력하겠습니다.

출처

#제로데이 #dell #권한_상승 #윈도우즈 #커널_취약점
작성자 정보