Posted by kecoak on May 16, 2008 in
Bug & Exploit,
Journal,
News |
7 comments
Rasanya baru beberapa minggu yang lalu saat phoenix nge-buzz saya via YM mengenai POC yang dia buat berdasarkan informasi di bugtraq untuk dapat melakukan DOS (dan mungkin remote exploitation) pada openssh (masalah pada malloc memory allocation) dimana masih terdapat kegagalan untuk kemudian di diskusikan bersama, minggu ini sudah ada berita lain yang cukup mengejutkan dari distribusi debian. Seperti yang kita ketahui bersama bahwa Luciano Bello menemukan bugs pada paket openssl Debian dimana kita dapat dengan mudah memperkirakan data random yang di generate oleh openssl. Data random ini digenerate oleh beberapa parameter yang disebut ‘seed’, misalnya gerakan mouse, ketikan keyboard, dll. Hasil generate tergantung algoritma yang digunakan, apabila menggunakan DSA 1024 bit maka kemungkinan key yang digunakan adalah 2^1024. Bugs pada openssl ini telah digunakan oleh distribusi Debian sejak tahun 2006, penyebab awalnya adalah informasi dari Daniel Brahneborg yang mengatakan bahwa tools Valgrind dan juga Purify yang dia gunakan saat develop suatu aplikasi menyatakan adanya Uninitialized Variable, kemudian diputuskan bahwa ada masalah pada salah satu code di md_rand.c sehingga baris tersebut di hapus dari distribusi openssl debian. Penghapusan code tersebutlah akar dari permasalahan PRNG openssl debian. Dan seperti yang kita ketahui juga bahwa openssl merupakan library yang umum digunakan oleh banyak aplikasi user dalam hal menangani masalah kriptografi, salah satunya adalah SSH. Jika awalnya total kemungkinan keys yang digenerate adalah 2^1024, maka pada distribusi debian tersebut total kemungkinan unique keys yang digenerate adalah 2^15. Kenapa?!karena ternyata dengan penghapusan baris code di md_rand.c tersebut menyebabkan satu-satunya parameter yang digunakan sebagai seed untuk randomisasi adalah PID (Process ID), dan di sistem Linux umumnya total proses ID berjumlah 32,767. HDM memberikan penjelasan yang lebih teknikal disini. HDM juga telah develop tools yang dapat digunakan untuk membuat ‘kamus data’ berisi seluruh SSH Keys untuk algoritma 1024-bit DSA, 2048-bit RSA, dan 4096-bit RSA. Key-key tersebut digenerate dengan menggunakan GetPID Faker shared library yang akan membantu...