Penetration Testing Adalah: Panduan untuk Tim IT yang Baru Memulai

penetration testing adalah

Bagaimana organisasi tahu jika sistem yang mereka miliki aman, benar-benar tidak bisa dibobol? Seberapa aman sistem organisasi jika benar-benar diuji dari sudut pandang attacker?

Vulnerability scanner dapat membantu menemukan celah keamanan, tetapi tidak selalu menunjukkan apa yang dapat dilakukan attacker jike celah tersebut berhasil dimanfaatkan. Di sinilah penetration testing berperan dengan mensimulasikan serangan secara terkontrol untuk menguji keamanan sistem, aplikasi, atau infrastruktur organisasi.

 

Apa itu penetration testing?

Penetration testing adalah proses menguji keamanan sistem informasi melalui simulasi serangan siber secara terkontrol dan legal. Melalui proses ini, organisasi dapat menemukan celah keamanan sebelum attacker menemukannya terlebih dahulu.

Orang yang melakukan penetration testing disebut penetration tester atau pentester. Selain itu, ada juga yang menyebut profesi ini sebagai ethical hacker. Sebab, metode yang digunakan sama dengan hacker, tetapi dikerjakan dalam batas hukum dan etika yang jelas.

 

Mengapa perlu penetration testing?

Penetration testing membantu organisasi melihat security posture dari perspektif attacker. Melalui penetration testing, pentester dapat:

Menemukan vulnerability yang dapat dieksploitasi

Penetration testing menguji apakah vulnerability yang terdapat pada sistem benar-benar dapat dimanfaatkan. Hal ini membantu tim IT membedakan antara vulnerability yang hanya bersifat potensial dan vulnerability yang memiliki exploitability lebih nyata.

Memahami attack path

Pentester dapat membantu organisasi memahami kemungkinan attack path pada sistem. Biasanya, attack ini dimulai dari vulnerability yang menjadi titik awal untuk mendapatkan akses ke resource lain, meningkatkan privilege, atau berpindah ke sistem yang berbeda.

Menguji security control

Penetration testing juga dapat digunakan untuk melihat apakah security control yang sudah diterapkan mampu membatasi serangan. Misalnya, apakah autentikasi cukup kuat atau apakah aktivitas mencurigakan dapat terdeteksi.

Membantu menemukan prioritas remediasi

Pentest membantu memberi konteks tambahan untuk menentukan vulnerability mana yang perlu diprioritaskan berdasarkan severity, data yang berpotensi terdampak, atau business impact. Hal ini penting karena tim IT menangani banyak vulnerability dan tidak semuanya harus ditangani segera.

 

Penetration testing vs vulnerability assessment

Penetration testing berkaitan erat dengan vulnerability assessment. Keduanya sering dianggap sama, padahal memiliki tujuan yang berbeda.

Vulnerability assessment membantu organisasi mendapatkan gambaran yang lebih luas mengenai vulnerability di environment, sedangkan penetration testing membantu memvalidasi risiko pada sistem atau area tertentu.

Jika disimpulkan dalam tabel, perbedaan penetration testing dan vulnerability assessment adalah sebagai berikut:

Aspek

Vulnerability assessment

Penetration testing

Fokus

Menemukan vulnerability

Menguji exploitability

Pendekatan

Scanning dan assessment

Simulasi serangan

Eksploitasi

Umumnya tidak dilakukan secara mendalam

Dilakukan secara terkontrol

Output

Daftar vulnerability dan severity

Temuan, evidence, attack path, dan impact

Siapa yang melakukan

Tim IT internal + tool otomatis

Pentester bersertifikat, baik internal atau eksternal

Pertanyaan yang dijawab

Apa yang rentan?

Apa yang dapat dilakukan attacker?

 

Jenis-jenis penetration testing

Tidak semua penetration testing sama. Terdapat beberapa jenis penetration testing yang dibedakan berdasarkan seberapa banyak informasi yang diberikan kepada pentester sebelum pengujian dimulai dan apa yang menjadi target pengujian.

Berdasarkan tingkat informasi

Black box testing

Di black box testing, pentester tidak mendapat informasi apa-apa tentang sistem yang akan diuji. Pentester berperan sebagai attacker yang benar-benar tidak mengenal sistem organisasi. Hasilnya akan sangat realistis untuk menggambarkan risiko ancaman eksternal, tetapi membutuhkan waktu lebih lama.

White box testing

Pada white box testing, pentester mendapat akses penuh berupa dokumentasi sistem, source code, kredensial, topologi jaringan, hingga arsitektur aplikasi. Lewat akses ini, pentester bisa menguji sistem secara komprehensif tanpa harus menghabiskan waktu untuk reconnaissance.

Grey box testing

Grey box testing merupakan kombinasi dari black box testing dan white box testing. Pentester mendapatkan informasi yang terbatas, misalnya akses sebagai user biasa tanpa hak admin. Akses yang diperoleh ini disimulasikan sebagai insider threat atau attacker yang sudah berhasil mendapat akses awal ke sistem.

Berdasarkan target pengujian

Network penetration testing

Dilakukan untuk menguji keamanan infrastruktur jaringan seperti router, switch, firewall, server, dan perangkat jaringan lainnya.

Social engineering testing

Dilakukan untuk menguji respons manusia terhadap manipulasi psikologis seperti email phishiing, vishing, atau pretexting.

Cloud infrastructure testing

Menguji konfigurasi dan keamanan environment cloud seperti AWS, Azure, dan GCP yang semakin sering digunakan organisasi di Indonesia.

Physical penetration testing

Menguji keamanan secara fisik, misalnya apakah orang tidak berkepentingan bisa masuk ke ruang server atau area sensitif.

Web application testing

Menguji keamanan aplikasi web terhadap OWASP top 10 dan vulnerability spesifik.

Mobile application testing

API penetration testing

Dilakukan untuk menguji aspek-aspek yang berkaitan dengan API, seperti autentikasi, autorisasi, kontrol akses, data exposure, keamanan endpoint, dan validasi input.

 

Seperti apa proses penetration testing?

Penetration testing adalah proses terstruktur yang memiliki lima tahap, yaitu:

1. Reconnaissance

Reconnaissance adalah tahap pengumpulan informasi tentang target sistem. Informasi yang dikumpulkan misalnya domain, subdomain, IP address, teknologi, service, dan sebagainya.

Ada dua pendekatan yang biasa digunakan, yaitu passive reconnaissance dan active reconnaissance.

Passive reconnaissance mengumpulkan informasi tanpa berinteraksi langsung dengan sistem target. Contohnya mencari informasi domain lewat WHOIS, menganalisis profil LInkedIn karyawan untuk memahami teknologi yang digunakan organisasi, atau memanfaatkan Shodan untuk menemukn perangkat yang terekspos ke internet.

Di sisi lain, active reconnaissance memanfaatkan interaksi langsung dengan taret sistem dalam mengumpulkan informasi. Contohnya melakukan port scanning dengan Nmap, banner grabbing untuk mengetahui versi software yang berjalan, atau DNS enumeration.

2. Scanning

Setelah memahami target, tester akan melakukan scanning untuk mengidentifikasi port, service, endpoint, konfigurasi, dan potensi vulnerability pada sistem. Dengan melakukan scanning, tester dapat menentukan bagian mana yang perlu diperiksa lebih lanjut. Bagian itulah yang bisa menjadi potensi kelemahan pada sistem.

3. Mendapat akses

Tahap berikutnya adalah mencoba mendapatkan akses dengan memanfaatkan vulnerability yang ditemukan. Pentester akan mencari tahu apakah vulnerability dapat dieksploitasi, jenis akses apa yang bisa diperoleh, sistem atau resource apa yang dapat dijangkau, dan seberapa besar dampak dari akses tersebut.

4. Mempertahankan akses

Setelah akses berhasil diperoleh, tester dapat menguji apakah akses tersebut dapat dipertahankan atau digunakan kembali dalam batas yang telah disepakati.

Biasanya, tester akan menguji akses melalui berbagai pertanyaan. Misalnya jika koneksi terputus, apakah akses masih dapat digunakan kembali? Apakah aksesnya dapat digunakan untuk mencapai resource lain? Lalu, apakah ada kontrol keamanan yang bisa membatasi pergerakan attacker?

5. Analisis

Di tahap terakhir, pentester mengevaluasi seluruh temuan dan aktivitas selama penetration testing. Hasil analisis kemudian dituangkan ke dalam laporan yang berisi temuan, evidence, potential impact, dan rekomendasi remediasi.

 

Apa yang harus dilakukan setelah penetration testing?

Menganalisis hasil penetration testing bukanlah titik akhir. Hasil analisis tersebut juga perlu ditindaklanjuti secara sistematis melalui serangkaian aktivitas berikut.

1. Investigasi log dan jejak aktivitas selama simulasi

Selama pentest berlangsung, sistem akan merekam seluruh aktivitas dalam bentuk log dan security event. Bagi tim IT, rekaman aktivitas ini membantu untuk mengetahui apakah tim dapat melihat ketika aktivitas tersebut terjadi. Apakah ada alert, deteksi oleh monitoring system, atau tidak sama sekali.

Jika aktivitas yang seharusnya dapat memicu notifikasi tidak terdeteksi, hal itu dapat menunjukkan adanya blind spot dalam security monitoring.

2. Prioritaskan remediasi berdasarkan risiko

Laporan penetration testing dapat menghasilkan banyak temuan. Jika semuanya harus diperbaiki segera, mungkin tim IT akan kewalahan.

Itulah mengapa, remediasi tetap membutuhkan prioritasi. Tim perlu mempertimbangkan severity, yaitu seberapa besar dampak yang mungkin terjadi jika vulnerability berhasil dieksploitasi.

Selain itu, exploitability juga perlu dipertimbangkan. Exploitability memberikan gambaran mengenai seberapa mudah vulnerability tersebut dapat dimanfaatkan dalam kondisi tertentu.

3. Perbaiki vulnerability dan security control

Setelah menentukan prioritas, langkah berikutnya adalah melakukan remediasi. Bentuknya berbeda tergantung pada hasil temuan, misalnya memasang security patch, memperbarui software, memperbaiki konfigurasi, atau memperketat kontrol akses.

Dalam prosesnya, tim juga perlu memahami mengapa vulnerability dapat terjadi. Misalnya jika pentester berhasil mendapat akses lewat penggunaan password default, organisasi tidak cukup hanya mengganti password pada satu akun. Organisasi juga perlu mengevaluasi kebijakan password, proses provisioning akun, serta mekanisme untuk memastikan credential default tidak kembali digunakan.

4. Update kebijakan dan prosedur keamanan

Hasil penetration testing juga bisa menunjukkan bahwa masalah keamanan tidak selalu berasal dari teknologi. Hal lain seperti proses atau kebijakan yang belum memadai juga bisa memicu masalah. Sebagai contoh, akun dengan privilege berlebihan, kurangnya prosedur monitoring, atau akses pengguna yang tidak segera dicabut.

5. Lakukan retesting

Setelah remediasi selesai, jangan langsung menganggap masalah selesai. Retesting perlu dilakukan untuk memastikan vulnerability yang ditemukan pada penetration testing sudah berhasil ditangani.

6. Jadwalkan penetration testing selanjutnya

Kondisi keamanan organisasi tidak bersifat statis. Attack surface dapat berubah ketika organisasi meluncurkan aplikasi baru, melakukan migrasi cloud, menambahkan API, atau menambahkan server baru.

Jadi, hasil penetration testing dahulu mungkin sudah tidak relevan sekarang. Karena itu, penetration testing sebaiknya dilakukan secara berkelanjutan.

 

Bagaimana ManageEngine membantu setelah penetration testing?

Setelah pentest selesai, tim IT perlu mengambil langkah lanjutan untuk memahami aktivitas yang terjadi selama simulasi, memperbaiki vulnerability yang ditemukan, dan memastikan security control dapat memberikan perlindungan yang lebih baik ke depannya.

ManageEngine menyediakan solusi yang dapat membantu tim IT melanjutkan proses tersebut melalui ManageEngine Log360 untuk security monitoring dan forensic investigation serta ManageEngine Vulnerability Manager Plus untuk vulnerability assessment, risk prioritization, dan remediation.

1. Menganalisis jejak aktivitas secara forensik

Setiap aktivitas selama penetration testing dapat meninggalkan jejak pada sistem dalam bentuk log dan security events. Data tersebut dapat digunakan untuk melihat aktivitas yang terjadi selama simulasi dan mengevaluasi apakah security controls mampu mendeteksinya.

Melalui forensic analysis, ManageEngine Log360 membantu tim mengumpulkan dan menganalisis log dari berbagai sumber, kemudian melakukan drill-down ke event yang relevan untuk membantu merekonstruksi kronologi aktivitas.

2. Mendeteksi dan mengorelasikan aktivitas mencurigakan

Serangan biasanya terdiri dari rangkaian aktivitas, bukan satu event tunggal. Karena itu, security team membutuhkan kemampuan untuk menghubungkan event dari berbagai sumber agar dapat melihat pola yang lebih lengkap.

Log360 membantu melakukan event correlation dan threat detection untuk mengidentifikasi pola aktivitas mencurigakan serta menyajikannya dalam konteks yang lebih mudah dianalisis.

Log360 juga memanfaatkan threat intelligence untuk membantu mengidentifikasi indikator seperti malicious IP, domain, dan URL yang berkaitan dengan aktivitas ancaman.

3. Mempercepat investigasi dan respons insiden

Ketika aktivitas mencurigakan ditemukan, security team perlu bergerak dari detection ke investigation dan response.

Log360 menyediakan kemampuan pencarian terhadap raw maupun formatted logs untuk membantu tim melakukan drill-down terhadap event tertentu dan mencari informasi yang relevan dengan investigasi.

Melalui Zia Insights, tim juga dapat memperoleh konteks tambahan mengenai event yang terdeteksi, termasuk entitas yang terlibat, urutan aktivitas, serta rekomendasi mitigasi yang relevan. Aktivitas tertentu juga dapat dipetakan menggunakan framework MITRE ATT&CK untuk membantu memahami tactic dan technique yang terkait.

4. Memprioritaskan vulnerability berdasarkan risiko

Penetration testing dapat menghasilkan banyak temuan, tetapi tidak semua vulnerability memiliki tingkat urgensi yang sama.

ManageEngine Vulnerability Manager Plus membantu tim mendapatkan visibility terhadap vulnerability di environment dan menentukan prioritas remediation berdasarkan konteks risiko.

5. Melakukan remediasi dan menjaga vulnerability tetap terkelola

Menemukan vulnerability tidak akan mengurangi risiko jika vulnerability tersebut tidak segera ditangani.

Vulnerability Manager Plus mengintegrasikan vulnerability assessment dengan patch management sehingga tim dapat menghubungkan vulnerability dengan patch yang relevan dan melakukan remediation dari console yang sama.

Kapabilitas continuous vulnerability monitoring juga membantu tim menemukan vulnerability baru ketika environment berubah, misalnya saat endpoint, software, atau aset baru ditambahkan.

 

Kesimpulan

Penetration testing membantu tim IT melihat keamanan sistem dari perspektif attacker, mulai dari menemukan celah, menguji apakah celah tersebut dapat dieksploitasi, hingga memahami potensi dampaknya.

Namun, penetration testing tidak berakhir ketika laporan selesai. Temuan yang dihasilkan perlu diperbaiki, sementara aktivitas selama pengujian dapat menjadi bahan evaluasi untuk memperkuat kemampuan deteksi dan investigasi tim keamanan.

ManageEngine Vulnerability Manager Plus membantu tim IT menemukan, memprioritaskan, dan meremediasi vulnerability. Sementara itu, ManageEngine Log360 membantu mendeteksi, menganalisis, dan menyelidiki aktivitas keamanan melalui log dan security events.

Pelajari selengkapnya melalui demo dengan tim kami!

FAQ tentang Penetration Testing

Apa itu penetration testing?
Penetration testing adalah pengujian keamanan yang mensimulasikan serangan siber secara terkontrol untuk menemukan dan memvalidasi vulnerability pada sistem, aplikasi, jaringan, atau infrastruktur.
Apa tujuan penetration testing?
Penetration testing bertujuan mengetahui apakah vulnerability dapat dieksploitasi, seberapa jauh akses yang dapat diperoleh, dan apa dampaknya terhadap sistem maupun data organisasi.
Apa perbedaan penetration testing dan vulnerability assessment?
Vulnerability assessment berfokus pada menemukan dan menilai vulnerability, sedangkan penetration testing menguji apakah vulnerability tersebut dapat dieksploitasi dan memahami potensi dampaknya.
Apa saja tahapan penetration testing?
Tahapan penetration testing umumnya meliputi reconnaissance, scanning, mendapatkan akses, menguji kemungkinan mempertahankan akses, dan analisis untuk memahami vulnerability serta potensi dampaknya.
Apa yang harus dilakukan setelah penetration testing?
Setelah penetration testing, tim IT perlu meninjau temuan, memprioritaskan vulnerability berdasarkan risiko, melakukan remediation, mengevaluasi kemampuan detection dan investigation, serta melakukan retesting untuk memastikan perbaikan berhasil.
Seberapa sering penetration testing perlu dilakukan?
Frekuensi penetration testing bergantung pada risiko dan perubahan environment. Pengujian dapat dilakukan secara berkala atau setelah perubahan besar seperti peluncuran aplikasi, perubahan arsitektur, migrasi cloud, maupun insiden keamanan.
Bagaimana ManageEngine membantu setelah penetration testing?
ManageEngine Vulnerability Manager Plus membantu tim IT menemukan, memprioritaskan, dan meremediasi vulnerability, sedangkan ManageEngine Log360 membantu mendeteksi aktivitas mencurigakan serta melakukan analisis log dan forensic investigation untuk mendukung investigasi keamanan.