Solution to "Penetration Testing is Obsolete"?

Saya mulai terlibat aktivitas penetration testing sekitar setahun yang lalu (tahun 2010). Diberikan kesempatan untuk terjun langsung dan belajar pada salah satu perusahaan konsultan security terbaik di Indonesia, dan belajar langsung dari konsultan-konsultan profesional terbaik indonesia yang tidak hanya memiliki pengalaman dalam dunia industri namun juga memiliki pengetahuan serta pengalaman sebagai hacker / intruder selama bertahun-tahun.

Pengalaman saya memang belum banyak dalam hal penetration testing, namun setelah beberapa kali menjalankan project penetration testing saya mulai melihat adanya ‘keterbatasan’ dalam aktivitas tersebut. Dan keterbatasan yang dirasakan tersebut ternyata dijelaskan secara gamblang pada tulisan di blog carnal0wnage. Jika anda belum membaca isi tulisan tersebut, saya persilahkan untuk membacanya terlebih dahulu sebelum melanjutkan membaca tulisan ini.

Originally, pen testing was a simulation of what real attackers would do. Then it became more about validating vuln scan/assessment results. Now its essentially about compliance check boxing. (PCI)

Seperti yang saya paparkan pada awal tulisan, pengalaman saya tentunya masih dangkal untuk dapat berpendapat bahwa fakta diatas adalah kenyataan bagi industri IT security di Indonesia. Namun setidaknya itulah kenyataan yang saya lihat dari industri IT security Indonesia selama setahun ini. Fakta terakhir dimana aktivitas penetration testing ‘hanya’ untuk compliance check-boxing tentunya bukanlah sesuatu yang baru, dan ternyata memang bukan hanya di Indonesia karena fakta tersebut pun terjadi pada berbagai perusahaan di luar negeri.

A large number of pen test companies out there employ people who know how to run tools like Metasploit, Core and Canvas but not much more than that.

Aktivitas penetration testing saat ini sudah diwarnai dengan automated tools seperti metasploit framework ataupun immunity canvas. Tentu saja beberapa pihak dapat mendebat dengan mengatakan bahwa penggunaan automated tools tidak selalu efisien karena tidak bisa menggantikan faktor manusia yang memiliki kecerdasan lebih ataupun insting untuk benar-benar mensimulasikan ‘real attack’, namun cepat atau lambat perusahaan-perusahaan dengan infrastruktur IT akan menyadari adanya tools-tools tersebut dan merasa jauh lebih murah jika mereka membeli produk yang sudah jadi untuk kemudian dijalankan oleh staff IT mereka. Dan saya sudah melihat secara langsung beberapa pihak / perusahaan di Indonesia mulai membeli produk-produk metasploit express dan immunity canvas.

Pada titik ini tentunya jika seseorang adalah pemegang keputusan suatu perusahaan dan dihadapkan pada situasi dimana orang tersebut bertanggung jawab terhadap keamanan data perusahaan, tentunya berharap aktivitas penetration testing dapat membantu menaikan tingkat keamanan infrastruktur IT perusahaan nya agar tidak terjadi kebocoran data yang dapat merugikan perusahaan. Pilihannya tentu saja mencari konsultan security berpengalaman untuk melakukan pekerjaan tersebut (dengan asumsi bahwa bukan untuk check-list sertifikasi perusahaan), dan diharapkan konsultan tersebut dapat mensimulasikan hal-hal yang dapat dilakukan oleh real attacker semaksimal mungkin. Namun jika orang tersebut menerima informasi mengenai immunity canvas yang seringkali memasukan koleksi eksploit 0day (tidak ada di public exploit repository seperti metasploit) sehingga benar-benar dapat menunjukan serangan dari real attacker dan dapat dibeli dengan harga $1,500, apakah dia tetap akan mencari konsultan security sedangkan staff IT perusahaannya mampu menjalankan tools tersebut?

Untuk membuat keadaan lebih buruk, saya ambil contoh langsung dari lapangan yang benar-benar akan menunjukan kenyataan pahit dari aktivitas penetration testing. Suatu project penetration testing biasanya dilakukan dalam rentang waktu tertentu, katakanlah 2 bulan. Dalam waktu 2 bulan tentunya ditemukan berbagai macam security hole, dan setelah pekerjaan selesai security hole tersebut tentunya diharapkan akan ditutup oleh client. Client kemudian akan membayar dan pekerjaan dianggap selesai setelah security hole ditutup.

Satu hari setelah project di tutup, ternyata client tersebut mengalami insiden dimana salah satu infrastrukturnya dihantam oleh public exploit yang advisories nya muncul beberapa jam sebelumnya. Kita semua tahu bahwa situs-situs seperti exploit-db ataupun metasploit menyimpan public exploit hasil kontribusi masyarakat dunia. Client yang sebelumnya sudah merasa aman karena security hole sudah ditutup dan konsultan telah dibayar penuh, harus menerima kenyataan pahit bahwa data internal mereka leak dan perusahaan mendapatkan kerugian besar. Ini adalah fakta terbesar menurut saya yang membuat aktivitas penetration testing dengan tujuan menutup security hole tidak akan membawa banyak manfaat bagi client. Dan yang kita bicarakan baru resiko dari ‘public exploit’, belum real attacker dengan tehnik maupun exploit 0day-nya.

Konsultan security yang baik tentunya akan memberikan masukan dalam report bukan hanya bagaimana caranya mentutup security hole, namun bagaimana ‘mitigasi’ ketika hole lain terbuka untuk meminimalisasi resiko yang akan diterima oleh client. Hal ini sama seperti filosofi patch Grsecurity/PaX pada kernel linux, security hole pada linux tentu akan selalu ditemukan, namun bagaimana caranya agar apabila hole tersebut muncul maka proses eksploitasi tidak akan berhasil. Atau kalaupun berhasil, bagaimana caranya membuat agar penyerang tidak bisa mendapatkan akses lebih jauh lagi dan keberadaannya dalam internal network dapat diketahui dengan cepat.

Teori memang mudah, namun harus diakui bahwa pada umumnya staff IT perusahaan tidak memiliki pengetahuan yang dalam tentang security. Belum lagi ditambah dengan faktor dimana pekerjaan staff IT menyangkut operation sangat banyak dan memakan waktu mereka sehari-hari, sehingga tidak ada waktu lagi untuk urusan security. Jika suatu perusahaan bersedia memberikan resource-nya untuk IT security yang dipisahkan dengan IT operation, maka urusan maintenance security tentu akan lebih mudah dan lebih baik. Namun kemudian muncul masalah dimana pekerjaan IT security menjadi rutinitas (seperti membaca log, membuat report, patching, update database vulnerability, dsb). Dan dengan tenggelam dalam rutinitas security yang mengurus ratusan atau bahkan ribuan resource perusahaan agar setiap titik selalu ter-update, staff IT security akan kesulitan mencari waktu yang tepat agar dapat mengembangkan pengetahuan nya tentang insiden-insiden ataupun tehnik-tehnik serangan terbaru.

Tulisan dari blog carnal0wnage diatas diakhiri dengan pernyataan berikut ini,

Companies and organizations, especially big ones with highly valuable data assets, are going to begin to need a new type of service which tests their infrastructures and security postures in a different way along side automated processes, including testing these processes themselves.

Solusi dari ‘obsolete’-nya aktivitas penetration testing akan menuju pada suatu solusi dimana ‘new type of service’ akan dibutuhkan bagi dunia industri IT security. Tentunya ada beragam solusi yang dapat diambil, namun yang akan di paparkan saat ini adalah IT security monitoring.

Di Indonesia sendiri sepengetahuan saya sudah ada perusahaan security yang sejak awal menjadikan monitoring sebagai core bisnisnya. Dengan monitoring ini maka tentunya dapat menguntungkan kedua belah pihak terhadap beberapa permasalahan yang telah dikemukakan diatas. Misal: client tidak perlu repot-repot memikirkan masalah IT security karena hal ini akan dilakukan oleh 3rd party, dalam hal ini perusahaan konsultan security. Kalaupun client memiliki staff IT security tentunya akan memfokuskan diri pada pekerjaan rutinitas yang dapat di definisikan bersama antara staff IT security dan konsultan security. Konsultan security juga dapat membagi resourcenya menjadi beberapa divisi selain monitoring, seperti red team untuk pekerjaan penetration testing yang dilakukan dalam range waktu tertentu (mis: sebulan sekali) dan divisi research yang akan terus menerus melakukan update informasi mengenai vulnerability, malware, ataupun tehnik-tehnik serangan terbaru yang dapat di implementasikan untuk uji coba oleh team penetration testing. Termasuk membangun sistem vulnerability management untuk dapat mengetahui ragam vulnerability ter-udpate dari berbagai sumber. Selain membangun vulnerability management sendiri, perusahaan konsultant security juga dapat bekerja sama dengan perusahaan-perusahaan yang telah lebih dulu fokus pada bidang tersebut seperti secunia ataupun vupen.

Intinya adalah memecah pekerjaan penetration testing dan mengintegrasikan nya kedalam perusahaan client, dengan metode ini maka client akan mendapatkan resource-resource yang berkompeten dan didedikasikan untuk menjaga keamanan data perusahaan. Sedangkan client dapat fokus pada pengembangan core bisnisnya dengan keyakinan bahwa data-data mereka akan aman.

Bagaimana jika ada client yang sudah memiliki divisi IT security dengan resource-resource potensial seperti diatas serta sistem monitoring yang baik sehingga tidak membutuhkan 3rd party lagi?! mungkin tidak ada kata yang lebih tepat selain ‘selamat’ karena client tersebut bukan hanya memiliki core bisnisnya sendiri namun mungkin bisa menjual bisnis monitoring nya sendiri kepada perusahaan lain (baca: menjadi anak perusahaan yang bergerak di bidang konsultan IT security 🙂 ). Namun tentunya tidak semua client bisa seperti itu, dan memang idealnya client fokus pada core bisnis nya sendiri (mis: banking, telecom) yang akan disibukan dengan urusan operasional sehari-hari, sedangkan untuk urusan keamanan data perusahaan dapat dijamin oleh 3rd party.

Tentunya solusi monitoring diatas akan berjalan dengan sukses apabila dijalankan dengan baik dan benar, serta oleh resource-resource yang berkompeten. Yang pasti, istilah ‘penetration testing is obsolete’ sudah semakin kuat dirasakan, cepat atau lambat client-client yang berharap bahwa tujuan awal penetration testing adalah untuk menjaga keamanan data perusahaan akan meyadari adanya kekurangan dari aktivitas penetration testing dan mencari solusi lain agar budget yang mereka keluarkan tidak sia-sia.

Mungkin ini adalah salah satu solusi, bagaimana solusi lain menurut anda?

PS: Solusi monitoring diatas sedikit banyak di-ilhami dari perusahaan tempat saya bekerja di bidang IT security selama setahun terakhir, dimana pada waktu yang bersamaan ketika saya merasakan kekurangan dari aktivitas penetration testing, pada saat itu juga saya mulai melihat berbagai sisi positif dari IT security monitoring yang saat itu sedang dibangun oleh beberapa rekan di perusahaan tersebut sebagai sebuah solusi. Terlepas dari itu semua, opini diatas adalah opini pribadi dan tidak ada sangkut pautnya dengan perusahaan tersebut, sehingga jika ada kekurangan maka mutlak kekurangan tersebut berasal dari pandangan saya pribadi.

Advertisements

2 thoughts on “Solution to "Penetration Testing is Obsolete"?

  1. Saya pernah membaca quote yang kurang lebih isinya seperti ini: “Memperhitungkan serangan dari penetration testing, seperti mendesain mobil hanya untuk bertahan dengan tabrakan dari arah depan”.

  2. Susah pak, orang-orang kita (sorry to say) ‘pemalas’ dan money oriented semua T__T

    mudah-mudahan tercapai impian kita semua yang berkutat di IT security, khususnya pembuat jembatan antara pro dan bawah tanah!

    good luck!

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s