PENERAPAN OWASP VERSI 4
UNTUK UJI KERENTANAN WEB SERVER
(STUDI KASUS EJURNAL SERVER KAMPUS X MADIUN)
Adi Fajaryanto Cobantoro Prodi Teknik Informatika Fakultas Teknik
Universitas Muhammadiyah Ponorogo Jl Budi Utomo no 10 Ponorogo
Abstrak
Untuk mengamankan web server dari serangan hacker maka sebaiknya para pemilik web server melakukan self test terhadap server mereka sendiri. Melalui self test ini, para pemilik web server akan mengetahui letak kerentanan dari sistem yang ada. Salah satu metode self test ini adalah penetration test. Metode ini sama dengan aktivitas hacking namun dilakukan secara legal. Penelitian ini, metode implementasi penetration test yang akan digunakan adalah OWASP versi 4. Kampus X Madiun sebagai salah satu instansi pendidikan sudah mempunyai web server sendiri sejak tahun 2010. Berdasarkan wawancara dengan pengelola ejurnal web server Kampus X Madiun, sejak pertama kali ejurnal web server online sampai saat ini berhasil dibobol oleh hacker beberapa kali dalam setahun dan belum pernah dilakukan penetration test pada web servernya. Hasil pengujian dan analisa dengan metode OWASP versi 4 menunjukkan bahwa manajemen otentifikasi, otorisasi dan manajemen sesi belum diimplementasikan dengan baik.
Kata kunci : web server, pentest, owasp, framework
Abstract
To secure web server from hacker attacks then it should be the owner of the web server performs a self test on their own servers. Through this self test, the owner of the web server will know where the vulnerabilities of the existing system. One method is the self test penetration test. This method is the same as hacking activity yet done legally. This study, the implementation penetration test method to be used is OWASP version 4. Campus X in Madiun as one of the educational institutions already have their own web servers since 2010. Based on interviews
with managers of the ejournal web server Campus X Madiun, from the first web server online until now this web server is successfully compromised by hackers several times a year and have never been performed penetration test on a web server. The test results and analysis methods OWASP version 4 shows that the management of authentication, authorization and session management has not been implemented properly.
Keywords: web server, pentest, owasp, framework
I. P
ENDAHULUANPada tahun 2015, Indonesia diperkirakan akan ada lonjakan penggunaan internet sebesar 22 juta pengguna. Tren meningkatnya pengguna internet sudah terlihat sejak tahun 2009 dan diperkirakan akan terus meningkat. Hal ini dikarenakan kemudahan akses yang diberikan oleh internet
Kemudahan akses ini membuat banyak orang maupun instansi membangun sistem web server tanpa memperhatikan apakah web server yang dibangun sudah aman atau belum terhadap gangguan. Gangguan tersebut diantaranya berupa serangan Malicious Code atau Malware.
Isu kerentanan ini didukung oleh laporan yang dirilis oleh Akamai sebagai pengawas lalu lintas internet pada tahun 2013 menyebutkan bahwa .com menjadi domain yang paling banyak diserang oleh hacker (J Thomson, 2013).
Untuk mengamankan web server dari serangan hacker maka sebaiknya para pemilik web server melakukan self test terhadap server mereka sendiri. Salah satu metode self test ini adalah penetration test.
Metode ini sama dengan aktivitas hacking namun dilakukan secara legal.
Secara singkat pentest ini dilakukan dengan cara mensimulasikan bentuk–bentuk serangan pada jaringan komputer yang terhubung dengan sistem. Pengujian terhadap aplikasi web dengan metode penetration testing merupakan metode yang komprehensif untuk mengidentifikasi kerentanan sistem (Bacudio, 2011).
Dalam pengujian penetrasi ada beberapa metode yang sering dipakai seperti Information Systems Security Assessment Framework (ISSAF), OWASP versi 4 dan OSSTMM. Penelitian ini, metode implementasi penetration test yang akan digunakan adalah OWASP versi 4.
OWASP singkatan dari Open Web Application Security Project yang dikeluarkan oleh OWASP Foundation yang sebagai organisasi non-profit amal di Amerika Serikat berdiri pada tahun 2004. OWASP adalah organisasi internasional dan OWASP Foundation mendukung upaya OWASP di seluruh dunia. Dalam OWASP, semua alat, dokumen, forum, dan bab terbuka untuk siapa saja yang tertarik dalam meningkatkan keamanan aplikasi.
Kampus X Madiun sebagai salah satu instansi pendidikan sudah mempunyai web server ejurnal sendiri sejak tahun 2010. Web server tersebut mempunyai domain ejournal.kampusxmadiun.ac.id. Berdasarkan wawancara dengan pengelola web server, sejak pertama kali web server online sampai saat ini web server berhasil dibobol oleh hacker beberapa kali dalam setahun dan belum pernah dilakukan penetration test pada web servernya.
I.1 Rumusan Masalah
Berdasarkan latar belakang diatas, maka rumusan masalah pada penelitian ini adalah:
1. Bagaimana mengidentifikasi kerentanan sistem? 2. Bagaimana hasil pengujian dan analisis kerentanan web server menggunakan metode OWASP versi 4? I.2 Batasan Masalah
Batasan masalah dalam objek penelitian ini adalah:
1. Studi yang dilakukan terbatas pada
OWASP versi 4 fokus pada Authentication Testing, Authorization Testing, Session Management Testing. I.3 Tujuan Penelitian
Tujuan penelitian ini adalah:
1. Mengidentifikasi kerentanan sistem pada web server IKIP PGRI Madiun.
2. Mengetahui hasil pengujian dan analisis pengujian keamanan web server menggunakan metode OWASP versi 4
I.4 Manfaat Penelitian
Penelitian ini diharapkan dapat menjadi bahan masukan bagi pihak stake holder pada Kampus X Madiun untuk mengetahui tingkat kerentanan dari web server ejurnal.
II. M
ETODOLOGIP
ENELITIANDalam menyelesaikan penelitian ini secara garis besar dibuat beberapa tahapan yaitu Studi Literatur, Implementasi OWASP versi 4 dan Analisa Pelaporan.
III.1 Studi Literatur
Pada tahap awal dilakukan studi literatur yang bertujuan untuk menjelaskan kajian pustaka dari teori-teori penunjang yang mendukung konstruksi penelitian. Kegiatan ini dilakukan dengan membaca buku, jurnal, artikel laporan penelitian, dan situs-situs di internet. Keluaran dari studi literatur ini adalah terkoleksinya referensi yang relevan dengan rumusan masalah. Tujuannya adalah untuk memperkuat permasalahan serta sebagai dasar teori dalam melakukan studi dan juga menjadi dasar untuk melakukan penelitian.
III.2 Implementasi OWASP versi 4
Pada penelitian ini dalam implementasi metode OWASP versi 4 hanya difokuskan pada bagian Authentication Testing, Authorization Testing, dan Session Management Testing. Langkah-langkah dari pengujian masing-masing bagian terlihat pada tabel 2.1 berikut ini.
Tabel 2.1 Tahapan Implementasi OWASP versi 4
Fokus Tahapan Aktifitas
Authentication Testing Testing for Credentials Transported over an Encrypted Channel (OTG-AUTHN-001)
Penggunaan aplikasi WebScarab untuk mengidentifikasi paket header pada form login sehingga diketahui bagaimana username dan password dikirimkan. Testing for default credentials (OTG-AUTHN-002)
Penguji mencoba memasukkan nama pengguna berikut seperti "admin", "administrator", "root", "sistem", "tamu", "operator", atau "super". Kata-kata ini biasanya populer di kalangan administrator sistem dan sering digunakan. Aplikasi yang digunakan adalah Brutus.
Testing for Weak lock out mechanism (OTG-AUTHN-003)
Percobaan login dilakukan dengan username yang benar dan password yang salah sebanyak 3 sampai 5 kali, untuk mengetahui apakah terjadi penguncian akun. Testing for bypassing authentication schema (OTG-AUTHN-004)
Percobaan direct page request dilakukan pada halaman yang memerlukan proses otentifikasi menggunakan aplikasi WebScarab.
Test remember password functionality (OTG-AUTHN-005)
Percobaan melihat password yang disimpan pada cookies browser dilakukan, untuk memastikan informasi penting disimpan tidak dalam clear text.
Testing for Browser cache weakness (OTG-AUTHN-006)
Verifikasi dilakukan dengan menekan tombol “Back” pada browser untuk mengetahui apakah penguji dapat mengakses halaman sebelumnya. Auathorization Testing Testing Directory traversal/file include (OTG-AUTHZ-001)
Percobaaan dilakukan untuk mengakses web document root atau root directory, percobaan ini dilakukan dengan menyisipkan string seperti “http://example.com/getUserProfile.jsp? item=../../../../etc/passwd" untuk sistem operasi Linux atau menebak lokasi file seperti “\\server_or_ip\path\to\file.abc” untuk sistem operasi Windows. Percobaan ini bisa dibantu dengan aplikasi WFuzz Tool.
Testing for bypassing authorization schema (OTG-AUTHZ-002)
Percobaan dilakukan untuk menemukan halaman administrator, misalkan adduser.php (salah satu halaman administrator). Apakah dapat diakses secara langsung tanpa adanya proses autentifikasi pada alamat www.contoh.com/adduserp.php Testing for
Privilege Escalation (OTG-AUTHZ-003)
Pengujian dilakukan dengan menangkap informasi yang ada pada hidden field HTML pada saat user berhasil diotentifikasi. Setelah berhasil ditangkap akan diperiksa apakah informasi yang ada dapat dimanipulasi yang awalnya otentifikasi sebagai user biasa ditingkatkan sebagai administrator. Aplikasi yang dipakai yaitu WebScarab Testing for Insecure Direct Object References (OTG-AUTHZ-004)
Pengujian yang akan dilakukan adalah mencari akses pada sebuah file maupun dokumen yang memerlukan proses otentikasi sebelum
mengaksesnya. Contohnya memasukkan nilai parameter yang digunakan secara langsung untuk melakukan operasi tertentu dalam sistem seperti “http://contoh.com/changepassword? user=someuser” Session Management Testing Testing for Bypassing Session Management Schema (OTG-SESS-001)
Dilakukan pencarian bagian dari aplikasi yang membutuhkan cookie lalu dilakukan percobaan akses halaman, kemudian coba lagi tanpa cookie. Coba petakan cookies digunakan dan dimana cookie tersebut digunakan. Aplikasi yang digunakan JHijack.
Testing for Cookies attributes (OTG-SESS-002)
Percobaan dilakukan dengan cara memasang proxy menghalang lalu lintas cookie, kemudian periksa cookie apakah menggunakan secure attribute, httponly attribute, domain attribute, path attribute, expires attribute. Aplikasi yang digunakan adalah Zed Attack Proxy Testing for
Session Fixation (OTG-SESS-003)
Percobaan dilakukan dengan menggunakan Zed Attack Proxy untuk menghalang jawaban dari permintaan penguji pada sebuah halaman, kemudian periksa apakah ada pembuatan cookie baru yang dikeluarkan setelah proses otentifikasi sukses
Testing for Exposed Session Variables (OTG-SESS-004)
Percobaan dilakukan dengan cara memeriksa cookie dengan Zed Attack Proxy, apakah setiap kali proses autentifikasi berhasil, user seharusnya menerima token sesi yang berbeda dan token dikirim melalui channel yang dienkripsi setiap kali user melakukan permintaan HTTP.
Testing for Cross Site Request Forgery (CSRF) (OTG-SESS-005)
Percobaan dilakukan dengan menggunakan OWASP CSRF Tester, apakah aplikasi web rentan terhadap CSRF?
III.3 Analisis dan Pelaporan
Tahap ini akan dilakukan aktifitas pembuatan laporan hasil implementasi Penetration Test dengan menggunakan ISSAF dan OWASP versi 4.
III.
H
ASILP
ENELITIANAuthentication Testing, Authorization Testing, Session Management Testing pada domain ejournal.xcampus.ac.id dengan alamat 999.999.999.999/ejournal menghasilkan bahwa aplikasi ejournal tidak dapat lolos uji proses otentifikasi, otorisasi dan managemen sesi seperti pada tabel 3.1:
Tabel 3.1 Ringkasan Hasil Uji OWASP versi 4
Tahapan Objective Technique Tool Hasil
Testing for Credentials Transported over an Encrypted Channel (OTG-AUTHN-001)
Memverifikasi bahwa otentikasi data pengguna ditransfer melalui saluran terenkripsi
Analisa paket header WebScarab Data pengguna dikirim menggunakan post method melalui http
Testing for default credentials (OTG-AUTHN-002)
Memverifikasi adakah penggunaan default password (weak password)
Brute force password Brutus Penggunaan default password
tidak ditemukan
Testing for Weak lock out mechanism (OTG-AUTHN-003)
Memverifikasi apakah ada mekanisme penguncian akun
Mencoba invalid login beberapa kali
Browser Mozilla Firefox
Tidak ada mekanisme penguncian akun
Testing for bypassing authentication schema (OTG-AUTHN-004)
Memverifikasi direct page
request tanpa proses login
Direct page request Dirb Ditemukan direct page pada
180.250.155.66/images/ukm dan 180.250.155.66/images Test remember password functionality (OTG-AUTHN-005)
Memverifikasi bahwa password tidak disimpan dalam bentuk teks, tetapi hash
Analisa cookies WebScarab Password disimpan dalam bentuk
clear text pada cookies
Testing for Browser cache weakness (OTG-AUTHN-006)
Memeriksa apakah aplikasi menginstruksikan browser untuk tidak ingat data sensitif.
Analisa browser
history dan browser cache
Browser Mozilla Firefox
Browser menjalankan proses
remember password
Testing Directory traversal/file include (OTG-AUTHZ-001)
Menguji apakah aplikasi tahan terhadap malicious string
Memasukkan malicious string pada address bar
WFuzz Malicious string tidak dapat
diimplementasi, aplikasi tahan terhadap malicious string Testing for bypassing
authorization schema (OTG-AUTHZ-002)
Percobaan akses ke dalam fungsi administrasi tanpa login
Manipulasi http
request header
Zed Attack Proxy
Tidak berhasil mendapatkan akses ke fungsi administrasi
Testing for Privilege Escalation (OTG-AUTHZ-003)
Mencoba mendapatkan akses admin dari user
Manipulasi http
request header
Zed Attack Proxy
Tidak berhasil mendapatkan akses admin
Tabel 3.1 Ringkasan Hasil Uji OWASP versi 4
Tahapan Objective Technique Tool Hasil
Testing for Insecure Direct Object References (OTG-AUTHZ-004)
Mencoba mengakses file tanpa login
Scanning Dirb Ditemukan akses langsung file
pada 180.250.155.66/images/ukm dan 180.250.155.66/images
Testing for Bypassing Session Management Schema (OTG-SESS-001)
Memeriksa apakah token pada cookies dan sesi lainnya dibuat dalam cara yang aman dan
unpredictable
Analisa cookies WebScarab Token yang diciptakan untuk masing-masing sesi masih sama yaitu
SESS672a00f6d528db2d4ddacb8 3e377c155=ee53pk2mep7s7jgcsb 3b0jecl0
Testing for Cookies attributes (OTG-SESS-002)
Memeriksa apakah cookies menyimpan informasi masa
expired di hard drive client
Analisa Cookies Zed Attack Proxy
Pada cookies yang tersimpan di harddrive ditemukan informasi masa expired session Testing for Session
Fixation (OTG-SESS-003)
Memeriksa apakah session yang diberikan pada client selalu diperbarui setelah proses authentifikasi
Analisa Cookies WebScarab Session yang diberikan pada client setelah proses authentifikasi tidak diperbarui sehingga penyerang dapat menggunakan
session identifier untuk
menyerang. Testing for Exposed
Session Variables (OTG-SESS-004)
Memeriksa pada cookies apakah
Cookie, SessionID, Hidden Field
jelas terlihat
Analisa Cookies WebScarab Informasi penting Cookie,
SessionID, Hidden Field masih
terlihat melalui proxy Testing for Cross Site
Request Forgery (CSRF) (OTG-SESS-005)
Memeriksa POST dan GET request pada halaman login apakah terimplementasi dengan baik
Analisa Cookies OWASP CSRF Tester
POST request dapat dimanipulasi menjadi GET request pada proses authentifikasi
Hasil Analisa Metode OWASP versi 4
Berdasarkan hasil pengujian menggunakan OWASP versi 4 pada tabel 3.1 terlihat bahwa pada tahapan OTG-AUTHN-001, OTG-AUTHN-004, AUTHN-005, AUTHN-006, dan OTG-AUTHN-008 aplikasi tidak lolos pengujian, sehingga proses otentifikasi pemakai berpotensi untuk diendus oleh pihak yang tidak bertanggung jawab dalam proses pengiriman data penting. Hasil yang sama juga ditunjukkan pada aplikasi SIA Universitas Diponegoro Semarang yang menunjukkan bahwa pengiriman data username dan password tidak dienkripsi sebelum dikirim ke server SIA (Satoto, Isnanto, & Masykur, 2008).
Pada pengujian otorisasi, tahapan OTG-AUTHZ-002 dan OTG-AUTHZ-004 tidak lulus
pengujian dan ini merupakan false alarm sehingga untuk pengujian otorisasi aplikasi ini lolos uji.
Tahapan OTG-SESS-007 dan OTG-SESS-008 dilakukan pengujian mengenai session yang ada. Pada OTG-SESS-007 session timeout tidak ada sehingga memungkinkan apabila pemakai meninggalkan komputer maka ada kemungkinan session yang ditinggalkan dimanfaatkan oleh pemakai lain yang tidak berhak. Pada OTG-SESS-008, aplikasi ini menggunakan variabel session yang sama selama lebih dari satu tujuan sehingga penyerang dapat mengakses halaman secara acak.
IV. K
ESIMPULAN DANS
ARANHasil identifkasi kerentanan dengan menggunakan metode OWASP versi 4 menunjukkan bahwa web server ejurnal kampus X Madiun memiliki tingkat kerentanan medium. Hasil
pengujian dan analisa dengan metode OWASP versi 4 menunjukkan bahwa manajemen otentifikasi, dan manajemen sesi belum diimplementasikan dengan baik. Rekomendasi untuk menutup celah kerentanan diatas adalah dengan menerapkan OWASP Top Ten.
R
EFERENSI[1] ab - Apache HTTP Server Benchmarking Tool - Apache HTTP Server Version 2.2. (2015,
Mei 18). Retrieved from
https://httpd.apache.org/docs/2.2/programs/a b.html
[2] Alfred Basta, W. H. (2008). Computer Security and Penetration Testing.
[3] Allsopp, W. (2009). Unauthorised Access: Physical Penetration Testing for it Security Teams.
[4] Amarudin, Widyawan, & Najib, W. (2014, Februari 8). Analisis Keamanan Jaringan Single Sign On (SSO) Dengan Lightweight Directory Access Protocol (LDAP) Menggunakan Metode MITMA. Seminar Nasional Teknologi Informasi dan Multimedia.
[5] Armitage - Tutorial Cyber Attack Management Metasploit. (2015, Mei 18). Retrieved from http://www.fastandeasyhacking.com/manual [6] Assosiasi Penyelenggara Jasa Internet Indoneisa.
(2012). Retrieved May 17, 2014, from http://www.apjii.or.id/v2/read/page/halaman -data/9/statistik.html
[7] Bacudio, A. G. (2011). An Overview of Penetration Testing. Journal of Network Security & Its Applications.
[9] Chow, E. (2011). Ethical Hacking & Penetration Testing.
[10] Dave Wichers. (2013, Juni 12). OWAPS Top Ten. Retrieved December 1, 2014, from OWAPS Documentation Project: https://www.owasp.org/images/1/17/OWAS P_Top-10_2013--AppSec_EU_2013_-_Dave_Wichers.pdf
http://www.acunetix.com/websitesecurity/di rectory-traversal/
[12] Heriyanto, S. A. (n.d.). BackTrack 4: Assuring Security by Penetration Testing.
[13] J Thomson, F. (2013, Desember). Akamai. Retrieved Mei 19, 2014, from http://www.akamai.com/dl/akamai/akamai-soti-q413.pdf?WT.mc_id=soti_Q413 [14] Kim, I. M. (2012). Penetration Testing For Web
Aplication.
[15] Kompan, M. (2012, May). Enterprise Web Application Security. Masaryk University. [16] Matteo Meucci and Friends. (2014). OWASP
Testing Guide 4.0. The OWASP Foundation. [17] Naik, N. (2009). Penetration Testing A
Roadmap to Network.
[18] Ralph La Barge, T. M. (2012). Cloud Penetration Testing.
[19] Satoto, K. I., Isnanto, R. R., & Masykur, A. (2008, Desember 13 ). Analisis Keamanan Sistem Informasi Akademik Berbasis Web Di Fakultas Teknik Universitas Diponegoro. Seminar Nasional Aplikasi Sains dan Teknologi Yogyakarta.
[20] Security Response Publications. (2014). Retrieved May 19, 2014, from Symatec: http://www.symantec.com/content/en/us/ent
erprise/other_resources/b-istr_main_report_v19_21291018.en-us.pdf [21] Surya, Y. Y. (2012). Kajian Penerapan
Pengujian Keamanan Dengan Menggunakan Penetrasi Dan Pemodelan Ancaman Owasp Pada Aplikasi Web Joomla. Universitas Kristen Maranatha.
[22] Whitaker, A., & Newman, D. P. (2005). Penetration Testing and Network Defense. [23] WhiteHat’s Website Security Statistics Report.
(2014). Retrieved May 19, 2014, from WhiteHat:
https://www.whitehatsec.com/assets/WPstat sReport_052013.pdf