Penetration
Testing
Tedi Wildani1a
1Teknik
Informatika, Fakultas Teknologi Industri, Universitas Gunadarma
Jl. Margonda Raya No. 10, Pondok
Cina, Depok, 16424
a10wildanitedddy@student.gunadarma.ac.id
Abstraksi
Pengujian penetrasi
adalah serangkaian kegiatan yang dilakukan untuk mengidentifikasi dan
mengeksploitasi kerentanan keamanan. Ini akan
membantu mengkonfirmasi efektivitas atau ketidakefektifan dari langkah-langkah
keamanan yang telah dilaksanakan. Jurnal
ini memberikan gambaran tentang pengujian penetrasi. Ini membahas manfaat,
strategi dan metodologi melakukan pengujian penetrasi. Metodologi pengujian
penetrasi mencakup tiga fase: persiapan ujian, tes dan analisis tes. Tahap uji
coba melibatkan langkah-langkah berikut: Informasi pengumpulan, analisis
kerentanan, dan kerentanan mengeksploitasi. Tulisan ini lebih menggambarkan
bagaimana menerapkan metodologi ini untuk melakukan pengujian penetrasi pada
dua aplikasi contoh web.
Kata
kunci
Pengujian keamanan,
Penilaian Kerentanan, Penetrasi Pengujian
Pendahuluan
Keamanan adalah salah satu isu utama dalam sistem
informasi. Konektivitas komputer
tumbuh melalui
internet, yang diperpanjang peningkatan sistem, dan ukuran pertumbuhan
tak terkendali dan
kompleksitas sistem telah membuat
masalah keamanan perangkat lunak sekarang yang lebih besar daripada di masa lalu. Selain itu, bisnis
penting untuk cukup
melindungi aset informasi organisasi dengan mengikuti pendekatan yang
komprehensif, dan terstruktur untuk memberikan perlindungan dari risiko
organisasi yang
mungkin dihadapi. Dalam upaya
untuk memecahkan masalah keamanan dan
mematuhi peraturan keamanan diamanatkan, pakar keamanan harus berbagai metode jaminan
keamanan maju termasuk bukti kebenaran, desain berlapis, software lingkungan
teknik dan pengujian penetrasi.
Pengujian penetrasi adalah metode komprehensif untuk
menguji lengkap, terpadu, operasional, dan dasar komputasi dunia
yang terdiri dari perangkat keras, perangkat lunak dan manusia.
Proses melibatkan
analisis aktif sistem untuk setiap kerentanan potensial, termasuk kekurangan atau konfigurasi yang tidak
benar sistem, hardware dan
software kekurangan, dan kelemahan operasional dalam proses atau penanggulangan
teknis.
Pengujian penetrasi berbeda dari pengujian
fungsional keamanan. Yang terakhir menunjukkan perilaku yang benar
dari kontrol keamanan sistem sementara pengujian penetrasi menentukan kesulitan bagi
seseorang untuk menembus kontrol keamanan organisasi terhadap hak akses ke informasi dan
sistem informasi tersebut. Hal ini dilakukan dengan mensimulasikan pengguna
yang tidak hak menyerang sistem baik menggunakan alat
otomatis atau metode manual atau kombinasi keduanya.
Jurnal ini memberikan
gambaran tentang pengujian penetrasi. Membahas manfaat dari pengujian penetrasi, strategi pengujian
penetrasi dan jenis, serta metodologi untuk pengujian penetrasi.
Tujuan
Tujuan
utama dari penilaian kerentanan adalah untuk mengidentifikasi kerentanan
keamanan di bawah dikendalikan keadaan sehingga mereka dapat dihilangkan
sebelum pengguna yang tidak sah mengeksploitasi mereka. Komputasi
sistem profesional menggunakan pengujian penetrasi untuk mengatasi masalah yang
melekat dalam kerentanan penilaian, fokus pada kerentanan tinggi tingkat
keparahan. Pengujian penetrasi adalah jaminan senilai alat penilaian yang
menguntungkan bisnis dan operasinya.
Manfaat
Manfaat
Penetrasi Pengujian dari Perspektif Bisnis
Dari
perspektif bisnis, pengujian penetrasi membantu menjaga organisasi terhadap
kegagalan melalui pencegahan kerugian finansial;
membuktikan due diligence dan kepatuhan terhadap regulator industri,
pelanggan dan
pemegang saham; menjaga citra perusahaan; dan merasionalisasi keamanan
informasi Investasi.
Organisasi
menghabiskan jutaan dolar untuk pulih dari pelanggaran keamanan karena
pemberitahuan biaya, upaya perbaikan, penurunan
produktivitas dan pendapatan yang hilang. Perkiraan studi CSI upaya pemulihan saja menjadi $
167,713.00 per insiden.
Pengujian
penetrasi dapat mengidentifikasi dan mengatasi
risiko sebelum terjadi pelanggaran keamanan, sehingga mencegah kerugian
finansial yang disebabkan oleh keamanan pelanggaran.
Industri telah
mengamanatkan persyaratan peraturan untuk sistem komputasi. Ketidakpatuhan
dapat hasil dalam organisasi yang menerima
denda berat, penjara, atau kegagalan utama.
Pengujian
penetrasi, sebagai layanan proaktif, memberikan informasi tak tergoyahkan yang
membantu organisasi untuk memenuhi aspek audit
kepatuhan atau peraturan.
Sebuah
insiden data klien dikompromikan dapat menghancurkan. Hilangnya kepercayaan
konsumen dan reputasi bisnis dapat menempatkan
seluruh organisasi beresiko. Pengujian penetrasi menciptakan meningkatkan kesadaran pentingnya
keamanan di semua tingkatan organisasi. Ini membantu insiden
keamanan organisasi menghindari yang mengancam citra perusahaan, menempatkan
reputasinya beresiko dan loyalitas
dampak pelanggan.
Pengujian
penetrasi mengevaluasi efektivitas produk keamanan yang ada dan memberikan
mendukung
argumen untuk investasi masa depan atau upgrade teknologi keamanan. Ini
menyediakan "Bukti masalah" dan kasus yang
kuat untuk usulan investasi untuk manajemen senior.
Manfaat
Penetrasi Pengujian dari Perspektif Operasional
Dari
segi operasional, pengujian penetrasi membantu bentuk strategi keamanan
informasi
melalui
identifikasi cepat dan akurat dari kerentanan; penghapusan proaktif
diidentifikasi risiko; pelaksanaan tindakan korektif;
dan peningkatan pengetahuan IT.
Pengujian
penetrasi memberikan informasi rinci tentang yang sebenarnya, ancaman keamanan
dieksploitasi jika mencakup ke
doktrin keamanan organisasi dan proses. Hal ini akan membantu organisasi untuk mengidentifikasi secara
cepat dan akurat kerentanan nyata dan potensial.
Dengan
memberikan informasi yang diperlukan untuk secara efektif dan efisien
mengisolasi dan memprioritaskan kerentanan,
pengujian penetrasi dapat membantu organisasi menyempurnakan dan konfigurasi
uji perubahan atau patch untuk secara
proaktif menghilangkan risiko diidentifikasi.
Cara Melakukan Penetrasi Pengujian
Pengujian penetrasi bukan hanya eksekusi serial alat otomatis dan generasi
teknis laporan seperti yang sering dilihat. Ini harus memberikan arah yang
jelas dan ringkas tentang bagaimana mengamankan informasi dan sistem informasi
organisasi dari serangan dunia nyata. Salah satu faktor penting dalam
keberhasilan pengujian penetrasi adalah metodologi yang mendasarinya. Sebuah
pendekatan sistematis dan ilmiah harus digunakan untuk berhasil mendokumentasikan
tes dan menciptakan laporan yang ditujukan pada tingkat yang berbeda dari
manajemen dalam suatu organisasi. Seharusnya tidak membatasi untuk memungkinkan
tester untuk sepenuhnya mengeksplorasi intuisinya. Umumnya, pengujian penetrasi
memiliki tiga tahap: persiapan ujian, tes, dan analisis uji seperti yang
ditunjukkan pada Gambar 1.
Semua dokumen yang diperlukan untuk tes diselenggarakan dan diselesaikan
selama persiapan tes fase. Penguji dan organisasi bertemu untuk menentukan
ruang lingkup, tujuan, waktu, dan waktu pengujian. Isu-isu seperti kebocoran
informasi dan downtime diselesaikan dan dimasukkan ke dalam dokumen perjanjian
hukum. Perjanjian hukum yang dianggap perlu disimpulkan dan ditandatangani
selama fase ini. Sebagian besar proses pengujian penetrasi dilakukan selama
fase pengujian. Berbagai alat otomatis dapat digunakan pada fase ini. Tabel 1
berisi beberapa alat ini. Fase ini melibatkan langkah-langkah berikut:
pengumpulan informasi, analisis kerentanan, dan eksploitasi kerentanan.
Table 1.
Penetration Testing Tools
Pengumpulan informasi langkah mengharuskan tester memindai area fisik dan
logis dari uji target dan mengidentifikasi semua informasi terkait yang diperlukan
dalam tahap analisis kerentanan.
Tergantung pada informasi yang dikumpulkan atau disediakan oleh organisasi,
tester kemudian menganalisa kerentanan yang ada dalam target jaringan, host dan
aplikasi.
Tester dapat memilih untuk menggunakan metode manual untuk melakukan
langkah ini, tetapi alat otomatis juga ada untuk membantu tester.
Langkah terakhir memungkinkan tester untuk menemukan eksploitasi untuk
kerentanan yang ditemukan di langkah sebelumnya.
Ketika eksploitasi
tidak menyebabkan apa yang dimaksudkan, misalnya, akses root, analisis lebih
lanjut harus dilakukan. Ini diwakili oleh lingkaran antara analisis kerentanan
dan kerentanan mengeksploitasi fase.
Hasil tes yang diselidiki secara menyeluruh selama fase analisis uji. Hasil
ini
disediakan untuk
organisasi sehingga harus lengkap dan sistematis. Persiapan rencana mitigasi
penting dalam penetrasi pengujian. Oleh karena itu wajib untuk menyertakan bagian
rencana mitigasi dalam laporan analisis.
Pengujian
Penetrasi Aplikasi
Web
Pengujian penetrasi adalah sistematis menyelidiki suatu sistem yang
dapat berupa kombinasi dari aplikasi, host, atau jaringan. Metodologi umum
pengujian penetrasi adalah proses yang berguna untuk mengungkap dan
menyelesaikan kelemahan keamanan aplikasi, terutama aplikasi web.
Bagian ini menggambarkan proses pengujian penetrasi menggunakan dua
aplikasi contoh web, TuneStore dan BOG. Perlu dicatat bahwa wilayah diuji di sini terdiri
dari hanya sebagian kecil dari daerah yang harus diuji. Oleh karena itu, proses pengujian
penetrasi mungkin lebih komprehensif dan dapat mengambil lebih banyak waktu dan usaha ketika
dilakukan pada aplikasi web lebih rumit.
Hal ini diasumsikan bahwa tahap persiapan ujian telah selesai
sebelum tahap uji coba. Di sana tiga langkah yang terlibat dalam tahap uji:
pengumpulan informasi, analisis kerentanan, dan kerentanan
mengeksploitasi. Fase ini disebut fase penemuan, fase kerentanan dan serangan fase simulasi di tahap uji coba diikuti oleh tes tahap analisis.
1.
Informasi Pengumpulan-Langkah
Pada langkah ini, penguji mengumpulkan sebanyak mungkin informasi tentang
aplikasi web mungkin dan memperoleh pemahaman tentang logika. Semakin penguji
memahami target uji, pengujian penetrasi akan lebih sukses. Informasi yang
dikumpulkan akan digunakan untuk membuat basis pengetahuan untuk bertindak atas
dalam langkah-langkah selanjutnya. Penguji harus mengumpulkan semua informasi
bahkan jika itu tampaknya tidak berguna dan tidak berhubungan karena tidak ada
yang tahu di awal apa bit informasi yang diperlukan.
Langkah ini dapat dilakukan dalam berbagai cara: dengan menggunakan
alat-alat umum seperti pencarian mesin; menggunakan scanner; mengirimkan
permintaan HTTP sederhana atau permintaan khusus dibuat atau berjalan melalui
aplikasi. Penguji dapat mengidentifikasi keperluan aplikasi dengan menjelajah
mereka. Mereka dapat sidik jari server web, tempat aplikasi pada kedua klien
dan sisi server,
dan menentukan isi dan fungsi secara manual atau menggunakan otomatis
alat. Tabel 2
daftar beberapa alat umum yang dapat digunakan dalam aplikasi web pengujian
penetrasi. Di yang berikutnya, kami akan menjelaskan bagaimana melakukan
pengumpulan informasi pada dua contoh aplikasi, BOG dan TuneStore.
Tabel 2. Alat Pengujian Penetrasi Aplikasi Web
2.
Langkah Analisis Kerentanan
Menggunakan pengetahuan yang dikumpulkan dari pengumpulan informasi langkah,
penguji kemudian memindai kerentanan yang ada dalam aplikasi web. Penguji dapat
melakukan pengujian pada konfigurasi manajemen, logika bisnis, otentikasi,
manajemen sesi, otorisasi, validasi data, penolakan layanan, dan layanan web. Pada
langkah ini, kerentanan server web, otentikasi kerentanan mekanisme, kerentanan
berbasis input dan kerentanan fungsi-spesifik diperiksa.
3.
Langkah Kerentanan Eksploitasi
Setelah langkah
analisis kerentanan, penguji harus memiliki ide yang baik dari daerah yang akan
ditargetkan untuk eksploitasi. Dengan daftar kerentanan di tangan, dua aplikasi
yang kemudian dieksploitasi.
Pemanfaatan Kerentanan di BOG Aplikasi. Hal ini ditemukan bahwa aplikasi
memiliki kerentanan dalam mekanisme otentikasi, dan rentan terhadap SQL
injection dan XSS. Tidak adanya mekanisme validasi yang ketat memungkinkan
setiap pengguna untuk mendapatkan masuk ke dalam sistem. Mengeksploitasi
kerentanan ini membanjiri situs dengan konten yang mengganggu keamanan sistem
seperti menambahkan blog yang merusak reputasi pengguna lain ', link ke situs
scammer, atau situs yang berpotensi berbahaya. Mengetahui bahwa aplikasi ini
rentan terhadap SQL injection didukung dengan informasi dikumpulkan dari pesan
kesalahan, fungsi yang berbeda dari aplikasi yang dieksplorasi lebih lanjut
dengan tujuan mendapatkan lebih banyak ide untuk memanfaatkan sistem. Skenario
ini menggambarkan loop antara analisis kerentanan dan kerentanan
mengeksploitasi langkah. Dengan terus-menerus memanipulasi URL menggunakan Operasi
UNION, beberapa halaman yang berisi informasi penting yang muncul. Informasi
ini tampaknya menjadi username dan password dari pengguna yang sah. Ini
username dan password dapat digunakan untuk mendapatkan akses ke sistem.
Selama tes untuk kerentanan XSS, aplikasi ini dimanfaatkan oleh pesan
berbahaya diposting di situs sebelum menampilkan blog. Kerentanan ini dapat
dimanfaatkan lebih lanjut dengan menggunakan link daripada pesan peringatan.
Lain mengeksploitasi kerentanan ini untuk mencuri data berharga. Hal ini
dilakukan oleh menempa situs dan konten embedding yang memikat pengguna untuk
memasukkan informasi sensitif.
4.
Tes Tahap Analisis
Fase ini adalah antarmuka dari hasil, penguji dan target entitas. Adalah
penting bahwa entitas target menyadari khas penyerang modus operandi, teknik
dan alat – alat penyerang bergantung pada eksploitasi yang mereka gunakan, dan
setiap eksposur perlu data target menderita. Langkah – langkah reaktif dan
korektif yang perlu diambil untuk mengatasi masalah harus termasuk dalam fase
ini. Mengingat temuan untuk BOG dan TuneStore, salah satu perbaikan strategi
yang bisa untuk membersihkan input data pengguna sebelum menempatkannya dalam
query SQL. oleh membutuhkan bahwa username dan password yang dikirimkan ke
database tidak mengandung bad karakter, sistem dapat dilindungi terhadap
serangan injeksi SQL.
Pembahasan
Pengujian penetrasi dapat menjadi strategi yang efisien dan hemat biaya
untuk melindungi organisasi sistem terhadap serangan. Jika dilakukan dengan
benar, hal ini membantu organisasi mengidentifikasi praktek-praktek internal yang
menimbulkan kerentanan dan sumber kerentanan. Sumber yang diidentifikasi memungkinkan
organisasi untuk menghapus kerentanan, baik upaya langsung keamanan sistem
vendor tekanan untuk meningkatkan produk mereka, meningkatkan keamanan bisnis
internal praktek dan membuktikan kepada pelanggan, pemegang saham dan badan
pengatur bahwa itu membuat baik sebuah upaya iman untuk benar melindungi data
bisnis penting.
Memilih tim penetrasi merupakan faktor relevan terhadap keberhasilan
pengujian penetrasi proses. Dalam mengevaluasi tim, pertimbangan harus
diberikan untuk kualifikasi mereka, pengalaman dan pengetahuan, reputasi di
komunitas e-bisnis, akses ke, dan penggunaan, state of- alat seni. Sebuah
aturan praktis untuk menghilangkan tim yang menyediakan sistem yang akan diuji.
Pengujian penetrasi tidak bisa diharapkan untuk mengidentifikasi semua
kerentanan keamanan yang mungkin karena hanya satu aspek dari pengujian.
Organisasi harus mengembangkan pengujian keamanan secara keseluruhan strategi
yang disesuaikan dengan model ancaman dan kebijakan keamanan.
Akhirnya, pengujian penetrasi tidak boleh dianggap sebagai
satu-off-layanan. Hal ini dilakukan pada titik waktu. Perubahan sistem, ancaman
muncul, bisnis strategi muka, dan alat – alat hacker berevolusi. Memperbaiki
atau menambal kerentanan terdeteksi bukan berarti mengakhiri keamanan, kekhawatiran,
dan mimpi buruk Anda, itu hanya awal dari sebuah siklus yang tidak pernah
berakhir. Selain itu, uji penetrasi tidak menawarkan jaminan keamanan mutlak,
itu hanya pengukuran keamanan postur.
Kesimpulan
Pengujian penetrasi adalah metode komprehensif untuk mengidentifikasi
kerentanan dalam sistem. Ini menawarkan manfaat seperti pencegahan kerugian
finansial; kepatuhan terhadap regulator industri, pelanggan dan pemegang saham; menjaga
citra perusahaan; penghapusan proaktif dari risiko yang teridentifikasi.
Penguji dapat memilih dari kotak hitam, kotak putih, dan pengujian kotak
abu-abu tergantung pada jumlah informasi yang tersedia untuk pengguna. Penguji
juga dapat memilih dari internal dan pengujian eksternal, tergantung pada
tujuan tertentu yang ingin dicapai. Ada tiga jenis penetrasi pengujian:
jaringan, aplikasi dan rekayasa sosial.
Jurnal ini menjelaskan metodologi tiga fase yang terdiri dari persiapan
ujian, tes, dan uji tahap analisis. Tahap uji coba dilakukan dalam tiga
langkah: pengumpulan informasi, kerentanan analisis, dan kerentanan
mengeksploitasi. Fase ini dapat dilakukan secara manual atau menggunakan alat
otomatis. Proses pengujian penetrasi ini digambarkan pada aplikasi web, BOG dan
TuneStore. Penguji harus mengikuti format yang komprehensif untuk menyajikan
hasil tes. Salah satu bagian yang paling penting dari tahap analisis uji
persiapan remediasi yang mencakup semua langkah – langkah perbaikan yang
diperlukan untuk kerentanan diidentifikasi. Laporan akhir harus memiliki cukup
detail dan substansi untuk memungkinkan mereka melakukan remediasi untuk
mensimulasikan dan ikuti pola serangan dan hasil yang bersangkutan.
Daftar Pustaka
1.
Aileen G. Bacudio,
Xiaohong Yuan, Bei-Tseng Bill Chu, Monique Jones,
“An Overview Of Penetration Testing”, International Journal
of Network Security & Its Applications (IJNSA), Vol.3, No.6, November 2011
2.
Farkhod Alisherov A,
and Feruza Sattarova Y, “Methodology
for Penetration Testing”, International Journal of of Grid and Distributed
Computing Vol.2, No.2, June 2009
3.
McGraw, G. (2006). Software
Security: Building Security In, Adison Wesley Professional.
4.
Andreu, A. (2006).
Professional Pen Testing for Web Applications. Wrox publisher, 1st
edition
5.
Stuttard, D. and
Pinto, M. (2008) The Web Application Hacker's Handbook: Discovering and
Exploiting Security Flaws,, Wiley. 1st edition
6.
Neumann, P. (1977)
“Computer System Security Evaluation,” Proceedings of AFIPS 1977
Natl.Computer Conf., Vol. 46, pp. 1087-1095
7.
Bishop, M. (2007)
“About Penetration Testing,” IEEE Security & Privacy,
November/December 2007, pp. 84-87
8.
Pfleeger, C. P.,
Pfleeger, S. L., and Theofanos, M. F. (1989) “A Methodology for Penetration Testing,”
Computers &Security, 8(1989) pp. 613-620