광고 차단기 Adblock 이용해 악성코드 실행 가능

Adblock, Adblock Plus, uBlocker에 해당

광고를 차단하는 브라우저 확장 프로그램으로 인기를 끌고 있는 애드블럭, 애드블럭 플러스, 유블로커를 악용해, 오히려 악성코드를 실행할 수 있는 문제점이 발견됐다. 이들은 일반적인 광고 차단 외에, 광고를 다른 내용으로 대체할 수 있는 $rewrite라는 기능을 갖고 있는 데서 비롯됐다.

광고 차단 앱들은 차단 목록(filter list)를 기반으로 작동한다. 문제의 앱에서는 목록에서 $rewrite 옵션을 이용해, 특정 사이트에서 임의의 외부 스크립트를 실행할 수 있었다. 물론 이 기능이 그리 허술한 것은 아니어서, 원칙적으로 다른 도메인의 스크립트는 실행할 수 없다. 그러나 XMLHttpRequest, Fetch to download, open redirect 등 특수한 조건을 갖춘 사이트에서는 외부 스크립트 실행이 가능하다.

구글 맵에서 악성 스크립트 실행

언뜻 보면 이론적인 가능성에 불과하고, 실현 가능성은 낮게 보일 수 있다. 그러나 대부분의 사람들이 믿고 사용하는 Google Map이 바로 여기에 해당한다. 구글 맵 이용만으로 악성코드에 감염된다고 생각해 보자. 현실적이고 치명적인 위협이다.

취약점 책임 소재 애매

이 사실을 통보받은 구글은, 특정 확장 프로그램의 문제일 뿐 사이트의 결함은 없다는 입장이다. 일리가 있다. 그렇다고 애드블럭의 결함이라고 단정하기도 애매하다. 결국 특정한 조건들이 결합하여 발생하는 예외적인 경우라고 볼 수 밖에 없다. 그리고 이런 위험을 최소화하기 위해서는, 앱을 너무 무분별하게 설치하지 말고, 꼭 필요한 것들만 설치하는 것이 좋은 습괸이다.

애드블럭 측은 일단 $rewrite 옵션을 제거한 업데이트 버전을 내놓겠다는 입장을 밝혔다.

악의적인 차단 목록 가능

광고 차단기의 filter list는 개발자가 직접 제공하기도 하지만, 제3자(third-party)가 제공하는 것을 다운로드할 수도 있다. 따라서 악의적으로 조작된 차단 목록을 갖게 될 수 있다. 물론 다른 악성코드가 차단 목록을 조작할 수도 있다. 이 점은 모든 광고 차단기에 공통적으로 해당된다.

실제로 2018년에 핀란드에서, 정치적인 동기로 악성 차단 목록을 배포해서 노동조합 사이트에 접속이 불가하도록 차단한 사례가 있다.


참고 자료

댓글

이 블로그의 인기 게시물

엑셀 필터 상태에서 복사와 잘라내기

가정에서도 망 분리를 해보자

잉크젯 프린터 전원은 항상 켜 놓아야 좋다