Pendahuluan
Salah satu teknik paling lama dan masih digunakan dalam serangan siber adalah buffer overflow kondisi ketika program menerima data lebih banyak dari yang bisa ditampung, sehingga penyerang bisa menulis kode berbahaya ke memori. Untuk melindungi sistem dari serangan seperti ini, banyak sistem operasi modern menerapkan dua teknologi penting: ASLR (Address Space Layout Randomization) dan DEP (Data Execution Prevention).
Apa Itu Buffer Overflow?
Bayangkan ada sebuah kotak surat berisi 10 slot surat. Tapi seseorang memasukkan 30 surat ke sana. Sisanya akan tumpah ke meja, lantai, bahkan bisa merusak barang lain. Begitu juga di memori: ketika program tidak membatasi input, data bisa “tumpah” dan mengganggu atau bahkan menimpa bagian penting dari sistem seperti alamat eksekusi program. Inilah celah yang sering dimanfaatkan hacker.
1. ASLR (Address Space Layout Randomization)
Fungsi:
Mengacak lokasi bagian penting dari program di memori seperti library, stack, heap, dan lainnya setiap kali program dijalankan.
Tujuan:
Agar penyerang tidak tahu di mana lokasi targetnya di memori.
Kalau sebelumnya penyerang bisa menarget langsung ke alamat tertentu, sekarang alamat itu selalu berubah-ubah, membuat eksploitasi jadi jauh lebih sulit.
Contoh Implementasi:
- Windows: ASLR aktif sejak Windows Vista dan diperkuat di Windows 10+.
- Linux: Menggunakan fitur
randomize_va_spacedan PIE (Position-Independent Executable). - macOS: ASLR aktif secara default sejak macOS 10.5 (Leopard).
2. DEP (Data Execution Prevention)
Fungsi:
Mencegah bagian memori tertentu dari dieksekusi sebagai kode.
Tujuan:
Agar meskipun penyerang berhasil menyuntikkan kode berbahaya, kode itu tidak bisa dijalankan.
Secara teknis, DEP melabeli bagian memori (seperti stack dan heap) sebagai “data-only”, sehingga sistem tidak akan menjalankan apapun dari sana.
Contoh Implementasi:
- Windows: DEP aktif untuk proses penting sejak Windows XP SP2.
- Linux: Menggunakan
NX bit(No eXecute) lewat hardware +PaXataugrsecurity. - macOS: Menggunakan
W^X(Write XOR Execute) prinsip di memori.
Bagaimana Keduanya Bekerja Bersama?
ASLR dan DEP sering digunakan bersamaan. Analogi sederhananya: ASLR menyembunyikan kunci rumah dari maling, sedangkan DEP memasang gembok tambahan agar maling tidak bisa masuk meski tahu posisi kunci. Dengan kombinasi ini, serangan buffer overflow jadi jauh lebih sulit dilakukan, karena: Hacker tidak tahu di mana menaruh payload (ASLR), dan payload-nya tidak bisa dijalankan sembarangan (DEP).
Apakah ASLR & DEP Sempurna?
Tidak. Teknologi ini mengurangi risiko, bukan menghilangkannya sepenuhnya. Penyerang masih bisa melakukan serangan info leak untuk mencari tahu posisi alamat (bypass ASLR),dan menyusun serangan ROP (Return-Oriented Programming) untuk menghindari DEP. Namun tetap, tanpa ASLR dan DEP, serangan buffer overflow akan jauh lebih mudah dan umum terjadi.
Kesimpulan
Sistem operasi modern menggunakan ASLR dan DEP sebagai benteng utama dalam melawan serangan buffer overflow: ASLR = mengacak posisi bagian program di memori → menyulitkan penyerang, DEP = melarang eksekusi dari bagian memori tertentu → mencegah kode jahat dijalankan. Meskipun tidak sempurna, kombinasi ini sangat efektif dan wajib diaktifkan untuk sistem yang aman.










1 Comment
RTO dan RPO: Dua Metrik Penting yang Menentukan Keberhasilan Disaster Recovery - buletinsiber.com
1 month ago[…] baca juga : Bagaimana Sistem Operasi Menggunakan ASLR dan DEP untuk Mitigasi Serangan Buffer Overflow? […]