BAB 1 PENDAHULUAN
1.1
Latar Belakang Masalah Internet saat ini telah menjadi kebutuhan yang sangat mendasar bagi masyarakat modern untuk menunjang setiap aktifitasnya. Dengan adanya internet maka pertukaran data dan informasi dapat dilakukan secara real time. Hal ini juga mengubah berbagai kebiasaan yang dulunya dilakukan secara konvensional. Contohnya dalam proses mengirim surat, dimana dulunya harus menggunakan jasa pos yang cenderung lebih lama, namun sekarang pengiriman surat dapat dilakukan dengan email, dan waktu yang dipakai untuk mengirim pesan hanya dalam hitungan millisecond. Contoh lainnya adalah dalam hal finansial dan publikasi, seperti pembuatan web yang digunakan baik untuk mempromosikan suatu produk, maupun untuk melakukan transaksi jual beli. Dan pada umumnya, bahasa pemrograman web yang digunakan adalah PHP yang memakai Mysql sebagai databasenya. Dengan adanya web ini, maka dapat memudahkan konsumen dalam berbelanja, dan meningkatkan pemasukan bagi penjual. Melihat kemudahan dan prospek yang ditawarkan melalui web untuk berjualan, maka semakin banyak web yang bermunculan, baik untuk sekedar mempromosikan produk, maupun untuk langsung melakukan order. Seiring dengan semakin banyaknya web tersebut, tingkat ancaman dari serangan seperti SQL Injection semakin meningkat, karena banyaknya kemungkinan kelemahan yang ada pada setiap web. Dengan menggunakan SQL Injection, maka penyerang dapat memperoleh data yang tersimpan pada database, melalui data tersebut, maka informasi produk, account user dan
1
2
bahkan account administrator dapat digunakan oleh penyerang, sehingga menimbulkan ancaman keamanan dan kerugian finansial bagi pemilik web. Penyerangan dengan menggunakan SQL Injection sangat mudah dilakukan, bahkan saat ini telah banyak program – program yang dapat digunakan untuk membantu dalam melakukan SQL Injection, sehingga konfigurasi keamanan halaman web sangat perlu dilakukan, karena banyak web yang masih rentan terhadap serangan ini, dan dengan kemudahan dalam melakukan SQL Injection, itu sama artinya dengan meningkatnya jumlah penyerang yang dapat mengancam data dari web.
1.2
Ruang Lingkup Penulisan skripsi ini dibatasi pada hal – hal sebagai berikut : 1. Analisis dan implementasi keamanan web berbasis PHP non framework terhadap serangan SQL Injection. 2. Web yang digunakan sebagai test case adalah web dengan bahasa pemrograman PHP non framework versi 5 dan database Mysql.
1.3
Tujuan dan Manfaat Tujuan dari penyusunan skripsi ini adalah : 1. Melindungi web test case dari serangan SQL Injection melalui kelemahan web. 2. Menutup celah keamanan yang ada pada web test case
3
3. Membuat konfigurasi terhadap berbagai kemungkinan kelemahan yang ada pada web.
Manfaat yang diharapkan dari pembuatan skripsi ini adalah sebagai berikut : 1. Dapat memberikan keamanan terhadap web dari serangan SQL Injection dengan menggunakan konfigurasi yang telah dibuat. 2. Memperbaiki konfigurasi yang digunakan sebelumnya oleh web tersebut, dimana kemungkinan konfigurasi awal yang mereka gunakan banyak membuka peluang bagi penyusup.
1.4
Metodologi 1.4.1 Studi Pustaka 1.4.1.1 Hacking Tools Mempelajari bagaimana cara kerja dan penggunaan dari berbagai macam hacking tools yang dapat digunakan oleh penyusup.
1.4.1.2 Teknik Hacking Mempelajari berbagai teknik hacking, dalam hal ini khususnya pada SQL Injection.
4
1.4.1.3 Penalaran Berbagai Kasus Mempelajari berbagai kasus penyerangan SQL Injection yang pernah terjadi. Sehingga dapat dijadikan bahan pembelajaran agar kesalahan yang sama tidak dilakukan, namun metode serangannya dapat dipelajari untuk meningkatkan keamanan.
1.4.2
Pengumpulan Data 1.4.2.1 Observasi Menganalisis atau meneliti halaman web test case yang seringkali menjadi kelemahan pada serangan SQL Injection, kemudian menguji URL
dari
halaman
tersebut
pada
tools
untuk
mengidentifikasi
kemungkinan terjadinya serangan SQL.
1.4.2.2 Kuesioner Mengajukan beberapa pertanyaan secara tertulis kepada pihak terkait untuk mengetahui permasalahan yang sering terjadi pada sistem yang sedang berjalan.
1.4.3
Metode Perancangan 1.4.3.1 Analisis Proses analisis dibagi menjadi : •
Analisis Keamanan Web
5
1.4.3.2 Desain / Perancangan Perancangan terdiri dari : •
Perancangan keamanan web dari sisi coding PHP maupun Mysql.
•
Perancangan konfigurasi services pada web server lokal maupun hosting
1.4.3.3 Simulasi / Protoyping Pada tahap ini dilakukan uji coba sistem konfigurasi di server testing atau di web test case.
1.5
Sistematika Penulisan Untuk memudahkan proses penulisan, pencapaian maksud dan tujuan skripsi,
maka sistematika penulisan dibagi menjadi lima bab yang masing – masing memiliki kaitan yang jelas. Berikut adalah ringkasan dari tiap – tiap bab tersebut: BAB 1
PENDAHULUAN Bab ini menjelaskan mengenai masalah yang melatarbelakangi penulisan skripsi ini. Selain itu bab ini juga membahas ruang lingkup, tujuan yang ingin dicapai dan manfaat yang diperoleh dengan adanya konfigurasi sistem yang baru. Bab ini juga membahas sistematika penulisan.
BAB 2
LANDASAN TEORI Bab ini berisi landasan teori yang menjadi dasar pembuatan skripsi ini. Meliputi teori – teori umum mengenai jaringan
6
komputer dan teori – teori khusus yang berhubungan dengan topik yang dibahas dalam skripsi ini. BAB 3
ANALISIS DAN PERANCANGAN Bab ini menguraikan hasil kuesioner yang telah diisi oleh responden sehingga didapatkan identifikasi masalah dan solusi yang akan diterapkan. Selain itu bab ini juga menguraikan studi literatur mengenai kasus serangan SQL Injection yang pernah terjadi. Disamping itu, juga dibahas skenario langkah-langkah dalam mengimplementasi serangan SQL Injection
BAB 4
IMPLEMENTASI DAN EVALUASI Bab ini berisi prosedur operasional yang berisi proses instalasi tools
yang
digunakan,
implementasi
serangan
maupun
implementasi dari perancangan konfigurasi sistem yang dibuat. Kemudian dilanjutkan dengan tahapan evaluasi keberhasilan serangan dan kegagalan serangan, serta hasil evaluasi konfigurasi pencegahan pada simulasi/prototype untuk memberikan gambaran mengenai tingkat keberhasilan. BAB 5
SIMPULAN DAN SARAN Bab ini berisi kesimpulan dan hasil analisis, pengembangan dan pengujian sistem yang telah dilakukan. Selain itu juga memuat saran – saran yang dapat menjadi pertimbangan untuk pengembangan sistem lebih lanjut di masa mendatang.