애플 공증에 대한 오해를 파고든 새 멀웨어 맥싱크스틸러

애플 공증에 대한 오해를 파고든 새 멀웨어 맥싱크스틸러
Photo by Dmitry Chernyshov / Unsplash
💡
Editor's Pick for Juniors
- 애플 공증만 통과하면 안전하다? No.
- 애플 공증은 멀웨어들을 다 잡아낸다? No.
- 애플 공증은 어지간한 보안 제품들을 대체한다? No.

Juniors, 안녕!
테크를 가장 날카롭고 가치 있게 읽어주는 더테크엣지 아빠들이야.

오늘은 맥(Mac)이라는 컴퓨터에 관한 이야기를 해보려 해. 애플의 사과 표시가 앞에 박혀 있는 예쁜 컴퓨터, 어쩌면 조금 비싸기 때문에 엄마나 아빠가 잘 만지지 못하게 할 법한 컴퓨터, 맥. 직접 가져보지 못했더라도, 누군가 옆에서 쓰는 걸 본 적은 있을 거 같아. 원래는 일부 디자이너나 프로그래머만 쓰던 컴퓨터였는데 요즘은 인기가 높아져서 여러 사람이 사용하거든.

약간의 배경 설명

맥이라는 컴퓨터는 너희가 흔히 보는 ‘윈도 11’과는 사뭇 다른 운영체제가 설치돼 있어. 그래서 윈도에 익숙해진 사람들은 처음에 적응 기간을 거쳐야 하지. 기능도 다르고, 이름도 다르고, 작동 방식도 다르거든. 이 차이를 통해 윈도를 만든 MS와, 맥을 만든 애플과의 철학 차이도 엿볼 수 있긴 한데, 오늘은 거기까지 설명하지는 않을 거야.

왼쪽이 맥, 오른쪽이 윈도. 비슷하지만 다르다[출처: 제미나이로 그림]

MS나 애플이나 자기 제품을 사용하는 사람들에게 좋은 인상을 주고 싶겠지? 그래야 다음에도 자기들 제품을 살 테니까. 그래서 둘 다 해커들의 나쁜 도구들이 설치되지 못하도록 여러 장치들을 제품에 마련해 두었어. 고객들을 위한 안전 장치지. 자동차들에 안전벨트가 미리 설치돼 나오는 것과 같다고 보면 돼. 아빠나 엄마가 안전벨트를 별도로 구매해서 설치하는 거 봤어? 특수한 경우 말고는 없지.

애플의 ‘안전벨트’ 중에는 ‘공증’이라는 게 있어. 맥에 아무 프로그램이나 설치할 수 없도록, 애플이 공식으로 인정한 프로그램들만 설치되도록 해 주는 장치야. ‘애플이 통과시키지 않은 프로그램은 설치 자체가 안 되니까 안심하세요’라는 느낌을 주고, 그렇기 때문에 실제로 맥 사용자들은 이것에 적잖이 안심하게 되지. 

그런데 이 ‘공증’을 나쁜 사람들(해커들)이 뚫기 시작했다고 해. 해킹 공격에 사용되는 나쁜 도구들도 애플의 공증을 받아 아무런 방해 없이 피해자의 컴퓨터에 설치될 수 있다는 거야. 보안 기업 잼프(Jamf)가 알아낸 것인데, 오늘은 공격자들이 애플 공증을 어떻게 통과하는지, 그게 어떤 의미를 가지고 있는지만 간략히(?) 짚어보려 해.

공증을 통과한 해킹 도구, 맥싱크스틸러

공격자들의 이러한 발전상을 보여주는 건 최근 맥 컴퓨터에서 발견된 정보 탈취형 멀웨어인 맥싱크스틸러(MacSync Stealer)야. 사실 잼프의 연구원들도 이 멀웨어를 추적, 분석하다가 애플 공증 절차와 관련된 문제까지 발견한 것이라고 해. 맥싱크스틸러를 만들고 이용하는 해커들은 어떻게 공증을 받을 수 있었을까? 이걸 이해하려면 먼저 애플의 ‘공증’에 대해 살짝 알고 넘어가야 해.

애플은 맥OS에서 실행되는 소프트웨어가 나쁜 건지 좋은 건지, 기본적인 안전 기준을 충족하는지 아닌지를 사전에 확인하는 시스템을 갖추고 있어. 이게 ‘공증’이야. 프로그램을 개발한 사람이나 회사는 먼저 자신이 만든 프로그램을 애플에 제출해. 그러면 애플이 자동화 기술로 검사하고, 문제가 없을 때 ‘공증 완료’ 인증 티켓을 발부하지. 이걸 ‘공증 됐다’고 표현해. 이렇게 인증 티켓이 있는 앱은 맥의 또 다른 보호 장치인 게이트키퍼(Gatekeeper)를 무사히 통과할 수 있고, 따라서 사용자가 설치할 때 별도의 경고창이 뜨지 않아.

하지만 그렇다고 해서 애플의 공증이 나쁜 해킹 도구를 미리 다 잡아내는 건 아니야. 애플 공증은 ‘이 프로그램이 악성 행위를 전혀 하지 않는다’거나 ‘프로그램을 실행해도 안전하다’고 보장해주는 제도가 아니거든. 제대로 서명을 받았는지(과제물 중 부모님 확인 서명을 받아서 제출하는 경우가 있지? 그것과 비슷해), 이미 알려진 나쁜 구성 요소가 포함되어 있지 않은지, 애플과 개발자들이 한 약속을 어기고 있지는 않은지만 검사하는 것이야.

10p 에세이 과제를 써서 냈는데 그 내용을 읽지 않고 맨 끝에 서명란에 부모님 확인이 되어 있는지, 10p가 다 채워져 있는지, 선생님과 학생이 공통으로 사용하는 언어로 작성돼 있는지만 얼른 훑는 것과 같아. 학생이 수십만 명이니까 그럴 수밖에 없는 거야.

어떻게 통과했나?

공격자들은 이 과정을 어떻게 공략하는 것일까? 과제 제출의 예시에서 이미 힌트를 얻었을 수도 있겠지만 하나하나 설명해 줄게. 먼저 맥싱크스틸러를 만들어 퍼트린 해커들은 공식 애플 개발자 ID를 얻어냈어. 과제 제출할 때 ‘내가 당신 반 학생입니다’라는 걸 입증하기 위해 얼굴을 비추거나 이름을 써서 내잖아? 그것과 같은 거야. 애플로부터 자격을 받은 개발자라는 걸 입증할 최소한의 방법으로 먼저 공식 개발자 ID를 확보한 거지. 이 ID는 아마 훔쳤거나 빼앗았을 가능성이 높아. 아니면 해커들이 개발자인 것처럼 해서 애플의 승인을 직접 받았을 수도 있어.

합법적인 개발자 ID를 훔치면, 애플도 어쩔 수가 없다[자료: 제미나이로 그림]

그런 다음 공격자들은 자신들의 무기인 맥싱크스틸러를 멀쩡한 프로그램으로 포장했어. 이 때 포장지로 사용된 건 zk-call이라는 채팅 프로그램이었어. 이 프로그램의 설치파일처럼 보이는 파일을 하나 만들어서 맥싱크스틸러를 안에 넣은 거야. 그리고 이 변장 파일이 애플의 공증을 통과한 것이지. 어떻게?

먼저는 프로그램 설치파일의 이름을 zk-call의 설치파일과 비슷하게 바꿨어. 사용된 이름은 zk-call-messenger-installer-3.9.2-lts.dmg이야. 앞에 zk-call이라는 글자가 보이지? 중간에 ‘설치파일’을 뜻하는 installer라는 단어도 나와있고 말이야. 그래서 이름 검사는 무사히 통과할 수 있었어.

설치파일이라는 건 보통 여러 개 파일과 폴더가 합쳐져 있어. 이 파일과 폴더가 한 덩어리로 뭉쳐져 있기도 하지만 보통은 일정한 구조를 가지고, 순서대로 배열돼 있지. 마치 커다란 나무의 가지와 잎사귀들처럼 말이야. 그것들이 하나의 덩어리로 뭉쳐있지는 않잖아? 나름의 순서와 위치에 자리를 잡고 있지. 설치파일 내부에도 이런 구조와 순서와 위치라는 게 존재해. 진짜 zk-call의 설치파일도 그렇고, 이번에 공격자들이 흉내 내서 만든 zk-call-messenger-installer-3.9.2-lts.dmg도 그래.

공격자들은 zk-call-messenger-installer-3.9.2-lts.dmg 파일 내부를 꾸미기 시작했어. Zk-call과 비슷하게 내부 폴더들의 이름을 만들고 순서를 배열했지. 그래서 텅 빈 폴더들이 나무처럼 구조를 이뤘어. 겉으로만 보기에는 zk-call과 거의 똑같았지. 그런데 ‘텅 비어 있다’는 게 문제야. 애플 공증은 일단 그 폴더들의 크기(용량이라고도 해)를 보긴 하거든. 그래서 공격자들은 그 폴더들에 쓸데 없는 PDF 문서들르 잔뜩 넣어놨어. 용량만 딱 맞춘 거야. 공증이 숫자만 보지, 그 내용까지 샅샅이 보지 않는다는 걸 안 거지.

잼프는 이렇게 설명해. “애플 공증이 파일의 내부 콘텐츠를 세밀하게 검사하지 않고, 외형적인 특성만 일부 훑는다는 걸 정확히 간파한 움직임입니다. 그런데 그게 다가 아닙니다. 아직 맥싱크스틸러의 속임수는 더 남아 있습니다.” 

가만히 있기

더 남아 있다는 속임수는 다른 게 아니라 ‘멍 때리기’라고 할 수 있어. 가짜 zk-call을 통해 설치된 맥싱크스틸러는 한 동안 가만히 있거든. 아무 것도 하지 않아. 왜일까? 공증까지 통과했는데, 왜 정보를 모아서 공격자에게 가져다 주는 등 본연의 목적을 달성하려 하지 않는 걸까? 그건 애플 공증 과정이 끝나지 않았기 때문이야. 애플 공증은 파일 이름, 파일 구조, 파일 용량을 살핀 다음, 그 파일이 설치된 직후 무엇을 하는가까지도 지켜보거든. 이 때문에 맥싱크스틸러가 가만히 있는 것만으로도 이 삼엄한 감시를 벗어날 수 있게 되는 거야.

그리고 얼마간 시간이 지나면 본격적으로 활동을 시작해. 드디어 피해자 컴퓨터에서부터 각종 정보를 모아서 해커에게 보내는 거지. 그런데 이 때도 조용조용, 숨죽이고 움직여. 한 번 정보를 모아서 보내고는 최소 1시간은 쉬어줘. 나쁜 행위와 나쁜 행위 사이에 여유롭게 간격을 둬서 잡힐 확률은 더 낮춘 거라고 할 수 있어. 그러면서 피해자의 각종 비밀번호를 훔쳐내지.

애플은 이러한 맥싱크스틸러의 소식을 접하고는 개발자 ID를 폐기했어. 그래서 맥싱크스틸러가 공증을 통과하기 위한 첫 번째 장치가 사라졌어. 하지만 공격자가 다른 ID를 훔치거나 만들어 같은 공격을 반복한다면 어떨까? 아직 그것에 대한 보호 대책은 없는 상황이야. 지금 당장은 맥싱크스틸러가 주춤하지만 얼마든지 다시 나타날 수 있다는 것이지.

‘공증’이 ‘100% 안전’을 의미하지는 않는다

이 사건에서 가장 중요한 건, 애플 공증을 오해하면 큰코 다칠 수 있다는 거야. 맥이라는 고급 컴퓨터를 만든 회사가 공식으로 직접 인정해주는 게 공증이라는 사실만 알고 있으면 ‘공증 통과’가 마치 ‘100% 안전 보장’인 것처럼 착각하게 되지. ‘뭘 인증해주는가’까지 알고 있어야 해. 다시 한 번 설명하자면 애플 공증은 ‘서명이 되어 있다’, ‘약속을 어기지는 않았다’, ‘이미 잘 알려진 공격 요소는 일단 발견되지 않았다’, ‘설치 직후 나쁜 행위는 하지 않는다’ 정도만 확인하는 거야. ‘파일이 어떤 내용물로 구성돼 있는가’를 꼼꼼하게 살피지도, ‘파일이 실제 작동하면 어떤 행동을 하는지’를 분석하는 것이 절대로 아니야. 

이건 단지 ‘애플 공증’에만 해당되는 이야기가 아니야. 각종 백신이나 보안 프로그램을 사용할 때도 통하는 이야기지. 유료 백신 하나 결제해 컴퓨터에 설치해 쓴다고 해서, 그 컴퓨터가 모든 공격으로부터 안전해지는 건 아니야. 사람마다 주특기가 다르듯이, 수많은 백신이나 각종 보안프로그램들마다 잘 하는 게 따로 있어. 그게 무엇인지 구체적으로 알아내고 써야 해. 그런 프로그램들을 파는 사람들이야 당연히 ‘당신의 컴퓨터가 안전해진다’는 식으로 뭉퉁그려서 말하겠지. ‘우리 제품은 이것만 잘하고, 저것은 살짝 아쉽습니다. 그러니 다른 회사의 이런 제품을 써서 보완하십시오’라고 광고하는 회사가 어디 있겠어.

안전을 기하려면 좀 더 세부적인 내용을 파고들어갈 수 있어야 해. 세계 1~2위를 다투는 기업 애플에서 공식 인증한 프로그램이라고 해서 다 안전한 건 아니라는 게 이번에 증명됐다는 걸 기억해야 해. 애초에 애플은 자신들의 ‘공증’이 있으니 무조건 안심해도 된다는 식으로 설명한 적이 없어. 애플이 한 공증만 있으면 무조건 안심할 수 있다는 잘못된 믿음은 세부적인 내용을 파고들지 않는 사용자들의 그 허술한 마음에서 생겨난 것이지.

세부 내용을 아는 것과 모르는 것은 천지차이다[자료: 제미나이로 그림]

내가 안전하다고 믿고 있는 그 무언가가, 혹시 좀 더 깊이 들어가보기 귀찮거나 무섭거나 꺼려지는 내 마음을 가짜로 위안하는, 그저 심리적 허상에 가까운 건 아닌지 돌아볼 수 있었으면 해. 그게 절친이든, 어떤 선생님이든, 책이나 영화든, 음악이든 말이야. 내 마음을 편하게 해준다고 해서 다 나를 안전하게 지켜주는 건 아니야. 그것들이 날 안심시켜 준다고 했을 때, 그 근거가 무엇인지를 깊게 들여다볼 수 있게 되기를 바라.🆃🆃🅔

by 문가용 기자(anotherphase@thetechedge.ai)


[TE머묾] 믿고 싶은 대로 믿는 사람들의 믿음을 건드리는 믿음
💡Editor’s Pick - 보안은 만병 통치약 아니라고 아무리 설명해도 - 제로트러스트는 솔루션 이름이 아니라고 아무리 설명해도 - NIST 프레임워크 초안은 실용서가 아니라고 아무리 설명해도 믿음이란 얼마나 강력한 것인가. 보안과 IT 업계를 관찰자 입장에서만 10년 넘게 보아온 입장에서 절로 나올 수밖에 없는 말이다. 단, 이것은 특정 종교나 철학, 사상과 관련된 발언이

Read more

갑자기 비밀번호 변경하라고? 인스타그램 사용자들 ‘불안’

갑자기 비밀번호 변경하라고? 인스타그램 사용자들 ‘불안’

💡Editor' s Pick - 비밀번호 재설정 요청 메일을 받은 인스타그램 사용자 일부 - 해당 메일은 인스타그램이 보낸 것...피싱 아니었음 - 같은 시기에 다크웹에 올라온 인스타그램 사용자 정보 일부 인스타그램 사용자들이 “비밀번호를 재설정 해달라”는 요청을 인스타그램으로부터 받는 일이 지난 주에 있었다. 해당 메일에 따라 사용자들은 비밀번호를 변경하거나 그대로

By 문가용 기자
토렌트, OSINT로서의 가치 충분

토렌트, OSINT로서의 가치 충분

💡Editor's Pick - 토렌트는 원래 대용량 파일 전송 위한 프로토콜 - 요즘 불법 다운로드의 대명사처럼 쓰이지만, 원래는 합법 기술 - 기업 망에서 토렌트 트래픽 있나 점검할 필요 있어 토렌트 트래픽 혹은 토렌트 메타데이터를 오픈소스 인텔리전스(OSINT)로 활용할 수 있다는 연구 결과가 발표됐다. 네덜란드 틸뷔르흐대학의 연구원 두 명과,

By 문가용 기자
[TE머묾] 이민국에 대항하는 미국 시민들, 한국에도 힌트가 되다

[TE머묾] 이민국에 대항하는 미국 시민들, 한국에도 힌트가 되다

💡Editor's Pick - 각자의 방법으로 ICE의 감시 기술 고발하는 사람들 - 카메라 위치, 단속 요원 움직임 파악해 DB화 후 공유 - 한국의 얼굴 인식 대량 수집 제도에 어떻게 대응할까 이민세관단속국(ICE)이 이민자들만이 아니라 일반 시민들까지도 감시 및 추적한다는 사실이 미국 사회에 급격히 퍼지기 시작하면서 여러 가지 대응책들이

By 문가용 기자
VM웨어 ESXi 제로데이 취약점, 중국 해커들은 오래 전부터 알고 있었다

VM웨어 ESXi 제로데이 취약점, 중국 해커들은 오래 전부터 알고 있었다

💡Editor's Pick - VM웨어 ESXi에서 발견된 세 가지 제로데이 취약점 - 작년 12월에 첫 공격 사례 발표됐으나, 추적해 보니 2024년에도 공격 있어 - 제로데이 미리 알고 있었기에, 피해 점검 더 넓고 깊게 해야 소닉월 VPN을 악용해 VM웨어 ESXi를 노리는 중국 해커들의 악행이 생각보다 오래 전에 시작된 것으로 보인다고

By 문가용 기자