AdOff 작동 원리: 스텔스 광고 차단 기술

2026년 4월 업데이트  ·  8분 읽기  ·  기술 심층 분석

대부분의 광고 차단기는 단 하나의 무딘 도구로 작동합니다. 차단할 URL 목록입니다. 웹사이트가 그 존재를 알아차릴 때까지는 잘 작동합니다 — 그리고 나서 군비 경쟁이 시작됩니다. AdOff는 처음부터 다르게 구축되었습니다. 진정으로 보이지 않고 방해 없는 브라우징 경험을 제공하기 위해 함께 작동하는 세 가지 독립적인 보호 레이어를 사용합니다.

이 페이지는 각 레이어가 정확히 어떻게 작동하는지를 분석합니다 — 궁금한 분들을 위한 충분한 기술적 세부 사항과 함께 누구나 따라갈 수 있도록 작성되었습니다. 아키텍처를 이해하고 싶은 개발자이든, 다른 차단기들이 포기할 때 AdOff가 계속 작동하는 이유가 궁금한 일반 사용자이든, 올바른 곳에 계십니다.

레이어 1 — 네트워크 차단

모든 플랜에서 활성화

첫 번째이자 가장 효율적인 레이어는 네트워크 수준에서 작동하여 광고 관련 HTTP 요청을 브라우저가 다운로드하기도 전에 차단합니다. 데이터가 가져와지지 않고, 스크립트가 실행되지 않으며, 추적 픽셀이 로드되지 않습니다. 리소스는 단순히 검색되지 않습니다.

🔧 크롬 API: declarativeNetRequest

AdOff는 엔터프라이즈 보안 도구에서도 사용되는 동일한 최신 API인 크롬의 declarativeNetRequest API를 사용합니다. 이전 webRequest API와 달리 declarativeNetRequest는 JavaScript 오버헤드 없이 브라우저 엔진에 의해 네이티브로 평가됩니다. 규칙은 설치 시 한 번 컴파일되고 이후의 모든 요청에 대해 거의 제로 CPU 비용으로 매칭됩니다.

107개 이상의 정밀 차단 규칙

AdOff는 가장 일반적인 광고 네트워크에서 사용하는 광고 전달 인프라를 대상으로 하는 107개의 수작업으로 엄선된 네트워크 규칙을 탑재합니다. 지속적인 유지 관리가 필요한 방대한 개별 도메인 목록을 유지하는 대신 AdOff의 규칙은 광고 전달의 구조적 패턴을 대상으로 합니다:

네트워크 수준에서 차단이 중요한 이유

광고가 네트워크 레이어에서 차단되면 페이지가 더 빠르게 로드됩니다. 이것은 단지 보이는 배너를 제거하는 것이 아닙니다 — 브라우저가 광고 서버에 TCP 연결을 열 필요가 없고, 추적 도메인에 대한 DNS 조회를 수행할 필요가 없으며, 광고가 렌더링하고 스스로를 측정하는 데 의존하는 서드파티 JavaScript를 실행할 필요가 없다는 것을 의미합니다.

광고가 많은 뉴스 사이트에 대한 연구들은 네트워크 수준 차단이 페이지 로드 시간을 30-60% 줄인다는 것을 지속적으로 보여줍니다. 차단된 각 광고 요청은 열릴 필요가 없는 연결이고, 파싱될 필요가 없는 스크립트이며, 대역폭을 소비하지 않는 페이로드입니다.

⚡ 성능 이점

declarativeNetRequest 규칙이 JavaScript가 아닌 브라우저의 C++ 엔진에 의해 평가되기 때문에 AdOff는 일반 탐색 중에 제로 CPU 오버헤드를 추가합니다. 매칭은 네트워크 스택이 요청을 시작하기도 전에 이루어집니다. 페이지당 JavaScript가 실행되지 않으며 확장 프로그램은 유휴 상태에서 사실상 메모리를 사용하지 않습니다.

레이어 2 — 코스메틱 필터링

모든 플랜에서 활성화

모든 광고가 미리 차단될 수 있는 네트워크 요청을 통해 도달하지는 않습니다. 일부 광고는 페이지 자체 HTML에 직접 렌더링되거나, 콘텐츠와 동일한 도메인에서 로드되거나, 퍼스트파티 JavaScript에 의해 삽입됩니다. 이를 위해 AdOff는 주변 레이아웃을 방해하지 않고 CSS를 사용하여 DOM에서 광고 요소를 숨기는 기술인 코스메틱 필터링을 사용합니다.

격리된 세계에서 CSS 삽입

AdOff의 콘텐츠 스크립트는 크롬의 ISOLATED 세계에서 실행됩니다 — 페이지 자체 JavaScript와 완전히 분리된 샌드박스 실행 환경입니다. 이는 확장 프로그램이 페이지의 스크립트에 의해 감지될 수 없이 DOM을 관찰하고 수정할 수 있음을 의미합니다. 페이지의 스크립트는 격리된 세계의 범위나 변수에 접근할 수 없습니다.

코스메틱 필터는 수천 개의 웹사이트에 걸쳐 광고 슬롯이 사용하는 표준 클래스 이름, ID, 구조적 패턴을 커버하도록 신중하게 관리되는 알려진 광고 컨테이너 선택자에 display: nonevisibility: hidden 규칙을 적용하는 CSS 스타일시트를 삽입합니다.

🎨 레이아웃 이동 없음 — 빈 공간 없음

단순한 광고 차단기의 일반적인 문제는 DOM에서 요소를 제거하면 주변 콘텐츠가 갑자기 이동하거나 재배치된다는 것입니다. AdOff의 CSS 규칙은 가능한 경우 브라우저의 첫 번째 페인트 전에 !important 우선순위와 함께 display: none을 사용하고 적용되어 눈에 보이는 레이아웃 이동을 방지합니다. 광고가 차지했을 공간은 단순히 나타나지 않습니다.

DOM 스캔 및 동적 삽입

현대 웹사이트는 매우 동적입니다 — 초기 HTML이 파싱된 후 콘텐츠를 로드하고, JavaScript를 통해 광고 슬롯을 삽입하며, DOM을 지속적으로 업데이트합니다. AdOff의 콘텐츠 스크립트는 광고 패턴과 일치하는 새로 삽입된 요소에 대해 DOM을 모니터링하고 일반적으로 단일 애니메이션 프레임 내에 즉시 숨기기 규칙을 적용합니다. 광고가 잠깐 나타났다가 사라지는 것을 볼 수 없습니다.

동영상 광고 무력화 (Pro)

스트리밍 플랫폼의 대부분의 동영상 플레이어는 프리롤, 미드롤, 포스트롤 광고 중단을 관리하기 위해 표준 광고 SDK에 의존합니다. AdOff는 이 SDK를 중립 스텁으로 교체하여 플레이어에게 즉시 "표시할 광고 없음"을 알립니다 — 동영상이 어떤 중단도 없이 바로 시작됩니다.

이것은 두 가지 보완적인 메커니즘을 통해 작동합니다:

스텁은 원래 SDK의 전체 API 표면을 구현하지만 어떤 광고도 제공하지 않습니다. 플레이어가 start()를 호출하면 스텁은 즉시 "광고 완료" 신호를 발송합니다 — 플레이어는 광고 중단이 자연스럽게 끝난 것처럼 동영상을 재개합니다. 이것은 보편적입니다: 이 SDK를 사용하는 전 세계 모든 웹사이트에서 수동 사이트 목록 없이 작동합니다.

주요 동영상 플랫폼에서는 전용 핸들러가 광고 재생을 16× 속도로 가속하고 인간과 유사한 타이밍으로 건너뛰기 버튼을 자동으로 클릭합니다.

레이어 3 — 스텔스 안티-감지 (Pro)

Pro & 체험

이것이 AdOff가 일반적인 광고 차단기와 가장 크게 다른 부분입니다. 이제 많은 웹사이트가 능동적인 광고차단기 감지 스크립트를 실행합니다 — 차단기를 사용하는지 감지하고, 그렇다면 벽, 경고, 또는 저하된 콘텐츠로 경험을 방해하는 것이 유일한 목적인 코드입니다.

크롬의 MAIN 세계에서 실행되는 AdOff의 스텔스 레이어는 페이지 자체 JavaScript와 동일한 수준에서 작동합니다. 각 기술이 어떻게 작동하는지 설명합니다:

🪤 미끼 위장

광고차단기 감지 스크립트는 일반적으로 작은 "미끼" 요소 — 광고 컨테이너처럼 보이도록 스타일링된 DOM 노드 — 를 삽입하고 나서 치수가 0인지 또는 광고 차단기에 의해 제거되었는지 확인함으로써 작동합니다. AdOff의 미끼 위장기는 DOM에 이러한 요소를 보존하고, 지오메트리가 조회될 때 그럴듯한 치수를 보고하며, 감지 스크립트가 기대하는 "이상 없음" 신호를 받도록 합니다.

📦 변수 위장

광고 네트워크는 자신의 존재를 알리기 위해 전역 JavaScript 변수와 속성을 window 객체에 삽입합니다. 광고차단기 감지 스크립트는 이러한 변수의 존재를 확인하여 광고가 로드되었는지 확인합니다. AdOff의 변수 위장기는 예상되는 전역 네임스페이스를 재구성합니다 — 존재 확인을 통과하는 경량 스텁 객체를 생성합니다 — 실제 광고 콘텐츠가 전달되지 않아도 페이지가 광고 스크립트가 성공적으로 실행되었다고 믿게 합니다.

🔌 Fetch / XHR 가로채기

일부 감지 시스템은 DOM에 전혀 의존하지 않습니다 — 알려진 광고 엔드포인트에 직접 fetch() 또는 XMLHttpRequest 호출을 하고 응답 시간이나 상태 코드를 측정합니다. 요청이 차단되면 즉시 실패하여 차단기의 존재를 드러냅니다. AdOff는 알려진 광고 도메인에 대한 요청을 감지하고 성공적인 광고 로드를 모방하는 합성 응답을 반환하는 프록시 핸들러로 window.fetchXMLHttpRequest 모두를 래핑합니다.

🛡️ 스크립트 무력화

알려진 광고차단기 감지 스크립트는 URL 패턴 및 페이로드 서명으로 식별됩니다. 브라우저가 이러한 스크립트 중 하나를 로드하려 할 때 스텔스 레이어가 실행을 가로채고 감지 작업을 수행하지 않고 완료 콜백을 충족하는 불활성 스텁으로 스크립트의 로직을 교체합니다. 페이지의 코드는 해결된 프로미스 또는 no-op 콜백을 받고, 감지 경로는 도달되지 않습니다.

👁️ MutationObserver — 실시간 방어

웹사이트는 초기 페이지 로드 후 언제든지 새로운 감지 스크립트를 삽입할 수 있습니다 — 사용자 동작, 스크롤 깊이, 또는 타이머에 의해 트리거됩니다. AdOff의 MutationObserver는 문서에 새 <script> 요소가 추가되는 것을 지속적으로 감시합니다. 알려진 광고차단기 감지 서명과 일치하는 것이 있으면 스텔스 레이어가 첫 번째 명령이 실행되기 전에 무력화합니다. 이것은 지연되거나 지연 로드된 감지 시스템에 대해서도 보호가 유지되도록 합니다.

세 레이어가 함께 작동하는 방법

각 레이어는 독립적입니다 — 하나가 우회되거나 적용되지 않아도 나머지가 계속 작동합니다. 하지만 진정한 힘은 서로를 보완하는 방식에 있습니다:

결과는 단순히 광고 없는 브라우징 경험이 아닙니다 — 웹사이트가 광고 차단기를 사용하고 있다는 것을 절대 알지 못하는 경험입니다. 경고도, 페이월도, 저하된 콘텐츠도, "광고 차단기를 비활성화해 주세요" 오버레이도 없습니다.

설계에 의한 개인정보 보호

AdOff는 모든 것을 브라우저에서 로컬로 처리합니다. 브라우징 기록을 분석하는 원격 서버도 없고, 원격 측정 전송도 없으며, 방문한 URL 목록이 기기를 절대 떠나지 않습니다. 확장 프로그램은 진정으로 필요한 권한만 요청합니다:

"모든 웹사이트의 모든 데이터 읽기" 포괄적 권한 없음. 확장 프로그램 내부에 번들된 분석 SDK 없음. 브라우저에서 일어나는 것은 브라우저에 남습니다.

3단계로 시작하기

  1. 크롬 웹 스토어에서 AdOff를 설치하거나 adoff.app/install에서 .zip 파일을 직접 다운로드하세요. 크롬이 권한 확인을 요청합니다 — 검토하고 수락하세요.
  2. 크롬 툴바의 퍼즐 조각 아이콘을 클릭하고, 드롭다운에서 AdOff를 찾아 핀 아이콘을 클릭하여 확장 프로그램을 고정하세요. AdOff 방패가 툴바에 영구적으로 나타납니다.
  3. 정상적으로 탐색하세요. 방문하는 모든 페이지에서 세 레이어가 자동으로 활성화됩니다. 차단된 광고 및 요청 수를 확인하거나 특정 사이트에서 보호를 일시정지하려면 언제든지 AdOff 아이콘을 클릭하세요.

기본 경험에는 설정이 필요하지 않습니다. 고급 사용자는 옵션 페이지에서 화이트리스트 관리, 사이트별 차단 동작 조정, 또는 15일 무료 체험 기간 동안 스텔스 Pro 기능 활성화를 탐색할 수 있습니다.

차이를 경험할 준비가 되셨나요?

15일 동안 세 가지 보호 레이어를 무료로 체험하세요. 신용카드 불필요.

AdOff 무료 설치 →