Web and Application Security

advertisement
Web Security
Web Security
 Bagaimana internet itu pada awalnya
 Pertama kali dikembangkan tahun 1969 oleh
Departemen Pertahanan Amerika Serikat --> ARPAnet
(US Defense Advanced Research Projects Agency).
 Share informasi dan dapat bekerja sama bagi para
ilmuwan yang lokasi berbeda
 Pada awalnya hanya ada 4
komputer server yang terhubung
ke ARPAnet.
Web Security
 Fasilitas internet: http, mail, ftp, gopher, wais, dll
 Fasilitas yang membuat internet jadi populer adalah
World Wide Web (WWW).
 Keunggulan web → kemudahan mengakses informasi.
 Konsep → hypertext
 Pembaca sistem Web (browser) → Netscape, Internet
Explorer, Mozilla, Chrome, Lynx, Mozaic, dll
Web Security
Web Security
Web Security
 Dengan perkembangan Web dan internet, maka
sistem informasi yang dibangun saat ini menggunakan
berbasis web
 Banyak aplikasi sistem informasi walaupun tidak
terhubung ke internet tetapi tetap berbasis web →
intranet
 Keamanan sistem informasi bergantung pada
keamanan sistem Web.
Web Security
 Arsitektur sistem Web terdiri dari 2 sisi: server dan
client
 Program dapat dijalankan di server (misalnya: PHP,
ASP, CGI) dan di client (javascript, applet)
Web Security
Client Side
 Sistem Web dapat menyajikan data dalam bentuk
statis dan dinamis
 Sistem server maupun client memiliki permasalahan
yang berbeda.
Web Security
Asumsi sebuah sistem Web (dari sisi pengguna)
 Sistem Web dimiliki dan dikendalikan oleh organisasi
yang mengaku memiliki sistem tersebut. Misalnya:
domain rcti.tv dan isi situsnya menunjukkan bahwa
situs itu miliki RCTI, maka dapat dipercaya bahwa situs
itu miliknya RCTI. Pembajakan domain merupakan
pengecualian terhadap asumsi ini.
 Dokumen yang ditampilkan tidak mengandung
malcode.
 Server tidak mendistribusikan informasi mengenai
pengunjung ke pihak lain. Kunjungan ke sebuah situs,
data nomer IP, operating system, browser yang
digunakan, dll, dapat dicatat.
Web Security
Asumsi Dari Penyedia Jasa (WebMaster)
 Pengguna tidak beritikad untuk merusak server atau
mengubah isinya tanpa izin.
 Pengguna hanya boleh mengakses dokumen-dokumen
atau informasi yang diizinkan untuk diakses.
 Pengguna tidak mencoba-coba untuk masuk ke
direktori yang tidak diperkenankan
Web Security
Asumsi Kedua Belah Pihak
 Jaringan komputer dan komputer bebas dari
penyadapan pihak ketiga
 Informasi yang disampaikan dari server ke client (dan
sebaliknya) terjamin keutuhannya dan tidak
dimodifikasi oleh pihak ketiga yang tidak berhak
Asumsi-asumsi di atas dapat dilanggar sehingga
mengakibatkan adanya masalah keamanan, baik di
sisi server maupun di sisi client
Web Security
 Keamanan server Web merupakan tanggung jawab
administrator jaringan
 Dengan dijadikannya server Web, maka ada akses yang
dibuka untuk orang luar
 Server Web menyediakan fasilitas agar client dapat
mengambil informasi
 Informasi yang diambil dalam bentuk file
 Menggunakan perintah GET
 Informasi yang diambil dieksekusi di server (PHP, ASP, CGI,
dll)
 Kedua servis di atas (mengambil dan mengeksekusi file)
memiliki potensi lubang keamanan.
Web Security
Lubang keamanan sistem Web dapat menghasilkan
serangan:
 Informasi yang ditampilkan diubah (deface)
Web Security
 Informasi yang seharusnya untuk kalangan terbatas,
ternyata berhasil ditampilkan oleh orang yang tidak berhak
Misalnya melihat foto orang lain
 Informasi dapat disadap, misalnya
Pengiriman nomer CC
Monitoring kemana saja seseorang melakukan surfing
 DoS Attack
 Server Web yang terletak dibelakang firewall, lubang
keamanan server Web dapat melemahkan dan bahkan
menghilangkan fungsi firewall
misalnya kesalahan teknik pemrograman -> sql injection
Web Security
Potensi lubang keamanan pada script(sisi server) antara lain:
 User memasang script yang dapat mengirim data password
kepada pengunjung yang mengeksekusi script tersebut.
 Script dipanggil berkali-kali sehingga berdampak server
menjadi terbenani (CPU Time meningkat)
 Melalui guestbook, dapat diisikan link yang ke halaman
pornografi atau diisikan sampah sehingga memenuhi disk.
 Teks yang dikirim diisi dengan karakter tertentu dengan
tujuan untuk merusak sistem. Sering kali dilakukan pada
search engine, dengan memasukan kata kunci seperti
%%%, %; drop table, tanda petik tunggal, dll
 Salah konfigurasi httpd, misalnya httpd dijalankan oleh
user root
Web Security
Potensi lubang keamanan pada script(sisi client) biasanya
berhubungan dengan:
 Masalah privasi
 Penyisipan malcode
Web Security
Masalah Privasi
 Kunjungan ke sebuah situs dapat mengakibatkan adanya
cookie yang berguna untuk menandai pernah berkunjung
 Sehingga bila mengunjungi lagi situs tersebut, maka server
dapat mengetahui kita kembali. Baik bukan?
Dampak cookie:
 Ketahuan kemana saja kita surfing.
 Cookie bisa dicuri. Bagaimana bila ada data yang bersifat
rahasia (seperti user dan password)
Solusi:
 Jangan meninggalkan jejak di internet.
Web Security
Penyisipan MalCode
 Penyerangan dilakukan dengan menyisipkan malcode
(worm atau trojan horse) ke sebuah halaman situs.
 Dampaknya, client dapat dikendalikan dari jarak jauh,
penyadapan terhadap apa yang diketik, melihat isi
direktori, melakukan reboot, bahkan dapat melakukan
format harddisk.
Solusi:
 Aktifkan Anti Virus yang dapat mengecek halaman dari
sebuah situs.
Web Security
Model Penyerangan Web
 Phishing
 Sql Injection
 Cross Site Scripting (XSS)
 Session/ Cookie Injection
Phising
Apa itu Phising?
Phising
Phising
PHISING
Tahun 2001, situs klikbca .com dibuat tiruannya
wwwklikbca.com
kilkbca.com
clikbca.com
klickbca.com
klikbac.com
Sering diterapkan untuk mendapatkan user dan password sebuah situs,
seperti facebook, email, e-currency, dll
E-Mail + Phising
---------------------------- Original Message ---------------------------Subject: Konfirmasi Identitas Anda
From: "Internet Banking Mandiri" <[EMAIL PROTECTED]>
Date: Tue, September 23, 2008 06:17
To:
[EMAIL PROTECTED]
-------------------------------------------------------------------------Untitled Document
Pengguna Internet Banking Bank Mandiri yang terhormat, silahkan konfirmasi kembali identitas diri anda
karena akun anda telah di non-aktifkan secara otomatis oleh sistem kami, karena seseorang telah mencoba
masuk berulang-ulang meski tidak berhasil. Namun sistem/Auto-robot kami merespon sebagai salah satu
tindak kriminal. Aktifkan kembali akun anda dengan identitas semula.
klik disini untuk konfirmasi.
Demikian informasi dari kami, semoga ditindaklanjuti dengan bijaksana.
Terima kasih.
Hormat Kami,
Bank Mandiri
Penanganan Phising
Penanganannya:
 Hati-hati dengan email-email yang menawarkan hadiah-hadiah atau yang
berhubungan dengan e-banking atau e-currency
 Sering-sering melihat URL di browser
SQL Injection
SQL injection terjadi ketika attacker bisa menginsert beberapa SQL
statement ke 'query'
$query=“select * from tb_user where username=‘$user’ and password=‘$pass’”;
$user=“pi”
$pass=“del”
Select * from tb_user where username=‘pi’ and password=‘del’
Tabel user
id username
password
1
admin
GothamCity
2
pi
del
3
guest
danautoba
SQL Injection
$user=“’or’’=‘”
$pass=“’or’’=‘”
Select * from tb_user where username=‘’or’’=‘’ and password=‘’or’’=‘’
F
or T and
F
T
or
T
Penanganan SQL Injection
Penanganannya:
 Jangan percaya data yang datang dari client
 Aktifkan Magic Quotes. ‘  \’
“  \”
Cross Site Scripting
 XSS adalah salah satu jenis serangan web yang dilakukan dengan
memanfaatkan kelemahan dan kesalahan yang terletak pada
penulisan scripting.
 Memungkinkan seseorang untuk menginjeksikan suatu tag HTML
ataupun Client Side Script pada aplikasi web tersebut
 Penyebabnya dikarenakan adanya variabel yang tidak disaring
dengan baik.
 Hanya terjadi di komputer lokal
Cross Site Scripting
 XSS adalah salah satu jenis serangan web yang dilakukan dengan
memanfaatkan kelemahan dan kesalahan yang terletak pada
penulisan scripting.
 Memungkinkan seseorang untuk menginjeksikan suatu tag HTML
ataupun Client Side Script pada aplikasi web tersebut
 Penyebabnya dikarenakan adanya variabel yang tidak disaring
dengan baik.
 Hanya terjadi di komputer lokal
 Script yang dapat digunakan:
HTML, JavaScript, VBScript, Active X, Flash
Phising
Penanganan SQL Injection
Penanganannya:
 Jangan percaya data yang datang dari client, harus dicek ulang
 Aktifkan Magic Quotes. ‘  \’
“  \”
Session/Cookie Injection
Memanipulasi nilai Cookie
Download