WEB VULNERABILITIES ANALYSIS STUDI KASUS
WEB DISBUN.MUBAKAB.GO.ID
Ricky Maulana Fajri
1)1)
Teknik Komputer Universitas Indo Global Mandiri
Jl. Merdeka 10, Jakarta 12020 Indonesia
email : [email protected]ABSTRACT
Website is a type of online media used by the government to broadcast information. The development of a website has several impacts to the information gathering in the society. However the vulnerabilities of a website is discovered, these security issues are affected in the website development. The security hole could be used by hackers to gain access to the website and create a back door that can endanger the user of a website. The types of hacking activities that could happen are SQL injection, cross-site scripting, cross-site request forgery and directory traversal. This paper discusses the web vulnerabilities analysis with case study disbun.mubakab.go.id. The result found that the website has several security problems that should be addressed. Finally this paper presents several security enhancements that could fix the security problems that revealed in the disbun.mubakab.go.id.
Key words
web vulnerabilities, cross-site request forgery, directory traversal,
1. Pendahuluan
1.1 Latar Belakang
Dengan semakin berkembangnya teknologi jaringan komputer dan internet, banyak institusi yang mulai menyediakan pelayanan bisnisnya menggunakan aplikasi website [1]. Website merupakan sebuah media penyampaian informasi yang dapat digunakan baik oleh institusi negeri atau swasta. Semakin banyak institusi menggunakan website sebagai sarana penyampaian informasi dikarenakan kemudahan dan kenyamanan yang diberikan oleh website.
Namun seiring dengan perkembangannya, celah keamanan terhadap website juga semakin terbuka. Celah keamanan website dapat terjadi karena rentan nya lingkungan server tempat website ditempatkan, kesalahan scripting kode pengembangan website, dan celah keamanan dari sistem operasi tempat server di install. Celah-celah keamanan ini dapat dimanfaatkan oleh peretas untuk melakukan aktifitas hacking yang membahayakan dari website sendiri. Terdapat beberapa
jenis serangan yang dapat dilakukan oleh peretas terhadap website diantaranya adalah sql injection, cross site scripting, cross site request forgery, dan directory traversal. Pada penelitian ini dilakukan studi analisis keamaan website dengan studi kasus website disbun.mubakab.go.id. celah keamanan yang ditemukan akan dilaporkan kepada pihak yang berwenang terhadap pengembangan website disbun.mubakab.go.id. Adapun manfaat yang dapat didapat dari penelitian ini adalah dapat meningkatkan keamanan dari website disbun.mubakab.go.id, selanjutnya dapat dijadikan referensi dalam pengembangan website selanjutnya.
1.2 Sekilas disbun.mubakab.go.id
Website disbun.mubakab.go.id merupakan website resmi dari dinas perkebunan pemerintah daerah musi banyuasin. Website ini diluncurkan pada tahun 2013 yang merupakan media penyampaian informasi kepada seluruh pihak yang berkepentingan terhadap dinas perkebunan. Informasi yang disampaikan melalui website dapat berupa informasi mengenai sosialisasi kebijakan terbaru dari dinas perkebunan, informasi mengenai pelatihan yang akan dilakukan dinas perkebunan, informasi mengenai harga hasil perkebunan untuk daerah musi banyuasin, dan informasi pengadaan yang akan dilakukan. Sehingga dengan banyaknya informasi yang ditampilkan pada media website disbun.mubakab.go.id maka didapatlah jumlah pengunjung website dengan total 34788. Adapun tampilan website disbun.mubakab.go.id dapat dilihat pada gambar 1 di bawah ini.
Gambar 1. Website Disbun.mubakab.go.id
2. Metode Penelitian
2.1 Landasan Teori
2.1.1 Directory TraversalJenis serangan ini adalah teknik yang sering digunakan oleh para peretas untuk mengambil password. Password disimpan didalam database menggunakan teknik enkripsi seperti md5 atau hash. Dengan menggunakan directory traversal peretas menggunakan aplikasi untuk mengiterasi seluruh directory yang ada di webserver sampai peretas menemukan directory yang berisi password dan username. Setelah direktori ini ditemukan peretas akan menggunakan perangkat lunak dekripsi untuk membaca password yang telah dienkripsi sebelumnya. [2]
Sedangkan menurut Open Web Application Security Project, directory traversal atau path traversal bertujuan untuk mengakses files atau directory yang disimpan diluar folder web root. Hal ini dilakukan dengan cara memanipulasi variable yang terasosiasi dengan “dot-dot/slash (../../) dan hal ini dicoba dengan berbagai macam variasi hingga ditemukan directory yang akan diincar oleh peretas [3]
Contoh penggunaan directory traversal
Gambar 2 Contoh kelemahan kode php
Pada contoh diatas pengembang bertujuan untuk mengambil template website di folder template. Namun kode tersebut terdapat celah keamanan yang dapat dimanfaatkan oleh peretas.
Gambar 3. Kode peretas
Dengan menggunakan kode diatas peretas, bermaksud menggunakan celah di cookie template untuk dapat memasuki folder /etc/passwd. Folder tersebut adalah tempat penyimpanan username dan password di computer. Dengan kode diatas server akan menjawab dengan response dibawah ini
Gambar 4. Kode Respon
Dengan response diatas maka peretas mendapatkan informasi mengenai folder yang akan dimasuki. Setelah mendapatkan file passwd, maka peretas akan menggunakan software dekripsi untuk dapat membuka password yang tersimpan.
2.1.2 Cross-Site Request Forgery
Berdasarkan hasil analisis yang telah penulis lakukan menggunakan perangkat lunak acunetix, ditemukan bahwa situs disbun.mubakab.go.id rentan terhadap serangan Cross-Site Request Forgery (CSRF). CSRF adalah salah satu jenis serangan yang sering diabaikan oleh para pengembang website. CRSF adalah jenis serangan dimana peretas memaksa user yang telah terautentikasi untuk mengeksekusi sebuah aksi yang tidak dikehendaki oleh user tersebut[3]. Jenis serangan ini bekerja tanpa sepengetahuan user. Dimana ketika user melakukan request kepada webserver melalui web browser seperti request untuk membuka halaman tertentu atau mengirimkan komentar. Namun saat itu juga peretas mengirimkan kode / gambar/ link yang bersifat merusak
kepada browser user tersebut. Tanpa diketahui oleh user maka kode perusak tersebut telah dieksekusi oleh user, sehingga peretas mendapatkan akses untuk melakukan hal yang berbahaya bagi user [4]. Adapun gambar dari contoh serangan CSRF dapat dilihat dibawah ini.
Server Bank.com User
1
2 3 4 Gambar 5. Contoh CSRFBerdasarkan gambar diatas dapat dilihat bahwa user sedang melakukan aktifitas perbankan dengan cara login menggunakan user credential. Setelah login berhasil maka user dianggap user yang valid sehingga dapat melakukan aktifitas perbankan. Bersamaan dengan itu user tersebut juga membuka situs-situs lain seperti situs berita, situs pertemanan. Pada situs tersebut terdapat gambar, frame atau link yang secara tidak sengaja diklik oleh user. Sehingga kode yang tersimpan di dalam gambar tersebut akan dieksekusi oleh kode. Kode yang tersimpan dapat digunakan untuk mengakses kode login yang telah diberikan oleh user ke server bank. Selanjutnya aktifitas yang dilakukan oleh kode program dianggap valid karena kode yang digunakan dieksekusi oleh browser user yang telah login sebelumnya [5]. 2.1.3 Vulnerable Javascript Library
Javascript adalah sebuah bahasa pemrograman yang banyak digunakan dalam pengembangan sebuah website. Javascript digunakan dalam peningkatan pengalaman pengunjung (user experience) seorang pengguna. Javascript sering digunakan untuk mengirimkan pesan alert hasil autentikasi dari user login. Seiring dengan perkembangan javascript banyak pihak ketiga yang mengembangkan javascript library yang dapat digunakan oleh khalayak ramai seperti jquery. Namun library ini juga sering terdapat celah keamanan seperti Cross Site Scripting (XSS), embedding malicious third-party JavaScript, dan Vulnerable Third-Party Browser Extensions or plugin[6].
2.2 Metode Penelitian
Metode penelitian yang digunakan dalam penelitian ini adalah experimen lapangan dengan menggunakan beberapa perangkat lunak pengujian sebuah aplikasi web. Metode ini dibagi menjadi beberapa tahapan diantaranya adalah
1. Pengumpulan Informasi
Pada tahap ini seluruh informasi yang berkaitan dengan target website yang akan dianalsis dikumpulkan. Informasi yang dapat dikumpulan berupa data ip address, hosting, webserver, bahasa pemrograman dan basis data yang digunakan. Lebih lanjut dapat juga dikumpulan informasi mengenai Content Management System yang digunakan oleh website
2. Analisis Celah Keamanan.
Pada tahap ini penulis melakukan analisis terhadap celah keamanan yang mungkin terdapat pada website target. Pada tahap ini penulis menggunakan perangkat lunak pengujian keamanan website yaitu acunetix web vulnerability scanner.
3. Laporan
Tahap ini adalah tahap terakhir dari penelitian, dimana seluruh celah keamanan yang ditemukan akan dilaporkan kepada pihak pemilik website sehingga dapat dilakukan perbaikan terhadap celah keamanan yang ditemukan.
3. Hasil dan pembahasan
3.1 Pengumpulan Informasi
Tahap ini dilakukan pengumpulan seluruh informasi mengenai web site disbun.mubakab.go.id. Berdasarkan hasil observasi yang penulis lakukan menggunakan perangkat lunak web application whois didapatkan hasil
beberapa informasi mengenai situs
disbun.mubakab.go.id. adapun informasi yang bisa didapat adalah alamat ip address dari website disbun.mubakab.go.id adalah 120.89.89.130. ip address tersebut dirujuk menggunakan dns mubakab.go.id. Selanjutnya data environment yang bisa didapatkan adalah website disbun.mubakab.go.id menggunakan web server apache dan menggunakan bahasa pemrograman php serta database mysql. Selanjutnya penulis menggunakan website builtwith.com untuk menganalisa bahasa pemrograman secara spesifik, dan metode pengembangan website disbun.mubakab.go.id. dari data yang didapatkan oleh builtwith.com ditemukan bahwa website disbun.mubakab.go.id menggunakan bahasa pemrograman php dan menggunakan jquery sebagai javascript libraries nya.
3.2. Analisis Celah Keamanan
Pada tahap ini pengujian celah keamanan dari website disbun.mubakab.go.id penulis lakukan dengan menggunakan perangkat lunak Acunetix web vulnerability scanner. Hasil analisis yang penulis dapatkan dapat dilihat pada gambar 2 dibawah ini.
Gambar 6. hasil pengujian menggunakan acunetix
Pada gambar diatas terlihat bahwa level celah keamanan yang dimiliki oleh disbun.mubakab.go.id adalah level 3 (high). Pada level 3 ini website dianggap memiliki keamanan yang sangat rentan untuk di masuki oleh peretas. Total celah keamanan yang ditemukan oleh acunetix adalah 79 hasil. Diantaranya 3 termasuk kategori high risk, 5 termasuk kategori medium, 30 masuk kedalam kategori low dan terakhir 41 termasuk kedalam information. Pada penelitian ini ditemukan 3 kategori celah keamanan yang bersifat high risk yaitu directory travelsal, dan 5 kategori termasuk kedalam celah HTML form without CSRF Protection. Celah-celah tersebut dapat digunakan peretas untuk merusak keamanan dari website disbun.mubakab.go.id.
3.3 Laporan
Pada tahap ini hasil analisis yang penulis temukan akan kami sampaikan kepada pihak admin dari disbun.mubakab.go.id untuk selanjutnya dapat diambil tindakan untuk mentutup celah keamanan. Walaupun website disbun.mubakab.go.id masih termasuk kedalam kategori website yang memiliki tingkat keamanan yang cukup tinggi, namun sebuah website harus tetap ditingkatkan keamanannya.
4. Solusi Peningkatan Keamanan Website
Celah keamanan pada situs web
disbun.mubakab.go.id telah berhasil dianalisis dan ditemukan beberapa celah keamanan yang dapat dimanfaatkan oleh para peretas. Bagian ini membahas solusi untuk peningkatan keamanan website.
4.1 Web Guard
Aplikasi website membutuhkan sebuah webserver dan database server agar dapat berjalan dengan baik. Webserver adalah perangkat lunak dan keras dimana aplikasi dan kode website di pasang. Namun webserver sering menjadi target serangan para peretas. Memasang firewall adalah sebuah strategi yang baik untuk meminimalisir serangan. Namun hal ini dapat ditingkatkan lagi dengan menggunakan web Guard pada webserver. Web guard adalah sebuah model arsitektur keamanan computer yang dapat digunakan untuk pencegahan serangan [7]. Web guard arsitektur bekerja dengan cara menyediakan berbagai container. Dimana container ini akan dibuat berdasarkan session user. Container ini juga digunakan untuk membagi aliran informasi sehingga informasi dari user akan diisolasi sesuai dengan masing-masing container yang ada [7]
Gambar 7 Arsitektur web guard [7]
4.2 Metode Pencegahan CSRF
Berdasarkan hasil analisa sebelumnya ditemukan bahwa CSRF adalah salah satu metode serangan yang rentan terjadi di situs disbun.mubakab.go.id. Terdapat beberapa metode untuk mengatasi metode serangan tersebut diantaranya adalah
a) Custom Header
Custom header adalah header yang dikirim oleh user bersamaan pada saat user melakukan request kepada sebuah webserver. Salah satu dari aturan yang paling penting yang terdapat pada header adalah header tidak dapat dikirimkan secara cross domain. Dengan menggunakan custom header server dapat memastikan bahwa request dating dari satu domain saja, sehingga browser akan mencegah jika ada request yang mengarah atau berasal dari header yang berbeda.
b) Membatasi waktu hidup Cookie/Session
CSRF dapat diatasi dengan membatasi waktu dari cookie dengan waktu yang sangat pendek. Jika user telah login ke suatu website dan melakukan browsing ke situs lain maka pembatasan waktu cookie akan membuat cookie yang telah terjadi-pada saat login- menjadi berakhir sehingga jika ada
peretas yang memanfaatkan cookie yang telah berhasil di retas maka server akan menolak cookie/session tersebut karena session sudah dianggap tidak valid.[8]
c) Memasang Anti CSRF
Anti CSRF adalah sebuah aplikasi yang dibangun menggunakan bahasa pemrograman C#. aplikasi ini menkonfigurasi modul HTTP yang selanjutnya ditambahkan kedalam aplikasi web untuk mencegah serangan CSRF. Aplikasi ini bekerja dengan cara membuat sebuah token dan memvalidasi token tersebut pada setiap situs yang dikunjungi oleh user. d) CSRF Detector
CSRF Detector bekerja dengan cara melakukan perulangan pada content dari request yang dilakukan oleh user. Selanjutnya jika terdapat kesamaan dengan kode yang merusak maka system akan menolak request tersebut. Dan sebuah pesan keamanan akan ditampilkan. [9]
5. Kesimpulan
Penelitian analisis web vulnerabilities dengan studi kasus web disbun.mubakab.go.id menemukan beberapa point penting diantaranya adalah berdasarkan pengujian menggunakan perangkat lunak acunetix ditemukan bahwa website tersebut termasuk website dengan security yang sangat baik, namun juga ditemukan beberapa celah keamanan yang perlu ditingkatkan. Adapun celah keamanan yang dapat digunakan sebagai celah keamanan adalah directory traversal, cross site request forgery, dan vulnerable javascript library. Penulis memberikan beberapa metode untuk peningkatan keamanan dari website menggunakan arsitektur web guard dan menggunakan beberapa metode untuk mengatasi cross site request forgery dengan cara 1. Menggunakan custom header, 2. Membatasi waktu hidup cookie/session, 3. Memasang anti CSRF, dan 4. Memasang CSRF detector.
Pada penelitian selanjutnya penulis akan melakukan penelitian yang lebih fokus lagi terhadap isu cross site request forgery, dimana dilakukan metode pengujian cross site request forgery terhadap website yang rentan terhadap serangan tersebut dan solusi yang dapat dilakukan untuk mengatasi isu cross site request forgery.
REFERENSI
[1] Nugraha, G.S, Djanali. S, Pratomo, B.A, 2013, “Sistem Pendeteksi Dan Pencegah Serangan SQL Injection dengan Penghapusan Nilai Atribut Query SQL dan Honeypot”, Jurnal Teknik POMITS, Vol.2.
[2] Khan.Sayma, & Saxena. Amit, 2015, “Detecting Input Validation Attacks in Web Application"International Journal of Computer Application Vol 6
[3] Open Web Application Security Project, 2015, “Path Traversal”
ttps://www.owasp.org/index.php/Path_Traversal diakses 5 Desember 2015.
[4] Cross-Site Request Forgery.
https://www.owasp.org/index.php/Cross-site_Request_Forgery_(CSRF) diakses 22 may 2016 [5] Sentamilselvan. K, Lakshamana Pandian.S, Ramkuman.R,
2014 “Cross Site Request Forgery : Preventive Measures” International Journal of Computer Applications Vo.l 106 No 11.
[6] Shukai. L Et Al, 2016, “A Protection Mechanism Against Malicious HTML and Java Script Code in Vulnerable Web Applications” Journal of Mathematical Problems in Engineering.
[7] Patil. A.U, Dixit. M.A, 2014, “Web Guard :Enhancing Intrusion Detection in Multi-Tier Web Applications” International Journal of Computer Application Vol 95 no.9.
[8] Siddiquie. S.M, Verma.D, 2011, “Cross Site Request Forgery: A Common Web Aplication weakness” IEEE. [9] Shahriar.H, Zulkernine. M., 2010 ,“Client Side Detection
of Cross-Site Request Forgery Attacks”, 21st International
Symposium on Software Reliability Engineering.
Ricky Maulana Fajri, memperoleh gelar S.Kom dari universitas Bina Darma Palembang pada tahun 2007 dan M.Sc dari University Of Technology Sydney, Australia tahun 2016. Saat ini sebagai Staf Pengajar program studi Teknik Komputer Universitas Indo Global Mandiri.