x32net / nonce-disrespect

Nonce-Disrespecting Adversaries: Practical Forgery Attacks on GCM in TLS

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Nonce-Disrespecting Adversaries

We provide supplemental material to our research on AES-GCM nonce reuse vulnerabilities in TLS.

Research paper

Background

Abstract:

We investigate nonce reuse issues with the GCM block cipher mode as
used in TLS and focus in particular on AES-GCM, the most widely
deployed variant. With an Internet-wide scan we identified 184 HTTPS
servers repeating nonces, which fully breaks the authenticity of the
connections. Affected servers include large corporations, financial
institutions, and a credit card company. We present a proof of
concept of our attack allowing to violate the authenticity of affected
HTTPS connections which in turn can be utilized to inject seemingly
valid content into encrypted sessions. Furthermore, we discovered
over 70,000 HTTPS servers using random nonces, which puts them at risk
of nonce reuse, in the unlikely case that large amounts of data are
sent via the same session.

This repository provides supplemental code and information.

Code

  • getnonce - scan tool and OpenSSL patch used for our Internet-wide scan.
  • gcmproxy - attack implemented in Go.
  • tool - helper tools used by attack code.

License

All our code is published as CC0 1.0 / Public Domain.

Data

Advisories

Security advisories from affected vendors:

Misc

About

Nonce-Disrespecting Adversaries: Practical Forgery Attacks on GCM in TLS

License:Creative Commons Zero v1.0 Universal


Languages

Language:Go 38.1%Language:C 29.4%Language:C++ 28.8%Language:Makefile 1.9%Language:Shell 1.7%