SKRIPSI IMPLEMENTASI KEAMANAN OWASP...

17
SKRIPSI IMPLEMENTASI KEAMANAN OWASP TERHADAP APLIKASI BERBASIS GTFW MUHAMMAD FARIS ‘AFIF Nomor Mahasiswa : 135410086 PROGRAM STUDI TEKNIK INFORMATIKA SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER AKAKOM YOGYAKARTA 2017

Transcript of SKRIPSI IMPLEMENTASI KEAMANAN OWASP...

Page 1: SKRIPSI IMPLEMENTASI KEAMANAN OWASP ...eprints.akakom.ac.id/4995/1/1_135410086_HALAMAN_DEPAN.pdfINTISARI Aplikasi web yang digunakan dalam beberapa segmen atau industri memerlukan

SKRIPSI

IMPLEMENTASI KEAMANAN OWASP TERHADAP

APLIKASI BERBASIS GTFW

MUHAMMAD FARIS ‘AFIF

Nomor Mahasiswa : 135410086

PROGRAM STUDI TEKNIK INFORMATIKA

SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTERAKAKOM YOGYAKARTA

2017

Page 2: SKRIPSI IMPLEMENTASI KEAMANAN OWASP ...eprints.akakom.ac.id/4995/1/1_135410086_HALAMAN_DEPAN.pdfINTISARI Aplikasi web yang digunakan dalam beberapa segmen atau industri memerlukan

SKRIPSI

IMPLEMENTASI KEAMANAN OWASP

TERHADAP APLIKASI BERBASIS GTFW

Di Susun Oleh:

Muhammad Faris ‘Afif

Nomor Mahasiswa : 135410086

PROGRAM STUDI TEKNIK INFORMATIKA

SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER

AKAKOM YOGYAKARTA

2017

i

Page 3: SKRIPSI IMPLEMENTASI KEAMANAN OWASP ...eprints.akakom.ac.id/4995/1/1_135410086_HALAMAN_DEPAN.pdfINTISARI Aplikasi web yang digunakan dalam beberapa segmen atau industri memerlukan

ii

Page 4: SKRIPSI IMPLEMENTASI KEAMANAN OWASP ...eprints.akakom.ac.id/4995/1/1_135410086_HALAMAN_DEPAN.pdfINTISARI Aplikasi web yang digunakan dalam beberapa segmen atau industri memerlukan

iii

Page 5: SKRIPSI IMPLEMENTASI KEAMANAN OWASP ...eprints.akakom.ac.id/4995/1/1_135410086_HALAMAN_DEPAN.pdfINTISARI Aplikasi web yang digunakan dalam beberapa segmen atau industri memerlukan

HALAMAN PERSEMBAHAN

Dengan mengucapkan syukur Alhamdulillah, atas rahmat dan hidayah-

Nya, saya dapat menyelesaikan skripsi ini dengan baik. Kupersembahkan Skripsi

ini kepada :

1. Kedua orang tua beserta keluarga yang selama ini telah memberikan

dukungan yang besar baik berupa moral maupun berupa materil, tanpa

mereka tugas akhir ini tidak mungkin dapat terselesaikan.

2. Teman-teman angkatan 2013, Teman-teman kost ku, bapak kost dan

teman-teman lainnya yang tidak bisa disebutkan satu persatu.

3. Untuk teman-teman FOSA (Forum Opensource Akakom). Terima kasih

atas dukungan kalian, tetap jaga kekompakkan kita yang belum lulus

buruan nyusul.

4. Untuk teman-teman komunitas Kali Linux Indonesia, Dracos Linux,

Ubuntu Indonesia, Linux From Scratch dan ECHO (Indonesian

Community for Hacker and Opensource).

5. Untuk Mas Dyan Galih dan Mas Prasodjo, atas bantuan menyelesaikan

masalah yang aku hadapi.

iv

Page 6: SKRIPSI IMPLEMENTASI KEAMANAN OWASP ...eprints.akakom.ac.id/4995/1/1_135410086_HALAMAN_DEPAN.pdfINTISARI Aplikasi web yang digunakan dalam beberapa segmen atau industri memerlukan

HALAMAN MOTO

~ Kerjakan apa yang menjadi urusan sekarang dengan maksimal, hari kemarin

sebagai pembelajaran untuk lebih baik, buat impian untuk hari esok yang akan

datang ~

(Penulis)

~ Mengeluh bukan kunci setiap masalah ~

~ Jangan pernah berharap lebih kepada sesuatu, karena itu akan menyakitkan ~

~ Always, Be positive thingking ~

(Penulis)

Kami adalah sekumpulan individu yang ingin bebas memacu kinerja otak dan

adrenalin di tubuh kami; ingin bebas melakukan hal-hal menarik yang sulit

terpecahkan bahkan mustahil sekalipun;ingin bebas meneliti untaian kode yang

ada, mencari kelemahan bukan untuk melemahkan;ingin bebas bertukar, belajar

dan berbagi semua kemurnian ilmu pengetahuan; bukan oleh aturan-aturan yang

telah ditentukan dan dikendalikan ketamakan; bukan demi setumpuk kekayaan,

kejayaan ataupun keabadian; bukan pula untuk merusak, menakuti atau bahkan

menghancurkan; tetapi hanya demi kenyataan bahwa kami sama.

(Echo’s Manifesto)

v

Page 7: SKRIPSI IMPLEMENTASI KEAMANAN OWASP ...eprints.akakom.ac.id/4995/1/1_135410086_HALAMAN_DEPAN.pdfINTISARI Aplikasi web yang digunakan dalam beberapa segmen atau industri memerlukan

INTISARI

Aplikasi web yang digunakan dalam beberapa segmen atau industrimemerlukan standar keamanan yang baik, terlebih lagi jika aplikasi tersebutdigunakan untuk segmen perbankan, layanan publik, dan e-commerce. Keamanansuatu aplikasi web sangat penting untuk mengamankan confidentiality, integritydan availability dari data, serta informasi dan layanan yang dimilikinya. Untukmenjamin kemanan aplikasi tersebut, perlu adanya pengujian keamanan terhadapaplikasi web menggunakan metode dan alat pengujian yang sesuai.

Gamatechno Web Application Framework atau yang biasa disingkatGTFW, merupakan framework aplikasi web menggunakan PHP yangdikembangkan oleh PT Gamatechno Indonesia. Sejak Gamatechno berdiri padatahun 2005, telah banyak aplikasi berbasis GTFW yang diimplementasikan diratusan klien pada segmen akademik, pemerintahan maupun korporasi.Gamatechno saat ini menyediakan informasi tentang framework ini secara terbukadi laman web dan berusaha terus mengembangkan GTFW dari sisi teknologi dankeamanannya.

Aplikasi Xplorin yang menjadi obyek penelitian merupakan salah satuaplikasi berbasis GTFW versi terbaru. Xplorin adalah platform pariwisata yangmenyediakan informasi 10 dinasti pariwisata terfavorit di Indonesia. Di dalamaplikasi ini akan terdapat beberapa fitur yang memerlukan keamanan yang baik, diantaranya adalah fitur transaksi pembayaran tiket transportasi dan akomodasi,serta sosial media. Pengujian keamanan aplikasi Xplorin dilakukan denganmenggunakan metode Grey Box. Kerentanan aplikasi yang akan diuji adalah padahal session management dan input validation. Pengujian input validation meliputiHTTP verb tampering, stored cross site scripting, dan OS command injection.Dalam penelitian ini, metode pengujian aplikasi mengikuti panduan dari OpenWeb Application Security Project (atau disingkat OWASP) versi 4.

Dari hasil pengujian, aplikasi Xplorin diketahui memiliki kerentanankeamanan dari aspek Session Management yaitu cookie attributes, session timeout dan CSRF. Kemudian dari aspek Input Validation terdapat kerentanan padastore cross site scripting. Keamanan terhadap kerentanan ini belumdiimplementasikan dengan baik pada aplikasi Xplorin, sehingga perlu adanyaperbaikan. Melalui hasil penelitian ini diharapkan aplikasi Xplorin dapat menjadilebih aman setelah dilakukan upaya perbaikan. Selain itu, hasil pengujian danperbaikan keamanan pada aplikasi ini bisa menjadi lesson learned bagipengembangan aplikasi lain yang berbasis GTFW.

Kata kunci : CSRF, Keamanan Website, OWASP, Store Cross Site Scripting.

vi

Page 8: SKRIPSI IMPLEMENTASI KEAMANAN OWASP ...eprints.akakom.ac.id/4995/1/1_135410086_HALAMAN_DEPAN.pdfINTISARI Aplikasi web yang digunakan dalam beberapa segmen atau industri memerlukan

KATA PENGANTAR

Puji syukur penulis panjatkan kehadirat Allah SWT, karena limpahan

rahmat, hidayah, dan inayah-Nya skripsi ini dapat diselesaikan. Sholawat beserta

salam semoga selalu tercurahkan kepada manusia teragung baginda Rasulullah

Muhammad Shallallahu ‘alaihi wasallam. Skripsi yang berjudul “Implementasi

Keamanan OWASP Terhadap Aplikasi Berbasis GTFW” ini penulis susun untuk

memenuhi persyaratan kurikulum sarjana strata-1 (S-1) pada Jurusan Teknik

Informatika, STMIK AKAKOM Yogyakarta. Penulis mengucapkan terima kasih

sebesar-besarnya atas semua bantuan maupun saran yang telah diberikan, baik

secara langsung maupun tidak langsung selama penyusunan tugas akhir ini.

Secara khusus rasa terimakasih kami sampaikan kepada:

1. Bapak Cuk Subiyantoro, S.Kom., M.Kom. selaku Ketua Sekolah Tinggi

Manajemen Informatika dan Komputer AKAKOM Yogyakarta.

2. Bapak Ir. M. Guntara, M.T. selaku Ketua Jurusan Teknik Informatika

Sekolah Tinggi Manajemen Informatika dan Komputer AKAKOM

Yogyakarta dan dosen pembimbing yang telah banyak memberikan

dorongan dalam penyusunan skripsi ini.

3. Bapak Ir. Sudarmanto, M.T. dan Ibu Dini Fakta Sari, ST., M.T. sebagai

dosen penguji yang juga telah banyak memberi arahan.

vii

Page 9: SKRIPSI IMPLEMENTASI KEAMANAN OWASP ...eprints.akakom.ac.id/4995/1/1_135410086_HALAMAN_DEPAN.pdfINTISARI Aplikasi web yang digunakan dalam beberapa segmen atau industri memerlukan

4. Bapak Novan Hartadi, S.T, M.Sc. selaku General Manager Research and

Business Development PT Gamatechno Indonesia.

5. Seluruh staff dan karyawan Sekolah Tinggi Manajemen Informatika dan

Komputer AKAKOM Yogyakarta.

Penulisan Skripsi ini merupakan persyaratan akhir dari mahasiswa di

jurusan Teknik Informatika, STMIK AKAKOM untuk memperoleh gelar sarjana.

Penulis menyadari bahwa Skripsi ini jauh dari kesempurnaan, maka semua kritik

dan saran yang bersifat membangun akan selalu diterima. Semoga yang sedikit ini

memberikan manfaat terutama bagi kelanjutan studi penulis.

Yogyakarta, ....... Agustus 2017

Penulis

viii

Page 10: SKRIPSI IMPLEMENTASI KEAMANAN OWASP ...eprints.akakom.ac.id/4995/1/1_135410086_HALAMAN_DEPAN.pdfINTISARI Aplikasi web yang digunakan dalam beberapa segmen atau industri memerlukan

DAFTAR ISI

HALAMAN JUDUL...............................................................................................i

HALAMAN PERSETUJUAN..............................................................................ii

HALAMAN PENGESAHAN...............................................................................iii

HALAMAN PERSEMBAHAN...........................................................................iv

HALAMAN MOTO...............................................................................................v

INTISARI..............................................................................................................vi

KATA PENGANTAR..........................................................................................vii

DAFTAR ISI...........................................................................................................x

DAFTAR GAMBAR...........................................................................................xiv

DAFTAR TABEL...............................................................................................xvi

BAB 1 PENDAHULUAN.....................................................................................1

1.1. Latar Belakang.........................................................................................1

1.2. Rumusan Masalah....................................................................................2

1.3. Ruang Lingkup........................................................................................2

1.4. Tujuan Penelitian.....................................................................................3

1.5. Manfaat Penelitian...................................................................................3

1.6. Sistematika Penulisan..............................................................................3

BAB 2 TINJAUAN PUSTAKA DAN DASAR TEORI.....................................5

2.1. Tinjauan Pustaka......................................................................................5

2.2. Dasar Teori..............................................................................................7

ix

Page 11: SKRIPSI IMPLEMENTASI KEAMANAN OWASP ...eprints.akakom.ac.id/4995/1/1_135410086_HALAMAN_DEPAN.pdfINTISARI Aplikasi web yang digunakan dalam beberapa segmen atau industri memerlukan

2.2.1. Open Web Application Security Project (OWASP).....................7

2.2.2. OWASP Testing Guide.................................................................8

2.2.3. Gamatechno Application Framework (GTFW)..........................13

2.2.4. Session Management...................................................................14

2.2.5. Input Validation..........................................................................15

2.2.6. HTTP Verb Tampering...............................................................15

2.2.7. OS Command Injection...............................................................16

2.2.8. Stored Cross Site Scripting.........................................................16

BAB 3 METODE PENELITIAN.......................................................................18

3.1. Alat/Bahan.............................................................................................18

3.2. Topologi Web Server.............................................................................19

3.3. Rancangan Server..................................................................................20

3.4. Rancangan Aplikasi Web Xplorin.........................................................21

3.5. Metode Penelitian..................................................................................24

3.6. Kebutuhan Perangkat Keras..................................................................25

3.7. Kebutuhan Perangkat Lunak..................................................................26

3.8. Kebutuhan Keluaran..............................................................................27

BAB 4 IMPLEMENTASI DAN PEMBAHASAN............................................28

4.1. Implementasi dan Konfigurasi Aplikasi Xplorin...................................28

4.2. Information Gathering...........................................................................30

4.2.1. Hasil Information Gathering.......................................................33

4.3. Pengujian Session Management............................................................34

x

Page 12: SKRIPSI IMPLEMENTASI KEAMANAN OWASP ...eprints.akakom.ac.id/4995/1/1_135410086_HALAMAN_DEPAN.pdfINTISARI Aplikasi web yang digunakan dalam beberapa segmen atau industri memerlukan

4.3.1. Pengujian Bypassing Session Management Schema (OTG-SESS-

001).......................................................................................................34

4.3.2. Pengujian Cookies Attributes (OTG-SESS-002)........................37

4.3.3. Pengujian CSRF (OTG-SESS-005)............................................39

4.3.4. Pengujian Logout functionality (OTG-SESS-006).....................44

4.3.5. Pengujian Session Timeout (OTG-SESS-007)...........................46

4.3.6. Hasil Pengujian Session Management........................................47

4.4. Pengujian Input Validation....................................................................48

4.4.1. HTTP Verb Tampering (OTG-INPVAL-003)............................48

4.4.2. Stored Cross Site Scripting (OTG-INPVAL-002)......................48

4.4.3. OS Command Injection (OTG-INPVAL-013)............................50

4.4.4. Hasil Pengujian Input Validation................................................50

4.5. Analisa Kerentanan................................................................................51

4.5.1. Bypassing Session Management Schema...................................51

4.5.2. Cookies Attributes (OTG-SESS-002).........................................51

4.5.3. CSRF (OTG-SESS-005).............................................................53

4.5.4. Logout Functionality...................................................................54

4.5.5. Session Timeout (OTG-SESS-007)............................................55

4.5.6. HTTP Verb Tampering...............................................................56

4.5.7. Stored Cross Site Scripting (OTG-INPVAL-002)......................57

4.5.8. OS Command Injection...............................................................58

4.6. Pencegahan Kerentanan.........................................................................58

xi

Page 13: SKRIPSI IMPLEMENTASI KEAMANAN OWASP ...eprints.akakom.ac.id/4995/1/1_135410086_HALAMAN_DEPAN.pdfINTISARI Aplikasi web yang digunakan dalam beberapa segmen atau industri memerlukan

4.6.1. Pencegahan Kerentanan Session Management...........................59

4.6.2. Pencegahan Kerentanan Input Validation...................................60

BAB 5 KESIMPULAN DAN SARAN...............................................................61

5.1. Kesimpulan............................................................................................61

5.2. Saran......................................................................................................62

DAFTAR PUSTAKA...........................................................................................63

LAMPIRAN..........................................................................................................65

xii

Page 14: SKRIPSI IMPLEMENTASI KEAMANAN OWASP ...eprints.akakom.ac.id/4995/1/1_135410086_HALAMAN_DEPAN.pdfINTISARI Aplikasi web yang digunakan dalam beberapa segmen atau industri memerlukan

DAFTAR GAMBAR

Gambar 2.1: Tingkat kemungkinan dan dampak....................................................8

Gambar 2.2: Keseluruhan tingkat resiko kerentanan............................................13

Gambar 2.3: Contoh kerentanan os command injection.......................................16

Gambar 2.4: Contoh kerentanan stored XSS........................................................17

Gambar 3.1: Topologi web server.........................................................................19

Gambar 3.2: Rancangan server.............................................................................20

Gambar 3.3: Tampilan halaman login aplikasi xplorin.........................................21

Gambar 3.4: Halaman dashboard aplikasi xplorin................................................22

Gambar 3.5: Halaman fitur see aplikasi xplorin...................................................22

Gambar 3.6: Halaman fitur user aplikasi xplorin..................................................23

Gambar 3.7: Flowcart penelitian...........................................................................24

Gambar 4.1: Struktur direktori aplikasi xplorin....................................................28

Gambar 4.2: Information gathering dari aplikasi dirbuster...................................31

Gambar 4.3: Information gathering dari wappalyzer............................................31

Gambar 4.4: Information gathering dari nmap.....................................................32

Gambar 4.5: Response header saat membuka halaman login...............................34

Gambar 4.6: Response header setelah login.........................................................35

Gambar 4.7: Data sampel sequencer burpsuite.....................................................35

Gambar 4.8: Grafik analisis karakter dari data sampel.........................................36

Gambar 4.9: Data sampel token............................................................................36

xiii

Page 15: SKRIPSI IMPLEMENTASI KEAMANAN OWASP ...eprints.akakom.ac.id/4995/1/1_135410086_HALAMAN_DEPAN.pdfINTISARI Aplikasi web yang digunakan dalam beberapa segmen atau industri memerlukan

Gambar 4.10: Response login success dari pengguna..........................................37

Gambar 4.11: Menguji dengan mengganti cookie pada halaman login................38

Gambar 4.12: Menguji dengan mengganti cookie pada menu navigasi...............38

Gambar 4.13: Menguji dengan mengganti cookie pada halaman dashboard........38

Gambar 4.14: Hasil respon login dari komputer guest.........................................39

Gambar 4.15: Pengujian berhasil masuk halaman dashboard...............................39

Gambar 4.16: Tampilan antarmuka kode CSRF...................................................40

Gambar 4.17: Potongan kode untuk menguji kerentanan CSRF...........................41

Gambar 4.18: Data user super administrator sebelum kode CSRF dijalankan.....42

Gambar 4.19: Data user super administrator setelah kode CSRF di jalankan......42

Gambar 4.20: Pemberitahuan login gagal user super administrator.....................43

Gambar 4.21: Tombol log out di halaman home..................................................44

Gambar 4.22: Tombol log out di halaman page....................................................44

Gambar 4.23: Tombol log out di halaman managemen user................................45

Gambar 4.24: Halaman diarahkan ke halaman log in setelah log out...................45

Gambar 4.25: Menguji aktifitas website dengan chrome devtools.......................46

Gambar 4.26: Menguji Store XSS dengan kode Javascript..................................48

Gambar 4.27: Notifikasi data berhasil disimpan...................................................48

Gambar 4.28: Hasil kode uji XSS.........................................................................49

Gambar 4.29: Hasil scanner command injection di aplikasi commix...................50

xiv

Page 16: SKRIPSI IMPLEMENTASI KEAMANAN OWASP ...eprints.akakom.ac.id/4995/1/1_135410086_HALAMAN_DEPAN.pdfINTISARI Aplikasi web yang digunakan dalam beberapa segmen atau industri memerlukan

DAFTAR TABEL

Tabel 2.1: Perbandingan...........................................................................................5

Tabel 2.2: Perbandingan...........................................................................................6

Tabel 2.3: Faktor kemungkinan threat agent............................................................9

Tabel 2.4: Faktor kemungkinan vulnerability........................................................10

Tabel 2.5: Faktor dampak technical impact factors...............................................11

Tabel 2.6: Faktor dampak business impact factors................................................12

Tabel 3.1: Detail konfigurasi server.......................................................................21

Tabel 4.1: Konfigurasi database.............................................................................30

Tabel 4.2: Data uji CSRF.......................................................................................40

Table 4.3: Data uji CSRF.......................................................................................41

Tabel 4.4: Hasil pengujian session management...................................................47

Tabel 4.5: Hasil pengujian input validation...........................................................50

Tabel 4.6: Hasil pengujian input validation...........................................................51

Tabel 4.7: Faktor kemungkinan cookie attributes..................................................52

Tabel 4.8: Faktor dampak cookie attributes...........................................................52

Tabel 4.9: Faktor kemungkinan CSRF...................................................................53

Tabel 4.10: Faktor dampak CSRF..........................................................................54

Tabel 4.11: Faktor kemungkinan session timeout..................................................55

Tabel 4.12: Faktor dampak session timeout...........................................................56

Tabel 4.13: Faktor kemungkinan stored cross site scripting..................................57

xv

Page 17: SKRIPSI IMPLEMENTASI KEAMANAN OWASP ...eprints.akakom.ac.id/4995/1/1_135410086_HALAMAN_DEPAN.pdfINTISARI Aplikasi web yang digunakan dalam beberapa segmen atau industri memerlukan

Tabel 4.14: Faktor dampak stored cross site scripting...........................................57

Tabel 4.15: Pencegahan kerentanan session management.....................................59

Tabel 4.16: Pencegahan kerentanan input validation.............................................60

xvi