KINERJA APLIKASI CLIENT SERVER UNTUK SISTEM INFORMASI TUMBUH KEMBANG BALITA
SKRIPSI Disusun sebagai salah satu syarat menyelesaikan Jenjang Strata I pada Jurusan Teknik Informatika Fakultas Komunikasi dan Informatika Universitas Muhammadiyah Surakarta
Diajukan oleh:
Bias Giyanisis Endah Sudarmilah, S.T., M.Eng.
PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS KOMUNIKASI DAN INFORMATIKA UNIVERSITAS MUHAMMADIYAH SURAKARTA JULI 2014
KINERJA APLIKASI CLIENT SERVER UNTUK SISTEM INFORMASI TUMBUH KEMBANG BALITA
Bias Giyanisis
Teknik Informatika, Fakultas Komunikasi dan Informatika Universitas Muhammadiyah Surakarta E-Mail :
[email protected]
ABSTRAK Pada saat ini aplikasi web merupakan sumber untuk mencari informasi secara modern yang berkembang sangat cepat. Dalam pembuatan aplikasi web tidak hanya sisi desain dan informasi yang perlu diperhatikan tetapi dalam aspek keamanan dan kinerja dari sebuah aplikasi web itu sendiri mempunyai peranan yang sangat penting. Keamanan sebuah aplikasi web timbul dari kebutuhan untuk melindungi data dan aplikasi web itu sendiri sedangkan kinerja pada aplikasi web perlu diperhatikan juga agar tidak hang pada saat diakses banyak pengguna. Pengujian dilakukan dilakukan terhadap sistem informasi tumbuh kembang balita dengan menggunakan tool berupa software dan langkah-langkah tertentu yang digunakan untuk menguji keamanan dan performanya. Untuk melakukan analisis keamanan software yang digunakan adalah Acunetix website vulnerability scanner sedangkan pengujian performance dilakukan dengan aplikasi Httpwatch dan JMeter. Berdasarkan hasil pengujian keamanan yang telah dilakukan diketahui bahwa keamanan sistem informasi tumbuh kembang balita belum dapat dikatakan aman, hal ini di tunjukkan dengan masih adanya halaman-halaman dengan tingkat kerentanan pada level High dengan ditemukannya web alerts berbahaya yang menampilkan kerentanan seperti blind sql injection, xss, weak password, cookie stealing, dimana kerentanan tersebut dapat dicegah dengan memberikan filtering karakter berbahaya pada inputan user, menggunakan password yang sukar ditebak dan menggunakan jalur pengiriman data yang terenkripsi dan pada sistem informasi tumbuh kembang balita halaman yang paling rawan terhadap serangan attacker ada pada halaman login. Berdasarkan pengujian kinerja pada sistem informasi tumbuh kembang balita menggunakan httpwatch dan jmeter average time meningkat seiring bertambahnya jumlah user yang mengakses secara bersamaan, ketika pengujian menggunakan jmeter dengan 25 user terlihat average time halaman perkembangan membutuhkan waktu lebih lama dibandingkan halaman lain dengan average time 15732 millisecond untuk menyelesaikan request dengan throughput hanya 0,804415145 request/second, disarankan untuk melakukan compress terhadap file gambar (.jpg, .png), menghapus atau memperbaiki file yang terindikasi broken link. Kata kunci : Sistem Informasi, keamanan Sistem Informasi, Performa Sistem Informasi, Acunetix, JMeter.
untuk
PENDAHULUAN Keamanan dan kinerja merupakan
pengujian
keamanan
yaitu
http://www.posyandu123.0fees.us
sebuah pondasi yang sangatlah penting
sedangkan untuk performance dengan
dalam
alamat
membangun
sebuah
sistem
http://www.posyandu123.esy.es,
informasi. Dimana tanpa adanya keamanan
walaupun
terdapat
sistem informasi dapat diacak-acak dari
namun
sisi tampilan oleh cracker dan tidak hanya
informasi tumbuh kembang balita tetap
sampai disitu bahkan data yang ada
sama.
substansi
perbedaan di
dalam
alamat Sistem
didalam sistem informasipun dapat dicuri
Penelitian ini dilakukan dengan
untuk suatu tindakan yang tidak bisa
melakukan pengujian keamanan sistem
dipertanggungjawabkan, sedangkan sistem
informasi
informasi tanpa ditunjang dengan kinerja
vulnerability scanner dan menggunakan
yang baik akan menyebabkan terjadinya
software Performance test untuk pengujian
hang bahkan error yang nantinya akan
beban akses.
membuat pengunjung merasa terganggu.
TELAAH PENELITIAN
Sistem informasi tumbuh kembang tentang
berbasis
Universitas
yang
didalamnya
software
Detty Metasari (2014) meneliti
balita merupakan aplikasi client server web
menggunakan
keamanan
pada
website
Muhammadiyah
Surakarta
menampilkan informasi-informasi dalam
yang memiliki alamat sebagai berikut,
tampilan website yang berkaitan dengan
“ums.ac.id”,“fkip.ums.ac.id”,“ekonomi.um
tampilan awal (home), profile, data berat
s.ac.id”,“teknik.ums.ac.id”,“hukum.ac.id”,
badan, data tinggi badan, data lingkar
“geografi.ums.ac.id”,“psikologi.ums.ac.id”
kepala, data perkembangan balita, halaman
,“fai.ums.ac.id”,“kedokteran.ums.ac.id”,“fi
contact serta halaman login. Alamat
k.ums.ac.id”,“farmasi.ums.ac.id”,“fki.umc.
Sistem informasi tumbuh kembang balita
ac.id” dan website “alumni.ums.ac.id”.
Berdasarkan hasil pengujian keamanan
http://posyandu123.0fees.us
website
Muhammadiyah
kerentanan pada level 3 (High). Terdapat
Surakarta diketahui adanya sub domain
total 21 alerts, 10 kerentanan beserta url
fakultas yang memiliki kerentanan pada
yang terpengaruh oleh masing–masing
level High dengan ditemukannya web
kerentanan
Universitas
menunjukan
alerts High pada beberapa website fakultas
Dari hasil scanning menggunakan
dan level Medium. level Low hanya
acunetix dilakukanlah analisis terhadap
terdapat pada alamat ums.ac.id.
kerentanan pada sistem informasi tumbuh
METODE PENELITIAN
kembang
Pada
pengujian
menggunakan dijalankan tertentu
ini
beberapa dengan
digunakan
peneliti
tools
yang
langkah-langkah
berdasarkan
jenis
kerentanannya, pengujian yang dilakukan sebagai berikut : 1. Blind SQL Injection
menguji
Blind SQL Injetion merupakan kerentanan
keamanan dan kinerja sistem informasi.
yang memungkinkan attacker mengubah
Untuk melakukan analisis sistem informasi
pernyataan SQL dengan memanipulasi
dari
input
segi
untuk
balita
keamanan
software
yang
user
dengan
digunakan adalah Acunetix vulnerability
berbahaya
scanner dan menggunakan software Jmeter
menerima input dari attacker yang dibuat
Performance
kedalam sebuah pernyataan SQL dimana
test
untuk
pengujian
ketika
karakter-karakter sistem
informasi
kinerjanya.
sistem informasi tidak mampu melakukan
HASIL PENELITIAN
filter
1. Pengujian keamanan
berupa blind sql injection terdapat pada :
Scaning vulnerability menggunakan acunetix terhadap sistem informasi tumbuh kembang
balita
dengan
alamat
karakter
a) Halaman
berbahaya.
login
/cek_login.php
Kerentanan
dengan
url
:
kerentanan halaman login terdapat pada
SELECT
script
username=’ admin' or '' = ' AND
untuk
memanggil
database
*
username dan password yang terdapat
password=”;
pada gambar 3.
Artinya
proses
FROM
logika
user
WHERE
AND
menjadi
tercemar oleh logika OR dan dengan SQL ini hasil selection akan selalu bernilai TRUE, sehingga password salahpun akan dianggap benar. Dan yang terjadi adalah Gambar 3 Script /cek_login.php
session akan terbuka untuk attacker tanpa
Blind sql injection menggunakan fungsi logika seperti logika AND atau OR untuk mengecoh fungsi logika pada sistem informasi yang rentan terhadap blind sql injection, dimana
Logika
AND
akan
menghasilkan nilai TRUE ketika ekspresi
perlu
memberikan
form login
ketika
admin' or '' = '. Maka proses query yang terjadi akan menjadi seperti ini :
:
Blind SQL Injection memungkinkan
tanpa harus memiliki account.
Memungkinkan seseorang merubah, menghapus, maupun menambahkan data–data
nilai TRUE yang artinya session baru akan
kolom user diberi inputan dengan sintak
untuk
seseorang dapat login ke dalam sistem
bernilai TRUE maka akan menghasilkan
administrator. Misalkan pada form login
rekomendasi
Resiko
username bernilai TRUE dan password
terbuka dengan menampilkan halaman
Acunetix
berikut :
pada gambar 3 menggunakan logika AND pada
passwordnya.
kerentanan blind sql injection seperti
TRUE AND TRUE dihubungkan. Script
yang mana
tahu
yang
berada
didalam
database.
Dan mematikan database, sehingga tidak bisa memberi layanan kepada web server.
Rekomendasi :
Script harus bisa melakukan filtering
menggunakan menggunakan GET Method
parameter yang
yang memiliki kelemahan yakni terlihatnya
dapat digunakan
untuk proses Blind SQL Injection.
parameter saat dilakukan pengiriman data
Membatasi panjang input box.
server ke client atau sebaliknya yang
Sembunyikan pesan-pesan error yang
terlihat
keluar dari SQL Server yang berjalan.
“http://posyandu123.0fees.us/?proses=datk
2. Cross site scripting
&id_balita=&id_balita=2&bln=0”
di
URL,
seperti
url
yang
Cross site scripting merupakan kerentanan
menampilkan parameter seperti id_balita,
yang terjadi karena server tidak mampu
proses=datk.
memvalidasi juga filter terhadap input dari
menggunakan
user.
ditampilkan pada gambar 5.
Pada
sistem
informasi
tumbuh
Contoh
script
parameter
yang id_balita
kembang balita kerentanan cross site scripting terdapat pada : a) Kerentanan
terjadi
pada
url
yang
menampung parameter Id_balita.
Gambar 5 script id_balita dengan GET Method
Acunetix scaning mendapati kerentanan
Pengujian
terhadap
pertumbuhan lingkar kepala balita dengan
Cross
Site
Scripting
yang
ditujukan
pada
halaman
berpengaruh pada parameter “Id_balita”,
alamat
yang mana parameter Id_balita digunakan
http://posyandu123.0fees.us/?proses=datk
untuk menampilkan grafik pertumbuhan
&id_balita=&id_balita=2&bln=0 , pada
anak pada halaman pertumbuhan berat
alamat halaman
badan balita, pertumbuhan tinggi badan
kepala balita terlihat parameter-parameter
balita, dan pertumbuhan lingkar kepala
yang digunakan untuk proses pemanggilan
balita,
yang
grafik pertumbuhan lingkar kepala balita
“Id_balita”
yang rawan terhadap xss, penyerang dapat
memakai
dimana
pada
parameter
halaman
pertumbuhan lingkar
melakukan
penambahan
parameter-
Rekomendasi untuk kerentanan cross site
parameter berbahaya untuk melakukan
scripting sebagai berikut :
perusakan pada sistem informasi sistem
Resiko
tumbuh
kembang
penambahan
balita,
parameter
seperti berikut.
http://posyandu123.0fees.us/?bln=0&id_ba
:
Seorang attacker dapat melakukan pencurian terhadap cookie.
Memungkinkan penyerang melakukan
lita=2&id_balita=%27%20onmouseover%
deface
3dalert%28document.location=%27http://
kembang balita.
sistem
my.fakingnews.firstpost.com/files/2014/04
Rekomendasi :
/Hacked.jpg%27%29%20bad%3d%27&pr
oses=datk, parameter yang ditambahkan menampilkan
beberapa
kode
“URL-
Melakukan
informasi
filtering
tumbuh
terhadap
metacharacter dari inputan user.
Menambahkan script blocking XSS
encoding” yang mana didalamnya berisi
setelah
perintah ketika mouse bergerak melewati
$_GET['id_balita']; ”.
script
“
$id_balita
=
grafik pertumbuhan lingkar kepala balita Script blocking XSS: maka
akan
kemudian
muncul client
peringatan
diarahkan
yang menuju
halaman yang menampilkan “Hacked.jpg”
if(!ctype_digit($id_balita=$_GET['id_balita'])) { echo "blocking XSS";
yang terlihat pada gambar 5.
exit; } else if($id_balita<=0) { echo "blocking XSS2"; exit; }
Gambar 5 Hacked.jpg
dan 5 user, hal tersebut dimungkinkan
2. Pengujian kinerja Performance test dilakukan dengan
karena adanya beberapa faktor
yang
memanfaatkan jaringan LAB-FKI untuk
mempengaruhi seperti network, banyak
sistem informasi tumbuh kembang balita
pengguna, data didalam sistem informasi.
yang terdapat dalam posyandu123.esy.es. Semua halaman sistem informasi akan
4000 3500 3000
diuji dengan aplikasi jmeter dengan virtual usernya dan aplikasi httpwatch untuk mengukur performa web dengan real user,
2500 2000 1500 1000
sehingga dapat diketahui halaman yang memiliki
performa
yang
baik
atau
500 0
sebaliknya. Average time menggunakan 1 user, 3 user, 5 user dengan httpwatch sebagai aplikasi
Average time in Httpwatch 1user Average time in Httpwatch 3 user Average time in Httpwatch 5 user
pemcatat didapatkan grafik 1. berdasarkan
Grafik 1 average time httpwatch
grafik 1 terjadi peningkatan average time
Average time pada jmeter menghasilkan
setelah dilakukan pengujian dari 1 user, 3
grafik 2 dimana setiap halaman terjadi
user hingga 5 user yang melakukan akses
peningkatan ketika dilakukan akses dengan
secara bersamaan namun tidak terlalu
1, 3, dan 5 virtual user seperti yang terjadi
significant, terdapat pula perbedaan waktu
pada real
rata-rata yang mencolok misalkan seperti
peningkatannya lebih stabil, saat dilakukan
halaman contact dan halaman login yang
pengujian dengan 1 virtual user halaman
diakses oleh 1 user dimana membutuhkan
yang memiliki rata-rata tertinggi adalah
rata-rata
tinggi
halaman home diikuti halaman login,
dibandingkan ketika diakses oleh 3 user
ketika pengujian 3 virtual user rata-rata
waktu
yang
lebih
user
namun pada
jmeter
waktu tertinggi terdapat pada halaman
6
berat badan dan halaman login, dan
5
pengujian
user
4
menunjukan halaman login merupakan
3
halaman yang memiliki rata-rata waktu
2
terlama.
1
2500
0
dengan
5
virtual
2000 Throughput in Httpwatch 1 user Throughput in Httpwatch 3 user Throughput in Httpwatch 5 user
1500 1000
Grafik 3 Throughput in httpwatch 500
Pada grafik 4 tampak terjadi peningkatan 0
throughput seiring bertambahnya jumlah virtual user yang melakukan akses ini Average time in Jmeter 1 user Average time in Jmeter 3 user Average time in Jmeter 5 user
menunjukan jumlah user merupakan salah satu
faktor
terjadinya
peningkatan
Grafik 2 average time jmeter throughput namun perlu diperhatikan pula Httpwatch menampilkan hasil throughput untuk average time sepertihalnya pada dalam grafik 3 dimana throughput sistem pengujian jmeter dengan 25 virtual user informasi
tumbuh
kembang
balita dimana hasil pada halaman perkembangan
menunjukan antara angka 1 sampai 5 terjadi perbedaan yang mencolok halaman request/second dan hampir merata di setiap membutuhkan waktu rata-rata lebih lama halaman, yang mana semakin tinggi angka dibandingkan dengan halaman lainnya throughput semakin bagus. dengan 15732 millisecond dan memiliki throughput
paling
rendah
dengan
0,804415145
request/second,
artinya
Dari perbandingan average time dan
average time memiliki korelasi dengan
throughput antara httpwatch dengan jmeter
throughput yang mana hasilnya average
lamanya
time semakin kecil semakin baik dan
informasi
semakin
disebabkan karena banyaknya file dengan
tinggi
semakin
baik
pada
throughput.
atau
tumbuh
respon
sistem
kembang
balita
format .jpg, .png yang terlalu banyak dimana
16
proses
file
gambar
seharusnya
bisa
dicompress atau dikecilkan ukuranya agar 14
tidak 12
membebani
terdapat brokenlink
10
pula
sistem
file
yang
informasi,
javascript seharusnya
yang dapat
diperbaiki agar tidak terjadi error atau
8
bahkan menuju ke halaman lain ketika di 6
akses, dan juga header dengan Get method 4
yang memakan waktu banyak untuk menyelesaikan proses.
0
KESIMPULAN Berat badan Berat badan tampil Contact Home Artikel Lingkar kepala Lingkar kepala tampil Login Login masuk admin Logout Perkembangan Perkembangan tampil Tinggi badan Tinggi badan tampil
2
Throughput in Jmeter 1 user Throughput in Jmeter 3 user Throughput in Jmeter 5 user Throughput in Jmeter 25 user
Berdasarkan
hasil
pengujian
keamanan yang telah dilakukan diketahui bahwa keamanan sistem informasi tumbuh kembang balita belum dapat dikatakan aman, hal ini di tunjukkan dengan masih adanya halaman-halaman dengan tingkat kerentanan
pada
level
High
dengan
Grafik 4 Throughput in JMeter ditemukannya web alerts berbahaya yang menampilkan kerentanan seperti blind sql
injection, xss, weak password, cookie
bertambahnya
stealing, dimana kerentanan tersebut dapat
mengakses
dicegah
pengujian menggunakan jmeter dengan 25
dengan
memberikan
filtering
jumlah
secara
yang
bersamaan,
ketika
karakter berbahaya pada inputan user,
user
menggunakan
sukar
perkembangan membutuhkan waktu lebih
ditebak dan menggunakan jalur pengiriman
lama dibandingkan halaman lain dengan
data yang terenkripsi dan pada sistem
average time 15732 millisecond untuk
informasi tumbuh kembang balita halaman
menyelesaikan request dengan throughput
yang paling rawan terhadap serangan
hanya
attacker
disarankan untuk melakukan compress
ada
password
pada
yang
halaman
login.
terlihat
user
average
0,804415145
halaman
request/second,
Berdasarkan pengujian kinerja pada sistem
terhadap
informasi
menghapus atau memperbaiki file yang
tumbuh
menggunakan average
time
kembang
httpwatch
dan
meningkat
balita jmeter seiring
terindikasi
file
time
gambar
broken
(.jpg,
.png),
link.
DAFTAR PUSTAKA Anonim. “Apache JMeter - User's Manual Component Reference.” http://jmeter.apache.org/usermanual/component_reference.html (diakses tanggal 25 Mei 2014) “Apache
Anonim.
JMeter
-
User's
Manual
Glossary.”
http://jmeter.apache.org/usermanual/glossary.html (diakses tanggal 25 Mei 2014) Qkye, Rezki. 2013. Meminimalisasi Serangan Sql Injection. http://rezkiiqkye.blogspot.com/2013/04/meminimalisasi-serangan-sql-injection.html (diakses tanggal 30 juni 2014) Susanty, Yiyin, Widya & Ayu. 2012, Pengujian Keamanan Sistem Web Server yang dikelola oleh PT. Web Architect Tecnology, skripsi internship, Universitas Bina Nusantara, Jakarta. Sutanta, Edhy 2008, Analisis Keamanan Sistem Aplikasi (Study Kasus Aplikasi E-Learning di IST AKPRIND Yogyakarta), skripsi, Institut Sains & Teknologi AKPRIND, Yogyakarta. Tambun, Richson Untung. 2004. CROSS SITE SCRIPTING. Tugas Akhir. Teknik Elektro. Institut Teknologi Bamdung, Bandung. Vacca, JR 2009. Computer and Information Securty Handbook, Elsevier, Inc, Wachington D.C.