tirdad - TCP ISN CPU Information Leak Protection

From Kicksecure
Jump to navigation Jump to search

This page explains a Linux TCP Initial Sequence Number (ISN) side-channel information leak and introduces tirdad, a kernel module that helps mitigate it by randomizing TCP ISNs.

TCP ISN CPU Information Leaks

[edit]
  • Issue summary: The Linux kernel has a side-channel information leak bug that can leak information through outgoing TCP traffic. This can allow side-channel attacks because sensitive information about a system's CPU activity may be inferred remotely.
  • Why it matters: This may be particularly dangerous for long-running cryptographic operations.
  • Real-world impact: Research has demonstrated that related techniques can be used for de-anonymization of location-hidden services. [1]
  • Clock skew notes:
    • Leak source: Clock skew is leaked through TCP ISNs (Initial Sequence Numbers) by the Linux kernel.
    • Remote detection: Clock skew can be remotely detected by observing ISNs.
    • Attack amplification: Clock skew can be induced by an attacker by producing load on the victim machine.

What the Linux ISN leaks is the difference between two timestamps, not the timestamp itself. A difference lets you work out drift and skew, which can help someone fingerprint the computer hardware, its environment and load. Of course that only works if you can probe a computer, and maintain the same source/destination port and IP address.Add research idea for Linux TCP Initial Sequence Numbers may aid correlationarchive.org iconarchive.today icon: comment by Steven J. Murdocharchive.org iconarchive.today icon

... it is worth complaining to the kernel developers for the simple reason that adding the 64ns timer post-hash probably *does* leak side channels about CPU activity, and that may prove very dangerous for long-running cryptographic operations (along the lines of the hot-or-not issue). Unfortunately, someone probably needs to produce more research papers before they will listen.Add research idea for Linux TCP Initial Sequence Numbers may aid correlationarchive.org iconarchive.today icon: comment by Mike Perryarchive.org iconarchive.today icon

Mitigation

[edit]

TCP Initial Sequence Numbers (ISNs) randomization to help prevent TCP ISN based CPU information leaks.

tirdad is a kernel module to hot-patch the Linux kernel to generate random TCP Initial Sequence Numbers for IPv4 and IPv6 TCP connections.

Platform specific.

Development

[edit]

Footnotes

[edit]
Notification image

We believe security software like Kicksecure needs to remain Open Source and independent. Would you help sustain and grow the project? Learn more about our 13 year success story and maybe DONATE!