포스팅 내용

국내외 보안동향

Twilio SDK 노출, 공격자가 멀버타이징 코드 삽입해

Twilio exposes SDK, attackers inject it with malvertising code


Twilio가 2015년부터 약 5년 동안 SDK의 경로에 공개적으로 접근 및 쓰기가 가능하도록 방치된 잘못 구성된 Amazon AWS S3 버킷 중 하나에 해커가 접근 권한을 얻은 후 TaskRouter JS SDK가 해킹되었다고 밝혔습니다.


Twilio는 서비스형 클라우드 커뮤니케이션 플랫폼 (CPaaS) 회사로 개발자들이 Twilio의 웹 서비스 API를 통해 앱에 음성, 영상, 메시징, 인증 기능을 추가할 수 있도록 합니다. 현재 약 4만 곳 이상의 기업에 커뮤니케이션 기능을 지원하고 있습니다.


Twitter, Netflix, Uber, Shopify, Morgan Stanley, Airbnb, Wix, Spotify, Yelp, Hulu, Intuit, ING, eBay 등 많은 유명 기업이 Twilio의 고객입니다.


Twilio에서 공개한 보고서에 따르면, 공격자는 악성 코드를 고객이 사용하는 TaskRouter JS SDK 라이브러리 버전 1.20에만 주입했습니다. 


Twilio TaskRouter 속성 기반 라우팅 엔진을 통해 태스크를 에이전트로 라우팅하거나 처리하기 위한 것이 목적입니다.


Twilio는 “라이브러리를 호스팅하는 S3 버킷의 구성이 잘못되어 공격자가 사용자의 브라우저에 Magecart 그룹과 관련된 외부 URL을 로드하는 코드를 삽입하는 것이 가능했습니다.”라 밝혔습니다.



악성 SDK, 최소 24시간 동안 제공돼


Twilio는 공격을 인지한 후 1시간 만에 보안 및 제품 팀이 악성 TaskRouter JS SDK 라이브러리를 교체하고 S3 버킷을 보호했다고 밝혔습니다.


Twilio는 아래와 같이 밝혔습니다.


지난 7월 19일, 고객이 애플리케이션에 포함시킬 수 있도록 호스팅하는 Javascript 라이브러리에 수정사항이 발생한 것을 발견했습니다. TaskRouter JS SDK의 수정된 버전은 1:12 PM PDT (UTC-07:00) 쯤 우리 사이트에 업로드 되었습니다. 9:20 PM PDT쯤 이 사실에 대한 경고를 받았으며, 10:30 PM PDT 쯤에 이를 교체했습니다.


따라서 변조된 TaskRouter JS SDK 라이브러리는 사용자 브라우저나 회사의 CDN을 통해 교체된 후 최대 24시간 동안 노출되어 있었던 것으로 추정할 수 있습니다.


Twilio는 공격자가 고객의 정보나 데이터에 접근할 수 있었다는 증거를 찾지 못했다고도 밝혔습니다. 또한 공격자들은 Twilio의 내부 시스템, 코드, 데이터에는 접근할 수 없었습니다.


Twilio는 초기 조치 및 또 다른 AWS S3 버킷에 대한 감사를 진행한 후 보호되지 않은 또 다른 버킷을 발견했으나 호스팅된 다른 SDK는 이 사고에 영향을 받지 않았다고 밝혔습니다.


또한 회사는 사고를 확인하는 과정에서 TaskRouter JS SDK를 호스팅하는 경로가 약 5년 동안 공개적으로 쓰기가 가능한 상태로 방치되어 있었던 사실을 발견했습니다.


Twilio는 아래와 같이 밝혔습니다.


사고 조사 중, 우리는 이 경로가 2015년 추가되었을 당시에는 공개 쓰기 권한이 설정되어 있지 않은 상태임을 확인했습니다. 5개월 후 빌드 시스템 한 곳에 발생한 문제를 해결하던 중 약간의 변경 사항이 있었으며, 이 문제가 수정된 후 해당 경로에 대한 권한이 올바르게 리셋되지 않은 것으로 보입니다.


Twilio는 “Twilio Flex가 에이전트와의 상호작용 라우팅을 제공하기 위해 TaskRouter를 사용하기 때문에 Flex 고객은 이 문제에 영향을 받지 않습니다. Twilio Flex는 다른 TaskRouter용 SDK를 사용하며, 이를 공개 사이트에서 로드하지 않으며, Flex-ui용 단일 JS 파일의 일부로 번들로 묶습니다.”라 밝혔습니다.


하지만, 해킹 사고가 발생했던 기간 동안 이를 다운로드했던 고객이 있다면 즉시 영향을 받은 SDK를 교체할 것을 권고했습니다.


2020년 7월 20일 오전 5:12 ~ 7월 21일 오후 2:30(한국 시간) 동안 TaskRouter JS SDK 버전 1.20을 다운로드했을 경우 즉시 현재 제공되는 SDK 버전을 재 다운로드 하고 구 버전을 교체해야 합니다.



Magecart와의 연관성


Twilio는 공격자가 삽입한 JavaScript 코드를 분석한 결과 이 코드가 악성 트래픽 리디렉터라는 것을 발견했습니다. 이는 RiskIQ에서 jqueryapi1oad로 추적되는 악성코드이며, 오랫동안 실행되어 온 광고캠페인인 Hookads와 관련이 있습니다.


Hookads는 JavaScript 리디렉터를 사용하여 웹사이트 방문자를 온라인 광고 및 게임으로 위장한 일련의 미끼 사이트로 이동시키고 익스플로잇 키트를 통해 악성코드 페이로드를 설치합니다.


jqueryapi1oad는 고유 도메인 671개와 연결되어 있으며 “알렉사 탑 1,500에 랭크된 도메인”이 포함되어 있습니다. RiskIQ의 위협 연구원인 Jordan Herman는 BleepingComputer 측에 “이달 초부터 새로이 감염된 도메인 173개를 발견했다”고 밝혔습니다.


또한 그는 Twilio 해킹 사고에 대해 보호되지 않은 아마존 S3 버킷을 공격 벡터로 사용한 공격의 예일 뿐이라 밝혔습니다.


Twilio는 TaskRouter JS SDK 라이브러리에 주입된 악성 코드가 gold.platinumus[.]top/track/awswrite의 URL을 로드하고 다른 사이트로 리디렉트 해 사용자가 브라우저의 뒤로가기 버튼을 사용하지 못하도록 차단하고, 모바일 기기 관련 데이터를 수집하려 시도했습니다.

Twilio는 아래와 같이 밝혔습니다.


“이 스크립트는 사용자의 터치 스크린 크리에 대한 데이터를 수집하려 시도하고, 모바일 기기를 노린 이벤트를 사용합니다.”


“이러한 행동 및 지표는 모바일 기기 사용자를 노리는 Magecart 공격 그룹과 연결된 악성 광고 캠페인과 일치합니다.”


“이 공격이 모바일 기기 사용자에게 악성 광고를 제공하도록 설계되었다고 추측합니다.”





출처:

https://www.bleepingcomputer.com/news/security/twilio-exposes-sdk-attackers-inject-it-with-malvertising-code/

https://www.twilio.com/blog/incident-report-taskrouter-js-sdk-july-2020

티스토리 방명록 작성
name password homepage