perancangan web application honeypot untuk menggali

6
JURNAL TEKNIK POMITS Vol. 2, No. 1, (2013) ISSN: 2337-3539 (2301-9271 Print) 1 AbstrakPertumbuhan internet yang pesat dan penggunaan aplikasi web yang semakin populer menyebabkan aplikasi web sering kali menjadi target utama serangan para peretas. Untuk mengamati perilaku dan serangan yang dilakukan oleh peretas, dibuatlah sebuah sistem yang disebut dengan Honeypot. Honeypot adalah sebuah sistem yang dibuat untuk menyimulasikan layanan yang berjalan di atas sebuah server dengan tujuan sebagai umpan untuk mengalihkan atau menarik perhatian peretas untuk menyerang sistem tersebut. Honeypot dapat digunakan untuk kepentingan riset seperti mengumpulkan data, maupun untuk kepentingan produksi karena honeypot dapat berfungsi sebagai umpan untuk melindungi sistem yang digunakan untuk kepentingan produksi. Pada tugas akhir ini akan dibangun sebuah low-interaction web application honeypot yang dapat menyimulasikan output untuk serangan SQL injection dan Cross-Site Scripting. Dari hasil uji coba, sistem ini dapat menyimulasikan output serangan reflected Cross-Site Scripting dan serangan SQL injection yang menggunakan teknik eksploitasi UNION-based untuk skenario ekstraksi data. Selain itu sistem ini dapat digunakan untuk mengumpulkan informasi mengenai peretas melalui eksekusi kode JavaScript pada web browser. Kata KunciCross-Site Scripting, Low-interaction honeypot, SQL Injection. I. PENDAHULUAN ertumbuhan internet yang pesat dan penggunaan aplikasi web yang semakin populer menyebabkan aplikasi web sering kali menjadi target utama serangan para peretas. Survei yang dilakukan oleh OWASP [1] melansir beberapa serangan yang umum ditujukan pada aplikasi web. Beberapa serangan yang tercatat menduduki peringkat teratas antara lain XSS (Cross-Site Scripting) dan SQL injection yang dilakukan dengan memanfaatkan kelemahan aplikasi web yang tidak melakukan validasi dan sanitasi pada data masukan. Serangan- serangan terhadap aplikasi web yang dilakukan oleh peretas membuat beberapa pihak menginisiasi pembuatan sebuah sistem yang dirancang khusus untuk mengamati perilaku dan serangan yang dilakukan oleh peretas. Sistem ini selanjutnya dikenal dengan nama honeypot. Honeypot adalah sebuah sistem yang dirancang sebagai umpan untuk menarik perhatian peretas agar melakukan serangan pada sistem tersebut. Data yang dikumpulkan oleh honeypot dapat digunakan untuk mengamati pola serangan yang dilakukan oleh peretas. Secara umum berdasarkan tingkat interaksinya dengan peretas, honeypot dibagi menjadi dua jenis, yakni high-interaction honeypot dan low-interaction honeypot [2]. Low-interaction honeypot memiliki tingkat interaksi yang terbatas, karena hanya mengemulasikan layanan tertentu pada sebuah sistem. Sebaliknya, high-interaction honeypot memiliki tingkat interaksi yang tinggi karena menggunakan sistem dan layanan sebenarnya untuk diakses oleh peretas. Hal ini menyebabkan resiko jatuhnya high-interaction honeypot ke tangan peretas memiliki kemungkinan lebih besar jika dibandingkan dengan low-interaction honeypot. Karena honeypot dirancang sebagai umpan untuk menarik perhatian peretas, honeypot juga memiliki potensi untuk memberikan reaksi terhadap serangan yang dilakukan oleh peretas. Salah satunya adalah untuk mengumpulkan informasi- informasi tentang identitas peretas. Pada tugas akhir ini akan dibangun sebuah low-interaction web application honeypot yang dapat menyimulasikan output untuk serangan SQL injection dan Cross-Site Scripting, dengan fitur tambahan menggali informasi mengenai peretas dengan memanfaatkan eksekusi kode JavaScript pada web browser. II. URAIAN PENELITIAN A. Honeypot Honeypot adalah sebuah server atau sistem yang digunakan sebagai umpan untuk mengumpulkan informasi tentang penyerang atau penyusup yang masuk ke dalam sistem kita. Honeypot dapat dipasang di dalam atau di luar firewall DMZ (Demilitarized Zone), meskipun pada umumnya honeypot dipasang di dalam DMZ untuk kemudahan akses dan kontrol. Honeypot juga bisa disebut sebagai varian dari sebuah IDS (Intrusion Detection System) yang fungsinya lebih difokuskan untuk pengumpulan informasi dan umpan untuk menipu peretas [3]. Pada tugas akhir ini akan dibangun web application honeypot yang bersifat low-interaction. B. JavaScript JavaScript adalah bahasa scripting yang dikembangkan oleh Netscape. JavaScript adalah bahasa scripting dinamis yang mendukung pembangunan objek secara prototype based. JavaScript dapat digunakan untuk pemrograman yang bersifat prosedural maupun berorientasi obyek [4]. Karena JavaScript bersifat client-side, JavaScript dapat dimanfaatkan untuk menggali informasi mengenai client ketika Perancangan Web Application Honeypot untuk Menggali Informasi Peretas Abdurrazak Baihaqi, Ary Mazharuddin Shiddiqi, S.Kom., M.Comp.Sc., dan Baskoro Adi Pratomo, S.Kom., M.Kom. Jurusan Teknik Informatika, Fakultas Teknologi Informasi, Institut Teknologi Sepuluh Nopember (ITS) Jl. Arief Rahman Hakim, Surabaya 60111 Indonesia e-mail: [email protected] P

Upload: others

Post on 16-Oct-2021

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Perancangan Web Application Honeypot untuk Menggali

JURNAL TEKNIK POMITS Vol. 2, No. 1, (2013) ISSN: 2337-3539 (2301-9271 Print)

1

Abstrak— Pertumbuhan internet yang pesat dan penggunaan

aplikasi web yang semakin populer menyebabkan aplikasi web

sering kali menjadi target utama serangan para peretas. Untuk

mengamati perilaku dan serangan yang dilakukan oleh peretas,

dibuatlah sebuah sistem yang disebut dengan Honeypot.

Honeypot adalah sebuah sistem yang dibuat untuk

menyimulasikan layanan yang berjalan di atas sebuah server

dengan tujuan sebagai umpan untuk mengalihkan atau menarik

perhatian peretas untuk menyerang sistem tersebut. Honeypot

dapat digunakan untuk kepentingan riset seperti mengumpulkan

data, maupun untuk kepentingan produksi karena honeypot dapat

berfungsi sebagai umpan untuk melindungi sistem yang

digunakan untuk kepentingan produksi.

Pada tugas akhir ini akan dibangun sebuah low-interaction web

application honeypot yang dapat menyimulasikan output untuk

serangan SQL injection dan Cross-Site Scripting. Dari hasil uji

coba, sistem ini dapat menyimulasikan output serangan reflected

Cross-Site Scripting dan serangan SQL injection yang

menggunakan teknik eksploitasi UNION-based untuk skenario

ekstraksi data. Selain itu sistem ini dapat digunakan untuk

mengumpulkan informasi mengenai peretas melalui eksekusi

kode JavaScript pada web browser.

Kata Kunci— Cross-Site Scripting, Low-interaction honeypot,

SQL Injection.

I. PENDAHULUAN

ertumbuhan internet yang pesat dan penggunaan aplikasi

web yang semakin populer menyebabkan aplikasi web

sering kali menjadi target utama serangan para peretas. Survei

yang dilakukan oleh OWASP [1] melansir beberapa serangan

yang umum ditujukan pada aplikasi web. Beberapa serangan

yang tercatat menduduki peringkat teratas antara lain XSS

(Cross-Site Scripting) dan SQL injection yang dilakukan

dengan memanfaatkan kelemahan aplikasi web yang tidak

melakukan validasi dan sanitasi pada data masukan. Serangan-

serangan terhadap aplikasi web yang dilakukan oleh peretas

membuat beberapa pihak menginisiasi pembuatan sebuah

sistem yang dirancang khusus untuk mengamati perilaku dan

serangan yang dilakukan oleh peretas. Sistem ini selanjutnya

dikenal dengan nama honeypot.

Honeypot adalah sebuah sistem yang dirancang sebagai

umpan untuk menarik perhatian peretas agar melakukan

serangan pada sistem tersebut. Data yang dikumpulkan oleh

honeypot dapat digunakan untuk mengamati pola serangan

yang dilakukan oleh peretas. Secara umum berdasarkan tingkat

interaksinya dengan peretas, honeypot dibagi menjadi dua jenis,

yakni high-interaction honeypot dan low-interaction honeypot

[2]. Low-interaction honeypot memiliki tingkat interaksi yang

terbatas, karena hanya mengemulasikan layanan tertentu pada

sebuah sistem. Sebaliknya, high-interaction honeypot memiliki

tingkat interaksi yang tinggi karena menggunakan sistem dan

layanan sebenarnya untuk diakses oleh peretas. Hal ini

menyebabkan resiko jatuhnya high-interaction honeypot ke

tangan peretas memiliki kemungkinan lebih besar jika

dibandingkan dengan low-interaction honeypot.

Karena honeypot dirancang sebagai umpan untuk menarik

perhatian peretas, honeypot juga memiliki potensi untuk

memberikan reaksi terhadap serangan yang dilakukan oleh

peretas. Salah satunya adalah untuk mengumpulkan informasi-

informasi tentang identitas peretas. Pada tugas akhir ini akan

dibangun sebuah low-interaction web application honeypot

yang dapat menyimulasikan output untuk serangan SQL

injection dan Cross-Site Scripting, dengan fitur tambahan

menggali informasi mengenai peretas dengan memanfaatkan

eksekusi kode JavaScript pada web browser.

II. URAIAN PENELITIAN

A. Honeypot

Honeypot adalah sebuah server atau sistem yang digunakan

sebagai umpan untuk mengumpulkan informasi tentang

penyerang atau penyusup yang masuk ke dalam sistem kita.

Honeypot dapat dipasang di dalam atau di luar firewall DMZ

(Demilitarized Zone), meskipun pada umumnya honeypot

dipasang di dalam DMZ untuk kemudahan akses dan kontrol.

Honeypot juga bisa disebut sebagai varian dari sebuah IDS

(Intrusion Detection System) yang fungsinya lebih difokuskan

untuk pengumpulan informasi dan umpan untuk menipu peretas

[3]. Pada tugas akhir ini akan dibangun web application

honeypot yang bersifat low-interaction.

B. JavaScript

JavaScript adalah bahasa scripting yang dikembangkan oleh

Netscape. JavaScript adalah bahasa scripting dinamis yang

mendukung pembangunan objek secara prototype based.

JavaScript dapat digunakan untuk pemrograman yang bersifat

prosedural maupun berorientasi obyek [4].

Karena JavaScript bersifat client-side, JavaScript dapat

dimanfaatkan untuk menggali informasi mengenai client ketika

Perancangan Web Application Honeypot untuk

Menggali Informasi Peretas Abdurrazak Baihaqi, Ary Mazharuddin Shiddiqi, S.Kom., M.Comp.Sc., dan Baskoro Adi Pratomo,

S.Kom., M.Kom.

Jurusan Teknik Informatika, Fakultas Teknologi Informasi, Institut Teknologi Sepuluh Nopember

(ITS)

Jl. Arief Rahman Hakim, Surabaya 60111 Indonesia

e-mail: [email protected]

P

Page 2: Perancangan Web Application Honeypot untuk Menggali

JURNAL TEKNIK POMITS Vol. 2, No. 1, (2013) ISSN: 2337-3539 (2301-9271 Print)

2

kode JavaScript dieksekusi pada web browser client [5]. Pada

tugas akhir ini, JavaScript akan disisipkan pada response yang

dikirim oleh honeypot.

C. Python WSGI

WSGI (Web Server Gatway Interface) adalah sebuah

spesifikasi yang mendeskripsikan bagaimana sebuah web

server berkomunikasi dengan aplikasi web, dan bagaimana

aplikasi web dapat digunakan secara berantai dan bersamaan

untuk memproses sebuah request [6]. Interface WSGI memiliki

dua sisi, yakni sisi server dan sisi aplikasi. Sisi server akan

memanggil sebuah objek yang disediakan oleh sisi aplikasi.

Bagaimana objek tersebut diproses menjadi tanggung jawab

sisi server. Pada tugas akhir ini, sisi server digunakan untuk

menangani penerimaan request dan pengiriman response

kepada client, sedangkan sisi aplikasi digunakan untuk

memproses request yang diterima melalui sisi server.

D. SQL Injection

SQL injection adalah sebuah serangan dengan cara

memasukkan sebuah kode ke dalam sebuah string yang akan

dieksekusi oleh aplikasi database server. Secara umum, proses

injeksi sintaks SQL bekerja dengan cara menutup sebagian dari

query SQL dan menambahkan perintah sintaks SQL yang baru

[7]. SQL injection terjadi apabila:

1. Data yang digunakan sebagai parameter query SQL

berasal dari sumber yang tidak terpercaya, misalnya

user-input 2. Data tersebut dapat digunakan untuk membentuk query

SQL secara dinamis Tugas akhir ini akan menyimulasikan output berupa

ekstraksi data yang dihasilkan oleh serangan SQL injection

yang mekanismenya berasal dari input pengguna dengan teknik

eksploitasi UNION query-based.

E. Cross-Site Scripting

Cross-Site Scripting adalah sebuah serangan yang terjadi

ketika peretas memanfaatkan aplikasi web untuk menjalankan

kode tertentu, umumnya dalam bentuk browser side script

untuk menyerang pengguna lainnya. Penyebab munculnya

serangan ini ialah aplikasi web yang menampilkan input dari

pengguna ke dalam output pada browser tanpa adanya proses

validasi. Peretas dapat memanfaatkan kelemahan tersebut untuk

menyisipkan sebuah kode program berbahaya yang ditujukan

untuk korban. Kemudian browser korban akan mengeksekusi

kode program yang disisipkan peretas tersebut [8].

Pada awal perkembangannya, terdapat dua tipe XSS, yakni

Stored XSS dan Reflected XSS. Pada tahun 2005, mulai dikenal

tipe XSS yang ketiga, yaitu DOM based XSS. Tugas akhir ini

akan menyimulasikan output untuk serangan reflected XSS

dengan memanfaatkan input dari peretas yang disertakan dalam

halaman web yang ditampilkan.

F. MaxMind GeoIP2 API

MaxMind GeoIP2 API adalah API yang dibuat oleh

MaxMind untuk mendeteksi lokasi geografis sebuah IP address

[9]. Informasi yang dapat diakses memanfaatkan API ini antara

lain informasi mengenai negara asal IP address, posisi lintang

dan bujur secara geografis, dan informasi ISP dari IP address

Honeypot

Klasifikasi HTTP Request

Deteksi SQL Injection & Cross-Site

Scripting

Simulasi SQL Injection & Cross-Site

Scripting

Pencatatan request HTTP

Web report

HTTP request Report

Fingerprint report

Database

Gambar 1 Arsitektur Umum Sistem

tersebut. Pada tugas akhir ini, MaxMind GeoIP2 API akan

digunakan untuk melengkapi informasi yang telah

dikumpulkan oleh eksekusi kode JavaScript pada web browser.

III. DESAIN SISTEM

A. Deskripsi Umum

Pada Tugas Akhir ini akan dibangun sebuah web application

honeypot yang menyimulasikan beberapa vulnerability pada

aplikasi web, yang dapat dieksploitasi dengan serangan SQL

injection dan Cross-Site Scripting.

Aplikasi ini bekerja layaknya sebuah aplikasi web. Apabila

honeypot menerima request HTTP yang terindikasi sebagai

sebuah serangan, honeypot akan mengirimkan response kepada

client sesuai dengan hasil identifikasi serangan yang dilakukan

oleh client.

B. Arsitektur Sistem

Dalam tugas akhir ini akan dirancang dan diaplikasikan

sebuah web application honeypot yang dapat menyimulasikan

output bagi serangan SQL injection dan Cross-Site Scripting.

Dimana secara garis besar memiliki rancangan arsitektur sistem

yang dapat dilihat pada Gambar 1.

Dari Gambar 1 di atas, dapat diketahui bahwa sistem berada

memiliki dua buah bagian, yakni honeypot dan web report.

Honeypot akan digunakan untuk mengumpulkan data dan

menyimulasikan vulnerability yang dapat dieksploitasi dengan

serangan SQL injection dan Cross-Site Scripting. Sedangkan

web report digunakan untuk melihat laporan data yang berhasil

dikumpulkan oleh honeypot. Terdapat dua fitur report yang

dapat diakses, yakni request report dan fingerprint report.

Request report adalah report mengenai request HTTP yang

dikirim oleh peretas, sedangkan fingerprint report adalah

report mengenai data-data yang berhasil dikumpulkan oleh

eksekusi kode JavaScript pada web browser peretas.

C. Alur Sistem

Alur sistem untuk sistem dimulai ketika honeypot menerima

request HTTP dari peretas. Kemudian request HTTP tersebut

diklasifikasi berdasarkan jenis serangan yang dapat

diidentifikasi. Setelah jenis serangan tersebut diidentifikasi,

selanjutnya honeypot menyimulasikan output untuk serangan

Page 3: Perancangan Web Application Honeypot untuk Menggali

JURNAL TEKNIK POMITS Vol. 2, No. 1, (2013) ISSN: 2337-3539 (2301-9271 Print)

3

Mulai

Menerima HTTP request

Simulasi output untuk

serangan SQL injection

Simulasi output untuk

serangan XSS

Simulasi output untuk

serangan tidak dikenal

Pencatatan HTTP request

Pengiriman HTTP

response

Selesai

Identifikasi serangan

SQL injection

Klasifikasi

request_path

untuk

SQL injection

Klasifikasi

request_path

untuk

XSS

request_path menuju

halaman simulasi SQL injection

request_path menuju

halaman lain

Identifikasi serangan

XSS

request_path menuju

halaman simulasi XSS

Buat response halaman

tidak ditemukan

request_path menuju

halaman lain

Serangan XSS

dikenali

Serangan SQL injection

dikenali

Serangan XSS

tidak dikenaliSerangan SQL injection

tidak dikenali

Gambar 2 Diagram Alir Pemrosesan HTTP Request

tersebut. Honeypot kemudian mencatat request HTTP dari

peretas, dan mengirim output hasil simulasi sebagai response

HTTP menuju peretas. Alur sistem untuk lebih jelasnya dapat

dilihat pada Gambar 2.

Gambaran lebih jelas dari alur jalannya sistem honeypot

yang dibangun dapat dilihat pada Gambar 3.

IV. IMPLEMENTASI

A. Implementasi Klasifikasi Request Path dari HTTP

Request

Proses pertama dalam sistem ini adalah mengklasifikasi

atribut REQUEST_PATH yang terdapat pada request HTTP.

Implementasi dari proses ini, dimulai dari pengambilan atribut

REQUEST_PATH dari request HTTP yang dikirim oleh client.

Atribut REQUEST_PATH digunakan untuk menentukan

halaman web yang akan ditampilkan pada web browser.

Apabila pada atribut REQUEST_PATH tidak ditemukan nilai

yang sesuai dengan halaman yang diminta, maka yang akan

ditampilkan pada pengguna adalah halaman web “not found”.

B. Implementasi Pengidentifikasian Serangan SQL injection

Apabila atribut REQUEST_PATH ditujukan untuk

mengakses konten dari halaman artikel, akan dilakukan

pengecekan atribut QUERY_STRING untuk mengidentifikasi

apakah terdapat serangan SQL injection yang dikenali oleh

honeypot. Proses pengidentifikasian menggunakan sekumpulan

string regular expression yang mendefinisikan SQL injection.

Jika ditemukan adanya indikasi SQL injection yang dikenali,

atribut QUERY_STRING yang sesuai dengan definisi regular

expression akan digunakan sebagai input untuk menentukan

output yang sesuai dengan query SQL yang dikenali.

Internet

Peretas

Honeypot

Pengguna

Peretas melakukan

serangan menuju

honeypot.

Honeypot menerima serangan

dan mengirimkan respon berupa

hasil simulasi output serangan.

Serangan dicatat dalam database.

Pengguna melihat

data serangan yang

dicatat oleh honeypot

melalui web report.

Gambar 3 Diagram blok alur sistem honeypot

C. Implementasi Simulasi Output Serangan SQL injection

Untuk menyimulasikan output yang sesuai dengan serangan

SQL injection yang teridentifikasi, dilakukan pengambilan

parameter dan klausa FROM dari QUERY_STRING.

Parameter dan klausa tersebut akan dipasangkan dan digunakan

sebagai key untuk mengakses value dictionary yang

mendefinisikan output untuk parameter SQL injection tertentu.

D. Implementasi Pengidentifikasian dan Simulasi Output XSS

Proses identifikasi dan simulasi output untuk XSS dilakukan

dengan cara membandingkan nilai atribut QUERY_STRING

dengan sekumpulan nilai yang telah didefinisikan sebagai nilai

yang valid. Apabila pada atribut QUERY_STRING terdapat

nilai yang tidak sesuai dengan nilai yang telah didefinisikan,

maka nilai atribut QUERY_STRING akan kembali disisipkan

ke dalam response yang akan dikirim kembali menuju browser

peretas.

E. Implementasi Pencatatan Request HTTP

Pada proses ini, Request HTTP yang dikirim oleh peretas

akan dicatat dalam database. Request HTTP yang dikirim oleh

peretas akan dicatat dalam tabel request_log. Informasi request

HTTP yang dicatat oleh honeypot antara lain alamat IP

pengirim request, metode yang digunakan untuk mengirim

request, atribut REQUEST_PATH, atribut QUERY_STRING,

validitas request HTTP, dan waktu pencatatan request. Sebuah

request HTTP dianggap valid apabila atribut

REQUEST_PATH atau QUERY_STRING pada request

tersebut sesuai dengan nilai atribut yang dianggap valid oleh

honeypot.

Untuk request HTTP yang berisi informasi yang didapatkan

dari eksekusi kode JavaScript akan dicatat dalam tabel

fingerprint. Sebelum dicatat, request HTTP tersebut akan

melalui proses decoding untuk mendapatkan informasi yang

akan dicatat. Informasi yang dicatat antara lain alamat IP

peretas, jenis web browser dan jenis sistem operasi yang

digunakan peretas, beserta lokasi geografis dari IP peretas.

F. Implementasi Kode JavaScript untuk Menggali Informasi

Pada proses ini kode JavaScript yang disisipkan pada

response HTTP akan dieksekusi pada web browser peretas.

Melalui eksekusi kode JavaScript tersebut, diperoleh data

mengenai jenis sistem operasi dan web browser yang digunakan

oleh peretas. Data-data tersebut selanjutnya akan dikirim dalam

bentuk request HTTP.

Page 4: Perancangan Web Application Honeypot untuk Menggali

JURNAL TEKNIK POMITS Vol. 2, No. 1, (2013) ISSN: 2337-3539 (2301-9271 Print)

4

Gambar 4 Uji coba pengiriman request HTTP dengan atribut

REQUEST_PATH menuju halaman utama

Gambar 5 Tampilan Halaman Utama honeypot

Gambar 6 Pengiriman request HTTP dengan atribut REQUEST_PATH

menuju halaman artikel

V. UJI COBA DAN EVALUASI

A. Uji Coba Klasifikasi Request HTTP

Proses pertama yang dilakukan aplikasi ketika menerima

kiriman HTTP request adalah melakukan klasifikasi terhadap

request tersebut. Proses ini bertujuan untuk menentukan

bagaimana request tersebut akan diproses oleh honeypot.

Proses klasifikasi dilakukan oleh honeypot dengan cara

memeriksa atribut REQUEST_PATH pada request HTTP yang

dikirim oleh peretas. Proses klasifikasi dilakukan untuk

menentukan halaman mana yang akan dikembalikan sebagai

output.

Pada Gambar 4 dapat dilihat proses pengiriman request

HTTP dengan berbagai atribut REQUEST_PATH beserta

tampilan output untuk masing-masing request HTTP.

Gambar 7 Tampilan Halaman Artikel

Gambar 8 Uji Coba Pengiriman Request HTTP dengan REQUEST_PATH

Menuju Halaman Kontributor

Gambar 9 Tampilan Halaman Kontributor

Gambar 10 Pengiriman Request HTTP dengan Query SQL pada Atribut

QUERY_STRING

B. Uji Coba Simulasi Output Serangan SQL Injection dan

Cross-Site Scripting

Untuk setiap request HTTP dengan atribut

REQUEST_PATH menuju halaman artikel, maka atribut

QUERY_STRING pada request HTTP akan diidentifikasi

apakah menunjukkan adanya indikasi serangan SQL injection

yang dikenali. Proses identifikasi dilakukan dengan

memanfaatkan regular expression. Jika ditemukan adanya

query SQL yang sesuai dengan regular expression yang telah

didefinisikan, output untuk query SQL tersebut akan

ditampilkan pada halaman web. Jika atribut QUERY_STRING

tidak berhasil diidentifikasi, maka pesan error akan

ditampilkan pada halaman web.

Page 5: Perancangan Web Application Honeypot untuk Menggali

JURNAL TEKNIK POMITS Vol. 2, No. 1, (2013) ISSN: 2337-3539 (2301-9271 Print)

5

Gambar 11 Output query SQL yang disimulasikan pada tampilan halaman

artikel

Gambar 12 Request HTTP Menuju Halaman Kontributor dengan Nilai Atribut QUERY_STRING Abnormal

Gambar 13 Tampilan XSS Pada Pesan Error yang Ditampilkan Halaman

Kontributor

Gambar 14 Request HTTP Dikirim oleh Web Browser

Untuk setiap request HTTP dengan atribut

REQUEST_PATH menuju halaman kontributor, maka

parameter id pada atribut QUERY_STRING request HTTP

akan diidentifikasi apakah parameter tersebut adalah parameter

yang dikenali. Jika parameter id pada atribut QUERY_STRING

tidak dikenali, maka nilai dari parameter tersebut akan

ditampilkan kembali sebagai pesan error pada halaman web.

C. Uji Coba Pencatatan Request HTTP

Proses pencatatan request HTTP dapat dikelompokkan

menjadi dua kategori. Kategori pertama adalah pencatatan

request HTTP secara umum pada tabel request_log. Kategori

kedua adalah pencatatan informasi hasil eksekusi kode

JavaScript pada tabel fingerprint. Proses tersebut dapat dilihat

pada Gambar 14.

Gambar 15 Request HTTP Dicatat dalam Tabel Request_log

Gambar 16 Hasil Eksekusi Kode JavaScript dalam Bentuk Request HTTP

Gambar 17 Informasi Hasil Eksekusi Kode JavaScript Dicatat dalam Tabel

Fingerprint

Gambar 18 Kode JavaScript disisipkan pada halaman web

Gambar 19 Hasil Eksekusi Kode JavaScript yang Dikirim dalam Bentuk

Request HTTP

D. Uji Coba Penggalian Informasi Menggunakan Kode

JavaScript

Setiap response HTTP yang dikirim oleh honeypot akan

disisipkan kode JavaScript. Kode tersebut akan dieksekusi pada

web browser peretas ketika halaman web di load oleh web

browser.

Pada Gambar 18 di atas, dapat dilihat bahwa kode JavaScript

disisipkan pada halaman web yang sedang ditampilkan oleh

web browser dengan nama booststrap.responsive.js untuk

menghindari kecurigaan peretas. Kode JavaScript akan

mengeksekusi perintah untuk mengambil beberapa property

tertentu pada web browser. Property tersebut digunakan untuk

mengetahui jenis web browser dan system operasi yang

digunakan oleh peretas. Nilai dari property tersebut akan

dikirim menuju honeypot dalam bentuk request HTTP.

Page 6: Perancangan Web Application Honeypot untuk Menggali

JURNAL TEKNIK POMITS Vol. 2, No. 1, (2013) ISSN: 2337-3539 (2301-9271 Print)

6

VI. KESIMPULAN

Dari hasil pengamatan selama perancangan, implementasi,

dan proses uji coba perangkat lunak yang dilakukan, penulis

mengambil kesimpulan sebagai berikut:

1) Dari hasil uji coba dapat disimpulkan bahwa honeypot yang

dibangun telah memenuhi semua kebutuhan dan

menjalankan perannya dengan baik dalam menyimulasikan

output bagi serangan SQL injection yang menggunakan

teknik ekploitasi UNION-based dengan skenario ekstraksi

data dan Reflected Cross-Site Scripting.

2) Dari hasil uji coba dapat disimpulkan bahwa honeypot yang

dibangun dapat digunakan sebagai sarana mengumpulkan

informasi tentang peretas melalui eksekusi kode JavaScript

pada web browser.

UCAPAN TERIMA KASIH

Penulis mengucapkan terima kasih kepada Tuhan Yang

Maha Esa,kedua orangtua dan keluarga penulis, kedua dosen

pembimbing, seluruh dosen dan kepala jurusan Teknik

Informatika, teman-teman Teknik Informatika angkatan 2010,

serta berbagai pihak yang telah membantu penulis dalam

menyelesaikan Tugas Akhir ini.

DAFTAR PUSTAKA

[1] "OWASP Top 10 2013-Top 10," [Online]. Available:

https://www.owasp.org/index.php/Top_10_2013-Top_10. [Accessed 23 June 2014].

[2] L. Spitzner, "tracking-hackers.com," [Online]. Available:

http://www.tracking-hackers.com/papers/honeypots.html. [Accessed 23 June 2014].

[3] L. R. Even, "SANS Security Resources," [Online]. Available:

http://www.sans.org/security-resources/idfaq/honeypot3.php. [Accessed 23 June 2014].

[4] "Mozilla Developer Network," [Online]. Available: https://developer.mozilla.org/en-

US/docs/Web/JavaScript/About_JavaScript. [Accessed 24 June 2014].

[5] J. Grossman, "Whitehat Security Blog," [Online]. Available: http://blog.whitehatsec.com/introducing-the-i-know-series/. [Accessed

24 June 2014].

[6] P. J. Eby, "PEP 333 -- Python Web Server Gateway Interface v1.0," [Online]. Available: http://legacy.python.org/dev/peps/pep-0333/.

[Accessed 24 June 2014].

[7] "Microsoft TechNet Library," [Online]. Available: http://technet.microsoft.com/en-

us/library/ms161953%28v=sql.105%29.aspx. [Accessed 24 June 2014].

[8] "OWASP," [Online]. Available:

https://www.owasp.org/index.php/Cross-site_Scripting_%28XSS%29.

[Accessed 24 June 2014].

[9] "Maxmind Developer Site," [Online]. Available: http://dev.maxmind.com/geoip/. [Accessed 22 March 2014].