Post on 26-May-2018
SIMULASI CELAH KEAMANAN APLIKASI WEB DENGAN METODE OWASP
Dosen Pembimbing :Ahmad Zaini ST., MT.Christyowidiasmoro ST., MT.
Riska Kurnianto AbdullahNRP : 2206100709
1
Latar belakang Perangkat lunak yang tidak aman telah
mengancam infrastruktur keuangan,kesehatan, pertahanan, energi, daninfrastruktur kritikal lainnya. Dengan semakinkompleks dan terhubungnya infrastrukturdigital dengan dunia global maka kesulitanmencapai keamanan aplikasi meningkatsecara eksponensial. Kita tidak dapat lagimentoleransi masalah keamanan sederhanayang banyak bertebaran di internet.
2
Permasalahan Sulitnya mencari acuan tentang isu
keamanan terkini yang mudah, real danterintegrasi.
Kurangnya pemahaman dan kesadaranpara pengembang terhadap isukeamanan aplikasi yang selalumengancam setiap saat.
3
Tujuan Mengkaji dan menganalisa sistem
keamanan aplikasi web untukmengetahui kelemahan danpencegahan terhadap celah keamanantersebut dengan standar OWASP
Melakukan simulasi terhadap berbagaiancaman keamanan yang bisa dansering terjadi pada sistem aplikasi web dalam bentuk prototype website.
4
Metodologi
• Tester: Seseorangyang melakukanaktifitas pengujian
• Tools and metodologi: Inti daripanduan yang diberikan olehOWASP
• Application: Aplikasiweb yang akan diuji.
5
penetrasi…
6
Langkah kerja
7
Analisis data Analisa dampak celah keamanan Melakukan analisa dari hasil penetrasi
dan serangan untuk menutup celahkeamanan.
8
1. SQL INJECTION
9
Teori
10
Normal
11
Penetrasi
12
Tindakan pencegahan Menggunakan real escape character
pada mysql
13
2. Broken Authentichation and Session Management
14
Teori
15
Penetrasi Dalam kasus ini dimisalkan pada
tereksposnya nilai variabel session padaurl, sehingga saat korban memberitahuke temannya tentang url yang dimaksudteman korban ini bisa menjadi user yang terdaftar padahal tidak.
16
User Normal yg terdaftar
17
User yg tidak mempunyai login
18
Tidakan pencegahan Tidak menggunakan session dalam url
sama sekali
19
3. XSS
20
TEORI
21
Teori Mark Curphey, Joel Scambray, and Erik Olson, “Improving Web Application Security”, Hal : 608
XSS bug salah satu contohnya yaitu terlalumempertahankan data yang terpercaya yang dimasukkan oleh user
Amit Klein, Sanctum Security Group,
Pada inti dari serangan XSS adalah terletak padaskrip rentan dalam situs yg rentan. Skrip inimembaca bagian dari permintaan HTTP (biasanya parameter, kadang-kadang juga HTTP header atau path) dan Melakukan echo kehalaman respon, secara penuh atau sebagian, tanpa terlebih dahulu melakukan sanitasi itu yaitumemastikan itu tidak mengandung kodeJavascript dan / atau tag HTML.
22
Normal Pencarian kata “hacking exposed”
23
Percobaan penetrasi Memasukkan input tag HTML <h1> TEST
XSS </h1>
24
Attack<br><iframesrc="http://localhost/ta_2013/server_jahat/index.php" width="267" height="312"></iframe><br>
25
25
Tidakan Pencegahan Melakukan sanitasi terhadap variabel
search Tag yang dipakai ‘htmlspecialchars()’
26
Setelah sanitasi dilakukanpada variabel $search
27
4. ReferensiObjekLangsung Yang Tidak Aman
28
TEORI Celah keamanan ini dapat terjadi
karena ketika developer mengeksposreferensi ke suatu objek dalamimplementasi internal, seperti file, direktori, atau key database. Oleh karenahal itu maka tanpa adanya suatupemeriksaan kontrol akses atauperlindungan lainnya, penyerang dapatmemanipulasi referensi-referensi ini untukmengakses data yang tidak terotorisasi.
29
Normal
30
Penetrasi
31
Tindakan Pencegahan Untuk mencegahnya Pemeriksaan variabel ‘id’ dengan ‘session
id’ yang di daftarkan sehingga apabilaada ketidak cocokan antara variabel ‘id’ dan variabel ‘session id’ sistem akanmemberikan peringatan dan memblokirakses id untuk melihat informasi akun user yang lainnya.
32
Hasil
33
5. KesalahanKonfigurasiKeamanan
34
Teori
35
Teori Kesalahan konfigurasi keamanan dapat
terjadi pada setiap tingkatan aplikasi, termasuk platform, framework, web server, dan custom code, Developer danadmin jaringan perlu bekerja sama untukmemastikan bahwa seluruh tingkatantelah dikonfigurasi dengan tepat.
36
Celah Kesalah konfigurasi ‘php.ini’ Membuat varibel session terekspos dan
membuka celah BAASM
37
Pencegahan Solusi untuk masalah pada celah ini yaitu
terletak apda sistem administrator. Petugas tersebut harus selalu waspadadan melakukan audit sistem keamanansecara berkala dan memperhatikankonfigurasi servernya.
Selalu melakukan pengecekan padaserver sebelum memakainya untuk sistemaplikasi web.
38
6. Sensitive Data Exposure
39
TEORI
40
Contoh database yang tidakdienkripsi
41
7. Missing Function Level Access Control
42
Teori Penyerang dapat berupa semua user yang
memiliki akses terhadap jaringan dari aplikasiweb. Penyerang tersebut bisa berupa user anonim, ataupun member. Penyerang yang terotorisasi dengan sistem dengan mudahdapat mengubah URL atau parameter untukmengubah otoritas aplikasi terhadappenyerang tersebut, sehingga menjadikanpenyerang tersebut mempunyai level aksesyang setara dengan admin.
43
Normal
44
Penetrasi
45
Tindakan Pencegahan Menambahkan
Role padadatabase, danmelakukanCheck…
if ($row['role']) {echo "Admin Page..<br/>";}
else { <script language="javascript">alert("Maaf, Halaman hanyauntuk ADMIN, andatidak berhakmengakses halamanini!!");document.location.href='control.php';</script>
}
46
8. Cross-Site Request Forgery
47
TEORI
48
TEORI Cross Site Request Forgery atau disingkat
CSRF adalah merupakan suatu teknikhacking yang bertujuan untukmendapatkan atau bahkan menguasaisuatu akun dengan cara menyerang web yang dieksekusi atas wewenang korbantanpa dikehendaki korban itu sendiri.
49
TEORI
50
Penetrasi Jumlah akun korban
51
Penetrasi Korban dikirimkan email dan penyerang
seolah memberikan peluang bisnis yang bagus dan korban tertarik dah akhirnyamembuka situs yang direferensikanpenyerang dengan melakukan klik. Saatmengunjungi halaman tersebut korbanhanya mendapati sebuah halaman yang rusak yang berisi tag <img>
52
Penetrasi Korban kembali
melakukan ceksaldonya setelahbeberapa sat kemudian kembalidari situs yang direferensikanpenyerang danyang terjadi adalahsaldo korbanberkurang.
53
Penetrasi Mengapa??
Saat mengunjungi situs yang direfensikan olehpenyerang, korban masih aktif pada situs yang digunakan untuk transaksi keuangannya. Padasitus
Halaman yang dikunjungi korban ternyata berisi: <img
src="http://localhost/ta_2013/csrf/white/transfer.php?amm=5000&id1=1&id2=2" > img1</img>
54
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.
55
9. Using Components With Known Vulnerabilities
56
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.
57
Penetrasi Salah satu
exploit yang digunakanuntuk cmsjoomla
58
10. Redirect dan Forward yang tidakdivalidasi
59
Teori
60
Teori Aplikasi pada umumnya mengarahkan
(redirect) pengguna ke halaman lain, ataumenggunakan internal forwards dengan carayang serupa. Kadang kala, halaman target dispesifikasikan ke dalam parameter yang tidak divalidasi, sehingga memperkenankanpenyerang memilih halaman tujuan. Dalamhal ini penyerang mengaitkan ke redirect yang tidak divalidasi dan mengelabui korbanuntuk diklik. Korban sangat mungkin untukmelakukan klik sebab link tersebut terlihatmenuju kesitus yang valid.
61
Penetrasi
62
Pencegahan Apabila penggunaan redirect dan
forward tidak dapat dihindari sebaiknyauser yang menggunakan aplikasi web tersebut diperingatkan kalau akanmenuju halaman yang lain. Hal ini dapatmencegah agar user setidaknya tetapmegetahui ke arah mana lokasi situs yang ia tuju.
63
pencegahan
64
HASIL
65
HASIL Hasil yang diperoleh yaitu celah keamanan
yang sering terjadi pada web yaitu “using know vulnerabilities components” dan juga“kelemahan pada level akses control”. Duacelah keamanan ini dapat dicegah denganmelakukan review kode kembali denganstandar OWASP dan apabila aplikasitergantung pada framework atau komponenusahakan komponen tersebut selalu yang terbaru.
66
Konsep Yang di gunakan PENTERASI dengan tools
OWASP TOP 10 2013 Konsep lain : Threat Modeling
67
Kelebihan dan kekuranganPENETRASI THREAT MODELINGPengujian dilakukan pada kode yg sedang digunakan
Perspektif penyerang
Cepat, sedikit waktu FleksibelTerlaluterlambat dilakukandalam SDLC
Dilakukan pada mula SDLC
Hanya menguji dampakdepan saja
Pemodelan Ancaman ygtidak dilakukan secaraotomatis
68
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.
69
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.
70
TERIMA KASIH….
71