온라인 광고 vs 보안, 보이지 않는 전쟁

2018-03-20 18:55
  • 카카오톡
  • 네이버 블로그
  • url
온라인 광고가 키우는 웹 복잡성, 웹사이트 취약성 키워
노스크립트 플러그인으로 CNN 홈페이지 하나씩 짚어보니


[보안뉴스 오다인 기자] 뉴스 사이트는 전쟁터다. 광고를 하려는 자와 광고를 막으려는 자 사이의 전쟁이 격렬하다. 뉴스 사이트는 방문자에게 광고를 노출해서 돈을 벌어야 하고, 방문자는 뉴스 사이트가 강제로 노출하는 광고를 차단하려고 한다는 사실을 생각하면 이해 못할 전쟁은 아니다.


▲광고 노출에 대한 자사 입장을 설명하는 뉴스 사이트[이미지=코리 나크라이너]

그러나 웹 복잡성과 보안 사이의 보이지 않는 전쟁에 대해 생각해본 이는 상대적으로 드물 것이다. 이 전쟁은 최신 광고와 분석 기법 때문에 벌어지고 있다. 뉴스 사이트가 광고 수익을 내기 위해 계속 추가해 나가는 메커니즘들은 웹 애플리케이션을 끔찍하리만큼 복잡하고 또 그만큼 취약하게 만드는 중이다. 불법적인 ‘멀버타이저(malvertiser)’가 활개 치는 배경이다.

필자는 이 같은 복잡성 대(對) 보안 문제를 독자들에게 설명하기 위해 ‘노스크립트(NoScript)’를 이용해 평균적인 뉴스 사이트 한 곳에 방문해봤다. 노스크립트는 필자가 애용하는 보안 플러그인(plug-ins) 중 하나다.

노스크립트는 파이어폭스에서 제공하는 훌륭한 브라우저 플러그인이다. 웹 페이지상의 △자바스크립트 △자바 △플래시 △액티브X 같은 모든 종류의 액티브 스크립팅을 자동적으로 차단해준다. 다른 브라우저에는 ‘스크립트세이프(ScriptSafe)’처럼 유사한 확장 프로그램들도 있다. 이렇게 하면 많은 유형의 웹 기반 공격들을 막아낼 수 있다. 웹 기반 공격들은 보통 스크립팅이 반드시 필요하기 때문이다.

일반 사이트 대다수가 광고와 같은 합리적인 목적에서 스크립팅을 사용한다. 그래서 이런 확장 프로그램을 쓰는 것은 알려지지 않거나 의심스런 도메인은 차단하면서 이용자가 원하는 사이트들의 스크립트만 돌아가도록 조치하는 화이트리스팅(whitelisting)의 과정이 된다. 또한 당신이 ‘단 한 곳’의 인터넷 사이트를 방문하는 일이 사실은 수없이 많고 다른 도메인들을 방문하는 일과 같다는 것도 이 플러그인을 사용하면 알 수 있다.

CNN 홈페이지(CNN.com)를 일례로 한 번 살펴보자.

당신이 노스크립트를 새로 깐 뒤 CNN 홈페이지를 최초로 방문한다면 거의 볼 수 있는 게 없을 것이다. 노스크립트는 심지어 CNN의 스크립트들까지 차단하기 때문이다. 노스크립트는 스크립트와 폰트를 합쳐서 총 31개의 아이템을 차단했다고 경고할 것이다.


▲노스크립트로 CNN 홈페이지를 방문한 화면(오른쪽 상단 표기)[이미지=코리 나크라이너]

노스크립트의 드롭다운 메뉴는 CNN이 기타 도메인에서 로드하려는 추가적인 콘텐츠들을 모두 보여준다. 필자는 CNN이라는 특정 도메인에서 나오는 스크립트와 콘텐츠만 허용하는 것부터 하나씩 시작해보겠다. 다시 말해, ‘Chartbeat.com’ ‘Optimizely.com’ ‘Sharethrough.com’에서 나오는 스크립트는 계속해서 무시할 거라는 뜻이다.


▲CNN 최초 방문 시 차단된 콘텐츠 목록[이미지=코리 나크라이너]

필자는 이런 플러그인을 자주 사용해왔기 때문에 앞서 언급된 도메인들이 ‘합법적인’ 도메인이라는 사실을 알고 있다. 차트비트(Chartbeat)는 데이터 시각화 소프트웨어, 옵티마이즐리(Optimizely)는 서드파티 사이트 최적화 툴, 셰어쓰루(Sharethrough)는 광고 소프트웨어다. 필자는 개인적인 경험상 이런 도메인을 파악하고 있다 하더라도 그냥 평균적인 유저들이 이런 사실을 어떻게 알겠는가? 더 중요한 건, CNN이 도메인 하나를 신뢰해갈 때마다 잠재적으론 공격 지점이 더욱 늘어난다는 사실이다. 만약 서드파티 중 한 곳이 부주의해진다면, CNN 사이트와 방문자까지 부주의의 대가를 치러야 할지 모른다.

CNN 홈페이지 도메인을 신뢰할 수 있는 도메인으로 추가하고 나면, 사이트가 다시 리로드 된다. 이번에 노스크립트는 CNN의 스크립트는 돌아가도록 허용하기 때문에 일부 페이지 콘텐츠가 보여진다. 이제 노스크립트는 신뢰할 수 없는 스크립트 7개가 추가적으로 작동하려 한다고 경고한다. 바로 직전에 필자가 CNN에서 허용한 스크립트들이 다른 도메인으로부터 더 많은 콘텐츠들을 로딩하려고 하기 때문이다. 아래 이미지는 이 같은 결과의 일부분을 보여준다.


▲‘CNN.com’만 허용했을 때 노스크립트의 결과 일부[이미지=코리 나크라이너]

인심을 조금 더 써보자. 구글, 아마존, 트위터, 빙이라는 이름이 들어간 건 전부 신뢰하기로 한다. 루트 도메인(root domain)이 아니더라도 말이다. ‘CNN.io’와 ‘CNN.net’이 CNN의 일부라는 사실을 파악했기 때문에 이들 도메인도 신뢰하기로 한다. 또 다른 페이지가 리로드 되고, 또 다른 노스크립트 결과가 나타난다. 처음보다 훨씬 더 많은 것들을 신뢰했음에도 불구하고 이 사이트는 이제 24개의 새로운 스크립트를 가동하려고 하고 훨씬 더 많은 도메인에서 콘텐츠를 로드하려고 시도한다.


▲큰 신뢰(?)로 얻은 노스크립트의 세 번째 결과[이미지=코리 나크라이너]

흐름이 보이는가. CNN 페이지는 다른 서드파티 도메인으로부터 엄청난 양의 스크립트 콘텐츠를 로딩하고 있고, 이 서드파티 도메인들은 또 다른 서드파티 도메인에서 더 많은 콘텐츠를 로딩하고 있다. 결국 필자는 CNN이 원하는 모든 도메인을 신뢰하게 되고, CNN 홈페이지가 로드하는 모든 도메인의 최종 목록을 다음과 같이 얻었다.


[이미지=코리 나크라이너]

필자는 브라우저 내의 페이지 하나(CNN.com)에 방문했고 47개의 다른 도메인으로부터 콘텐츠를 로드 받았으며 또 다른 도메인으로부터 수많은 스크립트가 돌아가는 상황을 맞았다.

이 경우, CNN 홈페이지는 해킹된 게 아니지만 공격자가 히든 아이프레임(hidden iframe)처럼 코드를 삽입할 수 있는 취약점이 있다고 상상해보자. 그 누가 딱 하나의 악성 도메인을 포착해낼 수 있을 것인가? 보통의 사이트가 이토록 많은 서드파티 콘텐츠를 이미 이렇게 로드하는 것이 일상인데 말이다.

서드파티 중 한 곳이 해킹된다면 더 심각한 일이 벌어진다. 악의를 가진 범죄자가 광고 지면을 구입한 뒤 광고 네트워크를 감염시킨다면 CNN이 신뢰하는 여러 도메인 중 한 곳에서 이 히든 아이프레임이 나올지도 모른다. 사실 멀버타이징(malvertising, 악성 광고행위)은 요즘 흔하게 나타나고, 오랜 기간 탐지되지 않는 일이 왕왕 있다. CNN 같은 사이트는 피해 규모를 키우기 위한 탁월한 ‘워터링 홀(watering hole)’이 된다.

이는 단지 CNN에만 국한된 일이 아니다. 필자가 CNN만 콕 집어 괴롭히려는 것도 아니다. 산업 전반에서 복잡성을 일반적인 관례로 수용하고 있다는 게 문제다.

노스크립트 같은 툴은 이용자가 악성 광고가 내포한 위험으로부터 스스로를 보호할 수 있도록 도와준다. 필자는 산업계가 웹사이트를 단순화하거나 표적광고를 전달하는 방식을 더 스마트하게 만들 때까지 모든 사람이 이런 툴의 사용해야 한다고 생각한다.

요약하자면, 우리는 지금 광고 수익과 보안 사이 교착 상태에 빠져 있다. 사이트들은 수익을 창출해야 하지만 서드파티와의 연결에서 초래되는 복잡성이 잠재적인 취약성을 가중하고 공격 표면을 확장시키고 있다. 비즈니스상 수용 가능한 위험과 보안 사이에 균형을 찾아야 한다. 그러나 지금 같은 수준의 웹사이트 복잡성은 보안보다는 위험 쪽에 훨씬 더 많이 기울어 있다.

글 : 코리 나크라이너(Corey Nachreiner)
[국제부 오다인 기자(boan2@boannews.com)]

Copyrighted 2015. UBM-Tech. 117153:0515BC
<저작권자: 보안뉴스(www.boannews.com) 무단전재-재배포금지>

헤드라인 뉴스

TOP 뉴스

이전 스크랩하기


과월호 eBook List 정기구독 신청하기

    • 가시

    • 인콘

    • 엔텍디바이스코리아

    • 이노뎁

    • 다봄씨엔에스

    • 아이디스

    • 씨프로

    • 웹게이트

    • 엔토스정보통신

    • 하이크비전

    • 한화비전

    • ZKTeco

    • 비엔에스테크

    • 비엔비상사

    • 원우이엔지
      줌카메라

    • 지인테크

    • 그린아이티코리아

    • 이화트론

    • 다누시스

    • 테크스피어

    • 렉스젠

    • 슈프리마

    • 혜성테크윈

    • 시큐인포

    • 미래정보기술(주)

    • 효성인포메이션시스템

    • 비전정보통신

    • 경인씨엔에스

    • 지오멕스소프트

    • 성현시스템

    • 디비시스

    • 다후아테크놀로지코리아

    • 동양유니텍

    • 이앤엠솔루션

    • 세연테크

    • 트루엔

    • 위트콘

    • 투윈스컴

    • 이에스티씨

    • (주)우경정보기술

    • 주식회사 에스카

    • 이오씨

    • 넥스트림

    • 넷앤드

    • 에스지앤

    • 베스핀글로벌

    • 체크막스

    • 프렌트리

    • 신우테크
      팬틸드 / 하우징

    • 에프에스네트워크

    • 앤디코

    • 케이제이테크

    • 알에프코리아

    • 사라다

    • 아이엔아이

    • 포엠아이텍

    • 새눈

    • 창성에이스산업

    • 한국씨텍

    • 태정이엔지

    • 네티마시스템

    • 에이앤티코리아

    • 유투에스알

    • 구네보코리아주식회사

    • (주)일산정밀

    • 이스트컨트롤

    • 에스에스티랩

    • 에이앤티글로벌

    • 주식회사 알씨

    • 현대틸스
      팬틸트 / 카메라

    • 지에스티엔지니어링
      게이트 / 스피드게이트

    • 유에치디프로

    • 두레옵트로닉스

    • 엘림광통신

    • 티에스아이솔루션

    • 포커스에이치앤에스

    • 보문테크닉스

    • 휴젠

    • 메트로게이트
      시큐리티 게이트

    • 글로넥스

    • 신화시스템

    • 세환엠에스(주)

    • 유진시스템코리아

    • 카티스

    • 유니온커뮤니티

Copyright thebn Co., Ltd. All Rights Reserved.

MENU

회원가입

PC버전

닫기