글로벌 유명 결제 서비스 도메인 포함...대량 데이터 탈취 우려
에이아이스페라, Polyfill.io 도메인 대상 공급망 악성코드 공격 분석
[보안뉴스 김영명 기자] 폴리필(Polyfill)은 구형 브라우저를 지원하는 오픈소스 라이브러리이며. Polyfill.js는 전 세계 10만개 이상의 사이트에서 사용하고 있는 오픈소스 자바스크립트 코드다. 최근 이 Polyfill.js 라이브러리를 사용하는 Polyfill.io 도메인이 악성코드 공격에 노출된 것이 확인됐다.

[이미지=gettyimagesbank]
에이아이스페라는 Polyfill.io 도메인을 대상으로 한 공급망 악성코드 공격에 대해 상세하게 분석했다. 보안기업 샌섹(Sansec)의 조사에 따르면 폴리필 공급망 공격의 시작은 올해 2월에 중국 기업 펀눌(Funnull)이 Polyfill.io의 도메인을 인수한 후 해당 도메인의 자바스크립트 라이브러리(Polyfill.js)를 수정해 모바일 사용자가 악성 사이트에 리다이렉션되도록 도메인에 악성코드를 주입한 것에서 시작했다.
이들은 사용자들을 스포츠 도박, 성인 사이트 등의 유해 사이트로 유도해 사용자의 개인정보와 데이터를 탈취하려 했는데, 이때 사용된 도메인 중에는 유명 결제 서비스 도메인도 포함돼 있어 대량의 데이터 탈취가 우려되고 있다. 특히 이들을 가짜 구글 애널리틱스 도메인도 공격에 사용해 모바일 사용자가 스포츠 베팅 사이트로 리디렉션되도록 하기도 했다. 이렇게 글로벌 사이트를 공격에 악용한 것이 더욱 광범위한 공급망 공격을 초래하는 원인이 됐다.
피해가 커지자 구글은 6월 25일에 polyfill.io 도메인을 사용하는 전자상거래 사이트의 구글 광고를 차단하기 시작했다. 해당 공격은 HTTP 헤더를 기반으로 동적으로 생성된 코드가 특정 모바일 기기에서 특정 시간에만 활성화되며, 관리자 사용자나 웹 분석 서비스가 감지되면 실행을 지연시키도록 설계돼 있어 리버스 엔지니어링(reverse engineering) 기법조차 방해하는 특징이 있다.
폴리필 기술 기반 IP 주소 10만개... 미국이 가장 많이 사용
이번 폴리필 공격 기법은 역추적이 어려운 만큼, 폴리필의 코드 제작자조차도 최신 브라우저에서는 더 이상 폴리필이 필요하지 않기 때문에 이를 사용하지 말라고 권장하고 있다. Polyfill.js가 사용된 코드를 곧바로 변경하기 어렵거나, 폴리필을 사용하고 있는 도메인을 파악하기 어렵다면, CTI 위협헌팅 검색엔진을 통해 외부에 노출된 폴리필과 연관된 IP 주소와 도메인을 찾는 것이 대응책이 될 수 있다.
에이아이스페라의 CTI(Cyber Threat Intelligence) 검색엔진 Criminal IP의 Asset Search에서 폴리필을 기술 스택으로 사용하고 있는 연관 IP 주소들을 찾아봤다. 폴리필을 기술 스택으로 사용 중인 IP 주소는 총 9만 8,076개로 나타났다. 그 가운데 미국이 3만 6,175개로 가장 많으며, 이어서 일본 1만 378개, 중국 9,378개 순으로 탐지됐다.
검색된 결과 가운데 하나의 IP 주소를 선택해보면 IP 주소 리포트 내에서도 폴리필을 사용 중인 포트와 배너 정보를 확인할 수 있다. 즉 직접 관리하고 있는 IP 주소를 검색하면 폴리필이 적용돼 있는지를 알 수 있다.
에이아이스페라 관계자는 “폴리필 제작자는 즉시 폴리필 도메인을 삭제하고, 대안으로 패스틀리(Fastly)와 클라우드플레어(Cloudflare)를 제안하고 있다”며 “따라서 공급망 공격을 예방하는 가장 좋은 방법은 폴리필 제작자의 권장처럼 문제가 되는 도메인을 파악하고 삭제하는 것”이라고 말했다. 이어 “오픈소스 라이브러리가 악성코드의 타깃이 될 수 있다는 것을 보여주는 만큼 사용 중인 오픈소스 스크립트가 악의적으로 수정되지는 않았는지 지속해서 모니터링하는 것도 중요하다”고 강조했다.
[김영명 기자(boan@boannews.com)]
<저작권자: 보안뉴스(www.boannews.com) 무단전재-재배포금지>