Implementing Content Filtering Browser Addon Functionality for Firewalls

OData support
Dr. Fehér Gábor
Department of Telecommunications and Media Informatics

Nowadays, there is a growing concern regarding unwanted third-party content on the web.

In many cases, the tracking of users is the problem (Facebook, Google Analytics), while at

other times, the content is simply disturbing and intrusive (advertisements). The presence

of such third-party content can even impact page load times and the responsiveness of the

browser. Depending on their purpose, their presence can be obvious (text, CSS, images),

but they can also be virtually invisible for the user (cookies, XHR, hyperlink auditing).

Although there are products that aim to solve this problem, most of them are poorly con-

figurable and depend on the client browser, they’re not available on all Internet devices.

This is a huge problem in today’s world, where web content is mostly accessed using mobile

devices (smartphones and tablets). Blocking and filtering content on these devices can be

very hard, if not impossible.

One of the most promising solutions is a pair of Chromium-extensions, µMatrix and

µBlock, formerly known as HTTP Switchboard, with the obvious downside of being browserdependent.

µBlock is a simple ad-blocker using Adblock Plus filters, while µMatrix is a

fine-tunable content filter: it can function as a white- or blacklist, and rules can be set

based on the source and the type (cookie, CSS, image, plugin, script, XHR, frame, other

content) of the traffic.

Most of the features of a similar content filter could also be implemented on a firewall, making

it independent of the actual client. My choice fell on the Zorp GPL firewall. Zorp GPL

is an open-source application-layer firewall running on Linux systems. With its Pythonbased

configuration and the available base-proxies, virtually any kind of rule and proxy

can be implemented.

In my thesis, I design and implement a Zorp GPL proxy providing most of the functionality

of µBlock and µMatrix.


Please sign in to download the files of this thesis.