Algoritma password oracle11g telah di reverse
Posted by adhityaseptriadi on November 9, 2007
RecurityLabs menginfokan hasil temuannya tentang algoritma yang digunakan pada password di database oracle, hal ini terjadi setelah pihak recurity-labs di infokan oleh Alexander Conburst dari red-database-security tentang dirilisnya database oracle 11g untuk sistem operasi GNU/linux dan menggunakan algoritma hash yang baru untuk pengamanan passwordnya.
Algoritma hash baru yang digunakan ini sudah dapat menangani case-sensitive password. Jika kita ingat kasus yang di alami oleh oracle akhir tahun 2005 adalah tidak mampunya algoritma yang digunakan untuk menangani password yang case-sensitif, sebagai contoh : password “inirahasia” akan menghasilkan output yang sama dengan password “INIRAHASIA”, ataupun dengan “iNiRahASIA”, melihat perkembangan akan algoritma hash baru yang digunakan maka pihak Recurity-labs melakukan reverse-engineering terhadap algoritma hash yang digunakan untuk mengamankan password (yang di janjikan sudah mampu menangani “case-sensitive passwords”). Berbekal binary oracle yang berukuran lebih kurang 145 mega (ukuran yang sangat besar untuk sebuah file binary), maka pihak recurity-labs menggunakan FindCrypt yang merupakan salah satu plugins IDA untuk mendeteksi “encryption” yang digunakan dari suatu binary, ltrace serta GDB, selain itu mereka juga menggunakan peralatan pribadi yang tidak di jelaskan secara detail. String yang mereka cari diantaranya “create password hash“, yang akan mempercepat proses pencarian fungsi yang digunakan untuk melakukan hashing pada password. Akhirnya ditemukan juga formula yang mereka anggap sebagai algoritma yang digunakan untuk mengamankan password pada oracle 11g tersebut Sampai akhirnya di berikan juga detil POC-nya Connected to: SQL> create user FOOBAR identified by SHAlala; User created. SQL> select name,spare4 from sys.user$ where name=’FOOBAR’; NAME —————————— SPARE4 ——————————————————————————- FOOBAR S:2BFCFDF5895014EE9BB2B9BA067B01E0389BB5711B7B5F82B7235E9E182C SQL> Disconnected from Oracle Database $ echo -ne “SHAlala\x1B\x7B\x5F\x82\xB7\x23\x5E\x9E\x18\x2C” | sha1sum Lihatlah password yang sudah di hash di dalam database dan bandingkan dengan hasil sha1 dari password asli dan 10 buah bilangan hexa tersebut, maka kita ketahui bahwa password yang di simpan di dalam database dan merupakan hasil hashing dari algoritma tersebut merupakan kombinasi password dan bilangan hexa, yang kemudian hasilnya di tempeli lagi dengan hexa tersebut. Kesimpulan akhir mereka adalah, apa yang dilakukan Oracle untuk mengamankan password di versi ini kurang lebih sama dengan kesalahan yang dilakukan oleh Microsoft saat menciptakan NTLM. Tabel sys.user$ yang merupakan tempat menyimpan password tersebut tetap memiliki kelemahan enkripsi DES dengan case yang tidak sensitif (celah 2 tahun lalu) meskipun sudah di versi terbarunya. source: recurity-labs |




November 24, 2007 at 12:17 pm
waduh nak nak di sekolahin tinggi tinggi kok malah jadi penjahat