‘멀버타이징(malvertising)’이란 ‘악성 광고(malicious advertising)’의 줄임말로 온라인 광고를 사용해 멀웨어를 퍼뜨리거나 사용자를 악성 사이트로 리디렉션하는 것을 의미한다. 사이버 범죄자는 사용자가 매일 방문하는 합법적인 웹사이트에도 악성 광고를 게재할 수 있다. 이를 통해 사용자가 해당 광고를 클릭하지 않더라도 사용자의 기기가 멀웨어에 감염될 수 있다.
멀버타이징 작동원리를 살펴보자. 온라인 광고는 다양한 광고 주체, 프로세스 및 서비스가 함께 작동하는 복잡한 구조로 이뤄져 있다. 따라서 사이버 범죄자가 악용할 수 있는 수많은 취약점이 존재한다.
먼저 ‘광고 공간구매’가 있다. 사이버 범죄자는 웹사이트에서 직접 또는 광고 네트워크를 통해 광고 공간을 구매하거나 인벤토리를 사고팔 수 있는 플랫폼을 제공한다. 다음은 ‘감염된 광고 배포’로 이미지 백그라운드에 악성코드를 숨긴 광고를 제작한 후 사용자가 구매한 공간에 게시한다.
‘광고 로드 시 감염’되는 사례도 있다. 사용자가 합법적인 웹사이트를 방문하면 그 웹사이트에 게재되는 광고가 악성인지 알 수 있는 방법이 없다. 그래서 악성 광고가 로드되는 즉시 해당 광고에 포함된 멀웨어가 다양한 방식으로 활성화될 수 있다. 이를 세분하면 첫 번째로 광고를 클릭하면 악성코드가 활성화되고 기기에 멀웨어가 다운로드되는 ‘클릭 기반 감염’이 있다. 또 다른 하나는 ‘드라이브 바이 다운로드’로 광고를 클릭할 필요조차 없이 광고를 로딩하는 것만으로도 악성코드가 실행되고 멀웨어가 설치되는 방식도 있다. 이밖에도 멀웨어가 다운로드되지 않는 방식도 있다. 악성코드가 브라우저 요청을 가로채 사기성 웹사이트로 리디렉션하는 것인데, 이를 악성 리디렉션이라고 한다.
애드웨어와 멀버타이징의 차이는 무엇일까? ‘애드웨어’는 사용자의 PC가 이미 멀웨어에 감염되어 있어야 한다. 애드웨어에 감염되면 브라우저 팝업이나 시스템 알림과 같은 비정상적인 위치에 광고가 표시된다. 반대로 ‘멀버타이징’은 합법적인 웹사이트를 통해 퍼지는 것으로 별도의 악성 소프트웨어가 피해자의 컴퓨터에 설치돼 있을 필요가 없다.
멀버타이징의 유형은 크게 네 가지로 나눌 수 있다. 첫 번째는 ‘스테가노그래피(Steganography)’로 무해해 보이는 이미지에 악성코드를 숨기는 기술이다. 몇 개의 픽셀을 변경해 그 차이가 사람의 눈에는 보이지 않도록 한다. 이때 숨겨진 악성코드는 백그라운드에서 실행된다.
두 번째는 ‘다언어코드 이미지(polyglot image)’로 이 안에는 악성코드와 코드 실행에 필요한 스크립트가 모두 포함돼 있다. 다언어코드 이미지는 멀티 레이어 공격을 유발할 수 있어 특히 위험하다.
세 번째는 ‘기술지원 사기(Technical support scam)’다. 악성 광고가 사용자의 브라우저를 가로채고 핫라인으로 전화하라고 요청한다. 사용자가 전화를 걸면 사기꾼은 사용자에게 금전이나 개인정보를 요구한다.
네 번째는 ‘스케어웨어(scareware)’로 컴퓨터가 바이러스에 감염됐다고 주장하며 ‘솔루션’을 다운로드하도록 요청하는 팝업 광고다. 하지만 해당 솔루션은 쓸모없거나 그 자체로 악성이다.
멀버타이징을 예방하는 방법은 무엇이 있을까? 멀버타이징은 개인정보 도난, 로그인 정보 탈취, 랜섬웨어 공격을 유발할 수 있으며 감염된 기기를 통해 기업 네트워크 전체에 심각한 피해를 줄 수 있다.
이를 예방하기 위해서는 사용자 평판이 좋은 안티바이러스를 사용하고, 정기적인 업데이트를 통해 사용 중인 소프트웨어를 최신 상태로 유지해야 한다. 또한 광고 차단 기능이 내장된 보안 브라우저를 사용하고, 플러그인 관리를 통해 불필요한 플러그인 비활성화 및 정기적인 업데이트를 해야 한다. 이밖에도 URL이 HTTPS(HyperText Transfer Protocol over Secure Socket Layer)인지 확인하고 피싱 공격을 식별하는 등 안전한 웹 사용 습관을 들이는 것이 중요하다.
[제작=서울여자대학교 정보보호학과 제21대 학생회 플래그]
<저작권자: 보안뉴스(www.boannews.com) 무단전재-재배포금지>