10년 간 방치됐던 애플 생태계의 공급망 공격 가능성, 최근에야 제거돼

2024-07-02 21:07
  • 카카오톡
  • 네이버 블로그
  • url
10년 전 서버 이전 한 번으로 인해 커다란 문제가 시작됐다. 애플 생태계 전체에 큰 악영향을 미칠 만한 문제였다. 다행히 아직까지 이를 눈치 채거나 악용하려는 시도는 없었던 것으로 보인다. 아직까지는.

[보안뉴스 문정후 기자] 애플에서 나온 거의 모든 장비들에 영향을 주는 문제가 10년 동안 방치되어 있다가 뒤늦게 발견됐다. 문제의 핵심에는 코코아팟즈(CocoaPods)라는 오픈소스 디펜던시 관리 프로그램이 있다. 보안 업체 에바(EVA)가 이러한 사실을 발견해 자사 블로그를 통해 알렸고, 현재는 문제가 패치로 해결이 된 상황이다.


[이미지 = gettyimagesbank]

이 사태를 이해하려면 몇 가지 용어들을 먼저 이해하고 있어야 한다.
1) 팟(pod) : 프로젝트의 디펜던시 상황을 서술하고 있는 파일이다.
2) 디펜던시 : 소프트웨어를 구성하는 요소들끼리 상호 의존하는 관계를 가지고 있는데, 이 의존성을 디펜던시라고 한다. 한글로 의존성이라고도 한다. 하지만 의존성 관계에 있는 요소들 그 자체를 디펜던시라고 부르기도 한다. 이 경우는 한글로 의존성이라고 부를 수 없다.
3) 코코아팟즈 : 스위프트와 오브젝티브씨 언어로 만들어진 애플리케이션들의 디펜던시 관리를 편리하게 해 주는 오픈소스다. 팟들을 관리한다고 봐도 된다.
4) 스위프트(Swift) : 개발 언어 중 하나다.
5) 오브젝티브씨(Objective-C) : 개발 언어 중 하나다.
6) 트렁크(Trunk) : 코코아팟즈와 연결된 서버로, 팟들을 저장하고 관리한다.

무슨 일이 일어났나
위 용어들을 이해했다면 10년 전 일어났던 사건들을 이해하는 데 무리가 없다. 2014년 코코아팟즈 측에서는 보유하고 있던 모든 팟들을 당시 새롭게 구축한 트렁크 서버로 옮겼다. 그러면서 각 팟들의 소유자가 전부 초기화 됐다. 누가 어떤 팟을 소유하고 배포했는지 알 수가 없는 상황이 된 것이다. 그래서 원 소유자들은 트렁크 서버 이전 작업 후 코코아팟즈에 연락해 자신들이 어떤 팟의 주인이라는 것을 알렸다. 그러면서 리셋된 소유주 문제는 해결되는 것처럼 보였다.

하지만 가만히 있던 팟 소유주들도 있었다. 이들은 트렁크 서버 이전 작업에 대해 몰랐는지, 알았는데도 관심이 없었는지, 그냥 귀찮았는지, 자신의 팟들을 주인 없는 상태로 방치했다. 그렇게 해서 약 1870개의 팟들이 주인 없는 상태로 남아있게 됐다. 그러므로 지난 10년 동안 누구나 이 팟에 접근해 열람할 수 있었다. 이 자체, 즉 주인 없는 팟들이 서버에 널려 있고, 그래서 아무나 활용할 수 있는 이 엉망진창인 상황 그 자체가 바로 CVE-2024-38368 취약점의 핵심 내용이다. CVSS를 기준으로 무려 9.3점이나 받았다.

‘주인이 없어 아무나 접근할 수 있는 팟’이 왜 위험한 것일까? 팟의 내용을 아무나 수정할 수 있기 때문이고, 공격자가 수정 과정 중에 악성 코드를 삽입해도 아무런 제재를 받지 않기 때문이다. 이렇게 조작된 팟을 코코아팟즈와 같은 디펜던시 관리 프로그램에서 가져가고, 코코아팟즈를 통해 관리되는 애플리케이션 디펜던시들을 타고 그 팟 내 악성 코드가 줄줄이 전달될 수 있다는 뜻이다. 한 마디로 애플 생태계를 아우르는 거대 공급망 공격이 가능하다는 의미가 된다. 다행히 에바는 아직까지 이런 일이 실제로 벌어지는 것을 한 번도 본 적이 없다고 한다.

문제는 더 있었다
그런데 이건 약과다. CVSS 기준으로 더한 취약점이 새롭게 발견됐기 때문이다. CVE-2024-38366으로, 10점 만점에 10점을 받았을 정도로 위험한 취약점인 것으로 분석됐다. 위에서 언급한 트렁크 서버에서 원격 코드 실행 공격을 할 수 있게 해 주는 취약점이었다. 에바는 “이 취약점의 익스플로잇에 성공한 공격자는 인증을 거치지 않고도 서버를 침해한 후 모든 팟 소유주들의 세션 토큰을 덤핑하고, 클라이언트의 트래픽을 조작할
수 있게 된다”고 설명하며 “심지어 서버 자체를 완전히 셧다운 시키는 것도 가능하다”고 경고했다.

CVE-2024-038367이라는 세 번째 취약점도 같이 공개됐다. 8.2점으로 충분히 위협적인 점수이지만 앞서 언급된 두 개의 취약점이 워낙 높은 점수를 받는 바람에 비교적 덜 위협적으로 보인다. 이 취약점을 익스플로잇 할 경우 공격자는 피해자들의 행동을 유발하지 않고도 세션 인증 토큰을 훔칠 수 있게 된다. 트렁크 서버의 소스코드 내에 있었던 제로클릭 취약점이라는 소리다.

“공격자들은 이 취약점을 익스플로잇 함으로써 피해자 계정에 연결된 코코아팟즈를 완전히 장악할 수 있게 됩니다. 그렇게 한 후 팟의 사양이나 세부 내용을 조작할 수 있고, 라이브러리 배포 과정 중간에 개입할 수도 있게 됩니다. 즉 코코아팟즈 생태계 전체에 각종 악영향을 전파할 수 있게 된다는 것으로, 이 역시 파급력 높은 공급망 공격의 시초가 될 수 있습니다.” 에바의 설명이다.

코코아팟즈 사태, 어떤 의미인가
에바는 이 사건이 “오픈소스 코드나 서드파티 요소들에 대한 의존도가 너무 높아질 때 생길 수 있는 위험성에 대해 다시 한 번 알려준다”고 설명한다. “오늘 날 소프트웨어들의 디펜던시는 대단히 복잡하게 구성되어 있습니다. 거의 모든 소프트웨어들에 각종 디펜던시들이 깊게 개입하고 있지요. 심지어 자동화 된 CI/CD 시스템이 구축되어 있다면 문제는 더 심각해집니다. 이런 상황을 되돌릴 방법은 이제 없다고 봐야 하고, 그렇기 때문에 이러한 상황을 개선시킬 방안을 마련하는 게 남은 과제입니다.”

오픈소스나 서드파티 요소들이 문제가 된다는 건 보안 업계가 수없이 경고해 온 내용이다. 그래서 이런 문제들을 편리하게 해결해주는 관리 솔루션들이 속속 등장하고 있다. 코코아팟즈도 디펜던시 관리를 편리하게 할 수 있게 해주는 솔루션이다. “문제는 이런 관리 솔루션들 혹은 보안 솔루션들조차 하나의 공격거리가 될 수 있다는 것이죠. 보안을 향상시키기 위해 만들어진 것이 오히려 보안의 문제가 될 수 있다는 것을 의외로 많은 사용자들이 잊어버립니다. 코코아팟즈 만이 아니라 디펜던시 관리를 해 주는 여러 플랫폼들에 대한 경계가 느슨한 이유죠.”

위험 완화, 어떻게 해야 하는가
전 세계적으로 애플은 많은 고객을 두고 있다. 맥OS, 아이폰, 애플TV, 애플 워치 등 수많은 장비들이 세계 곳곳에서 사용되는 중이다. 그렇기 때문에 이 생태계에서 공급망 공격이 발생한다고 하면 파급력이 클 수밖에 없다. 아직까지 코코아팟즈와 관련된 취약점 세 개를 통해 실제 공급망 공격을 실시한 사례가 발견된 적은 없지만, 에바는 “아직 위험 가능성이 다 사라진 건 아니므로 여러 위험 완화 대책들을 적용해야 할 필요가 있다”고 강조한다. 그러면서 다음 몇 가지를 강조했다.

1) 모든 코코아팟즈 관리자와 개발자들이 항상 같은 버전의 podfile.lock 파일을 보유하고 있어야 한다. 동기화를 제대로 해야 같은 버전의 패키지를 모든 구성원이 똑같이 사용할 수 있게 되고, 그렇게 함으로써 비정상적인 것들을 일찍 발견할 수 있게 된다.

2) 코코아팟즈를 가지고 내부 팟을 배포하려 한다면 먼저 트렁크 서버에 팟을 하나 호스팅한 뒤 다운로드 받고, 내부적으로 보유하고 있는 팟과 비교해 CRC 검사를 진행한다. 배포하려는 것과 가지고 있는 것이 정말로 같은 파일인지를 확인하는 것이다.

3) 그것이 무엇이 됐든 서드파티 코드를 쓰려면 여러 번 확인 과정을 거쳐야 한다.

4) 주인이 없는 팟을 사용하고 있지는 않은지 점검해야 한다. 주인이 분명한 것들만 사용하는 게 안전하다.

5) 유명하고 사용자가 많은 디펜던시를 사용해야 한다면 더더욱 주의를 기울이고 검사에 만전을 기해야 한다. 유명한 것을 신뢰하려는 경향이 사용자들에게 있는데, 공격자들은 유명한 것들을 더 활발히 노린다는 걸 기억해야 한다.
[국제부 문정후 기자(globoan@boannews.com)]

<저작권자: 보안뉴스(www.boannews.com) 무단전재-재배포금지>

헤드라인 뉴스

TOP 뉴스

이전 스크랩하기


과월호 eBook List 정기구독 신청하기

    • 씨프로

    • 인콘

    • 엔텍디바이스코리아

    • 마이크로시스템

    • 다봄씨엔에스

    • 아이디스

    • 씨프로

    • 웹게이트

    • 지오멕스소프트

    • 하이크비전

    • 한화비전

    • ZKTeco

    • 비엔에스테크

    • 비엔비상사

    • 원우이엔지
      줌카메라

    • 지인테크

    • 인텔리빅스

    • 이화트론

    • 다누시스

    • 테크스피어

    • 렉스젠

    • 슈프리마

    • 혜성테크윈

    • 시큐인포

    • 미래정보기술(주)

    • 비전정보통신

    • 한국씨텍

    • 경인씨엔에스

    • 트루엔

    • 성현시스템

    • 디비시스

    • 다후아테크놀로지코리아

    • (주)우경정보기술

    • 투윈스컴

    • 세연테크

    • 위트콘

    • 구네보코리아주식회사

    • 유에치디프로

    • 넥스트림

    • 주식회사 에스카

    • 포엠아이텍

    • 에이티앤넷

    • 세렉스

    • 한국드론혁신협회

    • 네이즈

    • 이노뎁

    • 다누시스

    • 시만텍

    • 테이텀시큐리티

    • 신우테크
      팬틸드 / 하우징

    • 에프에스네트워크

    • 네이즈

    • 케이제이테크

    • 셀링스시스템

    • 사라다

    • 아이엔아이

    • (주)일산정밀

    • 새눈

    • 에이앤티코리아

    • 유투에스알

    • 태정이엔지

    • 네티마시스템

    • 에이치지에스코리아

    • 지에스티엔지니어링
      게이트 / 스피드게이트

    • 미래시그널

    • 두레옵트로닉스

    • 엘림광통신

    • 에스에스티랩

    • 에이앤티글로벌

    • 현대틸스
      팬틸트 / 카메라

    • 모스타

    • 지와이네트웍스

    • 보문테크닉스

    • 엔에스티정보통신

    • 메트로게이트
      시큐리티 게이트

    • 포커스에이치앤에스

    • 엔시드

    • 엠스톤

    • 글로넥스

    • 유진시스템코리아

    • 카티스

    • 세환엠에스(주)

Copyright thebn Co., Ltd. All Rights Reserved.

MENU

회원가입

Passwordless 설정

PC버전

닫기