Analisis Vulnerabilitas Linux Kernel do_brk()
MASTHURAH, Nurhayati, Drs. Jazi Eko Istiyanto, M.Sc.,Ph.D
2006 | Tesis | S2 Ilmu KomputerPada akhir tahun 2003, iSEC Security Research menemukan adanya security bug pada Linux kernel 2.4.22 dan versi sebelumnya. Dengan adanya security bug, memungkinkan terjadinya vulnerabilitas. Vulnerabilitas ini diserang pada fungsi kernel do_brk() dengan sistem heap based overflow. Exploit do_brk dilakukan untuk memperoleh otorisasi melebihi kemampuan user biasa. Eksploitasi dilakukan dengan ekspansi heap dengan pemanggilan brk beberapa kali. Kedudukan stack menempatkan proses memori dibawah alamat TASK_SIZE sehingga posisinya dipindahkan sebelum eksploitasi mengambil tempatnya. Heap overflow berdampak pada kerja proses dalam sistem. Penelitian ini menunjukkan stack memory dalam sistem berubah setelah terjadi ekspansi. Penelitian ini menguraikan langkah-langkah proses eksploitasi dengan pengujian sistem kernel Linux RedHat versi 2.4.20 dan versi 2.6.9. Pengamatan juga dilakukan pada beberapa platform Linux SuSe dan Mandriva. Dari hasil eksperimen diperoleh bahwa versi 2.4.20 terjadi vulnerable dengan perolehan root shell melalui ekspansi heap, sedangkan pada versi 2.6.9 sistem sudah dilindungi dengan menghentikan proses eksploitasi yang dijalankan sehingga tidak terjadi vulnerable. Pada platform Linux SuSe dan Mandriva terjadi perubahan pada fungsinya menyesuaikan kode rutin yang dimiliki sistem. Pengatasan masalah eksploitasi pada kernel sebelum versi 2.4.22 dilakukan dengan penginstalan modul dan patch system dengan merubah setting TASK_SIZE.
At the end of 2003, iSEC Security Research found a critical security bug in the Linux kernel 2.4.22 and earlier version. This bug can generate a vulnerability in the do_brk() function with heap based overflow system. The do_brk() exploit is the most utilized method for gaining an authorized control over a system. The exploitation is gained with expansion heap by calling brk multiple times. The regular process’s stack is usually placed at the top of the process’s memory right below the TASK_SIZE address, therefore it must be removed somewhere else before the exploitation can take place. Heap overflow can change process in the system. This research showed that the memory stack in the system will change after the expansion. This research explained the procedure of exploitation by conducting experiment in 2.4.20 and 2.6.9 version kernel system of Linux RedHat. Other experiments were conducted in platform SuSe and Mandriva to figure out whether a problem accured. The experiment in 2.4.20 showed a vulnerability in the root shell through expansion heap, while in 2.6.9, the system was protected by killing the exploitation process. Therefore it was not vulnerable. In Linux SuSe and Mandriva platform, the function was changed in line with routine code in the system. To solve the exploitation problem in the version prior to 2.4.22 version, modul and patch system must be installed to change setting of TASK_SIZE.
Kata Kunci : Komputer, Vulnerabilitas, Software Linux Kernel do_brk(), vulnerabilities – heap based overflow – security bug – exploit – kernel do_brk()