Salah
satu cara menguji keamanan sebuah sistem (jaringan atau aplikasi) adalah dengan
mencoba menyusup ke sistem. Cara yang dikenal dengan nama penetration testing (pentest)
ini dipopulerkan oleh Dan Farmer dan Wietse Venema dengan semboyannya, “Improving the security of your site by
breaking into it.”
Meskipun
lazim dilakukan, sebetulnya secara keilmuan pentest itu kurang tepat. Ada
beberapa masalah terkait dengannya. Masalah yang pertama adalah pentest
dilakukan pada tahap akhir dari siklus pengembangan sistem. Jika pentes
menemukan celah keamanan, sudah terlambat untuk dilakukan perbaikan. Jika
diperbaiki juga membutuhkan biaya yang lebih mahal.
Hal
kedua, dan sangat penting, pentest mencoba mencari kesalahan dalam satu satuan
waktu. Batasan dari pekerjaan ditentukan oleh ketersediaan waktu, bukan
kelengkapan dari pengujian. Sebagai contoh, pekerja pentest diberi waktu satu
bulan. Selama satu bulan itu, pelaku pentest mencoba mencari kelemahan sistem.
Setelah satu bulan, laporan dibuat. Bisa jadi sesungguhnya untuk menguji
keseluruhan sistem dibutuhkan waktu tiga bulan, akan tetapi karena metodologi
pentest berbasis waktu, maka selesai atau tidak selesai, pekerjaan dianggap
selesai.
Jika
pekerja pentest menemukan celah keamanan, ia dinyatakan sukses. Jika tidak
ditemukan celah keamanan, apakah ini merupakan jaminan sistem aman? Tidak
ditemukannya celah keamanan mungkin disebabkan pelaku pentest belum mencapai
bagian yang bermasalah (karena keterbatasan waktu). Bisa juga pelaku pentest
masih belajar sehingga dia belum dapat menemukan celah yang seharusnya dapat
ditemukan. Atau, bahkan pelaku pentest sebenarnya tidak bekerja. Intinya, tidak
ditemukan masalah tidak menjadi jaminan tidak ada masalah.
Hasil
pentest tentu saja bisa menjadi tidak merepresentasikan kondisi keamanan
sesungguhnya, tetapi hanya sebagai sebuah snapshot
keamanan yang diuji dengan cara dan waktu yang terbatas. Bahayanya adalah jika
pemilik sistem merasa aman. Ini dikenal dengan istilah false sense of security.
Analogi
pentest mungkin seperti ini. Anda diminta untuk menguji keamanan dari sebuah
gedung dengan cara mencoba menjebol dindingnya. Misalnya, Anda diminta
menendang dindingnya atau menabraknya dengan motor. Tentu ini bukan cara
terbaik untuk menguji keamanan sebuah bangunan. Cara yang lebih benar adalah
dengan cara melihat dokumen desain (untuk memastikan bahwa ketebalan dinding
memang sudah sesuai dengan standar atau tiang sudah diletakkan pada tempat yang
benar) dan menguji di lapangan (untuk memastikan bahwa desain memang
benar-benar diimplementasikan bukan sekedar ada di dokumentasi saja). Secara
keilmuan, cara yang terakhir itu yang lebih benar.
Apakah
pentest tidak bermanfaat? Tentu saja pentest bermanfaat. Hanya saja kita harus
paham batasan yang ada sehingga dapat menginterpresentasikan hasil pentest
lebih baik dan pada tempatnya. Pentest dapat menjadi titik awal dari sebuah
evaluasi keamanan. Setelah dilakukan pentest, dapat dilakukan evaluasi keamanan
yang lebih menyeluruh. Hasil dari ini dapat digunakan untuk mengetahui tingkat
keamanan dengan lebih baik.
“Hasil pentest tentu saja bisa jadi tidak
merepresentasikan kondisi keamanan sesungguhnya.”
0 komentar:
Posting Komentar