TechTok #9. 브라우저 확장 프로그램은 어떻게 작동할까요? 그리고 방화벽이란 무엇일까요?

지난해 12월 TechTok 시리즈를 시작할 때, 우리는 이를 광고 차단과 개인정보 보호를 둘러싼 기술들에 대해 독자 여러분이 궁금해하는 질문에 직접 답하는 방식으로 구성했습니다. 공식은 단순합니다. 여러분이 묻고, 저희가 답하며, 그렇게 해서 지금까지 여덟 편을 이어왔습니다. 그동안 여러분이 특별 온라인 폼 을 통해 보내주신 질문 덕분이지만, 오늘은 약간의 방향 전환을 하겠습니다.

오늘 다룰 두 질문은 AdGuard의 CTO이자 공동 설립자인 안드레이 메슈코프
(Andrey Meshkov)이 제안한 것입니다. 그는 자주 언급되지만 명확히 설명되는 경우는 드문 기술 용어들이 있다는 점을 지적했습니다. 자, 단순하게 시작해봅시다.

브라우저 확장 프로그램은 어떻게 작동할까요?

먼저, 브라우저 확장 프로그램이 무엇인지 정의해 봅시다. 아주 단순하게 말하면, 브라우저 안에서 실행되며 웹 경험을 다양한 방식으로 바꾸는 미니 프로그램입니다. 주소창 옆의 작은 아이콘들? 그것이 바로 브라우저 확장 프로그램입니다.
이들은 정말 다양한 일을 할 수 있습니다 — 단순한 링크 열기 방식 변경이나 자동 텍스트 복사에서부터, 광고 및 추적기 차단, VPN 기능, 심지어 AI를 활용한 글쓰기·요약 보조까지. 보통은 설치 방법만 알면 충분하지, 그 내부 동작 방식까지 알 필요는 없습니다. 그런데 도대체 어떻게 작동하는 걸까요?

핵심은 이름에서 드러납니다. 독립 소프트웨어와 달리 확장 프로그램은 브라우저 없이는 동작할 수 없습니다. 브라우저와 확장 프로그램의 상호작용 중심에는 API(Application Programming Interfaces) 가 있습니다. 브라우저가 제공하는 기능과 속성 모음인 API를 통해 확장 프로그램이 브라우저 기능에 제한적이고 권한 기반으로 접근할 수 있습니다.
예를 들어, 어떤 API가 새 탭을 열거나 기존 탭을 닫을 수 있게 해준다면, 확장 프로그램은 해당 권한을 가질 경우 이를 수행할 수 있습니다. 접근하려는 기능과 데이터가 많을수록 요청 권한도 늘어나므로, 새로운 확장 프로그램을 설치할 때 권한 요청을 꼼꼼히 살펴야 합니다.

일반적으로 각 브라우저 개발사는 해당 브라우저에 특화된 자체 API를 개발합니다. 이 때문에 예를 들어 Chrome용 확장 프로그램이 Safari에서 작동하지 않거나 그 반대의 경우가 흔히 발생합니다. 이는 이상적인 상황은 아니기 때문에, 이러한 API를 공통 프레임워크 하에서 표준화하고 통합하려는 노력이 진행되어 왔으며, 그 중 하나가 WebExtensions API입니다. 이 덕분에 Chrome, Firefox, Safari와 같은 주요 브라우저들은 대부분 호환되는 확장 프로그램 API를 제공합니다. 이는 개발자가 거의 변경 없이 여러 브라우저에서 작동하는 확장 프로그램을 만들 수 있도록 합니다. 그러나 이는 당연한 것이 아닙니다. 많은 경우 다양한 브라우저에서 확장 프로그램을 원활하게 작동시키려면 많은 작업이 필요하며, 모든 개발자가 그 추가적인 노력을 기울일 자원이나 의지가 있는 것은 아닙니다.

보안 문제로 돌아가서, 브라우저가 확장 프로그램에 부과하는 제한 사항에 대해 논의해 보겠습니다. 브라우저 확장 프로그램은 이른바 샌드박스라는 격리된 환경에서 작동합니다. 이 환경은 각 확장 프로그램이 브라우저 API에만 접근할 수 있도록 허용하며, 운영 체제나 다른 응용 프로그램과의 상호작용을 제한합니다. 각 확장 프로그램은 기능을 수행하기 위해 필요한 권한을 선언하는 매니페스트를 가지고 있습니다(예: 페이지 콘텐츠 수정 권한이나 다운로드 시작 및 취소 권한 등). 브라우저는 이러한 권한을 강제 적용하며, 확장 프로그램이 권한 범위를 넘어서는 작업을 수행하지 못하도록 차단합니다. 이 방식으로, 확장 프로그램이 해킹당하더라도 이론상으로는 그 범위 밖의 프로세스나 파일에 피해를 입힐 수 없습니다.

브라우저 확장 프로그램을 공식 스토어 외부의 출처에서 설치하지 말라는 경고 메시지를 자주 접하게 됩니다. 이는 공식 스토어가 추가적인 보안 계층을 제공하기 때문입니다. 개발자가 확장 프로그램을 스토어에 제출하면 검토 과정이 진행됩니다. 이 과정에서 개발자는 확장 프로그램이 요청하는 모든 권한이 필요한 이유를 설명해야 합니다. 검토자가 코드를 검토한 결과, 확장 프로그램이 제공하는 기능에 비해 요청된 권한이 과도하다고 판단되면 해당 확장 프로그램은 스토어에서 거부될 수 있습니다. 그러나 검토 프로세스가 오류가 전혀 없는 것은 아닙니다. Chrome 스토어와 같은 인기 스토어에 등록된 확장 프로그램이 악성으로 변해 사용자의 데이터를 도용하거나 더 심각한 피해를 입힌 사례가 많습니다. 따라서 확장 프로그램을 설치하기 전에 항상 확장 프로그램의 권한을 검토하는 것이 매우 중요합니다.

마지막으로, 확장 프로그램과 보안에 대해 이야기할 때 Chrome의 확장 프로그램 플랫폼 신규 버전인 Manifest V3로의 전환을 언급하지 않을 수 없습니다. 저희가 이 주제에 대해 많은 글을 작성했으며, Ad-Filtering Dev Summit에서 이 주제에 대한 다양한 강연을 진행했습니다. 이는 브라우저 확장 프로그램에 미치는 영향이 심각하며, 광고 차단 확장 프로그램에는 두 배로 심각하기 때문입니다. 이 문제는 개발자들에게 많은 어려움을 초래했지만, Chrome 브라우저 확장 프로그램의 보안 강화 측면에서는 긍정적인 측면이 있습니다. 이 기능은 확장 프로그램이 원격으로 호스팅된 코드나 임의의 코드를 실행하는 능력을 제거하므로, 모든 코드가 검토를 거쳐야 합니다. 이 변경 사항은 보안 위험을 완전히 제거하지는 않더라도, 적어도 크게 줄일 것입니다.

다음 질문으로 넘어가겠습니다…

방화벽이란 무엇일까요?

이 질문은 모든 측면을 다 다루려면 책 한 권 분량이 될 수 있습니다. 하지만 핵심만 짚어보겠습니다. 먼저 왜 방화벽(firewall)이라는 이름이 붙었을까요?
원래 방화벽은 IT 용어가 아니었습니다. 건물 내부에서 불길이 번지는 것을 막기 위해 만든 두꺼운 벽을 뜻했습니다. 인터넷 이전에도 존재하던 개념이죠.

방화벽

컴퓨터 네트워크에서의 방화벽은 1980년대 후반 처음 등장했습니다. 불길을 막듯이, 원치 않거나 위험할 수 있는 네트워크 트래픽의 확산을 막는 것이 목적이었습니다.

1세대 방화벽은 패킷 필터(packet filter) 였습니다. 인터넷을 오가는 작은 데이터 조각(패킷)을 검사하며, 송·수신 IP, 포트, 프로토콜에 기반해 미리 정의된 규칙으로 허용·차단을 결정했습니다.

1990년대 초에는 상태 기반(stateful) 방화벽이 등장했습니다. 상태 기반 방화벽은 개별 패킷만 검사하는 것이 아니라 연결 상태 전체를 추적할 수 있어, 특정 패킷이 기존에 승인된 세션의 일부인지 단순히 무작위로 들어온 요청인지를 구분할 수 있습니다.

이후 애플리케이션 계층 방화벽이 등장했습니다. 단순히 IP와 포트가 아니라 HTTP, DNS 같은 애플리케이션 프로토콜까지 이해하고 필터링할 수 있습니다. 2008년 이후에는 심층 패킷 검사(DPI) 기술이 도입되어 데이터 내용 자체까지 분석할 수 있게 되었습니다.

이 게시물을 좋아하시나요?
사용자 리뷰 19,995 19995
최고

Windows용 AdGuard

Windows용 AdGuard는 단순한 광고 차단기가 아니라 광고를 차단하고 위험한 사이트에 대한 액세스를 제어하는 다목적 프로그램입니다. 또한 페이지 로딩 속도를 높이고 유해한 사이트로부터 어린이를 보호합니다.
프로그램을 내려받음으로써 라이선스 계약에 동의하게됩니다.
자세히 알아보기
Windows용 AdGuard 7.21 버전, 14일 체험 기간
사용자 리뷰 19,995 19995
최고

Mac용 AdGuard

다른 광고 차단기들과 달리, AdGuard는 macOS에서 최적화되도록 디자인되었습니다. 앱과 브라우저의 광고뿐만 아니라 추적, 피싱 및 사기로부터 사용자를 보호합니다.
프로그램을 내려받음으로써 라이선스 계약에 동의하게됩니다.
자세히 알아보기
Mac용 AdGuard 2.17 버전, 14일 체험 기간
사용자 리뷰 19,995 19995
최고

Android용 AdGuard

Android용 AdGuard는 Android 모바일 기기를 위한 이상적인 해결책입니다. AdGuard는 대부분의 다른 광고 차단기와 달리 AdGuard는 루트 권한이 필요하지 않으며 다양한 앱 관리 옵션을 제공합니다.
프로그램을 내려받음으로써 라이선스 계약에 동의하게됩니다.
자세히 알아보기
스캔하여 다운로드
기기에서 QR 코드 스캐너를 사용합니다
Android용 AdGuard 4.10 버전, 7일 체험 기간
사용자 리뷰 19,995 19995
최고

iOS용 AdGuard

iPhone 및 iPad용 최고의 iOS 광고 차단기입니다. iOS용 AdGuard는 Safari에서 모든 종류의 광고를 제거하고 개인정보를 보호하며 페이지를 더 빠르게 로드합니다. AdGuard 광고 차단 기술은 최고 품질의 필터링을 보장하고 동시에 여러 필터를 사용할 수 있습니다.
프로그램을 내려받음으로써 라이선스 계약에 동의하게됩니다.
자세히 알아보기
스캔하여 다운로드
기기에서 QR 코드 스캐너를 사용합니다
iOS용 AdGuard v4.5
사용자 리뷰 19,995 19995
최고

AdGuard 콘텐츠 차단기

AdGuard 콘텐츠 차단기는 콘텐츠 차단 기술을 지원하는 모바일 브라우저, 즉 삼성 인터넷과 Yandex 브라우저에서 모든 종류의 광고를 제거합니다. Android용 AdGuard에 비해 기능은 제한적이지만 무료이며 설치가 간편하고 효율적입니다.
프로그램을 내려받음으로써 라이선스 계약에 동의하게됩니다.
자세히 알아보기
AdGuard 콘텐츠 차단기 v2.8
사용자 리뷰 19,995 19995
최고

AdGuard 브라우저 확장프로그램

AdGuard는 웹 모든 페이지에 있는 온갖 종류의 광고를 효과적으로 차단하는 확장 프로그램이며 빠르고 가볍습니다! 빠른 브라우저를 위해 AdGuard를 선택해서 광고를 제거하고 안전하게 이용하세요.
AdGuard 브라우저 확장프로그램 v5.1
사용자 리뷰 19,995 19995
최고

AdGuard Assistant

AdGuard 데스크톱 앱와 함께하는 브라우저 확장 프로그램입니다. 브라우저 내부에서 사용자 지정 요소 차단, 사이트를 화이트리스트에 추가, 리포트 전송과 같은 기능을 제공합니다.
AdGuard Assistant v1.4
사용자 리뷰 19,995 19995
최고

AdGuard Home

AdGuard Home은 광고 및 추적을 차단하는 네트워크 전반에 걸친 소프트웨어입니다. 설정한 후에는 모든 가정용 기기에 적용되므로 클라이언트 소프트웨어가 필요하지 않습니다. 사물인터넷(IoT)의 확산과 인터넷과 연결된 장치의 증가로 전체 네트워크를 제어하는 것이 점점 더 중요해지고 있습니다.
AdGuard Home v0.107
사용자 리뷰 19,995 19995
최고

iOS용 AdGuard Pro

AdGuard Pro는 일반 버전에서 제공하고 있는 훌륭한 iOS Safari의 광고 차단 외에도 많은 기능을 제공합니다. 사용자 지정 DNS 설정을 제공하여, 앱을 통해 광고를 차단하고, 온라인의 성인 콘텐츠로부터 자녀를 보호하고, 개인 데이터를 위협으로부터 보호할 수 있습니다.
프로그램을 내려받음으로써 라이선스 계약에 동의하게됩니다.
자세히 알아보기
iOS용 AdGuard Pro v4.5
사용자 리뷰 19,995 19995
최고

Safari용 AdGuard

Apple 사가 모든 사용자에게 새로운 SDK를 사용하게끔 강요한 후부터 확장형 Safari 광고 차단 프로그램들은 좋은 효과를 내지 못했습니다. AdGuard는 다시 Safari에 뛰어난 성능의 광고 차단 기능을 제공해 줄 것입니다.
Safari용 AdGuard v1.11
사용자 리뷰 19,995 19995
최고

Android TV용 AdGuard

Android TV용 AdGuard는 광고를 차단하고 개인 정보를 보호하며 스마트 TV용 방화벽 역할을 하는 유일한 앱입니다. 웹 위협에 대한 경고를 받고, 보안 DNS를 사용하면 트래픽이 암호화됩니다. 좋아하는 프로그램을 광고 없이 안전하게 시청하세요!
Android TV용 AdGuard v4.10
사용자 리뷰 19,995 19995
최고

Linux용 AdGuard

Linux용 AdGuard는 세계 최초의 시스템 전역 Linux 광고 차단기입니다. 기기 수준에서 광고와 추적기를 차단하고, 미리 탑재된 필터 중에서 선택하거나 필터를 직접 추가하세요. 모두 명령줄 인터페이스에서 진행할 수 있습니다.
Linux용 AdGuard v1.0
사용자 리뷰 19,995 19995
최고

AdGuard Temp Mail

익명을 보장하고 개인정보를 보호하는 무료 임시 이메일 주소 생성기입니다. 더 이상 기본 받은 편지함에 스팸이 없습니다!
사용자 리뷰 19,995 19995
최고

AdGuard VPN

전 세계 66개 서버

모든 콘텐츠에 액세스 가능

고급 암호화

로그가 수집되지 않음

가장 빠른 연결 속도

연중무휴 고객 지원

무료 체험
프로그램을 내려받음으로써 라이선스 계약에 동의하게됩니다.
자세히 알아보기
사용자 리뷰 19,995 19995
최고

AdGuard DNS

AdGuard DNS는 추가 어플리케이션을 설치할 필요 없이 인터넷 광고를 차단할 수 있는 완벽한 방법입니다. 사용하기 쉽고, 완전히 무료이며, 어떤 기기든간에 간단하게 구축할 수 있고, 광고, 추적기, 위험한 웹 사이트, 그리고 성인 콘텐츠까지 보호되는 최소한의 필수적인 기능만을 제공합니다.
사용자 리뷰 19,995 19995
최고

AdGuard Mail

별칭과 임시 이메일 주소로 신원을 보호하고 스팸을 방지하며 받은 편지함을 안전하게 유지할 수 있습니다. 모든 운영 체제용 무료 이메일 전달 서비스 및 앱을 즐겨보세요.
사용자 리뷰 19,995 19995
최고

AdGuard 월렛

자산을 완벽하게 제어할 수 있는 안전한 개인 암호화폐 지갑입니다. 여러 개의 지갑을 관리하고 수천 개의 암호화폐를 보관, 전송, 교환할 수 있습니다.
AdGuard 다운로드 시작 AdGuard를 설치하려면 화살표가 가리키는 파일을 클릭하세요 "열기"를 선택한 다음 "확인"을 누른 후, 다운로드가 완료될 때까지 기다리세요. 창이 열려있다면, AdGuard를 "애플리케이션" 폴더에 드래그해주세요. AdGuard를 선택해주셔서 감사합니다! "열기"를 선택 후 "확인"을 클릭한 다음, 다운로드가 완료될 때까지 기다리세요. 열렸으면, "설치"를 눌러주세요. AdGuard를 선택해 주셔서 감사합니다!
모바일 기기용 AdGuard도 설치할 수 있습니다