Penyelidik keselamatan telah menunjukkan teknik bijak yang mengeksploitasi perlanggaran hash MD5 untuk berpotensi memintas sistem pengesanan webshell automatik. Bukti konsep ini melibatkan dua fail dengan hash MD5 yang sama tetapi kandungan yang berbeza sepenuhnya - satu kelihatan sebagai webshell berniat jahat dan satu lagi sebagai data yang kelihatan rawak.
Demonstrasi ini menyerlahkan kelemahan asas dalam sistem keselamatan yang bergantung pada hashing MD5 untuk pengenalan fail dan caching. Kedua-dua fail menghasilkan hash MD5 yang sama (b719a17ae091ed45fb874c15b2d9663f) walaupun mempunyai kandungan binari yang berbeza, dengan webshell mengandungi kod PHP boleh laksana manakala fail biasa terdiri daripada bait yang kelihatan rawak.
Perbandingan Fail:
- Kedua-dua fail: Bersaiz 512 bait
- Hash MD5 yang sama:
b719a17ae091ed45fb874c15b2d9663f
- webshell.php: Mengandungi kod PHP yang boleh dilaksanakan
<?=eval($_GET[1]);?>
- normal.php: Mengandungi data binari rawak yang bermula dengan aksara 'x' berulang
Impak Dunia Sebenar Terhad Disebabkan Amalan Keselamatan Moden
Komuniti keselamatan siber telah menyatakan reaksi bercampur mengenai implikasi praktikal teknik ini. Ramai pakar menyatakan bahawa sistem keselamatan moden sebahagian besarnya telah beralih daripada hashing MD5 kerana kelemahan yang diketahui. Kebanyakan penyelesaian pengimbasan antivirus dan keselamatan kontemporari kini menggunakan alternatif yang lebih selamat seperti SHA-256 atau menggunakan pelbagai algoritma hashing serentak untuk mencegah serangan jenis ini.
Teknik ini hanya akan berkesan terhadap sistem yang menggunakan MD5 untuk caching hasil imbasan dan membenarkan penggantian fail berdasarkan padanan hash semata-mata. Senario sedemikian semakin jarang berlaku dalam infrastruktur keselamatan moden, kerana kebanyakan vendor telah menghentikan penggunaan MD5 bertahun-tahun lalu kerana kelemahan kriptografinya.
Cabaran Teknikal dan Isu Pengesanan
Penganalisis keselamatan telah mencatatkan beberapa batasan praktikal dengan pendekatan ini. Fail biasa dalam demonstrasi tidak mengandungi kod PHP yang sah, menjadikannya mencurigakan kepada mana-mana pengimbas keselamatan yang cekap yang menganalisis kandungan fail dan bukannya hanya bergantung pada nilai hash. Serangan yang lebih canggih memerlukan fail jinak mengandungi kod sah dan berfungsi yang mempunyai tujuan sebenar.
Fail biasa itu tidak kelihatan begitu biasa, kata seorang penyelidik keselamatan, menyerlahkan bagaimana sifat binari fail perlanggaran mungkin akan mencetuskan penelitian tambahan daripada sistem pengesanan moden.
Selain itu, senario serangan memerlukan keadaan yang sangat khusus: penyerang mesti dapat memuat naik fail yang diimbas, fail tersebut dilaksanakan selepas dianggap selamat, dan menghadapi sistem yang menggunakan MD5 untuk menentukan sama ada perlu mengimbas semula fail.
Perbezaan Utama dalam Hex Dumps:
- Bait 0x00-0x0F: webshell.php mengandungi kod PHP, normal.php mempunyai aksara 'x'
- Bait 0x10-0x2F: Corak data rawak yang berbeza
- Bait 0x30-0x200: Kebanyakannya sama dengan variasi kecil pada offset tertentu
Implikasi Lebih Luas untuk Keselamatan Berasaskan Hash
Walaupun demonstrasi khusus ini mungkin mempunyai impak praktikal yang terhad, ia berfungsi sebagai peringatan penting mengenai risiko berterusan menggunakan fungsi kriptografi yang tidak digunakan lagi. Teknik ini menunjukkan mengapa migrasi industri keselamatan daripada MD5 adalah perlu dan terus relevan.
Penyelidikan ini juga menyerlahkan kepentingan strategi pertahanan berlapis. Sistem keselamatan yang bergantung semata-mata pada pengenalan fail berasaskan hash sememangnya terdedah kepada serangan perlanggaran, tanpa mengira algoritma hashing khusus yang digunakan. Pendekatan keselamatan moden biasanya menggabungkan pelbagai kaedah pengesanan, termasuk analisis tingkah laku, pemeriksaan kandungan, dan pelbagai algoritma hash.
Demonstrasi ini menyertai koleksi eksploit perlanggaran MD5 kreatif yang semakin berkembang, termasuk contoh PoC||GTFO yang terkenal yang mencipta fail yang berfungsi sebagai dokumen PDF dan program boleh laksana sambil mengekalkan nilai hash yang sama. Penyelidikan sedemikian terus menggariskan kepentingan kritikal menggunakan fungsi hash kriptografi moden yang tahan perlanggaran dalam aplikasi keselamatan.
Rujukan: Webshell Collision