PENERAPAN OWASP VERSI 4 UNTUK UJI KERENTANAN WEB SERVER (STUDI KASUS EJURNAL SERVER KAMPUS X MADIUN)
-
Upload
teknik-informatika-politeknik-tedc-bandung -
Category
Technology
-
view
177 -
download
7
Transcript of PENERAPAN OWASP VERSI 4 UNTUK UJI KERENTANAN WEB SERVER (STUDI KASUS EJURNAL SERVER KAMPUS X MADIUN)
Adi Fajaryanto Cobantoro
Seminar Nasional Telekomunikasi dan Informatika 2016
Seminar Nasional Telekomunikasi dan Informatika (SELISIK 2016) Bandung, 28 Mei 2016
74
ISSN : 2503-2844
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. PENDAHULUAN
Pada 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.
Adi Fajaryanto Cobantoro
Seminar Nasional Telekomunikasi dan Informatika 2016
Seminar Nasional Telekomunikasi dan Informatika (SELISIK 2016) Bandung, 28 Mei 2016
75
ISSN : 2503-2844
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
pengujian keamanan web server dengan domain
ejournal.kampusxmadiun.ac.id menggunakan metode
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. METODOLOGI PENELITIAN
Dalam 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.
Adi Fajaryanto Cobantoro
Seminar Nasional Telekomunikasi dan Informatika 2016
Seminar Nasional Telekomunikasi dan Informatika (SELISIK 2016) Bandung, 28 Mei 2016
76
ISSN : 2503-2844
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.
Adi Fajaryanto Cobantoro
Seminar Nasional Telekomunikasi dan Informatika 2016
Seminar Nasional Telekomunikasi dan Informatika (SELISIK 2016) Bandung, 28 Mei 2016
77
ISSN : 2503-2844
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. HASIL PENELITIAN
Authentication 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
Adi Fajaryanto Cobantoro
Seminar Nasional Telekomunikasi dan Informatika 2016
Seminar Nasional Telekomunikasi dan Informatika (SELISIK 2016) Bandung, 28 Mei 2016
78
ISSN : 2503-2844
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,
OTG-AUTHN-005, OTG-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. KESIMPULAN DAN SARAN
Hasil identifkasi kerentanan dengan
menggunakan metode OWASP versi 4 menunjukkan
bahwa web server ejurnal kampus X Madiun
memiliki tingkat kerentanan medium. Hasil
Adi Fajaryanto Cobantoro
Seminar Nasional Telekomunikasi dan Informatika 2016
Seminar Nasional Telekomunikasi dan Informatika (SELISIK 2016) Bandung, 28 Mei 2016
79
ISSN : 2503-2844
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.
REFERENSI
[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
[11] Directory Traversal Attacks. (n.d.). Retrieved
November 23, 2014, from Acunetix:
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
[24] Wilhelm, T. (2010). Professional Penetration
Testing Creating and Operating a Formal
Hacking Lab.