Melakukan Tes Kerentanan SSLv2 Terhadap Serangan DROWN

Pada tanggal 1 Maret 2016 lalu beberapa media teknologi dan keamanan telah mengumumkan adanya celah keamanan pada SSLv2 terhadap sebuah serangan yang dikenal dengan DROWN (Decrypting RSA using Obsolete and Weakened eNcryption). Celah keamanan ini pertama kali dilaporkan oleh Nimrod Aviram dan Sebastian Schinzel dan kemudian RedHat mengumumkannya dengan kode CVE-2016–0800. Beberapa situs besar seperti Alibaba, Yahoo dan sebagainya termasuk dalam daftar situs top yang mempunyai celah keamanan ini (saat vulnerability issue baru rilis).

Serangan DROWN pada SSLv2 memungkinkan seseorang melakukan dekripsi terhadap RSA cipher text yang melewati jalur komunikasi antara server (yang masih menggunakan SSLv2) dengan client. Private key didapatkan dengan cara mengobservasi komunikasi antara client dan server, terutama response dari server yang mempunyai private key tersebut. Penjelasan teknis mendetail dapat ditemukan pada Paper yang diterbitkan oleh DROWN Researcher.

Untuk melakukan tes terhadap sebuah website apakah memiliki celah keamanan ini cukup dengan mengeceknya pada tautan ini. Atau dapat menggunakan skrip python yang dikembangkan oleh Hubert Kario dari RedHat. Untuk menggunakan skrip ini hanya membutuhkan pyton minimal versi 2.6.6 dan tentunya git untuk mengunduh / clone project nya.

[code language=”bash”]git clone https://github.com/tomato42/tlsfuzzercd tlsfuzzergit checkout ssl2[/code]

masih di dalam direktori tlsfuzzer :

[code language=”bash”]git clone https://github.com/tomato42/tlslite-ng .tlslite-ngln -s .tlslite-ng/tlslite tlslitecd .tlslite-nggit checkout sslv2[/code]

Lalu kembali ke direktori tlsfuzzer

[code language=”bash”]cd ..[/code]

Unduh skrip kripto ECDSA :

[code language=”bash”]git clone https://github.com/warner/python-ecdsa .python-ecdsaln -s .python-ecdsa/ecdsa ecdsa[/code]

Lakukan pengecekan seperti ini :

[code language=”bash”]PYTHONPATH=. python scripts/test-sslv2-force-export-cipher.py -h contohaja.com -p 443[/code]

Pada contoh kasus yang masih rentan terhadap DROWN attack maka akan muncul assertion error seperti ini :

Connect with TLSv1.0 EXP-RC4-MD5 ...
OK