맥OS의 애플리케이션 구조를 이해한 공격...응용 가능성 높아
[보안뉴스 문가용 기자] 맥OS를 노리는 백도어, 오션로터스(OceanLotus)의 새로운 변종이 등장했다. 이번 버전은 보다 철저하게 ‘나 실행파일 아니에요’라고 시스템을 속인다고, 보안 업체 멀웨어바이츠(Malwarebytes)가 경고했다.
[이미지 = iclickart]
현재 오션로터스 혹은 히든로터스(HiddenLotus)는 Lê Thu Hà(HAEDC).pdf라는 이름의 애플리케이션을 통해 퍼지고 있다. 얼른 봐서는 영락없이 어도비 아크로뱃 문건인데, 웬 애플리케이션? 이 파일은 사실 실행파일이기 때문이다.
이는 맥OS의 파일 검사 기능을 피해가기 위한 것으로 보인다. 예전 OS 버전(레오파드 혹은 OS X 10.5)에서 처음 도입된 파일 검사 기능은, 인터넷에서 다운로드 받은 파일이 실행파일일 때 팝업창을 띄운다. 사용자에게 경고를 해주기 위함이다. 그렇기에 실행파일이 아닌 것처럼 꾸미기만 하면 일단 이러한 경고가 뜨는 것을 막을 수 있다는 것에 공격자들이 착안한 것으로 보인다고 멀웨어바이츠는 설명한다.
이미 10년도 훨씬 전에 도입된 파일 검사 기능은, 이런 식의 공격에 자주 노출되어 왔었다. 즉, 실행파일을 문건처럼 속여서 통과시키는 것이 완전히 새로운 기법은 아니라는 것이다. 심지어 히든로터스의 이전 버전은 지난 여름에 MS 워드 문건인 것처럼 위장해 베트남 사용자들 사이에서 퍼져나가고 있기도 했다.
하지만 당시의 워드 문서와 이번의 PDF 문서에는 차이가 있다. 예전 버전에는 .app이라는 확장자가 숨겨져 있었는데, 지금의 PDF 문건은 .pdf라는 확장자로 끝이다. 숨겨진 .app 확장자는 존재하지 않는다. 함정은 바로 d라는 글자. pdf의 d가 알파벳 d가 아니라 로마식 숫자 표기법 중 500을 뜻하는 D의 소문자인 것이다.
“시스템 내에서 애플리케이션이 애플리케이션으로서 다뤄지기 위해서 .app 확장자가 반드시 필요하다고 여겨지지만 그렇지 않습니다. 맥OS에서 애플리케이션은 번들(bundle)이라는 특수한 내부 구조를 가지고 있는 ‘폴더’입니다. 이 폴더에 .app이라는 확장자를 붙이면 애플리케이션이 되는 것이죠.” 멀웨어바이츠의 설명이다.
맥OS는 “txt 확장자가 붙은 폴더를 TextEdit이라는 프로그램으로 열고, .app은 애플리케이션처럼 다루는데, 만약 등록되지 않은 확장자라면 더블클릭 시 사용자에게 어떤 프로그램으로 열 것인지 선택하게 하거나 앱 스토어에서 알맞은 프로그램을 고르도록 안내한다.” 하지만 모르는 확장자를 가진 파일이 더블클릭 되었는데, 그 파일이 번들 구조를 가진 폴더라면? 맥OS에서 애플리케이션을 실행하듯 폴더를 실행시킨다.
다시 말하면, 이번에 퍼지고 있는 PDF 파일은 1) 확장자의 알파벳 D를 교묘하게 바꿔치기 함으로써 시스템이 PDF로 인식하지 못하고, 2) 폴더 내에 번들 구조가 있기 때문에 3) 시스템이 .app 확장자가 없어도 결국엔 애플리케이션처럼 실행한다는 것이다. 이런 식으로 확장자의 알파벳만 살짝 바꾼다면 얼마든지 비슷한 공격이 가능하다고 멀웨어바이츠는 경고한다.
또한 멀웨어바이츠는 이 기법에 대해 “매우 깔끔하면서도 손쉬운 우회 방법”이라고 평한다. 하지만 맥OS의 파일 검사 기능을 피해갈 수 있을는지는 의문이라고도 덧붙였다. “사용자의 눈은 피해갈 수 있겠지만, 해당 파일을 더블클릭 하는 순간 애플리케이션처럼 취급될 테고, 그러면 경고창이 뜰 겁니다.”
하지만 이를 응용할 방법은 무궁무진 할 것이라고 멀웨어바이츠는 염려스러운 미래를 예견하기도 했다. “이렇게 교묘하게 악용할 수 있는 확장자는 많이 존재합니다. 유니코드 문자들을 사용해 기존 확장자처럼 보이게 하는 기법이니, 사용자들은 쉽게 속을 것이고요. 사용자가 일단 속기 시작하면 무슨 일이 벌어져도 이상하지 않죠.”
[국제부 문가용 기자(globoan@boannews.com)]
<저작권자: 보안뉴스(www.boannews.com) 무단전재-재배포금지>