Seminar Nasional Aplikasi Sains dan Teknologi 2008 – IST AKPRIND Yogyakarta ANALISIS KEAMANAN SISTEM APLIKASI (STUDY KASUS APLIKASI E-LEARNING DI IST AKPRIND YOGYAKARTA) Edhy Sutanta Jurusan Teknik Informatika, FTI, IST AKPRIND Yogyakarta Email: [email protected] ABSTRAK Seringkali masalah keamanan sistem aplikasi terabaikan justru setelah semua peralatan dan infrastruktur pengaman telah terpasang. Bahkan pentingnya pengamanan baru disadari setelah terjadi bencana. Kerugian sebuah institusi/organisasi yang diakibatkan dari sebuah serangan terhadap sistem aplikasi sangatlah besar, tetapi hal ini sangat sukar dideteksi, karena secara umum tidak akan diakui dengan berbagai alasan. Tanpa pengamanan sistem aplikasi yang baik, penerapan teknologi sehebat apapun akan sangat membahayakan institusi/organisasi itu sendiri. Nilai informasi yang begitu penting dan strategis mengakibatkan serangan dan ancaman terhadap sistem aplikasi dan arus informasi semakin meningkat. Kebutuhan keamanan sistem aplikasi timbul dari kebutuhan untuk melindungi data. Pertama, dari kehilangan dan kerusakan data. Kedua, adanya pihak yang tidak diijinkan hendak mengakses atau mengubah data. Permasalahan lainnya mencakup perlindungan data dari delay yang berlebihan pada saat mengakses atau menggunakan data, atau mengatasi gangguan Denial of Service (DoS). Aplikasi e-Learning IST AKPRIND Yogyakarta merupakan program aplikasi baru yang telah dikembangkan, dipublikasikan, dan diterapkan dalam proses pembelajaran, namun belum diuji keamanannya. Penelitian ini dilakukan untuk menganalisis aspek keamanan sistem aplikasi yang meliputi web server, program aplikasi, dan database server dengan tujuan untuk meningkatkan aspek keamanan pada aplikasi e-Learning yang diterapkan. Berdasarkan hasil penelitian, dapat dinyatakan bahwa tingkat ancaman terhadap web server dan program aplikasi aplikasi e-Learning IST AKPRIND berada pada level 2 (Medium). Hal tersebut menunjukkan bahwa masih terdapat banyak celah yang memungkinkan terjadinya ancaman dan akses ilegal yang berpotensi merusak sistem. Sedangkan database server aplikasi e-Learning IST AKPRIND aman terhadap kemungkinan adanya ancaman dan akses ilegal yang berpotensi merusak. Kata kunci: keamanan sistem aplikasi, web server, database server PENDAHULUAN Database, yang merupakan kumpulan dari data persisten yang digunakan oleh sistem aplikasi di berbagai enterprise (Date, 2000), harus mempertimbangkan masalah security terlebih lagi mengenai sistem database itu sendiri, misalnya apakah sistem berbasis database yang dibangun memiliki konsep kepemilikan data (data ownership) agar data yang didalamnya aman. Ada banyak tahapan dalam mengamankan suatu sistem informasi, namun pada tahap awalnya harus dibuat suatu security policy yang nantinya akan mendasari pembuatan security plan. Security policy berisi tentang aturan-aturan yang akan membantu memastikan setiap kinerja para karyawan dalam bekerja sesuai dengan apa yang diinginkan organisasi. Semua batasan-batasan secara jelas dipaparkan dalam security plan sehingga seluruh karyawan mengerti aturan-aturan yang berkaitan dengan keamanan informasi (basis data) organisasi. Dalam membangun suatu security policy pada operasi database, upaya pertimbangan yang dilakukan mencakup hal-hal berikut (Tedjaprawira, 2007): 1. System Security policy 2. Data Security policy 3. User Security policy 4. Password Management Policy Kebutuhan akan keamanan sistem aplikasi timbul dari kebutuhan untuk melindungi data. Pertama, dari kehilangan dan kerusakan data. Kedua, adanya pihak yang tidak diijinkan hendak mengakses atau mengubah data. Permasalahan lainnya mencakup perlindungan data dari delay yang berlebihan pada saat mengakses atau menggunakan data, atau mengatasi gangguan Denial of Service (DoS). Pengamanan dengan firewall saja belum cukup untuk mengamankan data-data penting. Penyusup (cracker) dapat melakukan penyusupan/eksploitasi keamanan dengan mempergunakan 243 Seminar Nasional Aplikasi Sains dan Teknologi 2008 – IST AKPRIND Yogyakarta teknik tertentu, sehingga dapat mengakses data rahasia yang sebenarnya telah diamankan sehingga dapat memperoleh suatu informasi dengan cara langsung mengakses tabel database, kemudian memprosesnya dengan metode tertentu tanpa melalui program aplikasi. Apabila hal ini terjadi, maka sebaiknya data yang disimpan dalam database sebaiknya juga “diamankan” dengan mempergunakan teknik tertentu-misalnya enkripsi, sehingga walaupun data tersebut dapat diambil oleh orang yang tidak berhak, maka data tersebut tidak mempunyai arti karena dibutuhkan suatu cara untuk menerjemahkan isi data tersebut. Perlindungan data merupakan hal penting dalam permasalahan keamanan database. Seringkali orang mempertimbangkan masalah akses yang tidak sah dalam keamanan karena pengaksesan tersebut tidak melalui si-empunya. Banyak hal yang perlu dipertimbangkan dalam pengaksesan data. Dalam perancangan dan pembahasan sistem keamanan, lazimnya akan berhadapan pada pertimbangan yang dikenal dengan istilah segitiga CIA, yaitu: 1. Confidentiality, yaitu segala usaha yang berkaitan dengan pencegahan pengaksesan terhadap informasi yang dilakukan oleh pihak lain yang tidak berhak. 2. Integrity, yaitu sesuatu yang berkaitan dengan pencegahan dalam modifikasi informasi yang dilakukan oleh pihak lain yang tidak berhak. 3. Availability, yaitu pencegahan penguasaan informasi atau sumber daya oleh pihak lain yang tidak berhak. Perancangan sistem keamanan akan mencoba menyeimbangkan ketiga aspek di atas. Confidentiality berkaitan dengan privacy (data personal) dan secrecy (kerahasiaan). Privacy lebih berkaitan dengan data pribadi, sedang secrecy lebih berkaitan dengan data yang dimiliki oleh suatu organisasi. Secara umum integrity berkaitan dengan jaminan bahwa sesuatu berada dalam kondisi seharusnya. Aspek ini akan berkaitan dengan proses pengubahan data. Integrity didefinisikan oleh Clark dan Wilson sebagai berikut: “No user of the system, even if authorized, may be permitted to modify data items in such a way that asses or a accounting records of the company are lost or corrupted“. Pada Orange Book (panduan untuk evaluasi keamanan) istilah data integrity didefinisikan sebagai berikut: “The state that exists when computerized data is the same as that in the source documents and has not been exposed to accidental or malicious alteration or destruction”. Dalam hal ini jelas bahwa integrity berkaitan dengan konsistensi eksternal. Suatu data yang disimpan dalam sistem komputer harus benar, yaitu menggambarkan realita yang ada di luar sistem komputer. Availability didefinisikan oleh ISO 7498-2 sebagai berikut: “The property of being accessbile and useable upon demand by an authorized entity”. Salah satu kasus yang sering terjadi pada aspek ini adalah adanya Denial of Service, yang didefinisikan sebagai berikut: “The prevention of authorized access to resources or the delaying the time-critical operations”. Penelitian ini bertujuan untuk menganalis faktor-faktor keamanan database yang diterapkan dalam aplikasi e-Learning di IST AKPRIND dari adanya kemungkinan ancaman dan gangguan, agar keamanan data yang disimpan dalam database terhindar dari akses ilegal yang dilakukan oleh pihak yang tidak berhak, khususnya pengaksesan data yang dilakukan dengan cara mengakses tabel secara langsung, tidak melalui program/modul aplikasi. Setelah penelitian ini selesai, diharapkan dapat memberikan kontribusi bagi upaya pengamanan database, sehingga potensi akses ilegal terhadap aplikasi e-Learning dapat diminimalkan. HASIL DAN PEMBAHASAN Sistem Aplikasi E-Learning di IST AKPRIND Aplikasi e-Learning IST AKPRIND dikembangkan melalui proyek PHK INHERENT K3 tahun 2006. Aplikasi e-Learning IST AKPRIND dirancang agar dapat dimanfaatkan oleh dosen dalam mengelola perkuliahan dan diakses oleh mahasiswa peserta kuliah secara mudah. Fitur yang ada dalam aplikasi e-Learning IST AKPRIND diantaranya informasi-informasi yang terkait dengan proses pembelajaran; informasi yang terkait dengan mata kuliah (tujuan, sasaran, silabus, materi kuliah, referensi); informasi yang terkait dengan tugas kuliah; forum diskusi, serta profil dan kontak dosen. Aplikasi e-Learning IST AKPRIND dapat diakses pada alamat http://elista.akprind.ac.id. Aplikasi e-Learning dimanfaatkan oleh semua dosen di lingkungan IST AKPRIND. Masingmasing dosen dan mahasiswa dapat mengakses aplikasi e-Learning dengan menggunakan username dan password khusus. Dosen hanya dapat mengelola proses pembelajaran untuk mata kuliah yang diajarnya sesuai dengan tahun semester yang bersangkutan. Mahasiswa hanya dapat mengakses 244 Seminar Nasional Aplikasi Sains dan Teknologi 2008 – IST AKPRIND Yogyakarta aplikasi e-Learning khusus untuk mata kuliah yang ditempuhnya, sesuai dengan tahun semester yang bersangkutan. Web server aplikasi e-Learning IST AKPRIND dibangun menggunakan Apache 2.2.3 dengan sistem operasi Debian, bahasa pemrograman PHP versi 5.2.0, dan database server menggunakan PostgreSQL. Tampilan halaman depan aplikasi e-Learning IST AKPRIND ditunjukkan pada Gambar 1. Gambar 1: Tampilan halaman depan aplikasi e-Learning IST AKPRIND Hasil Analisis/Pengujian Metode yang digunakan dalam penelitian ini adalah metode kualitatif dengan menggunakan beberapa tools berupa perangkat lunak dan cara-cara tertentu yang lazim digunakan untuk menguji keamanan aplikasi. Tahap-tahap yang dilakukan adalah sebagai berikut: 1. Tahap Inisiasi, pada tahap ini dilakukan penelusuran dan pengkajian literatur-literatur yang berhubungan dengan keamanan aplikasi. 2. Tahap Investigasi, pada tahap ini dilakukan penyelidikan terhadap web server, program aplikasi, dan database server yang digunakan. 3. Tahap Pengujian, pada tahap ini dilakukan pengujian terhadap keamanan aplikasi dengan menggunakan dua tools, yaitu Acunetix web vurnerability scanner (untuk menguji web server dan program aplikasi) dan Shadow database scanner (untuk menguji database server) dengan metode yang lazim digunakan dalam pengujian keamanan aplikasi dan sistem. 4. Tahap Verifikasi, pada tahap ini dilakukan verifikasi terhadap keamanan aplikasi setelah dilakukan perbaikan-perbaikan atas dasar hasil investigasi dan pengujian pada aspek pemrograman maupun konfigurasi database server yang digunakan untuk memastikan bahwa database tersebut siap diterapkan untuk aplikasi e-Learning. Lingkup permasalahan yang dianalisis dalam penelitian ini meliputi: 1. Analisis dilakukan pada database e-Learning yang digunakan di IST AKPRIND 2. Analisis dilakukan pada database dan program aplikasi Aspek-aspek keamanan aplikasi yang diteliti meliputi: 1. Web server 2. Program aplikasi 3. Database server Untuk melakukan analisis keamanan aplikasi aplikasi e-Learning IST AKPRIND, dilakukan menggunakan 2 (dua) software, yaitu: 1. Acunetix web vurnerability scanner 2. Shadow database scanner Tampilan awal Acunetix web vurnerability scanner ditunjukkan pada Gambar 2, sedangkan untuk Shadow database scanner ditunjukkan pada Gambar 3. 245 Seminar Nasional Aplikasi Sains dan Teknologi 2008 – IST AKPRIND Yogyakarta Gambar 2: Tampilan awal Acunetix web vurnerability scanner Gambar 3: Tampilan awal Shadow database scanner 1. Keamanan Web server Analisis keamanan pada sisi web server dalam penelitian ini dilakukan dengan menggunakan software Acunetix web vurnerability scanner. Aspek-aspek yang dianalisis meliputi: 1. Blind injection 2. Cgi tester 3. Directory file 4. File checks 5. Google Hacking testing Database (GHDB) 6. Parameter manipulation 7. Sql injection 8. Text search 9. Version checks 246 Seminar Nasional Aplikasi Sains dan Teknologi 2008 – IST AKPRIND Yogyakarta 10. Web application xfs 11. Entity encode heap overflow Hasil analisis yang diperoleh menggunakan software tersebut adalah ditunjukkan pada Gambar 4 hingga Gambar 11. Gambar 4: Tampilan hasil analisis web server-1 Gambar 5: Tampilan hasil analisis web server-2 247 Seminar Nasional Aplikasi Sains dan Teknologi 2008 – IST AKPRIND Yogyakarta Gambar 6: Tampilan hasil analisis web server-3 Gambar 7: Tampilan hasil analisis web server-4 248 Seminar Nasional Aplikasi Sains dan Teknologi 2008 – IST AKPRIND Yogyakarta Gambar 8: Tampilan hasil analisis web server-5 Gambar 9: Tampilan hasil analisis web server-16 249 Seminar Nasional Aplikasi Sains dan Teknologi 2008 – IST AKPRIND Yogyakarta Gambar 10: Tampilan hasil analisis web server-7 Gambar 11: Tampilan hasil analisis web server-8 Acunetix menetapkan skala 1 sampai 3 yang menyatakan tingkat vurnerability atas sistem yang di-scan. Berdasarkan hasil analisis di atas dapat diketahui bahwa tingkat ancaman terhadap web server situs e-Learning IST AKPRIND berada pada level 2 (Medium). Hal tersebut menunjukkan bahwa situs e-Learning IST AKPRIND masih terdapat cukup banyak celah yang memungkinkan terjadinya ancaman dan akses ilegal yang berpotensi merusak sistem. Diantaranya adalah sebagai berikut: 1. mod_ssl version vurnerable : 2 peringatan 2. PHPSESSID session fixation : 2 peringatan 3. Directory listing found : 46 peringatan 250 Seminar Nasional Aplikasi Sains dan Teknologi 2008 – IST AKPRIND Yogyakarta 4. User credentials are sent in clear text : 14 peringatan 5. TRACE Method Enabled : 2 peringatan1 6. Broken links : 2 peringatan 7. Possible sencitive directories : 4 peringatan 8. Possible sencitive files : 1 peringatan 9. GHDB : 45 10. Email address found : 15 peringatan Secara keseluruhan terdapat 132 peringatan terhadap keamanan web server untuk situs eLearning IST AKPRIND. Beberapa masalah yang terjadi terkait keamanan web server adalah sebagai berikut: 1. mod_ssl version versi 2.2.3 yang digunakan mempunyai celah atau lubang keamanan, yang memungkinkan terjadinya Denials of Service (DOS). Solusi atas masalah ini disarankan untuk melakukan upgrade ke versi yang lebih baru. 2. PHPSESSID memiliki celah yang memungkinkan penyusup menginjeksi dengan program PHP untuk memanipulasi cookie. Solusi atas masalah ini disarankan untuk merubah nilai session.use_only_cookies=1 pada file php.ini (semula nilainya 0). 3. web server dikonfigurasikan untuk menampilkan nama-nama file yang terdapat pada directory/css. Hal ini tidak dianjurkan karena direktori tersebut berisi file-file program yang terhubung dalam website tersebut. Solusi atas masalah ini disarankan untuk memastikan bahwa dalam direktori tersebut tidak terdapat informasi yang penting atau rahasia atau membuat file index yang terpisah. 4. Trace method dalam status enable, sehingga memungkinkan penyusup mengakses informasi di http header seperti cookies dan data autentification. Solusi atas masalah ini disarankan untuk mengubah status trace method menjadi disable. 5. Terdapat 2 broken links, yaitu php.net dan mySQL.org. Solusi atas masalah ini disarankan untuk menghapus link tersebut atau membetulkannya. 6. Ditemukan nama file yang sensitif yaitu bashrc yang biasanya berisi file password, konfigurasi, log, data statistik, dan database dumps yang mengundang penyusup melakukan serangan. Solusi atas masalah ini disarankan untuk mengganti nama atau mengubah hak akses. 7. Ditemukan nama direktori yang sensitif yang mengundang penyusup melakukan serangan yaitu: a. /config (default) b. /admin c. /user/login d. /user/config Solusi atas masalah ini disarankan untuk mengganti nama atau mengubah hak akses. 8. Terdapat program dengan nama file yang mudah ditebak dimana data yang dikirimkan tidak dienkripsi yang mengundang penyusup melakukan serangan. Solusi atas masalah ini disarankan untuk mengganti nama file program, mengenkripsi data yang dikirimkan (misalnya pada file /index.php terdapat perintah get act=search; post kata=&search=cari). 9. Ditemukan file yang berisi informasi yang terdapat pada google hacking database/GHDB (misalnya kata Apache, server) pada folder /css/img/image/icons yang mengundang penyusup melakukan serangan. Solusi atas masalah ini disarankan untuk mengganti penggunaan kata-kata yang sudah umum dipakai. 10. Terdapat alamat email dalam website yang memungkinkan penyusup mengirimkan SPAM bots. Solusi atas masalah ini disarankan untuk memasang SPAM proofing. 2. Keamanan Program Aplikasi Analisis keamanan pada sisi program aplikasi dalam penelitian ini dilakukan dengan menggunakan software Acunetix web vurnerability scanner. Aspek-aspek yang dianalisis meliputi: 1. Index vurnerability 2. Zend hash del key Hasil analisis yang diperoleh menggunakan software tersebut telah tercakup dalam hasil analisis sebelumnya. 251 Seminar Nasional Aplikasi Sains dan Teknologi 2008 – IST AKPRIND Yogyakarta 3. Keamanan Database Server Analisis keamanan pada sisi database server dalam penelitian ini dilakukan dengan menggunakan software Shadow database scanner. Aspek-aspek yang dianalisis meliputi: 1. Audit, meliputi a. IP address b. Host name c. Average ping response d. TCP port 2. Vurnerability Tampilan hasil analisis pada situs e-Learning IST AKPRIND secara berturut-turut untuk Summary ditunjukkan pada Gambar 12, Audit ditunjukkan pada Gambar 13, dan Vurnerability ditunjukkan pada Gambar 14. Gambar 12: Tampilan hasil analisis database server-Summary Gambar 13: Tampilan hasil analisis database server-Audit 252 Seminar Nasional Aplikasi Sains dan Teknologi 2008 – IST AKPRIND Yogyakarta Gambar 14: Tampilan hasil analisis database server-vurnerability Berdasarkan hasil analisis di atas maka dapat diketahui bahwa keamanan database server untuk situs e-Learning IST AKPRIND dapatdinyatakan aman terhadap kemungkinan adanya ancaman dan akses ilegal yang berpotensi merusak. KESIMPULAN Penelitian ini berhasil melakukan analisis terhadap aspek-aspek keamaman sistem yang meliputi keamanan web server,programaplikasi dan database server pada database akademik yang digunakan di IST AKPRIND. Berdasarkan hasil analisis diketahui bahwa tingkat ancaman terhadap web server aplikasi eLearning IST AKPRIND berada pada level 2 (Medium). Hal tersebut menunjukkan bahwa aplikasi eLearning IST AKPRIND masih terdapat celah-celah yang memungkinkan terjadinya ancaman dan akses ilegal yang berpotensi merusak sistem. Sedangkan keamanan database server untuk aplikasi e-Learning IST AKPRIND aman terhadap kemungkinan adanya ancaman dan akses ilegal yang berpotensi merusak. DAFTAR PUSTAKA Date, C.J., An Introduction To Database Systems, Seventh Edition, Addison-Wesley, 2000, Hal 506512. Inmon, W., 1983, Effective Database Design, Prentice Hall Litchfield, D., Anley, C., Heasman, J., Grindlay, B,. 2005, The Database Hacker's Handbook: Defending Database Servers, John Wiley & Sons Martin, J., 1975, Computer Data-Base Organization, Prentice Hall National Computer Security Center, A Guide To Understanding Discretionary Access Control in Trusted Systems, Version 1, National Computer Security Center, 30 September 1987 Neotek, Vol. 1 – No. 1 Oktober 2000 Pernul, G., Database Security, Department of Information Systems University of Essen. R. Dan, Database Security, Internet Systems, April 1997 Silberschatz, A., Korth, H.F., Sudarshan, S., 2001, Database System Concepts, McGraw-Hill Tedjaprawira, Y., 2007, Keamanan Sistem Informasi, Institut Teknologi Bandung, Bandung Wardhana, D., 2007, Arsitektur Dan Prototipe Keamanan Database Multilevel, Institut Teknologi Bandung 253