BAB 1 - Library Binus

advertisement
BAB 1
PENDAHULUAN
1.1
Latar Belakang
Seiring dengan perkembangan teknologi informasi yang semakin maju
di era globalisasi ini membuat mobile phone menjadi bagian penting dalam
kehidupan sehari-hari. Hampir seluruh masyarakat menggunakan mobile
phone. Mobile phone sekarang sangat canggih dan dapat melakukan apa yang
bisa dilakukan oleh komputer. Mobile phone yang seperti ini dikenal oleh
masyarakat luas dengan sebutan smartphone. Smartphone memberikan
fasilitas dasar yang dimiliki oleh sebuah mobile phone pada umumnya dan
didukung dengan beberapa fasilitas dari sebuah komputer.
Setiap smartphone dibekali dengan sebuah sistem operasi, sistem
operasi itu sendiri merupakan suatu interface perantara antara user dan device
yang digunakan untuk mengontrol atau mengatur device maupun aplikasi di
dalamnya. Salah satu sistem operasi yang digunakan oleh smartphone adalah
Android. Android adalah sistem operasi untuk smartphone berbasis Linux.
Salah satu kelebihan Android dibanding sistem operasi smartphone lainnya
adalah Android bersifat open source sehingga orang-orang dapat menciptakan
aplikasi sesuai dengan keinginan mereka sendiri.
Kemampuan Android menjadi hampir tidak terbatas karena banyak
orang yang mengembangkan source code Android. Apa yang dulu hanya bisa
dilakukan oleh komputer kini dapat dilakukan oleh Android sehingga
1
2
Android membuat segala pekerjaan yang dilakukan oleh komputer dapat
dikerjakan secara mobile.
Perkembangan teknologi yang pesat juga membuat berbagai kegiatan
dapat dijangkau oleh masyarakat luas, seperti contoh melakukan hacking
(cyber crime) terhadap situs-situs resmi maupun tidak resmi baik itu milik
pemerintah maupun milik pribadi. Hacking yang sengaja dilakukan oleh para
hacker merupakan usaha untuk mengambil identitas orang lain dan
mengendalikan semua aktifitas atau melakukan remote terhadap situs yang dihack.
Untuk melakukan pengamanan terhadap sebuah sistem informasi,
maka kita juga harus mengetahui berbagai macam bentuk ancaman yang
terjadi. Salah satu cara untuk mengetahui kelemahan sistem informasi adalah
dengan menyerang diri sendiri dengan aplikasi-aplikasi hacking yang dapat
diperoleh di internet. Selain aplikasi hacking yang sifatnya agresif
melumpuhkan sistem yang dituju, ada juga aplikasi hacking yang sifatnya
melakukan pencurian atau penyadapan data. Hal tersebut penting diketahui
dan dipelajari agar sistem yang dimiliki dapat dilindungi secara efektif dan
efisien. Adapun sebab masalah keamanan yang harus selalu di-monitoring
antara lain yaitu ditemukannya lubang keamanan (security hole) yang baru,
kesalahan konfigurasi, serta penambahan perangkat baru (hardware atau
software) yang menyebabkan menurunnya tingkat security atau berubahnya
metode untuk mengoperasikan sistem.
Oleh karena itu penulis ingin membuat sebuah aplikasi session
hijacking yang dapat berguna bagi para penetration tester dalam mencegah
hacker melakukan aksinya.
3
Dalam jurnal yang berjudul “Methodology for Penetration Testing”
yang ditulis oleh Farkhod Alisherov dan Feruza Sattavora (2009) yang
mengatakan “Penetration testing is one of the oldest methods for assessing
the security of a computer system. In the early 1970's, the Department of
Defense used this method to demonstrate the security weaknesses in computer
systems and to initiate the development of programs to create more secure
systems. Penetration testing is increasingly used by organizations to assure
the security of Information systems and services, so that security weaknesses
can be fixed before they get exposed.” yang artinya penetration testing adalah
salah satu metode tertua untuk menilai keamanan sebuah sistem komputer.
Pada awal 1970-an, Departement of Defense menggunakan metode ini untuk
menunjukkan kelemahan dari keamanan dalam sistem komputer dan untuk
memulai pengembangan program untuk membuat sistem yang lebih aman.
Penetration testing semakin banyak digunakan oleh organisasi untuk
menjamin keamanan sistem informasi dan layanan, sehingga kelemahan
keamanan bisa diperbaiki sebelum mereka bisa terkena serangan.
Dapat disimpulkan bahwa penetration tester itu sendiri adalah orangorang yang melakukan evaluasi keamanan sistem komputer atau jaringan
dengan mensimulasikan serangan dari sumber yang berbahaya.
Sudah ada beberapa aplikasi Android yang bertujuan untuk melakukan
penetration testing seperti Droidsheep, Net Scan, Wifi Kill, zAnti, Network
Spoofer dan lain sebagainya. Berdasarkan berbagai aplikasi yang sudah
dikembangkan, maka penulis merancang sebuah aplikasi Android yang dapat
melakukan penetration testing yang memiliki fitur port scan, sniffing, session
hijacking, kill connection, redirect URL dan replace image.
4
1.2
Ruang Lingkup
Guna mendukung penulisan skripsi ini, berikut adalah batasan-batasan yang
ada di dalam skripsi ini :

Aplikasi ini dirancang untuk smartphone Android.

Perancangan aplikasi penetration testing yang memiliki fitur port
scan, sniffing, session hijacking, kill connection, redirect URL dan
replace image.

1.3
Aplikasi ini ditujukan untuk para penetration tester.
Tujuan dan Manfaat
1.3.1
Tujuan
1. Membuat sebuah aplikasi yang berguna untuk penetration
testing dengan menggunakan smartphone berbasis Android.
2. Menggabungkan fitur-fitur dari beberapa aplikasi penetration
testing yang sudah ada.
1.3.2
Manfaat
1. Dapat
membantu
penetration
tester
untuk
penetration testing pada suatu jaringan
melakukan
WiFi dengan
menggunakan aplikasi ini.
1.4
Metode Penelitian
Metode yang digunakan dalam penulisan skripsi ini adalah sebagai berikut:
5
1.4.1
Metode Analisis
1.4.1.1 Studi Pustaka
Pada tahap ini dilakukan studi pustaka dengan
mengumpulkan jurnal-jurnal dan buku-buku untuk menunjang
pengembangan aplikasi ini.
1.4.2
Metode Penelitian
1.4.2.1 Analisis dan Definisi Kebutuhan
Tahap ini berisi mengenai kegiatan mencari kebutuhan
data untuk merancang aplikasi, yaitu dengan menggunakan
studi pustaka, untuk mendapatkan informasi yang dibutuhkan
dalam pembuatan penelitian ini melalui berbagai media
contohnya buku dan internet.
1.4.2.2 Design Sistem dan Perangkat Lunak
Pada tahap ini data-data yang telah berkumpul dianalisa
dengan tujuan untuk merancang arsitektur aplikasi. Metode
perancangan yang digunakan adalah:
1.
Metode perancangan layar, menggunakan storyboard.
2.
Metode perancangan sistem, menggunakan UML yaitu,
usecase diagram, activity diagram, class diagram dan
sequence diagram.
3.
Metode perancangan aplikasi, menggunakan Java.
1.4.2.3 Penulisan Kode Program
Penulisan
kode
program
merupakan
tahap
penerjemahan desain sistem yang telah dibuat kedalam bentuk
6
perintah-perintah
yang
dimengerti
komputer
dengan
mempergunakan bahasa pemrograman.
1.4.2.4 Penerapan Program
Setelah aplikasi diuji dan bisa berjalan sebagaimana
mestinya maka aplikasi telah bisa diperkenankan kepada
masyarakat.
1.5
Sistematika Penulisan
BAB 1
PENDAHULUAN
Pada bab ini dibahas hal-hal mengenai latar belakang, ruang
lingkup, tujuan dan manfaat penelitian, metode penelitian dan
sistematika penulisan.
BAB 2
LANDASAN TEORI
Pada bab ini membahas mengenai teori-teori yang menunjang
pembuatan dan yang menjadi dasar penulisan dasar penulisan
skripsi ini.
BAB 3
ANALISIS DAN PERANCANGAN
Pada bab ini dibahas tentang analisis aplikasi yang terdiri dari
analisis user dan analisis aplikasi sejenis, rancangan aplikasi
dan rancangan layar.
BAB 4
IMPLEMENTASI DAN EVALUASI
Pada bab ini dibahas tentang hasil penelitian meliputi
spesifikasi aplikasi, prosedur operasional, tampilan layar dan
evaluasi aplikasi.
BAB 5
SIMPULAN DAN SARAN
7
Bab ini membahas mengenai simpulan dari penyusunan skripsi
ini dan saran yang dapat berguna untuk pengembangan aplikasi
ini di masa yang akan datang.
1.6
Tinjauan Pustaka
Mengacu pada jurnal yang dibuat oleh Min-kyu Choi, Rosslin John,
Chang-hwa Hong dan Tai-hoon Kim yang berjudul “Wireless Network
Security: Vulnerabilities, Threats and Countermeasures” menjelaskan bahwa
wireless network memiliki banyak keuntungan tetapi disamping itu juga
rawan terhadap ancaman, misalnya sniffing, spoofing dan session hijacking.
Agar dapat melakukan pengamanan dari ancaman sniffing, spoofing dan
session hijacking, maka harus diketahui terlebih dahulu proses dari ancaman
tersebut. Dimana hal itu dapat dilakukan dengan melakukan simulasi dengan
aplikasi-aplikasi hacking yang ada sehingga wireless network yang dimiliki
dapat dilindungi secara efektif dan efisien.
Penjelasan mengenai sniffing itu sendiri seperti yang dijelaskan pada
jurnal yang dibuat oleh Ajay Mathur, Sudhir Sharman dan Amit Mishra yang
berjudul “Sniffing: A Major Threat to Secure Socket layer and its Detection”
mengatakan bahwa sniffing adalah kegiatan menyadap dan atau menginspeksi
paket data menggunakan sniffing software atau hardware di internet.
Kegiatan ini disebut sebagai serangan sekuriti pasif dengan cara membaca
data yang berkeliaran di internet, dan memfilter khusus untuk host tujuan
tertentu. Jadi kegiatan ini tidak melakukan apa-apa terhadap data, tidak
merubah dan tidak memanipulasi melainkan hanya menyadap. Sniffing
digunakan untuk mendapatkan informasi seperti password, data-data rahasia
8
dan lainnya. Sering digunakan para analyst networking, baik dari kalangan
developer maupun network administrator untuk melakukan troubleshooting.
Berbeda dengan spoofing yang telah dijelaskan oleh V. Shyamaladevi
dan Wahida Banu dalam jurnal yang berjudul “Detection of Spoofing Attacks”
yaitu spoofing merupakan aksi pemalsuan identitas. IP spoofing merupakan
teknik yang digunakan bagi penyelundup untuk mengakses sebuah network
dengan mengirimkan paket atau pesan dari sebuah komputer yang
mengindikasikan bahwa paket atau pesan tersebut berasal dari host yang
terpercaya. Untuk melakukan aksi ini para penyelundup menggunakan teknik
yang bermacam-macam dan spoofing sendiri merupakan salah satu bagian
dari proses penyerangan.
Dan penjelasan mengenai session hijacking seperti yang dijelaskan
pada jurnal yang dibuat oleh Ramesh Babu, Lalitha Bhaskari, dan Mohan Rao
yang berjudul “A Survey on Session Hijacking” mengatakan bahwa session
hijacking merupakan aksi pengambilan kendali session milik user lain setelah
sebelumnya “pembajak” berhasil memperoleh autentifikasi ID session yang
biasanya tersimpan dalam cookies. Session hijacking menggunakan metode
captured, brute forced atau reserve enggineered guna memperoleh ID
session, yang untuk selanjutnya memegang kendali atas session yang dimiliki
oleh user lain tersebut selama session berlangsung. HTTP merupakan
protokol yang stateless, sehingga perancang aplikasi mengembangkan suatu
cara untuk menelusuri suatu state diantara user-user yang koneksi secara
multiple. Aplikasi menggunakan session untuk menyimpan parameterparameter yang relevan terhadap user. Session akan terus ada pada server
selama user masih aktif atau terkoneksi. Session akan otomatis dihapus jika
9
user logout atau melampaui batas waktu koneksi. Karena sifatnya ini, session
dapat dimanfaatkan oleh seorang hacker untuk melakukan session hijacking.
Session itu sendiri menurut Septi Andryana dalam jurnal “Hijacking
Session pada Sistem Keamanan Komputer” adalah variabel yang dapat
mempertahankan isinya dalam periode waktu tertentu dan disimpan diserver.
Meskipun berpindah-pindah halaman (dalam satu website tersebut) variabel
masih bertahan. Jadi session hanyalah sebuah variabel dengan karakteristik
tertentu.
Sebelum kami memulai untuk membuat aplikasi ini, sudah ada
penelitian yang dilakukan oleh Andreas Koch dalam Bachelor Thesis yang
dia buat yang berjudul “Session Hijacking on Android Device” pada tahun
2011, dia menghasilkan aplikasi Droidsheep yaitu aplikasi Android untuk
melakukan penetration testing dengan session hijacking. Aplikasi yang akan
dibuat oleh penulis adalah juga aplikasi untuk melakukan penetration testing
tetapi tidak hanya bisa melakukan session hijacking melainkan juga bisa port
scan, kill connection, sniffing, redirect URL dan replace image.
Download