Device Tracking via Linux's New TCP Source Port Selection Algorithm (Extended Version)

09/26/2022
by   Moshe Kol, et al.
0

We describe a tracking technique for Linux devices, exploiting a new TCP source port generation mechanism recently introduced to the Linux kernel. This mechanism is based on an algorithm, standardized in RFC 6056, for boosting security by better randomizing port selection. Our technique detects collisions in a hash function used in the said algorithm, based on sampling TCP source ports generated in an attacker-prescribed manner. These hash collisions depend solely on a per-device key, and thus the set of collisions forms a device ID that allows tracking devices across browsers, browser privacy modes, containers, and IPv4/IPv6 networks (including some VPNs). It can distinguish among devices with identical hardware and software, and lasts until the device restarts. We implemented this technique and then tested it using tracking servers in two different locations and with Linux devices on various networks. We also tested it on an Android device that we patched to introduce the new port selection algorithm. The tracking technique works in real-life conditions, and we report detailed findings about it, including its dwell time, scalability, and success rate in different network types. We worked with the Linux kernel team to mitigate the exploit, resulting in a security patch introduced in May 2022 to the Linux kernel, and we provide recommendations for better securing the port selection algorithm in the paper.

READ FULL TEXT

page 6

page 7

research
11/02/2011

Kernel diff-hash

This paper presents a kernel formulation of the recently introduced diff...
research
01/24/2022

DRAWNAPART: A Device Identification Technique based on Remote GPU Fingerprinting

Browser fingerprinting aims to identify users or their devices, through ...
research
06/25/2019

From IP ID to Device ID and KASLR Bypass (Extended Version)

IP headers include a 16-bit ID field. Our work examines the generation o...
research
12/14/2020

Cross Layer Attacks and How to Use Them (for DNS Cache Poisoning, Device Tracking and More)

We analyze the prandom pseudo random number generator (PRNG) in use in t...
research
05/07/2019

An Analysis of Pre-installed Android Software

The open-source nature of the Android OS makes it possible for manufactu...
research
07/01/2020

DEMO: BTLEmap: Nmap for Bluetooth Low Energy

The market for Bluetooth Low Energy devices is booming and, at the same ...
research
10/09/2020

C for a tiny system

We have implemented support for Padauk microcontrollers, tiny 8-Bit devi...

Please sign up or login with your details

Forgot password? Click here to reset