Prosiding SENATEK 2015 Fakultas Teknik, Universitas Muhammadiyah Purwokerto Purwokerto, 28 November 2015, ISBN 978-602-14355-0 -2
ANALISIS VULNERABILITY WEB BASED APPLICATION MENGGUNAKAN NESSUS Fauzan Masykur Program Studi Teknik Informatika, Fakultas Teknik, Universitas Muhammadiyah Ponorogo Jl. Budi Utomo No 10 Ponorogo, 63471 Email:
[email protected] ABSTRAK Ancaman terhadap sebuah web- application sangat mungkin terjadi dan sangatlah sulit untuk mengatakan bahwa web- application akan aman dan bebas ancaman atau serangan dari attacker. sebuah web- application yang terhubung dengan koneksi jaringan komputer akan diakses semua pihak sehingga ancaman selalu ada mengintai. Untuk meminimalkan ancaman tersebut sebuah web- application terlebih dahulu di evaluasi sebelum dipublikasikan ke dalam sebuah web server. Cara analisa dari web- application yakni dengan mencari kelemahan-kelemahan yang bisa menjadi pintu masuk seorang attacker menguasai web- application. Istilah yang sering digunakan dalam menganalisa kelemahan web- application yaitu analisa vulnerability scanner dengan menggunakan software Nessus.. Cara melakukan analisa Vulnerability ini terlebih dahulu sebuah web- application di koneksikan pada sebuah jaringan komputer skala kecil dengan tipe peer-to-peer yang menghubungkan web server dengan client. Pada sisi client inilah Nessus akan diinstal dan dijalankan untuk mengetahui kelemahan-kelemahan yang ada. Dari penelitian yang telah dilakukan bahwa web- application yang di analisa terdapat 95 kelemahan dengan berbagai kategori yakni kategori critical, high, medium dan info. Di setiap kategori bisa diketahui kelemahan dan solusi untuk mengatasinya secara detail sehingga kelemahan-kelemahan bisa diminimalisir sebelum web- application di unggah di web server. Kata kunci: Vulnerability, nessus, web based application test, penetration test. PENDAHULUAN Keamanan sistem informasi sangat dibutuhkan dalam dunia jaringan komputer dikarenakan satu komputer akan digunakan oleh beberapa clientdalam satu waktu dalam mengakses content dari database yang tersimpan di sebuah web server. Permintaan akses data dari client ke web server akan meningkat seiring dengan jumlah client yang terhubung. Dengan semakin meningkatnya jumlah client akan sebanding dengan tingkat ancaman, bahaya bahkan serangan ke web server yang akan menyebabkan terjadinya gangguan di web server. Kondisi dalam ancaman tersebut sangat mungkin terjadi ataupun sering dilupakan oleh pihak administrator. Sebagai pihak administrator tidak mungkin bisa menjamin web server yang dikelola akan aman (secure) 100 % dari berbagai ancaman ataupun serangan. Terdapat berbagai macam serangan baik itu berupa logic atau physic yang dapat mengakibatkan web server menjadi down bahkan secara fisik tidak bisa digunakan lagi sehingga dibutuhkan biaya yang lebih besar dari perkiraan semula. Menghindari kondisi semacam itu dapat dicegah dengan melakukan analisa berbagai kelemahan atau disebut dengan vulnerability pada web server sebelum web application dipublikasikan. Salah satu cara untuk menganalisa kelemahan sistem yakni dengan cara penetration-testatau pen-test. Pen-test merupakan salah satu cara untuk menguji sebuah sistem komputer, jaringan komputer atau web application untuk mencari kelemahan yang bisa dimasuki oleh penyerang (attacker) (gupta, dkk, 2013). Pencarian kelemehan sebuah web serverdapat dilakukan dengan menggunakan software secara otomatis. Software tersebut akan bekerja mencari kelemahan web server yang memungkinkan menjadi jalan masuk penyerang (attacker) memasuki dan menguasai web server. Istilah software tersebut akan melakukan security scanner terhadap sistem yang analisa kelemahannya. Security scanner akan mencoba
320
Prosiding SENATEK 2015 Fakultas Teknik, Universitas Muhammadiyah Purwokerto Purwokerto, 28 November 2015, ISBN 978-602-14355-0 -2
mencari kelemahan sesuai kemampuan yang dimilikinya dan karena dilakukan secara otomatis, ribuan pengecekan bisa dilakukan dalam waktu singkat. Bayangkan berapa banyak waktu yang dibutuhkan untuk mengecek 1000 macam kemungkinan masalah yang mungkin terjadi pada sebuah host atau aplikasi web. Secara manual, hampir tidak mungkin namun secara software ini adalah pekerjaan mudah (S’to , 2014) Keamanan Sistem Informasi Keamanan sistem informasi merupakan suatu langkah untuk mencegah pihak-pihak yang tidak berkepentingan untuk memasuki sistem utama yang sudah dibangun. Sebuah sistem tentu sudah dilengkapi untuk memilah-milah siapa saja yang bisa memasuki sistem. Cara mencegah terjadinya hal tersebut perlu dilakukan evaluasi terhadap sistem web application yang di bangun sebelum web application tersebut di upload ke web server. Salah satu cara untuk mengevaluasi yakni dengan analisa vulnerability terhadap sistem web application. Analisa yang dilakukan tentunyadisesuaikan dengan kebutuhan kemanan dari system yang dibangun. Kebutuhan keamanan untuk sebuah system computer berbeda-beda bergantung pada aplikasiaplikasi yang di kandungya, sistem transfer keuangan elektronik, akan berbeda kebutuhannya dengan system reservasi atau sistem–system control lainnya. Begitupun juga ketersediaan dana si pemilik system turut melahirkan variasi-variasi tingkat keamanan. Kesimpulannya, tidak ada jaminan apakah suatu system dapat dikatakan secure atau reliable. Namun, keamanan dapat ditingkatkan dalam skala berkelanjutan dari 0 hingga 1, atau dari kondisi tidak secure menjadirelatif secure. (Amin, 2012). Vulnerability Scanner Vulnerability scanner adalah sebuah program komputer yang di desain untuk mencari dan memetakan system untuk kelemahan pada aplikasi, computer atau jaringan. Meningkatnya penggunaan internet membuat semakin banyaknya website yang bermunculan. Namun sangat disayangkan kejahatan internet terus meningkat seiring bermunculannya ragam artikel yang membahas masalah hacking. (Angir, dkk, 2015). Tools yang digunakan untuk menganalisa kelemahan-kelemahan system adalah Nessus. Nessus merupakan kelompok free scanner. Nessus didistribusikan di bawah GNU Public License dari Free Software Foundation. Pada gambar 1 ditunjukkan tampilan Nessus Scanner.
Gambar 1. Nessus Scanner
METODE PENELITIAN Metode yang digunakan dalam analisa vulnerability ini dengan cara menscan web application yang telah di unggah di web server kemudian di scan menggunakan vulnerability scanner yakni Nessus. Adapun bagan dari topologi jaringan bisa dilihat pada gambar 2 di bawah ini. Topologi yang digunakan
321
Prosiding SENATEK 2015 Fakultas Teknik, Universitas Muhammadiyah Purwokerto Purwokerto, 28 November 2015, ISBN 978-602-14355-0 -2
sedapat mungkin disesuaikan dengan kenyataan saat web application di publikasikan di sebuah web hosting. Pada penelitian ini web application yang akan di analisa adalah sebuah web application sistem ujian online yang dirancang menggunakan bahasa pemrograman PHP dengan database MySql. Web Application ujian online ini sudah digunakan namun hanya bisa diakses di jaringan intranet.
Gambar 2. Bagan Analisa VulnerabilityPada Web Application
HASIL DAN PEMBAHASAN Langkah awal dari analisa ini adalah mulai menjalankan Nessus scanner dengan tujuan analisa vulnerability terhadapa web application ujian online yang sudah di unggah di web server namun belum di publikasikan. Pada gambar 3 di bawah ini ditunjukkan skema analisa menggunakan Nessus Scanner.
Gambar 3. Skema Analisa Vulnerability
Hasil dari analisa vulnerability terhadap web application dapat diketahui beberapa kelemahankelemahan yang bisa menjadi pintu masuk bagi attacker untuk menguasai web application. Hasil yang ditunjukkan Nessus Scanner dapat diketahui terdapat 95 jenis kelemahan terdiri dari berbagai kategori yakni critical, high, mediun dan info. Pada gambar 4 di bawah ini ditunjukkan hasil dari Nessus Scanner.
322
Prosiding SENATEK 2015 Fakultas Teknik, Universitas Muhammadiyah Purwokerto Purwokerto, 28 November 2015, ISBN 978-602-14355-0 -2
Gambar 4. Hasil Nessus Scanner
Dari gambar 4 dapat diketahui jenis kelemahan dengan rincian sebagi berikut :
Kategori critical sebanyak 7 kelemahan
Kategori high sebanyak 36 kelemahan
Kategori medium sebanyak 63 kelemahan
Kategori info sebanyak 57 kelemahan
Gambar 5. Detal Hasil Scan Menggunakan Nessus Hasil scan menggunakan Nessus juga bisa menampilkan informasi detail dari setiap kategori. Informasi menampilkan secara detail apa yang menjadi penyebab kelemahan sistem serta saran untuk mengatasi kelemahan tersebut. Informasi yang ditampilkan sudah dikelompokkan berdasarkan penyebab terjadinya kelemahan. Pada gambar 6 ditunjukkan detail dari kelemahan pada kategori critical.
323
Prosiding SENATEK 2015 Fakultas Teknik, Universitas Muhammadiyah Purwokerto Purwokerto, 28 November 2015, ISBN 978-602-14355-0 -2
Gambar 6. Informasi Detail Kategori Critical
Semua kategori kelemahan hasil dari scan menggunakan Nessus ditampikan penjelesan tentang kelemahan yang ada. Penjelasan mengenai kelemahan sistem tersebut bisa dijadikan acuan untuk administrator untuk memperbaiki kelemahan sistem yang muncul sebelum di unggah di web server. Pada bagian detail sudah dijelaskan mengenai penyebabnya, sebagai contoh pada kategori critical seperti di atas ditunjukkan 5 jenis kelemahan yang terjadi dan sudah ditunjukkan penjelesan mengenai kelemahan tersebut. Pada contoh di atas ditunjukkan ada 5 kelemahan dari hasil scanner yang telah dilakukan, yaitu : 1. 2. 3. 4. 5.
A TLS renegotiation prefix injection attack is possible. (CVE-2009-3555) The 'mod_proxy_ajp' module returns the wrong status code if it encounters an error which causes the back-end server to be put into an error state. (CVE-2010-0408) The 'mod_isapi' attempts to unload the 'ISAPI.dll' when it encounters various error states which could leave call-backs in an undefined state. (CVE-2010-0425) A flaw in the core sub-request process code can lead to sensitive information from a request being handled by the wrong thread if a multi-threaded environment is used. (CVE-2010-0434) Added 'mod_reqtimeout' module to mitigate Slowloris attacks. (CVE-2007-6750)
Hasil scan juga menunjukkan rujukan untuk melihat lebih detail penyebab terjadinya kelemahan pada sistem. Kelemhan yang terjadi berupa “A TLS renegotiation prefix injection attack is possible” .kelemahan tersebut bias dilihat dengan menggunakan kode yang tertera yakni CVE-2009-3555. Kode kode rujukan untuk melihat deskripsi detail dari kelemahan tersebut. Kode tersebut bias dicari pada alamat website https://cve.mitre.org. Dengan demikian bias diketahui deskripsi kelemahan yang terjadi. Padatabel 1 di bawah ini ditunjukkan hasil detail deskripsi dari kelemahan pada kategori critical-Apache 2.2.x < 2.2.15 Multiple Vulnerabilities
324
Prosiding SENATEK 2015 Fakultas Teknik, Universitas Muhammadiyah Purwokerto Purwokerto, 28 November 2015, ISBN 978-602-14355-0 -2
Tabel 1. Deskripsi kelemahan critical-Apache 2.2.x < 2.2.15 Multiple Vulnerabilities No
Vulnerabilities
Description
1
A TLS renegotiation prefix injection attack is possible
The TLS protocol, and the SSL protocol 3.0 and possibly earlier, as used in Microsoft Internet Information Services (IIS) 7.0, mod_ssl in the Apache HTTP Server 2.2.14 and earlier, OpenSSL before 0.9.8l, GnuTLS 2.8.5 and earlier, Mozilla Network Security Services (NSS) 3.12.4 and earlier, multiple Cisco products, and other products, does not properly associate renegotiation handshakes with an existing connection, which allows man-in-themiddle attackers to insert data into HTTPS sessions, and possibly other types of sessions protected by TLS or SSL, by sending an unauthenticated request that is processed retroactively by a server in a post-renegotiation context, related to a "plaintext injection" attack, aka the "Project Mogul" issue.
2
The 'mod_proxy_ajp' module returns the wrong status code if it encounters an error which causes the backend server to be put into an error state
The ap_proxy_ajp_request function in mod_proxy_ajp.c in mod_proxy_ajp in the Apache HTTP Server 2.2.x before 2.2.15 does not properly handle certain situations in which a client sends no request body, which allows remote attackers to cause a denial of service (backend server outage) via a crafted request, related to use of a 500 error code instead of the appropriate 400 error code.
3
The 'mod_isapi' attempts to unload the 'ISAPI.dll' when it encounters various error states which could leave callbacks in an undefined state
modules/arch/win32/mod_isapi.c in mod_isapi in the Apache HTTP Server 2.0.37 through 2.0.63, 2.2.0 through 2.2.14, and 2.3.x before 2.3.7, when running on Windows, does not ensure that request processing is complete before calling isapi_unload for an ISAPI .dll module, which allows remote attackers to execute arbitrary code via unspecified vectors related to a crafted request, a reset packet, and "orphaned callback pointers."
4
A flaw in the core subrequest process code can lead to sensitive information from a request being handled by the wrong thread if a multi-threaded environment is used.
The ap_read_request function in server/protocol.c in the Apache HTTP Server 2.2.x before 2.2.15, when a multithreaded MPM is used, does not properly handle headers in subrequests in certain circumstances involving a parent request that has a body, which might allow remote attackers to obtain sensitive information via a crafted request that triggers access to memory locations associated with an earlier request.
5
Added 'mod_reqtimeout' module to mitigate Slowloris attacks.
The Apache HTTP Server 1.x and 2.x allows remote attackers to cause a denial of service (daemon outage) via partial HTTP requests, as demonstrated by Slowloris, related to the lack of the mod_reqtimeout module in versions before 2.2.15.
Selain ditunjukkan detail kelemahan-kelemahan yang bisa dijadikan awal dari serangan (attack)bagi attacker, hasil scanner juga menunjukkan solusi untuk mengatasinya. Pada hasil scan ditunjukkan bahwa solusi untuk mengatasi kelemahan-kelemahan yakni dengan meng-upgradeApache dengan versi Apache 2.2.15 atau yang lebih baru. Dengan cara yang sama bisa diketahui untuk kelemahan-kelemahan pada kategori yang lain.
KESIMPULAN Dari evaluasi terhadap web application yang telah dilakukan menggunakan Nessus Scanner dapat diambil beberapa kesimpulan, yakni
325
Prosiding SENATEK 2015 Fakultas Teknik, Universitas Muhammadiyah Purwokerto Purwokerto, 28 November 2015, ISBN 978-602-14355-0 -2
1.
Web application yang di evaluasi menggunakan Nessus Scannerterdapat beberapa celah bagi attacker untuk bisa menguasi web application yang telah dibuat oleh administrator. Terdapat 95 macam kelemahan dengan 4 kategori yakni critical, high, medium dan info.
2.
Dengan menggunakan Nessus Scanner, sebuah web application bisa di evaluasi mengenai kelemahan-kelemahan yang terjadi sebelum sebuah web application tersebut di upload pada sebuah web server.
DAFTAR PUSTAKA Amin, Zaid., (2012), AnalisaVulnerabilitas Host padakeamananjaringan computer di PT. SUMEKS TIVI Palembang (PALTV) Menggunakan Router Berbasis Unix. Jurnal Teknologi dan Informatika (TEKNOMATIKA) Vol 2 No 3 September 2012. Angir, Devi Christiani ,dkk., (2015). Vulnerability MappingpadaJaringanKomputer di Universitas X. Jurnal Infra Vol 3, No 2 Gupta, Ankita, dkk., (2013), Vulnerability Assessment and Penetration Testing, International Journal of Engineering Trends and Technology-Volume 4 Issue 3 – 2013. Hidayat, Jonny., (2014)., CEH Certified Ethical Hacker. Jasakom Publishers S’to., (2014)., Kali Linux 200% Attack. Jasakom Publishers.
326