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

12/14/2020
by   Amit Klein, et al.
0

We analyze the prandom pseudo random number generator (PRNG) in use in the Linux kernel (which is the kernel of the Linux operating system, as well as of Android) and demonstrate that this PRNG is weak. The prandom PRNG is in use by many "consumers" in the Linux kernel. We focused on three consumers at the network level – the UDP source port generation algorithm, the IPv6 flow label generation algorithm and the IPv4 ID generation algorithm. The flawed prandom PRNG is shared by all these consumers, which enables us to mount "cross layer attacks" against the Linux kernel. In these attacks, we infer the internal state of the prandom PRNG from one OSI layer, and use it to either predict the values of the PRNG employed by the other OSI layer, or to correlate it to an internal state of the PRNG inferred from the other protocol. Using this approach we can mount a very efficient DNS cache poisoning attack against Linux. We collect TCP/IPv6 flow label values, or UDP source ports, or TCP/IPv4 IP ID values, reconstruct the internal PRNG state, then predict an outbound DNS query UDP source port, which speeds up the attack by a factor of x3000 to x6000. This attack works remotely, but can also be mounted locally, across Linux users and across containers, and (depending on the stub resolver) can poison the cache with an arbitrary DNS record. Additionally, we can identify and track Linux and Android devices – we collect TCP/IPv6 flow label values and/or UDP source port values and/or TCP/IPv4 ID fields, reconstruct the PRNG internal state and correlate this new state to previously extracted PRNG states to identify the same device.

READ FULL TEXT
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
09/26/2022

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

We describe a tracking technique for Linux devices, exploiting a new TCP...
research
09/04/2012

Security Issues in the Android Cross-Layer Architecture

The security of Android has been recently challenged by the discovery of...
research
05/12/2022

From IP to transport and beyond: cross-layer attacks against applications

We perform the first analysis of methodologies for launching DNS cache p...
research
03/04/2019

Denial-of-Service Attacks on Shared Cache in Multicore: Analysis and Prevention

In this paper we investigate the feasibility of denial-of-service (DoS) ...
research
03/22/2018

Securing the Control-plane Channel and Cache of Pull-based ID/LOC Protocols

Pull-based ID/LOC split protocols, such as LISP (RFC6830), retrieve mapp...
research
07/03/2014

Predicting Lifetime of Dynamical Networks Experiencing Persistent Random Attacks

Empirical estimation of critical points at which complex systems abruptl...

Please sign up or login with your details

Forgot password? Click here to reset