본문 바로가기
카테고리 없음

HTML : polyfill.io 사이트 이용시 대체방법 (공급망 공격 issue)

by 번데기 개발자 2024. 9. 13.
반응형

 

개요

 

혹시 웹사이트를 개발할 때 polyfill.io 사이트를 CDN으로 사용하고 있나요?

 

저는 이전에 작업했던 프로젝트에서 에러가 발생하여 살펴보니 2024년 2월 이후부터 CDN으로 사용하고 있던 polyfill.io 사이트가 중지가 되었습니다. 

 

 

Polyfill 이란?

 

polyfill이란, "충전 솜" 이라는 의미를 가지고 있는데요, 웹개발에서 polyfill은 신규 자바스크립트에서 도입된 문법을 구형 브라우저에서 돌아갈 수 있도록 도와주는 역할을 합니다. 즉 Promise 나 Set 객체등과 같이 우리가 당연히 알고 있는 자바스크립트의 요소들이 구형 브라우저에서 지원되지 않을 때 polyfill을 통해 이를 메꿔줄 수 있습니다.

 

polyfill.io CDN 사용의 문제점

 

웹 애플리케이션에 polyfill을 제공하는 polyfill.io 서비스는 많은 개발자분들이 폴리필을 제공하기 위해 사용하고 있었는데요, 2024년 2월에 중국 기업이 해당 사이트를 인수한 뒤 polyfill.io 서비스에 심각한 공급망 공격이 발생하였습니다.

 

CDN으로 사용할 경우 보안상 취약점이 발견이 되어 현재 해당 사이트에서 polyfill 사이트를 사용할 수 없습니다.

 

Remove Polyfill.io code from your website immediately

Scripts turn sus after mysterious CDN swallows domain

www.theregister.com

 

위 기사 내용을 간단히 번역해 보면 아래와 같습니다.

 

중국 조직이 2024년 2월 polyfill.io 도메인을 인수한 후, 이를 통해 10만 개 이상의 웹사이트에 악성 코드를 감염시키고 있다는 경고가 나왔습니다. polyfill.io는 이전에 구형 브라우저에서 새로운 기능을 사용할 수 있도록 해주는 자바스크립트 폴리필 서비스를 제공했지만, 현재는 악성 코드가 포함된 스크립트를 제공하고 있습니다.
다수의 보안 업체들이 polyfill.io 도메인을 사용하는 웹사이트들에게 해당 코드를 즉시 제거하라고 경고했습니다. 특히 구글은 영향을 받은 웹사이트들의 구글 광고를 차단하는 조치를 취하며, 보안 문제 해결을 위한 가이드를 제공했습니다.
보안 회사 Sansec는 이 도메인을 인수한 것으로 알려진 CDN 운영자 Funnull이 공급망 공격을 수행하고 있다고 주장했습니다. 해당 도메인은 주로 모바일 기기를 악성 사이트로 리디렉션 하는 공격을 수행하고 있는 것으로 보입니다.
이전 프로젝트 창립자인 Andrew Betts는 올해 초부터 polyfill.io 사용을 중단하라고 경고했으며, Fastly와 Cloudflare는 안전한 미러 사이트를 제공했습니다.

 

 

공급망 공격이란 해커가 소프트웨어나 서비스 제공자의 시스템을 먼저 공격한 후, 그 시스템을 통해 다른 사용자나 기업에 악성 코드를 배포하는 방식의 해킹입니다. 쉽게 말해, 믿고 사용하던 프로그램이나 서비스를 통해 해커가 악성 코드를 전파하는 것입니다.

 

실제 Funnell이란 조직이 주도해서 공급망공격이 이뤄지는지는 알 수 없지만 중국 기업에 넘어간 이후부터 해당 사이트를 이용하는 것 자체가 크게 보안상 위험하다고 할 수 있습니다.

 

polyfill.io 사이트 대체 방법 

 

 

Fastly Polyfill

Upgrade the web. Automatically. Delivers only the polyfills required by the user's web browser.

polyfill-fastly.net

 

 

cdnjs.cloudflare.com/polyfill

Upgrade the web. Automatically. Delivers only the polyfills required by the user's web browser.

cdnjs.cloudflare.com

 

 

위 2개의 사이트가 현재 검증된 사이트들인데요, 위 사이트에서 polyfill을 적용하면 됩니다. 

또한 최신 브라우저에서는 거의 필요하지 않으므로 Polyfill.js 사용을 중단하는 것도 고려해 볼 만한 대목입니다.

 

마무리

 

오늘은 polyfill.io 사이트에 대한 공급망 문제와 이에 대해 대체할 수 있는 방법에 대해 정리해 보았습니다. 

 

개발을 할 때 외부에 의존되는 CDN 사용을 할 때 다시 한번 보안에 대해 생각해 보고 사용해야겠다는 생각을 하게 되었네요.

 

다음번에도 흥미로운 내용이 있으면 포스팅하도록 하겠습니다.

 

감사합니다.

반응형