각종 SDK와 API도 개발자들에게 공개 중...이 SDK 중 하나가 공격자들의 손에 오염돼
[보안뉴스 문가용 기자] 클라우드 플랫폼 서비스 산업의 대기업인 트윌리오(Twilio)에서 보안 사고가 발생했다. 아마존 AWS S3 버킷을 잘못 설정하는 바람에 누군가 무단으로 침입했고, 이를 통해 태스크루터(TaskRouter)라는 자바스크립트 SDK를 조작했다. 문제의 SDK는 2015년부터 읽기와 쓰기가 모두 가능한 상태로 전환되 인기리에 활용되어 온 개발 도구 중 하나다.

[이미지 = utoimage]
트윌리오 서비스는 500만 명 이상의 개발자와 15만 곳 이상의 기업들이 사용하고 있다. 주로 음성, 문자, 영상과 같은 매체를 통한 커뮤니케이션 관련 기술을 기업들에 제공하는 서비스이며, 각종 API를 통해 개발자들이 독자적으로 커뮤니케이션 기술을 개발할 수도 있다. 트위터, 스포티파이, 훌루, 리프트, 옐프, 에어비엔비, 쇼피파이, 우버, 넷플릭스, 포스퀘어 등이 트윌리오의 고객사다.
그런데 지난 7월 19일, 트윌리오에서 경보가 울렸다. 태스크루터 SDK에 변경 사항이 적용되었다는 것이었다. 태스크루터 SDK는 트윌리오가 고객들을 위해 공개한 라이브러리의 일종으로, 작업(task)들을 에이전트나 프로세스로 전달시키는 엔진을 개발할 때 사용된다. 이를 공격자들이 조작했기 때문에, 이를 통해 개발한 서비스나 애플리케이션에서 비정상적인 행동 패턴이 발견될 수밖에 없다.
비정상 버전을 통해 공격자들은 해당 SDK에서 메이지카트(Magecart)와 관련이 있는 URL 링크가 추가로 로딩되도록 꾀했었다. 공격자들이 이런 조작 행위를 할 수 있었던 건 태스크루터가 호스팅 되어 있었던 S3 버킷의 환경설정에 오류가 있었기 때문이다. 때문에 트윌리오는 이 사건이 표적 공격으로 인한 것이라고 보지 않고 있다.
그러면서 공식적으로 “AWS S3 버킷들 중 하나에 대한 접근 관련 정책을 올바로 설정하지 않았다”고 발표했다. 때문에 누구나 S3 버킷 경로만 알면 접속해 SDK들을 조작할 수 있었던 것이다. “해당 버킷에 호스팅되어 있던 건 클라이언트 사이드 자바스크립트 SDK들로, 태스크루터 SDK의 경우 1.20 버전만이 영향을 받았습니다.”
보안 업체 리스크아이큐(RiskIQ)에 의하면 공격자들이 주입한 코드는 일종의 ‘악성 트래픽 우회기’이며, 이름은 jqueryapi1oad라고 한다. 이 jqueryapi1oad는 이전의 다른 공격 캠페인에서도 활용된 바 있다. 2019년 7월부터 진행되고 있는 멀버타이징 캠페인이 바로 그것이다. 이 켐페인의 이름은 훅애즈(Hookads)로, 광고를 클릭한 사용자를 다른 곳으로 우회시킴으로서 멀웨어에 감염시키는 방식으로 진행됐었다.
리스크아이큐의 위협 분석가인 조단 허만(Jordan Herman)은 “아마존 S3 버킷의 설정이 얼마나 중요한지 다시 한 번 증명된 사건”이라며 “설정으로 ‘전체 공개’를 해둔 순간 공격자들에게 곧바로 발견된다고 봐도 무방하다”고 경고했다. “이미 공격자들은 클라우드에 익숙하지 못한 사용자들이 이런 실수를 자주 저지른다는 걸 압니다. 그래서 이런 클라우드를 늘 찾아나서죠. 그만큼 빨리 찾고요. 하나의 실수에 불과하지만 그 결과는 치명적일 수 있습니다.”
공격에 있었다는 사실을 알아챈 트윌리오는 곧바로 버킷을 잠그고 올바른 버전의 파일들을 업로드 했다. 또한 나머지 모든 S3 버킷에 대한 감사도 실시했다. 또한 공격자들이 고객 데이터나 내부 시스템, 소스코드 등과 같은 민감한 정보에는 접근하지 못한 것을 확인했다고 한다.
리스크아이큐는 “사이버 공격자들은 효율을 중시한다”며 “그렇기 때문에 트윌리오처럼 공격 한 번으로 많은 다른 조직들에 영향을 줄 수 있는 방법을 계속해서 모색한다”고 설명한다. “거대한 공급자 하나만 공략하면, 공격을 수십번 한 효과를 한 번에 거둘 수 있거든요.”
보안 업체 페리미터엑스(PerimeterX)의 보안 전문가 아밋 나이크(Ameet Naik)는 “현대의 웹 애플리케이션들은 서드파티 스크립트와 오픈소스 라이브러리를 방대하게 활용한다”며 “그런 라이브러리 중 하나가 바로 이번 공격에 당했던 태스크루터였다”고 설명한다. “그런데 이 서드파티 요소들이 별다른 검사 없이 사용되는 게 현장의 상황입니다. 이번 태스트루터 공격자들이 노린 것도 바로 그 지점이죠. 그러면 태스크루터를 사용하는 많은 개발자나 회사들이 같이 공격을 받게 되니까요.”
그러면서 나이크는 “우리가 흔히 지나치고 무심코 넘어가는 것들에 함정들이 도사리고 있는 경우가 많다”고 강조한다. “클라우드 설정 오류도 그런 류의 실수 중 하나입니다. 문제는 공격자들이 이런 흔하고 가벼운 실수를 잘 이해하고 있다는 겁니다. 적들에게 활용될 수 있는 실수라면 우리 역시 흔하고 가볍다고 여겨서는 안 될 것입니다.”
3줄 요약
1. 클라우드 업체 트윌리오, S3 버킷 설정 실수해 중요 SDK 노출시킴.
2. 해당 SDK는 각종 프로그램 및 서비스 개발에 사용되던 것임.
3. 공격자들도 이를 잘 알고 그 SDK를 멀버타이징 공격 코드로 감염시킴.
[국제부 문가용 기자(globoan@boannews.com)]
<저작권자: 보안뉴스(www.boannews.com) 무단전재-재배포금지>