가정에서 이용하는 공유기 버그를 악용해 원래 없던 광고나 콘텐츠를 웹에 삽입하는 방법이 발견됐다. 이는 DNS 체인저(DNS Changer)라고 불리는 악성코드를 이용해 라우터에 캐시 저장한 DNS 설정을 부적절하게 사용, 페이지에서 사용하는 구글 애널리틱스(Google Analytics) 태그를 빼앗는 구조를 취하고 있다.

영상을 보면 구글 크롬 브라우저에서 웹주소를 입력하면 사이트가 나왔지만 화면을 보면 원래는 없어야 할 배너 표시가 나온다. 다른 사이트도 마찬가지. 원래 없던 온라인 배너가 나오기도 한다. 언뜻 보면 사이트가 해킹되어 불법 광고가 삽입된 것처럼 보이지만 실제로는 사이트 자체는 문제가 없다. 사이트에 포함되어 있는 구글 애널리틱스 태그를 악용한 것이다.
구글 애널리틱스는 수많은 사이트에 활용되고 있다. 페이지 관리자는 소스코드에 구글 애널리틱스 태그 사용을 위한 웹추적코드를 설정해야 한다. 이 코드를 설정한 페이지를 열게 되면 구글 애널리틱스 태그는 관련 내용을 기록하기 위한 자바스크립트를 불러온다. 그런데 이 때 참조 서버 정보를 무단으로 고쳐 써서 광고 서버 등을 거치게 하면 구글 애널리틱스 대신 불법 광고가 표시되는 것이다.
이 과정을 보면 먼저 방문자가 페이지를 열면 브라우저는 구글 애널리틱스 서버의 URL에 필요한 파일을 요청한다. 지정된 URL은 공유기에 저장되어 있는 DNS 설정을 바탕으로 IP 주소로 변환한다. 하지만 이 때 공유기에 있는 DNS 설정이 갱신되면 악의적 공격자의 IP 주소를 브라우저에 반환하게 된다.
다시 필요한 IP 주소를 받은 브라우저는 의심 없이 지정된 IP를 이용해 서버에 접속한다. 여기에는 원래는 없어야 할 광고나 기타 콘텐츠가 있어 이를 페이지에 표시하게 되는 것이다.
그냥 보면 사이트가 해킹된 것처럼 보이지만 실제 문제는 DNS 설정이 겹친 공유기에 있다. 공유기의 보안 허점을 찔러 DNS를 바꿔버리는 문제는 이전부터 지적되어 왔다. 이번 구조는 이 버그를 악용한 것이다. 구글 애널리틱스를 악용한 이유는 단순하다. 수많은 사이트에 쓰이고 있기 때문.
이런 문제를 해결하려면 공유기 펌웨어를 업데이트하는 게 좋다.
전자신문인터넷 테크홀릭팀
이상우기자 techholic@etnews.com