Apakah Itu Penetration Testing
Penetration Testing (disingkat pentest) adalah suatu kegiatan dimana seseorang
mencoba mensimulasikan serangan yang bisa dilakukan terhadap jaringan
organisasi / perusahaan tertentu untuk menemukan kelemahan yang ada pada
sistem jaringan tersebut. Orang yang melakukan kegiatan ini disebut
penetration tester (disingkat pentester). Penetration Testing mempunyai
standar resmi sebagai acuan dalam pelaksanaannya. Standar ini bisa dilihat di
pentest-standard.org.
Tujuan Penetration Testing
Perusahaan-perusahaan besar yang menyimpan data-data sensitif (seperti Bank)
tentu tidak ingin jaringannya dibobol oleh orang tidak bertanggung jawab yang
kemudian bisa mengambil alih kontrol jaringan dan menimbulkan kerugian yang
sangat besar. Oleh karena alasan itu perusahaan menginvestasikan dana untuk
memperkuat sistem jaringannya. Salah satu metode paling efektif adalah
melakukan pentest. Dengan melakukan pentest, celah-celah keamanan yang ada
dapat diketahui dan dengan demikian dapat diperbaiki secepatnya. Seorang
pentester mensimulasikan serangan yang dapat dilakukan, menjelaskan resiko
yang bisa terjadi, dan melakukan perbaikan sistem tanpa merusak infrastruktur
jaringan perusahaan tersebut.
Tahapan Penetration Testing
Penetration Testing memiliki standar (PTES) yang digunakan sebagai acuan dalam
pelaksanaanya yang dibagi ke dalam beberapa tahap :
1. Pre-engagement Interactions
Tahap dimana seorang pentester menjelaskan kegiatan pentest yang akan
dilakukan kepada client (perusahaan). Disini seorang pentester harus bisa
menjelaskan kegiatan-kegiatan yang akan dilakukan dan tujuan akhir yang akan
dicapai.
Baca Juga : Pengertian Dasar Dan Sejarah PHP
2. Intelligence Gathering
Tahap dimana seorang pentester berusaha mengumpulkan sebanyak mungkin
informasi mengenai perusahaan target yang bisa didapatkan dengan berbagai
metode dan berbagai media. Hal yang perlu dijadikan dasar dalam pengumpulan
informasi adalah : karakteristik sistem jaringan, cara kerja sistem jaringan,
dan metode serangan yang bisa digunakan.
3. Threat Modeling
Tahap dimana seorang pentester mencari celah keamanan (vulnerabilities)
berdasarkan informasi yang berhasil dikumpulkan pada tahap sebelumnya. Pada
tahap ini seorang pentester tidak hanya mencari celah keamanan, tetapi juga
menentukan celah yang paling efektif untuk digunakan.
4. Vulnerability Analysis
Tahap dimana seorang pentester mengkombinasikan informasi mengenai celah
keamanan yang ada dengan metode serangan yang bisa dilakukan untuk melakukan
serangan yang paling efektif.
Baca Juga : Dasar Dalam Mempelajari HTML
5. Exploitation
Tahap dimana seorang pentester melakukan serangan pada target. Walaupun
demikian tahap ini kebanyakan dilakukan dengan metode brute force tanpa
memiliki unsur presisi. Seorang pentester profesional hanya akan melakukan
exploitation ketika dia sudah mengetahui secara pasti apakah serangan yang
dilakukan akan berhasil atau tidak. Namun tentu saja ada kemungkinan tidak
terduga dalam sistem keamanan target. Walaupun begitu, sebelum melakukan
serangan, pentester harus tahu kalau target mempunyai celah keamanan yang bisa
digunakan. Melakukan serangan secara membabi-buta dan berharap sukses bukanlah
metode yang produktif. Seorang pentester profesional selalu menyempurnakan
analisisnya terlebih dahulu sebelum melakukan serangan yang efektif.
6. Post Exploitation
Tahap dimana seorang pentester berhasil masuk ke dalam sistem jaringan target
dan kemudian melakukan analisis infrastruktur yang ada. Pada tahap ini seorang
pentester mempelajari bagian-bagian di dalam sistem dan menentukan bagian yang
paling critical bagi target (perusahaan). Disini seorang pentester harus bisa
menghubungkan semua bagian-bagian sistem yang ada untuk menjelaskan dampak
serangan / kerugian yang paling besar yang bisa terjadi pada target
(perusahaan).
7. Reporting
Reporting adalah bagian paling penting dalam kegiatan pentest. Seorang
pentester menggunakan report (laporan) untuk menjelaskan pada perusahaan
mengenai pentesting yang dilakukan seperti : apa yang dilakukan, bagaimana
cara melakukannya, resiko yang bisa terjadi dan yang paling utama adalah cara
untuk memperbaiki sistemnya.
Baca Juga : Peralatan wajib sebelum mempelajari pemrograman
Tipe Penetration Testing
Ada dua jenis tipe pentest, yaitu : overt dan covert. Overt pentest dilakukan
dengan sepengetahuan perusahaan. Covert pentest dilakukan tanpa sepengetahuan
perusahaan. Kedua tipe pentest ini memiliki kelebihan dan kelemahan satu sama
lain.
1. Overt Penetration Testing
Pada overt pentest, seorang pentester bekerja bersama dengan tim IT perusahaan
untuk mencari sebanyak mungkin celah keamanan yang ada. Salah satu
kelebihannya adalah pentester mengetahui informasi sistem jaringan yang ada
secara detail dan dapat melakukan serangan tanpa khawatir akan di-blok. Salah
satu kelemahannya adalah tidak bisa menguji respon dari tim IT perusahaan jika
terjadi serangan sebenarnya. Saat jumlah waktu dalam kegiatan pentest
dibatasi, akan lebih efektif menggunakan tipe overt.
Baca Juga : Tools Pentesting Di Android
2. Covert Penetration Testing
Pada covert pentest, seorang pentester melakukan kegiatan pentest tanpa
sepengetahuan perusahaan. Artinya tes ini digunakan untuk menguji respon dari
tim IT perusahaan jika terjadi serangan sebenarnya. Covert test membutuhkan
waktu yang lebih lama dan skill yang lebih besar daripada overt test.
Kebanyakan pentester profesional lebih merekomendasikan covert test daripada
overt test karena benar-benar mensimulasikan serangan yang bisa terjadi. Pada
covert test, seorang pentester tidak akan berusaha mencari sebanyak mungkin
celah keamanan, tetapi hanya akan mencari jalan termudah untuk masuk ke dalam
sistem, tanpa terdeteksi.