얼마전 macOS 시에라의 최신 업데이트인 10.12.2 버전이 배포됐습니다. 신형 맥북프로의 그래픽 문제를 비롯해 각종 버그가 수정됐는데요. 보안을 위해서라도 업데이트를 서두르셔야 할 것 같습니다. 애플이 보안 강화를 위해 마련한 전체 디스크 암호화 기능을 무력화시킬 수 있는 심각한 취약점이 이번 업데이트에서 해결된 것으로 알려졌습니다.
취약점의 타겟이 된 '파일볼트 2(FileVault 2)'는 디스크에 대한 실시간 암호화/복호화를 통해 데이터가 외부에 유출되는 것을 방지하는 기능입니다. 쉽게 말해, 맥을 훔치거나 습득한 사람이 디스크에 쓰인 데이터를 함부로 읽거나 꺼낼 수 없도록 디스크에 강력한 암호를 걸어 데이터를 보호하는 기능이라고 할 수 있습니다.
그런데 운영체제를 업데이트하지 않으면, 맥에 썬더볼트 장치를 연결한 뒤 재부팅하는 것만으로 파일볼트 2 암호가 쉽게 유출될 가능성이 있다고 합니다.
이런 공격이 가능한 이유는 DMA라는 기술 때문입니다. 'DMA(Direct Memory Access, 직접 메모리 액세스)'라는 기술은 그래픽카드나 디스크 드라이버 컨트롤러, 네트워크 카드 등 컴퓨터 부속품과 주변기기가 CPU를 거치지 않고 메모리(RAM)를 활용할 수 있게 해주는 기술입니다. 이를 통해 메모리는 프로세서에서 분리된 별도의 장치로 거듭났고, PIO 인터페이스를 쓰던 과거의 PC보다 빠르게 외부의 정보를 메모리에 기록할 수 있게 되었습니다.
하지만 민감한 정보가 저장된 메모리에 아무 장치나 접근한다면 보안 문제가 발생할 수 있기 때문에 macOS는 DMA 보호 기능을 갖추고 있습니다. 문제는 운영체제가 구동될 때만 DMA 보호 기능이 작동한다는 것. 만약 썬더볼트 장비를 연결한 상태로 맥을 부팅하면 운영체제가 설치된 디스크보다 썬더볼트 장치를 먼저 읽어 들이게 되고, 결과적으로 DMA 보호 기능이 작동하기 전에 메모리에 저장된 정보가 유출되는 구조적 문제가 있습니다.
두 번째 문제는 파일볼트 2 암호가 일반 텍스트 형식으로 메모리에 저장된다는 점입니다. 맥을 부팅할 때 파일볼트 2 암호를 입력하면 컴퓨터를 사용하는 도중은 물론이거니와 맥을 재부팅해도 메모리가 초기화되지 않고 파일볼트 2 암호를 계속 품고 있습니다. 메모리에서 암호가 지워지는 순간은 메모리에 저장된 정보가 완전히 초기화될 때, 즉 맥의 전원을 내릴 때뿐입니다.
위 영상은 보안 전문가 '울프 프리스크'가 고안한 'PCILeech'라는 썬더볼트 장치를 이용해 맥북에어에서 파일볼트 2 암호를 빼내는 과정을 시연한 것입니다.
그는 "맥을 재부팅하면 DMA 보호 기능이 해제되지만 파일볼트 2 암호를 포함한 메모리 콘텐츠는 그래도 남아 있다"면서 "PCILeech를 연결한 상태로 맥을 재부팅하면 메모리가 다른 데이터에 의해 덮어 씌기 전에 파일볼트 암호를 추출할 수 있다"고 설명했습니다. 만약 이러한 방법으로 파일볼트 2 암호를 일단 습득하게 되면, 암호로 보호된 파일 자체는 빼내기가 아주 수월해진다는 설명입니다.
프리스크에 따르면 이 취약점은 지난 8월에 발견됐고 애플에도 보고된 것으로 알려졌습니다. 다만 애플의 요청 때문에 그동안 관련 정보를 비공개로 해왔다고 합니다. 이후 애플이 macOS 시에라 10.12.2 업데이트에서 이 취약점을 해결하면서 기술적인 설명과 함께 'PCILeech' 장치에 설치한 커스텀 소프트웨어도 오픈소스 형태로 깃허브에 공개하게 됐다고 밝혔습니다.
프리스크는 macOS 시에라 10.12.2 업데이트에 대해 “애플이 적용한 솔루션은 완벽하다. 적어도 내가 아는 한 macOS가 구동하기 전에 메모리에 접근하는 게 불가능해졌다. 이제 맥은 이러한 유형의 공격 벡터(해킹에 사용하는 경로나 방법)에 대해 가장 안전한 플랫폼 중의 하나다."라고 평가했습니다.
한편, 해당 취약점은 macOS 시에라 10.12.2뿐 아니라 OS X 이전 버전인 10.11 엘 캐피탄과 10.10 요세미티에서도 애플이 지난 14일 배포한 보안 업데이트로 해결됐습니다. 하지만 보안 업데이트 지원이 중단된 OS X 10.7 라이언과 10.8 마운틴 라이언, 10.9 매버릭스는 여전히 이번 취약점의 영향권에 놓여 있어 사용자들의 주의가 요망됩니다.
참조
• Ulf Frisk - macOS FileVault2 Password Retrieval /via MacWorld
•Apple - 보안 업데이트
관련 글
• 맥 펌웨어 공격하고 자가 복제하는 '썬더스트라이크 2' 부트킷 등장
• 애플, OS X 요세미티 10.10.2 버전에서 '썬더스트라이크' 보안 취약점 수정
• 애플, macOS 시에라 10.12.2 정식 버전 공개