Fakta Tentang Proses Produksi yang Bernama : Penetration Testing

Penetration Testing itu Apa?

Salah satu risiko dalam dunia data dan teknologi informasi adalah : keamanan data dan informasi. Ancaman keamanan itu antara lain : kerusakan hardware, keamanan hardware, gangguan keamanan digital seperti virus, malware, hingga ancaman cracking. Proses membangun aplikasi web dapat diibaratkan seperti membangun sebuah rumah, yang di dalamnya berisi peralatan kehidupan kita. Apapun yang berada di dalam rumah tersebut, wajib untuk dilindungi keberadaannya. Salah satu cara melindunginya adalah dengan memastikan ketangguhan semua bagian rumah. Demikian juga dengan layanan transaksi data.

Salah satu proses yang dapat digunakan untuk meningkatkan jaminan keamanan adalah adanya uji keamanan (security testing). Layanan data tersebut akan diuji keamanannya dengan berbagai macam metode uji. Uji keamanan tersebut sering disebut dengan Security Testing, atau Penetration Testing. Penetration testing adalah proses produksi, yang secara legal digunakan untuk menguji sebuah aplikasi baik berbasis web ataupun platform lainnya. Tujuannya adalah untuk meminimalisasi adanya celah keamanan yang dapat dieksploitasi oleh pihak lain. Setelah adanya uji keamanan ini, maka nilai jaminan keamanan aplikasi tersebut akan meningkat.

 

Siapakah yang dapat melakukan penetration testing?

Penetration testing, dapat dilakukan oleh beberapa pihak, antara lain :

  1. Tim internal yang ditunjuk oleh pimpinan proyek pembangun aplikasi
  2. Tim eksternal yang ditunjuk oleh perusahaan
  3. Membuka program bug bounty (pelaporan celah keamanan) ke khalayak luas, dengan memberikan reward pada penemu bug dan pemberi saran keamanan
  4. Semua dalam tim internal baik yang ditunjuk atau tidak ditunjuk, yang menemukan celah keamanan.

Proses penetration testing, sebagai kegiatan legal ini, akhirnya menjadi penting, karena sudah sebaiknya celah keamanan ditemukan oleh ‘orang baik’, sebelum ditemukan oleh pihak yang memiliki niat yang tidak baik. Dalam aplikasi berbasis web, proses cracking web acap kali terjadi dengan niat-niat seperti : web-defacement (vandalis), sabotase, pencurian data, dan pengubahan data untuk kepentingan sendiri.

 

Siapa yang paling banyak membutuhkan?

Dalam catatan saya, di masa kini perusahaan-perusahaan vendor layanan data dan penyedia layanan transaksi data, memiliki kecenderungan meningkat kesadaran akan keamanan data. Ranking kesadaran tertinggi ditempati oleh instansi / perusahaan yang berhubungan langsung dengan keuangan seperti : perbankan, payment gateway, toko online hingga layanan-layanan data publik dan akademik.

Namun, sebenarnya semua data adalah penting. Oleh karena itu perlindungan data tidak seharusnya hanya dilakukan pada bidang tertentu. Karena dapat jadi sebuah data di instansi yang tidak langsung berhubungan dengan keuangan, memiliki risiko tinggi dengan data, seperti rumah sakit misalnya.

 

Fakta Security Testing

Beberapa pihak mengatakan bahwa security testing dapat dilakukan siapapun terhadap pihak manapun. Ada juga para cracker pemula yang mencoba meretas web, kemudian menuliskan pada halaman depan : “kami tidak merusak, patch celah keamanan anda”, adalah tindakan yang boleh. Atau seseorang melakukan uji keamanan pada pihak tertentu, lantas meminta bayaran tertentu pada pihak yang diuji. Pada faktanya adalah seperti berikut :

  1. Security Testing, Penetration Testing, adalah sebuah proses produksi, merupakan uji keamanan untuk meningkatkan jaminan ketangguhan layanan data.
  2. Security Testing bukan untuk mencari kesalahan tim lain. Celah keamanan dapat muncul dari mana saja. Tim developer pun telah melakukan terbaik dengan mengerjakan banyak modul yang tentu memiliki tingkat kelengahan dalam mengantisipasi keamanan. Celah keamanan bawaan vendor atau platform yang digunakan oleh aplikasi turut mempengaruhi skor keamanan sebuah aplikasi.
  3. Security Testing adalah pekerjaan kreatif analitis dan merupakan seni eksplorasi. Di dalamnya prosesnya memiliki metode, skenario serangan, hingga tahapan tertentu untuk mendapatkan goal yang diinginkan.
  4. Security Testing adalah tantangan eksplorasi informasi seluas mungkin dari keadaan yang seterbatas mungkin.
  5. Security Testing adalah pekerjaan legal, yang disepakati antara pihak tested dan tester.
  6. Melakukan uji keamanan terhadap sebuah aplikasi tanpa disepakati pihak yang ditest, memiliki potensi bermasalah dengan hukum, di Indonesia diatur oleh UUITE.

 

Apakah yang Harus Dipelajari?

Seorang penguji keamanan perlu mempelajari beberapa hal, antara lain adalah :

  1. Konsep hulu-hilir aplikasi tersebut berjalan. Misal, seorang penguji keamanan perlu memahami front-end web hingga ke server.
  2. Platform yang berjalan : networking, web, desktop, mobile, bahasa pemrograman, server, webserver yang digunakan
  3. Metode yang akan digunakan : Content Injection, SQL Injection, Remote Code Execution, XSS Injection, Cookies Stolen dan lain sebagainya
  4. CVE dan CWE
  5. Tool yang akan digunakan untuk mempermudah pekerjaan.
  6. Rajin bermain dengan Vulnerability Machine, Vulnerability Web App, CTF
  7. Dan lain-lainnya.

 

Apakah Goal dari Penetration Testing?

Goal secara umum dari uji keamanan adalah meningkatkan jaminan keamanan sebuah platform layanan data. Namun dari sisi pekerjaan itu sendiri, goal utama dari para penguji keamanan adalah berupa Dokumen Laporan Kegiatan Uji Keamanan (Security Reporting). Di dalam dokumen tersebut perlu memuat : item-item temuan, metode yang digunakan, tool yang digunakan, proof of concept, hingga saran-saran perbaikan.

 

Apakah Pekerjaan Uji Keamanan ini Diakui?

Jelas. Pekerjaan uji keamanan ini diakui. Perusahaan-perusaan besar telah memecah tim security menjadi beberapa jobdesc. Red Team adalah tim penyerang, Blue Team adalah tim bertahan. Mereka bekerja saling berlomba mengalahkan yang lain. Bahkan banyak perusahaan yang memang menyediakan layanan penetration testing. Dalam jenis sertifikasi internasional, ada juga membahas tentang security tester ini antara lain seperti : CEH (Certified Ethical Hacker), dan OSCP.

 

Siapakah Saja yang Dapat Menjadi Penguji Keamanan?

Siapapun dapat menjadi penguji keamanan, asal mau. Dalam dunia para pentester, ada yang sifatnya pentester murni, ada yang pentester berasal dari programmer, atau sysadmin. Bahkan seorang Application Quality Assurance dapat juga menjadi seorang Pentester, karena kegiatannya yang berhubungan sekaligus dengan testing.

 

Berminat? Security adalah dunia yang selalu berkembang. Maka menjadi seorang penguji keamanan juga harus rajin memperbaharui informasi. Cara paling bagus adalah dengan : mempelajari perkembangan security, browsing, mengikuti Newsletter tentang security, dan juga rajin saling membagi pengetahuan dan keamanan security pada forum.

Leave a Reply

Your email address will not be published. Required fields are marked *