Riska Kurnianto Abdullah NRP : 2206100709 - digilib.its.ac.id · server, dan custom code, ... suatu...

Post on 26-May-2018

218 views 0 download

Transcript of Riska Kurnianto Abdullah NRP : 2206100709 - digilib.its.ac.id · server, dan custom code, ... suatu...

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