상세 컨텐츠

본문 제목

구글, 애플 macOS 커널에 존재하는 심각도 높은 결점 공개

국내외 보안동향

by 알약(Alyac) 2019. 3. 6. 14:38

본문

Google Discloses Unpatched 'High-Severity' Flaw in Apple macOS Kernel


구글 프로젝트 Zero의 사이버 보안 연구원들이 macOS에 존재하는 심각도 높은 보안 취약점의 세부 정보와 PoC 익스플로잇을 공개했습니다. 애플이 버그를 제보받은 지 90일 내 패치를 공개하지 않았기 때문입니다.


<이미지 출처: https://thehackernews.com/2019/03/cybersecurity-macos-hacking.html>


이 취약점은 macOS XNU 커널에 존재하며, 공격자가 운영체제에 몰래 파일 시스템 이미지를 조작할 수 있도록 허용합니다.


이로써 공격자나 악성 프로그램이 COW(copy-on-write) 기능을 우회하여 프로세스 간에 공유 되는 메모리에 예기치 않은 변경을 일으켜 메모리 손상(memory corruption) 공격을 가능하게 합니다.


COW(Copy-On-Write)는 컴퓨터 프로그래밍에서 사용되는 리소스 관리 최적화 방법입니다. 


일반적으로, 목적지 프로세스(destination)는 출발지 프로세스(source)가 생성한 메모리 내 파일이나 데이터를 요청할 경우 복사본을 만들지 않고도 두 프로세스 모두 동일한 리소스를 공유할 수 있게 됩니다. 이로써 수정되지 않은 복사본의 리소스 비용을 크게 감소시킵니다.


하지만, 출발지(source) 프로세스가 데이터를 변경해야 할 경우 COW 기능이 작동하여 메모리에 복사본을 생성해 목적지(destination) 프로세스가 여전히 해당 데이터에 접근할 수 있도록 합니다.


Project Zero 연구원에 따르면, 이 COW 기능은 애플의 macOS에서 익명 메모리에서 동작할 뿐만 아니라 페이지 테이블과 메모리 매핑을 효율적으로 처리합니다.


이는 목적지(destination) 프로세스가 전송된 메모리 영역에서 읽기를 시작한 후, 메모리 압력(memory pressure)로 인해 전송된 메모리를 쥐고 있는 페이지가 페이지 캐시로부터 제거될 수 있음을 의미합니다.


이후 제거된 페이지가 필요할 경우, 백업 파일 시스템에서 다시 로드될 수 있습니다.


구글 연구원은 마운트된 파일 시스템 이미지가 직접적으로 변형될 경우(파일 시스템 이미지에서 pwrite()를 호출하는 등), 이 정보가 마운트된 파일 시스템으로 전달되지 않음을 발견했습니다.


따라서 악성 프로그램이나 공격자는 가상 관리 서브시스템에 알리지 않고도 디스크에 저장된 제거된 페이지를 변경해 목적지(destination) 프로세스가 조작된 악성 컨텐츠를 메모리에 로드하도록 속일 수 있습니다.


복사된 메모리는 이후 출발지(source) 프로세스가 수정할 수 없도록 보호되는 것이 중요합니다. 그렇지 않으면, 출발지(source) 프로세스가 목적지(destination) 프로세스의 이중 읽기(double-read)를 악용할 수 있습니다.


이 취약점 이외에도 Project Zero의 연구원들은 유사한 COW 우회 취약점인 (CVE-2019-6208)을 발견했습니다. 이는 또 다른 macOS의 기능을 악용합니다.


해당 연구원들은 이 취약점 두 개를 2019년 11월 애플에 제보했습니다. 애플은 두 번째 취약점을 2019년 1월 패치 했지만, 첫 번째 취약점은 Project Zero가 제시한 90일의 기한이 지난 후에도 패치 되지 못했습니다.


따라서 연구원들은 심각도가 높은 이 취약점을 대중에 공개하며, 버그 재현을 위한 PoC 코드 또한 공개했습니다. 이 버그는 현재까지도 패치 되지 않은 상태입니다.




출처:

https://thehackernews.com/2019/03/cybersecurity-macos-hacking.html

https://bugs.chromium.org/p/project-zero/issues/detail?id=1726&q=

관련글 더보기

댓글 영역