광고 한 칸이 감염 경로가 될 때 — AdFection과 애드테크의 보안 부채
광고 한 칸이 감염 경로가 될 때 — AdFection과 애드테크의 보안 부채
광고 생태계가 악용당한 것인가, 아니면 광고 생태계가 원래 설계된 대로 작동한 것인가?
도입
2026년 10월 15일, 토론토 대학교의 디지털 조사 연구소 Citizen Lab이 보고서 하나를 공개했다. 제목은 「Exposing AdFection: How Discover-Tech Turned Targeted Ads Into a Pipeline for Zero-Click Mercenary Spyware」, 저자는 Bill Marczak, Wolfie Christl, John Scott-Railton, Astrid Perry, Siena Anstis, Ron Deibert다. 같은 날 해커뉴스에는 이 보고서가 521점, 이를 다룬 Guardian 기사가 515점을 받으며 거의 나란히 1면에 올랐다.
보고서의 핵심 주장은 한 문장이다. 타깃 광고를 통해 제로클릭 용병 스파이웨어가 배포된 사례를 공개적으로, 기술적으로 확인한 것은 이번이 처음이라는 것이다. Citizen Lab은 이 기법에 AdFection이라는 이름을 붙였다. 피해 사례로는 카타르의 국제 방송사 Al Jazeera가 지목됐다. 2024년과 2025년에 걸쳐 Al Jazeera 내부의 최소 45대 기기가 공격 대상이 됐고, 보고서는 이를 Candiru(현재 Integrity Labs로 이름을 바꾼 이스라엘 스파이웨어 업체)의 스파이웨어와 높은 확신으로 연결한다.
광고 업계는 오래전부터 멀버타이징(malvertising), 즉 악성 광고와 싸워 왔다. 그러나 그동안의 멀버타이징은 대체로 돈을 노린 범죄였다. 사기 페이지, 강제 리디렉션, 피싱이 주류였다. 이번 사건이 다른 이유는 광고 시스템의 가장 정교한 기능, 곧 특정 개인을 골라서 광고를 보여 주는 능력이 그대로 국가급 감시의 조준경으로 쓰였다는 데 있다. 이 글은 보고서가 공개한 범위 안에서 그 구조를 정리하고, 광고 차단과 광고 거래소의 책임이라는 두 질문을 따라가 본다.
입찰 한 번, 판정 한 번 — 보고서가 밝힌 구조
먼저 무대가 되는 실시간 입찰(RTB)을 짚고 가자. 보고서의 설명에 따르면 사용자가 앱이나 웹사이트에서 광고를 볼 때, 그 광고는 대개 1초도 안 되는 경매의 결과다. 사용자의 기기가 입찰 요청을 내보내고, 광고주 측은 수요측 플랫폼(DSP)을 통해 입찰하며, 매체 측은 공급측 플랫폼(SSP)을 통해 지면을 판다. 이런 경매는 Google 등이 운영하는 광고 거래소에서 하루 수천억 번 일어난다. 그리고 이 입찰 요청에는 기기 식별자, 정밀 위치, IP 주소, 앱이나 사이트 정보 같은 세밀한 데이터가 담긴다. 보고서는 경매 시스템 자체가 모바일 광고 ID, 쿠키 ID, IP 주소 등으로 단 한 사람을 겨냥할 수 있도록 설계되어 있다고 쓴다.
두 번째 전제는 광고가 그림이 아니라 코드라는 사실이다. 광고에는 광고주, DSP, 그 밖의 제3자가 넣은 HTML과 JavaScript가 포함될 수 있고, 이 코드는 광고를 보여 주는 앱이나 브라우저 안에서 실행된다. 노출 측정, 클릭 추적, 봇 판별 같은 이유로 업계는 이것을 일상적으로 허용해 왔다.
이 두 전제를 합치면 AdFection의 골격이 나온다. 보고서에 따르면 Discover-Tech라는 이스라엘 회사가 광고 경매에서 낙찰을 받아 광고를 내보낸다. 광고에는 Discover-Tech가 「NOAS 서버」라고 부르는 자사 서버를 가리키는 스크립트 태그가 들어 있다. 광고가 렌더링되면 이 태그가 사용자의 광고 식별자를 서버에 보내고, 서버는 IP 주소와 식별자 조합을 보고 이 사람이 대상인지 판정한다. 대상이 아니면 0바이트, 즉 빈 응답이 돌아온다. 대상이면 코드가 돌아온다. 보고서는 대부분의 사용자는 대상으로 선정되지 않아 아무 코드도 받지 않지만, 그래도 광고는 브라우저에서 데이터를 수집해 Discover-Tech로 돌려보낸다고 적는다.
이 설계의 영리함은 광고를 실어 나르는 회사들 쪽에서는 악성 코드는 물론 악성 코드로 가는 포인터조차 보이지 않는다는 점이다. 거래소가 심사하는 광고 소재는 게임이나 통신 서비스, AliExpress 할인 같은 평범한 배너다. 판정은 광고가 이미 사용자의 화면에 도달한 뒤, Discover-Tech의 서버에서 이루어진다.
Al Jazeera 사례에서 보고서가 제시하는 근거는 시간 순서다. Al Jazeera가 제공한 네트워크 로그에서 감염된 기기는 먼저 Discover-Tech 인프라 도메인과 통신하고(광고 노출), 이어 Candiru의 검증(validator) 서버와 통신하며, 마지막으로 Candiru의 명령 제어(C&C) 서버와 통신한다. Al Jazeera는 감염 기기 하나에서 Windows DLL 파일을 분리해 냈고, Citizen Lab은 그 동작이 2021년에 자신들이 포착한 Candiru 공격 체인의 새 버전이라고 높은 확신으로 결론지었다.
여기서 짚어 둘 점이 있다. 보고서는 광고 노출에서 스파이웨어 설치에 이르는 사이에 브라우저나 운영체제의 어떤 취약점이 쓰였는지는 공개하지 않는다. 해커뉴스에서도 이 간극이 지적됐다. 한 이용자는 광고 네트워크가 JavaScript를 전달한다는 것과 제로클릭 브라우저 익스플로잇 사이에는 큰 거리가 있으며, 보고서는 전자에 대해 훌륭한 OSINT를 보여 주지만 DLL이 피해자 기기에 도달하기까지의 연결 고리는 눈에 띄게 비어 있다고 평했다(직접 인용은 아니고, 코멘트의 요지를 요약)(@woodruffw). 공정하게 말하면 이 공백은 보고서의 결함이라기보다 공개 범위의 선택일 가능성이 크다. 다만 독자는 「광고만 봐도 감염된다」는 요약이 실제로는 「광고가 배송 경로가 되고, 그 뒤에 별도의 익스플로잇 체인이 있다」는 뜻이라는 점을 구분해 둘 필요가 있다.
인증된 업체라는 위장 — 왜 아무도 막지 못했나
이 사건에서 가장 불편한 대목은 기술이 아니라 자격이다. 보고서에 따르면 Discover-Tech는 2020년부터 Google의 외부 인증 벤더(Certified External Vendors, 약 2,400곳), 광고 기술 제공자 목록(약 1,000곳), 광고 개인화 제공자 목록(약 1,700곳)에 올라 있었다. 유럽 광고 업계 단체 IAB Europe의 글로벌 벤더 리스트(GVL)에는 2020년 7월 2일에 등재됐다. GVL은 유럽에서 GDPR 동의 신호를 주고받는 Transparency & Consent Framework(TCF)에 참여하기 위한 사실상의 필수 조건이다. 보고서는 이 등재들이 Discover-Tech를 정상적인 광고 회사처럼 보이게 만들었고, 대규모로 생태계에 참여하는 것을 도왔다고 평가한다. 해커뉴스의 한 요약 코멘트는 이를 「정문으로 들어왔다」고 표현했다. 아무것도 해킹하지 않았고, 다른 구매자와 똑같이 경매에 입찰했을 뿐이라는 것이다(직접 인용은 아니고, 코멘트의 요지를 요약)(@chunkyslink).
규모도 보고서가 공개한 데이터로 가늠할 수 있다. Citizen Lab은 Discover-Tech 웹사이트에 공개 상태로 노출되어 있던 Apache Druid 인스턴스 두 개에서 약 40억 건의 입찰 기록을 확보했다. 2026년 3월부터 6월까지 넉 달 동안 Discover-Tech의 MyDSP는 37억 7,028만 6,576건의 노출에 입찰해 4억 4,195만 4,291건(11.7%)을 따낸 것으로 보인다. 입찰의 76.7%는 모바일 앱, 23.3%는 웹 브라우저였다. 광고가 실린 곳은 7만 개가 넘는 모바일 앱과 12만 개가 넘는 웹사이트, 합쳐서 약 20만 곳이다.
그런데 이 숫자들 옆에 놓인 다른 숫자가 더 많은 것을 말한다. 데이터베이스에 기록된 광고주는 단 세 곳이었고, 대부분 Discover-Tech 자신이나 관련 법인으로 보였다. 넉 달간 지출은 비용이 USD 마이크로 단위로 기록됐다는 가정하에 약 10만 9,091달러였다. 전환(구매, 설치 등) 필드는 언제나 0이었다. 보고서는 광고 회사의 광고가 단 하나의 행동도 일으키지 않는 것은 매우 이례적이라고 쓴다. 다시 말해 광고 사업으로서는 거의 아무것도 하지 않는 회사가 수억 건의 노출을 사들이고 있었다. 광고 거래소의 관점에서 이 회사는 돈을 내고 지면을 사는 평범한 고객이었다.
보고서는 이 데이터로 무엇이 가능했는지도 보여 준다. Discover-Tech의 플랫폼 Controlium에는 특정 식별자나 IP 주소에 대해 최근 30분간의 광고 노출, 최근 입찰 요청(방문한 웹사이트나 사용 중인 앱, IP 주소 포함)을 조회하는 모듈이 있었다. 고객은 대상 식별자 목록을 업로드해 「세그먼트」로 묶을 수 있었고, 국가별 허용 및 차단 목록으로 사용 범위가 제한됐다. 보고서는 이것을 공격 플랫폼 라이선스의 관행이라고 묘사한다. 이것이 ADINT(광고 인텔리전스)다. 경매에 흘러다니는 데이터만으로 한 사람이 셀룰러, Wi-Fi, VPN을 오가며 어디로 움직이는지를 추적할 수 있다. Citizen Lab은 Discover-Tech의 광고가 수백만 대의 기기로 하여금 Candiru의 서버에 접속하게 했으며, 이는 대규모 추적과 정찰 목적일 가능성이 높다고 본다. 보고서는 또 DARK CARTOGRAPHER라고 이름 붙인 별도의 행위자가 Discover-Tech 인프라를 이용해 여러 이동통신사의 취약점을 악용, 광고 ID와 전화번호를 연결하고 있다고 밝히면서, 세부 내용은 후속 보고서로 미뤘다.
흥미로운 아이러니도 있다. 이토록 은밀한 배송 체계를 만든 회사가 자기 운영 쪽 보안은 허술했다. 보고서에 따르면 Controlium의 프런트엔드 소스 코드 전체가 로그인 페이지에 포함되어 있었고, 인증 없이 호출되는 엔드포인트에서 128일치 로그인 기록과 120개의 사용자명이 나왔다. 입찰 기록 40억 건도 누구나 읽을 수 있는 데이터베이스에 있었다. 결국 이 사건의 상당 부분은 공격자의 실수 덕분에 드러났다. 이는 동시에 다른 Discover-Tech가 실수를 하지 않는다면 우리가 알 방법이 거의 없다는 뜻이기도 하다.
광고 보안 업체 Confiant의 동시 공개 보고서는 이 점을 다른 각도에서 보여 준다. Confiant는 2026년 4월 12일 자사 스캐너에 걸린 광고 소재에서 조사를 시작했다고 밝힌다. Confiant가 평소 다루는 공격자는 모두 금전 동기를 가진 범죄자인데, Discover-Tech는 그 범주를 벗어난 예외(outlier)였다는 것이 그들의 서술이다. 클로킹 기법은 사기 광고 업자들과 비슷했지만 정교함이 훨씬 높았다. 업계의 탐지 장비는 「돈을 노리는 악성 광고」를 전제로 만들어져 있었고, 단 한 명만 노리고 나머지에게는 빈 응답을 돌려주는 공격은 그 전제 바깥에 있었다.
광고 차단은 보안 통제다 — 그리고 책임은 어디로 가는가
Citizen Lab의 권고 절에는 눈에 띄는 소제목이 하나 있다. 「방어자를 위하여: 광고 차단은 사이버보안 모범 관행이다」. 보고서는 현재로서는 사용자와 네트워크를 타깃 광고에 노출시키는 일관되게 안전한 방법이 없다고 말한다. 조직에는 게이트웨이와 업무용 기기에서 광고와 추적을 차단하고, MDM으로 회사 지급 기기의 광고 타기팅을 끄고, 추적 방지 기능과 Global Privacy Control(GPC)을 지원하는 브라우저로 옮겨 가라고 권한다. 개인에게는 신뢰할 수 있는 광고 차단 확장, 프라이버시 중심 브라우저, 모바일 광고 ID의 정기적 재설정, 공유기나 VPN 수준의 광고 차단을 권한다. 보고서는 광고 식별자를 차단하면 Discover-Tech의 현재 방식은 직접 막을 수 있지만, AdFection의 공격 표면은 더 넓을 수 있다고 덧붙인다.
이것은 상당히 큰 전환이다. 지금까지 광고 차단은 취향이나 프라이버시의 문제로, 때로는 매체의 수익을 빼앗는 무임승차로 취급됐다. 보안 연구 기관이 이것을 조직 보안의 기본 통제로 권고한다는 것은, 광고 지면을 회사 네트워크 안으로 들어오는 신뢰할 수 없는 코드의 통로로 보라는 뜻이다. 해커뉴스에서도 이 연결이 바로 나왔다. 광고 차단을 차단하는 사이트들은 독자에게 강제로 실행시키는 광고 소프트웨어에 대해 책임을 져야 한다는 의견이 있었고(직접 인용은 아니고, 코멘트의 요지를 요약)(@NelsonMinar), 이 주제를 다룬 기사 사이트가 광고 차단기를 끄라는 화면을 띄운다는 꼬집음도 있었다(직접 인용은 아니고, 코멘트의 요지를 요약)(@ediamondscience).
다만 광고 차단의 한계도 분명하다. Discover-Tech 입찰의 76.7%는 모바일 앱이었다. 브라우저 확장은 앱 안의 광고 SDK에 닿지 않는다. 해커뉴스에서도 웹에서는 효과가 있겠지만 모바일 앱 안이라면 아니며 DNS 수준의 차단이 필요하다는 의견이 나왔다(직접 인용은 아니고, 코멘트의 요지를 요약)(@c16). 보고서의 개인 권고가 공유기, VPN 수준의 차단과 광고 ID 재설정을 함께 묶은 것도 같은 이유로 읽힌다. 광고 차단이 보안 통제가 된다면, 그것은 브라우저 한 곳이 아니라 네트워크 경계와 기기 설정 전체에 걸린 통제여야 한다.
그러면 책임은 어디에 있는가. 보고서는 광고 업계를 향해 「이제 진지해질 때」라고 쓴다. 업계는 「인증」과 「승인」이라는 말로 자율 규제의 외양을 꾸미지만, 실제로는 의미 있는 실사를 하지 않고 온라인 양식의 체크박스 같은 자기 신고에 의존한다는 것이다. 권고 목록은 구체적이다. 실시간 악성 광고 탐지 역량의 대폭 강화, 위협 정보 공유, 모든 거래 상대에 대한 의무적 고객 확인(KYC)과 정기 재심사, 인증 벤더 레지스트리에 대한 의무적 제3자 감사, 악용에 관대한 관할권의 벤더에 대한 기본 거부 정책, 공급망 전체의 투명성. 규제 당국에는 Discover-Tech와 Candiru에 대한 즉시 조사, 기존 법의 집행, 그리고 RTB 경매에서 개인 데이터를 빼는 입법의 검토를 요구한다.
여기서 생각해 볼 점은 비용의 비대칭이다. 거래소 입장에서 Discover-Tech는 수수료를 내는 고객이었다. 그 고객이 무엇을 하는지 알아내는 비용은 거래소가 지고, 알아내지 못했을 때의 비용은 Al Jazeera 기자와 그 취재원이 진다. 이 구조에서는 실사를 강화할 경제적 유인이 약하다. 보고서가 자율 규제가 아닌 의무적 감독을 요구하는 이유가 여기 있다. Guardian 기사에서 Wolfie Christl은 주요 광고 업체와 조직들이 수년간 이 회사의 악성 광고 운영을 탐지하지도 막지도 못한 것은 재앙적이며, 오늘날 온라인 광고 생태계의 작동 방식 자체가 국가, 민간, 시민사회 모두에 대한 보안 위협이라고 말했다.
대응이 전혀 없었던 것은 아니다. 보고서에 따르면 조사에 협력한 Google은 2026년 10월 첫째 주에 Discover-Tech를 벤더 레지스트리에서 제거하고 광고 거래소 접근을 끊었다. IAB Europe은 10월 8일 GVL에서 삭제했다. Beeswax는 구매 플랫폼에서 제거했고, Vungle(Liftoff)은 검토 기간 동안 접근을 중지했으며, Eskimi는 계정과 도메인을 차단했다. 반면 보고서에 등장한 다른 일부 광고 업체는 기한 내에 응답하지 않았다. 사후 차단은 이 회사 하나를 막을 뿐이다. 보고서도 Discover-Tech가 이런 공격을 가능하게 하는 유일한 업체일 가능성은 낮다고 본다.
해커뉴스의 다른 갈래 논의는 책임을 기술 층위로 옮긴다. 진짜 문제는 광고가 아니라 JavaScript에서 코드 실행으로 이어지는 익스플로잇이 가능하다는 사실이며, 브라우저의 프로세스 격리를 더 강화해야 한다는 의견이다(직접 인용은 아니고, 코멘트의 요지를 요약)(@ActorNightly). 이 지적은 옳지만 충분하지 않다. 브라우저 취약점은 앞으로도 나올 것이고, 광고 경매는 그 취약점을 정확히 원하는 한 사람에게 배달해 주는 물류망 역할을 한다. 취약점이 탄약이라면 RTB는 조준 장치다. 둘 중 하나만 고쳐서는 위협 모델이 닫히지 않는다.
결론
처음의 질문으로 돌아가자. 광고 생태계는 악용당한 것인가, 원래 설계대로 작동한 것인가. 보고서가 그려 낸 그림은 후자에 더 가깝다. 특정 개인을 식별해 그 사람의 기기에서만 원하는 코드를 실행하는 것은 RTB의 일탈이 아니라 RTB가 팔고 있는 상품의 정의 그 자체다. Discover-Tech가 한 일은 그 상품의 「광고」 부분을 다른 것으로 바꿔 끼운 것뿐이었다. 인증 목록에 이름을 올리고, 평범한 배너를 사고, 대상이 아닌 사람에게는 빈 응답을 돌려줬다. 거래소가 볼 수 있는 모든 것은 정상이었다.
그래서 이 사건의 교훈은 「나쁜 회사 하나를 잡았다」에서 끝나지 않는다. 이번에는 공격자가 데이터베이스를 공개해 두고 인증 없는 엔드포인트를 남기는 실수를 했다. 실수하지 않는 다음 업체는 같은 경로를 훨씬 조용히 쓸 것이다. 조직의 보안 담당자에게 남는 실무적 결론은 분명하다. 광고는 신뢰할 수 없는 제3자 코드이며, 광고 차단과 광고 ID 비활성화는 이제 패치 관리와 같은 줄에 놓여야 한다. 광고 업계에 남는 질문은 더 무겁다. 「인증」이 체크박스로 얻어지는 한, 인증 목록은 방어선이 아니라 위장의 재료가 된다.
출처:
- https://news.ycombinator.com/item?id=50101813
- https://news.ycombinator.com/item?id=50103000
- https://citizenlab.ca/research/how-discover-tech-turned-targeted-ads-into-a-pipeline-for-spyware/
- https://www.theguardian.com/technology/2026/oct/15/israeli-firm-digital-ads-enabling-installation-of-zero-click-spyware-researchers-say
- https://blog.confiant.com/p/adint-weaponized-ad-tech-for-zero-click-spyware-and-mass-identity-vacuuming