DROWN Attack on TLS – Everything You Need To Know


So SSL in general is having a rough time lately, now with the SSLv2 DROWN attack on TLS. And this is not long after Logjam and a while since Heartbleed, POODLE and FREAK.

DROWN is a cross-protocol attack that can decrypt passively collected TLS sessions from up-to-date clients and stands for Decrypting RSA with Obsolete and Weakened eNcryption.

DROWN Attack

DROWN is a serious vulnerability that affects HTTPS and other services that rely on SSL and TLS, some of the essential cryptographic protocols for Internet security. These protocols allow everyone on the Internet to browse the web, use email, shop online, and send instant messages without third-parties being able to read the communication.

The full technical paper is available here: drown-attack-paper.pdf [PDF]

In some ways this is just a new, improved, stronger version of the earlier Bleichenbacher attack.

A typical scenario requires the attacker to observe 1,000 TLS handshakes, then initiate 40,000 SSLv2 connections and perform 250 offline work to decrypt a 2048-bit RSA TLS cipher-text.

If any other server uses the same private key and allows SSLv2 connections, even for completely different protocol, you could be vulnerable. Many companies reuse the same certificate and key on their web and email servers, for instance. In this case, if the email server supports SSLv2 and the web server does not, an attacker can take advantage of the email server to break TLS connections to the web server.

Ouch.


In a worst case scenario and with adequate processing power, this could mean a real time man-in-the-middle attack is possible.

Am I vulnerable?

If you have any servers, anywhere with SSLv2 enabled – then yes. If you share private keys (that includes with a CDN provider, mail server, DNS server etc) you could be in worse trouble. Even if your web server doesn’t have SSLv2 enabled, you are still vulnerable.

How do I protect myself

For most of Linux bods, OpenSSL already released a patched version of their library last Tuesday – if you haven’t already installed it please do so ASAP.

On Ubuntu it’s as simple as doing aptitude update; aptitude safe-upgrade -y; and then restarting all relevant services, or simply rebooting.

Check your OpenSSL build date – it should be February 29th for you to be safe:

For nginx, newer versions disable SSLv2 by defauly anyway, but if you want to be sure use the following:

And for Apache:

So go and patch, and if you’re not sure about the implications of this attack I suggest regenerating your private keys, regenerate new SSL certs and install those after patching and blocking SSLv2 from all your services.

The official site for the attack can be found here: https://drownattack.com/

More Reading

Reddit: The DROWN Attack
One-third of all HTTPS websites open to DROWN attack
DROWN Vulnerability Hits SSL/TLS, but It’s No Heartbleed

Posted in: Cryptography, Exploits/Vulnerabilities

,


Latest Posts:


Fuzzilli - JavaScript Engine Fuzzing Library Fuzzilli – JavaScript Engine Fuzzing Library
Fuzzilii is a JavaScript engine fuzzing library, it's a coverage-guided fuzzer for dynamic language interpreters based on a custom intermediate language.
OWASP APICheck - HTTP API DevSecOps Toolset OWASP APICheck – HTTP API DevSecOps Toolset
APICheck is an HTTP API DevSecOps toolset, it integrates existing tools, creates execution chains easily and is designed for integration with 3rd parties.
trident - Automated Password Spraying Tool trident – Automated Password Spraying Tool
The Trident project is an automated password spraying tool developed to be deployed on multiple cloud providers and provides advanced options around scheduling
tko-subs - Detect & Takeover Subdomains With Dead DNS Records tko-subs – Detect & Takeover Subdomains With Dead DNS Records
tko-subs is a tool that helps you to detect & takeover subdomains with dead DNS records, this could be dangling CNAMEs point to hosting services and more.
Arcane - Tool To Backdoor iOS Packages (iPhone ARM) Arcane – Tool To Backdoor iOS Packages (iPhone ARM)
Arcane is a simple script tool to backdoor iOS packages (iPhone ARM) and create the necessary resources for APT repositories.
SharpHose - Asynchronous Password Spraying Tool SharpHose – Asynchronous Password Spraying Tool
SharpHose is an asynchronous password spraying tool in C# for Windows environments that takes into consideration fine-grained password policies and can be run over Cobalt Strike's execute-assembly.


One Response to DROWN Attack on TLS – Everything You Need To Know

  1. Cliff March 8, 2016 at 10:58 pm #

    Hi, DROWN does not expose your private Keys. It exposes the session keys to allow a session to be decrypted. Please see the openssl blog posting FAQ question on that specific point – https://openssl.org/blog/blog/2016/03/01/an-openssl-users-guide-to-drown/.

    Regards,