Pengantar
Dalam sistem operasi Windows, banyak aplikasi bergantung pada file Dynamic Link Library (DLL) untuk menjalankan berbagai fungsi penting. File DLL memungkinkan program berbagi kode yang sama sehingga aplikasi dapat berjalan lebih efisien dan ringan. Namun, mekanisme ini juga membuka peluang bagi penyerang untuk melakukan eksploitasi melalui teknik yang dikenal sebagai DLL Hijacking.
DLL Hijacking adalah metode serangan di mana penyerang menempatkan file DLL berbahaya pada lokasi tertentu sehingga aplikasi memuat file tersebut alih-alih memuat DLL asli yang seharusnya digunakan. Ketika aplikasi dijalankan, sistem secara tidak sadar akan mengeksekusi kode berbahaya yang telah disisipkan oleh penyerang.
Teknik ini sering digunakan dalam berbagai serangan malware karena relatif mudah dilakukan jika konfigurasi sistem atau aplikasi tidak aman. Oleh karena itu, memahami bagaimana DLL Hijacking bekerja menjadi langkah penting dalam meningkatkan keamanan sistem komputer.
Apa Itu DLL Hijacking?
DLL Hijacking adalah teknik eksploitasi keamanan yang memanfaatkan cara sistem operasi Windows mencari dan memuat file DLL.
Ketika sebuah aplikasi membutuhkan DLL tertentu, Windows akan mencarinya berdasarkan urutan pencarian tertentu (DLL search order). Jika penyerang berhasil menempatkan file DLL berbahaya pada lokasi yang diprioritaskan dalam proses pencarian tersebut, maka aplikasi dapat secara tidak sengaja memuat DLL yang telah dimodifikasi.
Akibatnya, kode berbahaya dapat dijalankan dengan hak akses yang sama seperti aplikasi yang memuatnya.
Menurut dokumentasi keamanan Microsoft, kerentanan ini sering terjadi ketika aplikasi memuat DLL tanpa menentukan path yang aman, sehingga memungkinkan penyerang menempatkan DLL berbahaya dalam direktori yang dapat diakses oleh aplikasi (dikutip dari microsoft).
baca juga : Reentrancy Attack: Celah Berbahaya dalam Smart Contract Blockchain
Bagaimana Cara Kerja DLL Hijacking?
Untuk memahami serangan ini, penting untuk mengetahui bagaimana Windows mencari file DLL ketika sebuah aplikasi dijalankan.
Secara umum, Windows akan mencari DLL dalam urutan berikut:
-
Direktori tempat aplikasi dijalankan
-
Direktori sistem Windows
-
Direktori Windows
-
Direktori yang terdaftar dalam variabel lingkungan PATH
Jika sebuah aplikasi memanggil DLL tanpa menentukan jalur lengkapnya, sistem akan mengikuti urutan pencarian tersebut.
Penyerang dapat memanfaatkan kondisi ini dengan cara menempatkan DLL berbahaya pada direktori yang lebih dulu diperiksa oleh sistem. Ketika aplikasi berjalan, file tersebut akan dimuat terlebih dahulu dan kode berbahaya akan dieksekusi.
Jenis-Jenis DLL Hijacking
Dalam praktiknya, DLL Hijacking memiliki beberapa variasi metode serangan.
DLL Search Order Hijacking
Ini adalah bentuk paling umum dari DLL Hijacking.
Penyerang menempatkan DLL berbahaya dalam direktori yang berada lebih awal dalam urutan pencarian Windows. Ketika aplikasi memanggil DLL yang tidak memiliki path absolut, sistem akan memuat file yang salah.
Phantom DLL Hijacking
Phantom DLL Hijacking terjadi ketika aplikasi mencoba memuat DLL yang sebenarnya tidak ada dalam sistem.
Cara Kerja
Jika penyerang mengetahui nama DLL yang dicari oleh aplikasi tetapi tidak tersedia di sistem, mereka dapat membuat DLL dengan nama tersebut dan menempatkannya pada lokasi yang dapat diakses oleh aplikasi.
Akibatnya, aplikasi akan memuat DLL palsu tersebut.
DLL Side-Loading
DLL Side-Loading adalah teknik di mana penyerang memanfaatkan aplikasi yang sah untuk memuat DLL berbahaya yang ditempatkan di direktori yang sama dengan aplikasi.
Metode ini sering digunakan oleh malware karena dapat menyamarkan aktivitas berbahaya di balik aplikasi yang terpercaya.
Menurut MITRE ATT&CK, teknik ini sering digunakan oleh berbagai kelompok malware untuk menjalankan kode berbahaya tanpa terdeteksi oleh sistem keamanan (dikutip dari MITRE).
baca juga : Port Security: Cara Melindungi Jaringan dari Akses Tidak Sah
Dampak DLL Hijacking terhadap Sistem
Serangan DLL Hijacking dapat menimbulkan berbagai dampak serius terhadap keamanan sistem.
Beberapa di antaranya meliputi:
1. Eksekusi Malware Tanpa Disadari
Aplikasi dapat menjalankan kode berbahaya tanpa diketahui oleh pengguna.
2. Eskalasi Hak Akses
Jika aplikasi memiliki hak akses tinggi, penyerang dapat memperoleh akses administratif.
3. Penyebaran Malware di Sistem
DLL berbahaya dapat digunakan untuk menyebarkan malware ke bagian sistem lainnya.
4. Penyusupan ke Sistem Organisasi
Serangan ini sering dimanfaatkan dalam kampanye Advanced Persistent Threat (APT).
Cara Mencegah DLL Hijacking
Untuk mengurangi risiko DLL Hijacking, beberapa langkah keamanan dapat diterapkan oleh pengembang maupun administrator sistem.
Menggunakan Path Absolut
Pengembang sebaiknya menentukan jalur lengkap (absolute path) ketika memanggil DLL, sehingga sistem tidak perlu mencari file tersebut melalui urutan pencarian.
Membatasi Hak Akses Direktori
Direktori tempat aplikasi berjalan harus memiliki hak akses terbatas, sehingga pengguna biasa tidak dapat menambahkan file DLL baru.
Mengaktifkan Safe DLL Search Mode
Windows menyediakan fitur Safe DLL Search Mode yang mengubah urutan pencarian DLL agar lebih aman dan memprioritaskan direktori sistem.
Menggunakan Solusi Keamanan Endpoint
Antivirus atau Endpoint Detection and Response (EDR) dapat membantu mendeteksi aktivitas mencurigakan terkait pemuatan DLL yang tidak sah.
baca juga : Heap Spraying: Teknik Eksploitasi Memori yang Membuka Jalan bagi Malware
Kesimpulan
DLL Hijacking merupakan teknik serangan yang memanfaatkan cara sistem operasi Windows mencari dan memuat file DLL. Dengan menempatkan DLL berbahaya pada lokasi tertentu, penyerang dapat membuat aplikasi memuat file tersebut dan menjalankan kode berbahaya.
Serangan ini sering digunakan dalam berbagai kampanye malware karena dapat menyusup melalui aplikasi yang sah tanpa langsung terlihat mencurigakan. Jika tidak ditangani dengan baik, DLL Hijacking dapat menyebabkan eksekusi malware, eskalasi hak akses, hingga penyusupan ke sistem organisasi.
Oleh karena itu, penerapan praktik keamanan seperti penggunaan path absolut, pembatasan hak akses direktori, serta penggunaan solusi keamanan endpoint sangat penting untuk mencegah eksploitasi teknik ini.









