SIMULASI CELAH KEAMANAN APLIKASI
WEB DENGAN METODE OWASP
Dosen Pembimbing : Ahmad Zaini ST., MT.
Christyowidiasmoro ST., MT.
Riska Kurnianto Abdullah
NRP : 2206100709
Latar belakang
Perangkat lunak yang tidak aman telah
mengancam infrastruktur keuangan, kesehatan, pertahanan, energi, dan infrastruktur kritikal lainnya. Dengan semakin kompleks dan terhubungnya infrastruktur digital dengan dunia global maka kesulitan mencapai keamanan aplikasi meningkat secara eksponensial. Kita tidak dapat lagi mentoleransi masalah keamanan sederhana yang banyak bertebaran di internet.
Permasalahan
Sulitnya mencari acuan tentang isu
keamanan terkini yang mudah, real dan terintegrasi.
Kurangnya pemahaman dan kesadaran
para pengembang terhadap isu keamanan aplikasi yang selalu mengancam setiap saat.
Tujuan
Mengkaji dan menganalisa sistem
keamanan aplikasi web untuk mengetahui kelemahan dan
pencegahan terhadap celah keamanan tersebut dengan standar OWASP
Melakukan simulasi terhadap berbagai
ancaman keamanan yang bisa dan sering terjadi pada sistem aplikasi web dalam bentuk prototype website.
Metodologi
• Tester: Seseorang
yang melakukan aktifitas pengujian
• Tools and
metodologi: Inti dari panduan yang
diberikan oleh OWASP
• Application: Aplikasi
web yang akan diuji.
penetrasi…
Langkah kerja
Analisis data
Analisa dampak celah keamanan
Melakukan analisa dari hasil penetrasi
dan serangan untuk menutup celah keamanan.
1. SQL
INJECTION
Teori
Normal
Penetrasi
Tindakan pencegahan
Menggunakan real escape character
pada mysql
2. Broken
Authentichatio
n and Session
Management
Teori
Penetrasi
Dalam kasus ini dimisalkan pada
tereksposnya nilai variabel session pada url, sehingga saat korban memberitahu ke temannya tentang url yang dimaksud teman korban ini bisa menjadi user yang terdaftar padahal tidak.
User Normal yg terdaftar
User yg tidak mempunyai login
Tidakan pencegahan
Tidak menggunakan session dalam url
sama sekali
3. XSS
TEORI
Teori
Mark Curphey, Joel Scambray, and Erik Olson, “Improving Web Application Security”, Hal : 608
XSS bug salah satu contohnya yaitu terlalu
mempertahankan data yang terpercaya yang dimasukkan oleh user
Amit Klein, Sanctum Security Group,
Pada inti dari serangan XSS adalah terletak pada skrip rentan dalam situs yg rentan. Skrip ini
membaca bagian dari permintaan HTTP
(biasanya parameter, kadang-kadang juga HTTP header atau path) dan Melakukan echo ke
halaman respon, secara penuh atau sebagian, tanpa terlebih dahulu melakukan sanitasi itu yaitu memastikan itu tidak mengandung kode
Javascript dan / atau tag HTML.
Normal
Pencarian kata “hacking exposed”
Percobaan penetrasi
Memasukkan input tag HTML <h1> TEST
XSS </h1>
Attack
<br><iframe src="http://localhost/ta_2013/server_jahat /index.php" width="267" height="312"></iframe><br> 25 25Tidakan Pencegahan
Melakukan sanitasi terhadap variabel
search
Tag yang dipakai ‘htmlspecialchars()’
Setelah sanitasi dilakukan
pada variabel $search
4. Referensi
Objek
Langsung Yang
Tidak Aman
TEORI
Celah keamanan ini dapat terjadi
karena ketika developer mengekspos referensi ke suatu objek dalam
implementasi internal, seperti file,
direktori, atau key database. Oleh karena hal itu maka tanpa adanya suatu
pemeriksaan kontrol akses atau
perlindungan lainnya, penyerang dapat memanipulasi referensi-referensi ini untuk mengakses data yang tidak terotorisasi.
Normal
Penetrasi
Tindakan Pencegahan
Untuk mencegahnya
Pemeriksaan variabel ‘id’ dengan ‘session
id’ yang di daftarkan sehingga apabila
ada ketidak cocokan antara variabel ‘id’ dan variabel ‘session id’ sistem akan
memberikan peringatan dan memblokir akses id untuk melihat informasi akun user yang lainnya.
Hasil
5. Kesalahan
Konfigurasi
Keamanan
Teori
Teori
Kesalahan konfigurasi keamanan dapat
terjadi pada setiap tingkatan aplikasi, termasuk platform, framework, web
server, dan custom code, Developer dan admin jaringan perlu bekerja sama untuk memastikan bahwa seluruh tingkatan
telah dikonfigurasi dengan tepat.
Celah
Kesalah konfigurasi ‘php.ini’
Membuat varibel session terekspos dan
membuka celah BAASM
Pencegahan
Solusi untuk masalah pada celah ini yaitu
terletak apda sistem administrator.
Petugas tersebut harus selalu waspada dan melakukan audit sistem keamanan secara berkala dan memperhatikan
konfigurasi servernya.
Selalu melakukan pengecekan pada
server sebelum memakainya untuk sistem aplikasi web.
6. Sensitive
Data Exposure
TEORI
Contoh database yang tidak
dienkripsi
7. Missing
Function Level
Access Control
Teori
Penyerang dapat berupa semua user yang
memiliki akses terhadap jaringan dari aplikasi web. Penyerang tersebut bisa berupa user anonim, ataupun member. Penyerang yang terotorisasi dengan sistem dengan mudah
dapat mengubah URL atau parameter untuk mengubah otoritas aplikasi terhadap
penyerang tersebut, sehingga menjadikan penyerang tersebut mempunyai level akses yang setara dengan admin.
Normal
Penetrasi
Tindakan Pencegahan
Menambahkan Role pada database, dan melakukan Check… if ($row['role']) {echo "Admin Page..<br />"; } else { <script language="javasc ript"> alert("Maaf, Halaman hanya untuk ADMIN, anda tidak berhak mengakses halaman ini!!"); document.location.h ref='control.php';</sc ript> } 46
8. Cross-Site
Request
Forgery
TEORI
TEORI
Cross Site Request Forgery atau disingkat
CSRF adalah merupakan suatu teknik hacking yang bertujuan untuk
mendapatkan atau bahkan menguasai
suatu akun dengan cara menyerang web yang dieksekusi atas wewenang korban
tanpa dikehendaki korban itu sendiri.
TEORI
Penetrasi
Jumlah akun korban
Penetrasi
Korban dikirimkan email dan penyerang
seolah memberikan peluang bisnis yang bagus dan korban tertarik dah akhirnya membuka situs yang direferensikan
penyerang dengan melakukan klik. Saat mengunjungi halaman tersebut korban
hanya mendapati sebuah halaman yang rusak yang berisi tag <img>
Penetrasi
Korban kembali melakukan cek saldonya setelah beberapa sat kemudian kembali dari situs yangdireferensikan penyerang dan
yang terjadi adalah saldo korban
berkurang.
Penetrasi
Mengapa??
Saat mengunjungi situs yang direfensikan oleh
penyerang, korban masih aktif pada situs yang digunakan untuk transaksi keuangannya. Pada situs
Halaman yang dikunjungi korban ternyata berisi
:
<img
src="http://localhost/ta_2013/csrf/white/transfer. php?amm=5000&id1=1&id2=2" > img1</img>
Pencegahan
Untuk mencegah agar sistem
aplikasi tidak terkena dampak dari celah keamanan ini maka sistem aplikasi web tersebut harus
dilengkapi dengan token pada form yang akan dikirim sehingga
apabila ada ketidak cocokkan form maka transaksi tidak dapat
dieksekusi.
9. Using
Components
With Known
Vulnerabilities
TEORI
Hampir disetiap aplikasi memiliki masalah karena
sebagian besar tim developer tidak fokus terhadap komponen atau library yang terkini. Dalam banyak
kasus, para developer bahkan tidak mengenal seluruh komponen yang digunakannya. Melihat kasus ini
depedensi komponen akan membuat sesuatu yang lebih buruk dalam sistem keamanan aplikasi web itu sendiri.
Penetrasi
Salah satu exploit yang digunakan untuk cms joomla 5810. Redirect
dan Forward
yang tidak
divalidasi
Teori
Teori
Aplikasi pada umumnya mengarahkan
(redirect) pengguna ke halaman lain, atau menggunakan internal forwards dengan cara yang serupa. Kadang kala, halaman target dispesifikasikan ke dalam parameter yang tidak divalidasi, sehingga memperkenankan penyerang memilih halaman tujuan. Dalam hal ini penyerang mengaitkan ke redirect
yang tidak divalidasi dan mengelabui korban untuk diklik. Korban sangat mungkin untuk
melakukan klik sebab link tersebut terlihat menuju kesitus yang valid.
Penetrasi
Pencegahan
Apabila penggunaan redirect dan
forward tidak dapat dihindari sebaiknya user yang menggunakan aplikasi web tersebut diperingatkan kalau akan
menuju halaman yang lain. Hal ini dapat mencegah agar user setidaknya tetap
megetahui ke arah mana lokasi situs yang ia tuju.
pencegahan
HASIL
HASIL
Hasil yang diperoleh yaitu celah keamanan
yang sering terjadi pada web yaitu “using know vulnerabilities components” dan juga “kelemahan pada level akses control”. Dua celah keamanan ini dapat dicegah dengan melakukan review kode kembali dengan
standar OWASP dan apabila aplikasi
tergantung pada framework atau komponen usahakan komponen tersebut selalu yang
terbaru.
Konsep
Yang di gunakan PENTERASI dengan tools
OWASP TOP 10 2013
Konsep lain : Threat Modeling
Kelebihan dan kekurangan
PENETRASI THREAT MODELING
Pengujian dilakukan pada
kode yg sedang digunakan Perspektif penyerang
Cepat, sedikit waktu Fleksibel
Terlaluterlambat dilakukan
dalam SDLC Dilakukan pada mula SDLC
Hanya menguji dampak
depan saja Pemodelan Ancaman ygtidak dilakukan secara
otomatis
Kesimpulan
Untuk Melakukan verifikasi keamanan aplikasi web
yang telah dikembangkan disarankan untuk
melakukan review kode aplikasi dan melakukan pengujian keamanan terhadap aplikasi tersebut. Agar lebih baik lagi dalam melakukan pengujian aplikasi maka metode penetrasi dan review kode merupakan kombinasi yang tepat.
Celah keamanan yang ada dalam sepuluh
kategori OWASP sangatlah sederhana dan mudah untuk dieksploitasi. Developer dan sistem administrator yang bertanggung
jawab atas sistem keamanan aplikasi web kadang kurang memperhatikan hal tersebut.