Post

Dodge: A Client-Side Framework for Application-Layer Video Fingerprinting Defenses

Proceedings on Privacy Enhancing Technologies

Background: Video fingerprinting, similar to the more well-known website fingerprinting, is a class of techniques used to identify which videos a user is watching by analyzing the associated network traffic. A common setting involves an attacker that monitors the link between the user’s device and a video server, collects the encrypted traffic, and determines which video the (hidden) communication contents correspond to via classification models. This works because the traffic, despite encryption, contains characteristic patterns that are unique to the underlying video. While many video fingerprinting attacks have been presented, there is a lack of practical, purpose-built defenses.

Description: The paper presents Dodge, a client-side framework for application-layer video fingerprinting defenses, implemented as a fork of the dash.js video player. Dodge generalizes the telltale request-response sequence of DASH video streaming, replacing segment downloads with customizable cycles that are specified in a JSON file called an extended manifest, used in place of the DASH MPD. This provides a significant degree of control over the sequence of request and response sizes in a video stream, enabling quick and easy deployment of different types of traffic analysis defenses without any required changes to servers or network infrastructure. Dodge can be used as is or as a reference when implementing defenses in other video players.

As a proof of concept, the paper also includes a mimicry defense, Dodge-mimic, which groups the videos in a dataset into groups with similar sequences of segment sizes and ensures that the videos in each group have the same sequence of cycles. While this approach is based on k-anonymity, which is vulnerable to several attacks and must be deployed carefully - if at all - it demonstrates Dodge’s support for precise control over video streaming traffic patterns and shows how one might go about crafting defenses for Dodge.

Link to paper

A basic demo of Dodge

Source code on GitHub

Presentation at SVTA Players and Playback Working Group, 2026-03-30

SVTA Players and Playback Working Group website

This post is licensed under CC BY 4.0 by the author.