2024-03-28 21:25 (목)
구글 프로젝트 제로, 맥OS 커널 제로데이 취약점 공개
상태바
구글 프로젝트 제로, 맥OS 커널 제로데이 취약점 공개
  • hsk 기자
  • 승인 2019.03.06 14:58
이 기사를 공유합니다

Copy-on-write 기능 우회할 수 있으며 잠재적으로 메모리 손상 공격 피해 우려

macbook-pro-2381729_640.jpg
구글 프로젝트 제로의 화이트 해커인 Jann Horn이 애플의 90일 공개 정책에 따라 제로데이를 공개했다. 애플이 90일간 해당이슈를 해결하지 못했기 때문이다.

이 제로데이 취약점은 이언비어(Ian Beer)가 시연했고, macOS XNU 커널을 통해 공격자는운영체제에 알리지 않고도 파일 시스템 이미지를 조작할 수 있었다. 해당 결함으로 공격자 또는 악성 애플리케이션은 프로세스 간 공유되는 메모리에서 예기치 못한 결함을 발생시키기 위해 Copy-on-write 기능을 우회할 수 있으며, 잠재적으로 메모리 손상 공격이 발생할 수 있다.

위키피디아가 제공한 설명에 따르면 Copy-on-write는 암묵적 공유 또는 섀도잉이라고도 불리는, 수정 가능한 리소스에 중복 또는 복제 작업을 효율적으로 구현하는데 사용되는리소스 관리 기술이다.

만약 리소스가 복제되었지만 변경되지 않았다면 새로운 리소스를 만들 필요가 없다. 자원은 복제와 원본사이에서 공유될 수 있다. 수정은 복제본을 생성해야 하므로 복사 작업을 첫번째 쓰기로 연기한다.이러한 방식으로 리소스를 공유함으로써 리소스 수정 작업에 작은 오버헤드를 추가하는 동안 수정되지 않은 복사본들의 리소스 소비를 크게 줄일 수 있다.

Horn에 따르면 macOS 운영 체제에서 Copy-on-write 기술은 페이지 테이블과 메모리 매핑을 처리한다. 구글 프로젝트 제로의 권고문은 “XNU에는 mach 메시지에서 라인 메시지설명자를 포함한 프로세스 간 데이터의 Copy-on-write 복사본들을 생성할 수 있도록 하는 다양한 인터페이스가 있다”고 설명한다.

이 Copy-on-write 행위는 익명 메모리뿐 아니라 파일 매핑에서도 작동한다. 즉, 대상 프로세스가 전송된 메모리 영역에서 읽기를 시작한 후 메모리 압력으로 인해 전송된 메모리를 보유한 페이지가 페이지 캐시에서 제거될 수 있다는 것이다.제거된 페이지가 다시 필요하면 백업 파일 시스템에서 재로드할 수 있다.

화이트 해커는 침입자가 가상 관리 서브 시스템에 알리지 않고 디스크 상의 파일을 변경할 수 있다는 것을 발견했다. macOS 일반 사용자들은 파일 시스템 이미지를 마운트할 수 있지만, 마운트한 파일 시스템 이미지가 직접 (예:파일 시스템 이미지에서 pwrite() 호출) 변경되면 정보는 마운트된 파일 시스템으로 전파되지 않는다.

공격자 또는 악성 프로그램은 가상 관리 서브시스템에 알리지 않고 메모리에 있는 디스크에 저장된 제거된 페이지를 변경하여, 대상 프로세스가 조작된 악성 컨텐츠를 메모리에 로드하도록 속인다.

전문가들은 복사된 메모리가 소스 프로세스에 의해 나중에 변경되지 않도록 보호되고 있다고 지적했다. 소스 프로세스는 대상 프로세스에서 이중 읽기를 악용할 수 있다.

프로젝트 제로 연구원은 CVE-2019-6208로 추적되는 또 다른 Copy-on-write 행위 우회를 발견했다. Horn은 2018년 11월에 두 개 문제를 모두 애플에 보고했지만, 애플은 후자 결함만 2019년 1월에 해결했다.

두 개 취약점에 대한 PoC가 모두 공개되었고, 애플은 여전히 패치되지 않은 취약점에 대해 프로젝트 제로 연구원들과 협력하고 있다.

★정보보안 대표 미디어 데일리시큐!★


■ 보안 사건사고 제보 하기

▷ 이메일 : mkgil@dailysecu.com

▷ 제보 내용 : 보안 관련 어떤 내용이든 제보를 기다립니다!

▷ 광고문의 : jywoo@dailysecu.com

★정보보안 대표 미디어 데일리시큐 / Dailysecu, Korea's leading security media!★