analisis keamanan sistem aplikasi (study kasus aplikasi e

advertisement
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
Download