TechTok #9. How do browser extensions work, and what is a firewall?

When we launched the TechTok series last December, we had imagined it as a way to directly answer the questions that you, our readers, may have about technologies surrounding ad blocking and privacy protection. Simple formula — you ask, we answer. And it’s been like that for eight issues, thanks to your questions that you all have been sending through our special online form. However, today we’re taking a small sidestep.

Both of today’s questions come from AdGuard’s CTO and Co-Founder Andrey Meshkov, who’s noticed that some common tech terms get thrown around a lot but are rarely explained clearly. So, let's keep it simple and get to the first one:

How do browser extensions work?

First, let’s define what browser extensions are. To put it very simply, they are mini-programs that run within your browser and modify your web experience in one way or another. Those small icons next to the address bar? That’s browser extensions. They can do all sorts of things — from small tweaks to major upgrades. Some just change how links open or copy text automatically, while others go much further — blocking ads and trackers, working as VPNs, or even using AI to help you write or summarize content. Normally you don’t need to know much more than how to add them to your browser. But how do all these extensions actually work? Let’s get to the bottom of this.

The main thing about browser extensions is in their very name. Unlike standalone software, they can’t work without their browser. At the core of the browser-extension interaction lie APIs (Application Programming Interfaces) — collections of methods and properties provided by browsers that allow extensions limited, permission-based access to some of the browser’s features and data. For example, if an API allows to create new tabs or close the existing ones, an extension can do it by accessing that API, provided the extension has the necessary permissions. The more features and data the extension wants to access, the more permissions it requires, so pay close attention to permission requests when installing a new toy into your browser. But more on that later.

Generally speaking, each browser developer creates their own APIs suited specifically for that browser. This is why it is not uncommon to find an extension for, say, Chrome, that won’t work on Safari, or vice versa. This isn’t ideal, of course, so there has been an effort to standardize and unify these APIs under a common framework, one of the examples is the WebExtensions API. Thanks to it, most major browsers like Chrome, Firefox, and Safari offer largely compatible extension APIs. It allows developers to create extensions that work across multiple browsers with potentially very few changes. This isn’t a given, however. In many cases making your extension work smoothly across different browsers requires a lot of work, and not every developer has resources and desire to walk that extra mile.

Circling back to the matters of security, let’s talk about the confinements that browsers impose on extensions. Browser extensions work in so-called sandboxes — enclosed environments that allow each extension to only access browser APIs and limit its interaction with the operating system and other applications. Every extension has a manifest where it declares the permissions it needs to perform its functions (for example, permissions to modify the page’s contents or to initiate and cancel downloads). The browser then enforces these permissions and won’t allow the extension to do anything that goes beyond their scope. This way, even if the extension is compromised, it won’t have the means to inflict damage to processes and files outside its reach, at least in theory.

You often hear warnings against installing browser extensions from outside the official stores. That’s because these stores add an additional layer of defense. Whenever a developer submits their extension to the store, they undergo a review process. During this process, they need to explain why their extension needs all the permissions it asks for. If upon inspecting the code the reviewer decides that the requested permissions are excessive for the functionality that the extension offers, it may be rejected from the store. The review process is not error-proof, though. There are plenty of examples when extensions admitted into popular stores, like Chrome Store, have gone rogue and stolen users’ data, or worse. This is why it is very important to always review the extension’s permissions before installing it.

Finally, when talking about extensions and security, it is impossible not to mention Chrome's transition to the new version of its extension platform, Manifest V3. We have written plenty about it, and even gave various talks on this at the Ad-Filtering Dev Summit,since its effect on browser extensions is severe, and on ad-blocking extensions is doubly so. It gave our devs a lot of headache, but credit where credit is due: it should improve the security in regard to Chrome browser extensions. It removes the ability for extensions to execute remotely hosted or arbitrary code, so all code will have to be reviewed. And this should if not eliminate, then significantly reduce the security risks.

Now to the next question...

What is a firewall?

This is one of those questions that, if we wanted to cover every angle, could easily take up ten pages. But instead of going down that rabbit hole, let’s zoom in on the key stuff. First, let’s tackle the most obvious question: why is it even called a firewall?

The word firewall wasn’t originally a tech term at all — it came way before the Internet. In its original meaning, a firewall was literally a wall that protected against fire. You’d find it inside buildings, where it was designed to stop flames from spreading from one part of the structure to another. Unlike regular walls, it was thicker, made purely of foundation materials, and usually didn’t have windows or anything else that could let fire pass through.

Firewall

In the world of computer networks, firewalls first appeared in the late 1980s. Much like their physical namesake, they were designed to stop the spread of something, in this case, unwanted or potentially harmful network traffic.

The first generation of firewalls were known as packet filters. These operated at the network layer, inspecting traffic by analyzing individual packets — the small chunks data is broken into when it travels across the Internet. Packet filters made decisions based on things like the source and destination IP addresses, port numbers, and transport protocols. At their core, these firewalls relied on a predefined set of rules that would allow or block traffic based on those properties.

Then, in the early 1990s, came the second generation of firewalls. Unlike the first gen, these were more complex firewalls known as “stateful firewalls”. They didn’t just look at one packet in isolation — instead, they could keep track of traffic over time. This meant they could remember the “state” of a connection, like whether a packet was part of an existing, approved session or just a random incoming request.

Firewalls kept evolving as the Internet kept evolving. The rise of web applications led to the development of application-layer firewalls, which operate at the application layer, hence the name. These firewalls are capable of understanding and filtering traffic based on specific protocols that support applications or services, like HTTP (used by web browsers to load websites) or DNS (used to resolve domain names into IP addresses), rather than just IP addresses and ports. Then, around 2008, firewalls started to include deep packet inspection (DPI) — a technique that allows them to analyze the actual contents of the data packets, not just their headers.

💡
No matter how they work or what layer they operate on, firewalls basically act as a barrier between two networks — like your home network and the wider Internet, or different segments of a company’s internal network — to control what gets through and what doesn’t.

When it comes to how a firewall is implemented, there are different forms. It can be a hardware firewall, where a physical device is placed at a network boundary to filter traffic (like a home router). It can be a software firewall — think of an app running on your device that filters traffic to and from that device (Windows Defender Firewall and the like). Or it can even be virtual or cloud-based, running remotely and protecting networks or devices without being tied to a specific piece of hardware.

Now, let’s answer a question that you might be curious about. Is AdGuard ad blocker a firewall? The short answer will be no, at least not in the traditional sense of the word. But our apps do have firewall features. Specifically, AdGuard for Android has a Firewall module that allows users to manage internet access for apps on their device. This module enables users to control which apps can access the internet, blocking or allowing access as needed.

This feature becomes especially useful when apps behave suspiciously — like sending data even when you're not using them. With AdGuard for Android’s firewall module, you can block internet access for specific apps, disable background traffic when your screen is off, or even cut off mobile data while roaming. It gives you full control over how and when your apps connect online without needing to root your phone or dig through complex system settings.

While firewalls can be helpful tools that you can use to protect your home network or your privacy and security on-device, more often than not the word ‘firewall’ is now associated with censorship. This is in large part due to the notoriety that the Great Firewall of China has gained over the years. And we cannot wrap this up without at least saying at least a few words about it.
The GFC is a massive, state-run censorship system aimed at restricting access to foreign internet content from within China — including services like Google, Facebook, Twitter, and YouTube. It uses a mix of techniques like DNS spoofing, keyword-based URL filtering, deep packet inspection (DPI) and even packet forging to block or disrupt traffic. There are more GFC-like state-controlled systems in the world that primarily function as censorship tools at the guise of security, but that’s a topic worthy of its own article.

喜歡這篇文章嗎?
9,332 9332 使用者評論
非常好!

AdGuard VPN Windows 版

安心使用任何瀏覽器或應用程式,而不用再擔心匿名性。使用 AdGuard VPN 體驗當整個世界仿佛就在你的指尖上時是什麼樣的感覺。
下載
透過下載該程式,您接受授權協定的條款
了解更多
AdGuard VPN Windows 版的主畫面,顯示 VPN 連線已啟用。
AdGuard VPN Windows 版的主畫面,顯示已中斷連線的狀態。
例外清單畫面,顯示不使用 VPN 的網站清單。
9,332 9332 使用者評論
非常好!

AdGuard VPN Mac 版

從我們的位於世界各地的 75+ 個伺服器位置一鍵選擇所需要的伺服器。安全隱藏個人數據避免受到他人的監視。
下載
透過下載該程式,您接受授權協定的條款
了解更多
AdGuard VPN Mac 版的主畫面,VPN 連線已啟用。
AdGuard VPN Mac 版的主畫面,顯示未連線狀態。
例外清單畫面,顯示不使用 VPN 的網站清單。
9,332 9332 使用者評論
非常好!

AdGuard VPN Android 版

AdGuard VPN Android 版提供數十個高速伺服器位置。隨時隨地更私密地瀏覽。內建 DNS 保護,封鎖廣告和追蹤器。
了解更多
下載
透過下載該程式,您接受授權協定的條款
Google Play
透過下載該程式,您接受授權協定的條款
AdGuard VPN Android 版的主畫面,顯示 VPN 連線已啟用。
AdGuard VPN Android 版的主畫面,顯示連線已中斷的狀態。
「位置」畫面顯示可用的最快伺服器。
例外清單畫面,顯示不使用 VPN 的網站清單。
顯示用於安裝 AdGuard VPN 之 QR 碼的畫面。
9,332 9332 使用者評論
非常好!

AdGuard VPN iOS 版

使用適用於 iOS 的 AdGuard VPN 匿名保護個人隱私並觀看您喜歡的節目。使用內建 DNS 保護封鎖廣告。
了解更多
App Store
透過下載該程式,您接受授權協定的條款
AdGuard VPN iOS 版的主畫面,顯示 VPN 連線已啟用。
AdGuard VPN iOS 版的主畫面,顯示為已中斷連線狀態。
「位置」畫面顯示可用的最快伺服器。
例外清單畫面,顯示不使用 VPN 的網站清單。
顯示用於安裝 AdGuard VPN 之 QR 碼的畫面。
9,332 9332 使用者評論
非常好!

AdGuard VPN 於 Android TV 平台

探索專為 Android TV 設計的 AdGuard VPN!享受無縫串流、加強的安全防護,以及簡單的設定過程。
下載
透過下載該程式,您接受授權協定的條款
Google Play
透過下載該程式,您接受授權協定的條款
了解更多
AdGuard VPN Android TV 版的主畫面,已啟用與芬蘭赫爾辛基伺服器的 VPN 連線。
9,332 9332 使用者評論
非常好!

AdGuard VPN Chrome 版

AdGuard VPN Edge 版

AdGuard VPN Firefox 版

AdGuard VPN Opera 版

隱藏實際位置並“飛到“世界各地、不受速度限制訪問任何內容並保持 Web 上的匿名性。
一鍵連線不同的地理位置,隱藏 IP 位址,讓網路瀏覽更加安全及隱秘。
保護隱私、隱藏真實地理位置、自己決定哪一個網站的流量要通過 VPN 傳送!
成為 Opera 瀏覽器裡的忍者:快速移動到世界任何地方,而不會被他人檢測到。
安裝
透過下載該程式,您接受授權協定的條款
了解更多
安裝
透過下載該程式,您接受授權協定的條款
了解更多
安裝
透過下載該程式,您接受授權協定的條款
了解更多
安裝
透過下載該程式,您接受授權協定的條款
了解更多
AdGuard VPN 瀏覽器擴充功能的主畫面,顯示 VPN 連線已啟用。
「位置」畫面顯示可用的最快伺服器。
9,332 9332 使用者評論
非常好!

AdGuard VPN 用於路由器

在路由器上安裝 AdGuard VPN 全面保護網路。自己決定保護時間,以及要保護的裝置
此選項僅在訂購 AdGuard VPN 後可用
具有鑰匙孔盾牌圖示的路由器。
9,332 9332 使用者評論
非常好!

AdGuard VPN Linux版

安裝用於 Linux 的最佳免費 VPN 服務,享受無縫銜接的網頁瀏覽、更高的安全性、網際網路流量加密和 DNS 防泄露保護。從多個 VPN 伺服器中進行選擇自己喜歡的伺服器位置
AdGuard VPN 的吉祥物天狗與 Linux 企鵝 Tux 一起坐在灌木叢中。
9,332 9332 使用者評論
非常好!

AdGuard VPN Apple TV 版

探索專為 Apple TV 設計的 AdGuard VPN!享受無縫串流、加強的安全防護,以及簡單的設定過程
此選項僅在訂購 AdGuard VPN 後可用
一部帶有 AdGuard VPN 標誌的 Apple TV 串流裝置。
9,332 9332 使用者評論
非常好!

AdGuard VPNXbox 版

使用 AdGuard VPN 保護 Xbox,享受順暢遊戲體驗、增強的安全性和簡單的設定
此選項僅在訂購 AdGuard VPN 後可用
一台 Microsoft Xbox 主機和控制器,附有 AdGuard VPN 標誌。
9,332 9332 使用者評論
非常好!

AdGuard VPN PS4/PS5 版

使用 AdGuard VPN 保護 PlayStation,享受無縫線上遊戲、增強的安全性和簡單的設定。從多個 VPN 伺服器中進行選擇,訪問想要的位置
此功能僅在 AdGuard VPN 高級版可用
此選項僅在訂購 AdGuard VPN 後可用
一台 Sony PlayStation 遊戲主機和控制器,上面有 AdGuard VPN 標誌。
9,332 9332 使用者評論
非常好!

AdGuard VPN Chromecast 版

在 Google TV(Chromecast 4代),或在網路路由器(Chromecast 3代)上安裝 AdGuard VPN,線上保持匿名狀態,隨時隨地訪問網頁以享受 Chromecast 的串流內容。 在 Chromecast 3代上,使用者需要 AdGuard VPN 訂閱。
此選項僅在訂購 AdGuard VPN 後可用
一部帶有鑰匙孔盾牌圖示的 Google Chromecast 串流裝置。
AdGuard VPN
下載已開始
點擊由該箭頭所指示的按鈕以開始安裝。
掃描 QR 圖碼在行動裝置上安裝 AdGuard VPN
顯示用於安裝 AdGuard VPN 之 QR 碼的畫面。