Hati-hati ! Uji penetrasi adalah pengetahuan bak pedang bermata dua

Pada tahun 80-an, komputer IBM PC yang tak dihubungkan ke jaringan (stand alone) mulai digunakan untuk berbagai keperluan. Saat itu, masalah keamanan merupakan masalah fisik semata. Ketika jaringan komputer mulai dikenal dan digunakan, sekuriti komputer mulai diperhatikan dan digunakan untuk mengatur hak pemakaian resource, baik fisik (memory, processor, disk) maupun data. Kini masalah sekuriti menjadi kompleks seiring dengan meluasnya pemanfaatan komputer, terutama setelah lahirnya Internet.

Internet awalnya dikembangkan untuk menghubungkan antar pihak yang saling dipercaya dengan tujuan saling bertukar menukar informasi. Walau merupakan proyek Departemen Pertahanan Amerika, Internet digunakan dan dikembangkan untuk tujuan kolaborasi dunia akademis yang serba terbuka dengan menyediakan sarana jaringan agar, bagi pengguna Internet yang notabene adalah ilmuwan dapat saling menggunakan sumber daya komputasi dan informasi. Saat itu antar pengguna seringkali bertukar password ataupun sistem yang begitu terbuka dengan akun guest tidak menjadi masalah. Tidak heran layanan seperti telnet, ftp, finger yang digunakan secara luas pada awal masa Internet memiliki begitu besar celah keamanan. Misal layanan telnet dengan mudah disadap, sehingga orang dapat mengetahui password dari rekan kerjanya

Perkembangan internet begitu pesat dan kini telah menjadi suatu jaringan raksasa yang saling menghubungkan berbagai jaringan. Pemanfaatannya di bidang bisnis menjadikan terjadinya pergeseran model. Dari bentukan komunitas pengguna internet berupa suatu Gemeinschaft dengan norma internal dan tradisi yang diatur berdasarkan status dan didorong oleh kecintaan, kewajiban serta kesamaan pemahaman dan tujuan, sekarang telah bergeser dan cenderung menjadi suatu Gesselschaft yang terdiri dari individu (organisasi) yang memiliki interest masing-masing yang saling berkompetisi untuk kepentingan material sehingga berbentuk pasar bebas.

Pada bentuk pertama bisa dikatakan tak ada batasan antara privat dan publik, sedang pada yang kedua terjadi perbedaan secara jelas. Dengan adanya pergeseran tersebut dan makin banyaknya penggunaan eCommerce kebutuhan akan sekuriti mulai tampak dengan jelas. Banyak institusi yang awalnya menganggap remeh masalah ini akhirnya mengalami kerugian yang besar akibat kelalaian ini.

Komunitas Internet yang tadinya merupakan komunitas sejenis (para ilmuwan) yang berdasarkan rasa percaya dan keinginan berkolaborasi, kini menjadi komunitas yang majemuk, dan penuh dengan orang asing. Sehingga mirip dengan jalanan yang rawan akan tindak kejahatan. Hukum (apalagi di Indonesia) sepertinya belum bisa mengikuti kecepatan perubahan internet. Sehingga langkah paling tepat untuk melindungi sistem, adalah dari diri pengguna sendiri. Baik secara aktif menjaga pesan yang dikirimkan, teliti dalam menerima pesan, maupun berhati-hati dalam menggunakan fasilitas atau jasa di internet. Kasus berbagai virus-worm dari I LOVE U, BLASTER, dan sebagainya yang mengirimkan pesan seakan-akan dari pengguna dengan tujuan yang ada di address book pengguna, sudah merupakan suatu contoh nyata begitu mudahnya kasus pelanggaran keamanan dan pencurian identitas dilakukan. Ini juga berawal dari ketakpedulian pengguna terhadap permasalahan ini.

Ketika Internet digunakan secara luas, dan masuk ke dunia bisnis. Apalagi makin banyak aplikasi bisnis yang dijalan di Internet. Pertimbangan sekuritipun menjadi diutamakan. Berbagai jenis sistem baru dikembangkan untuk menyediakan layanan yang aman, misal https, ssl dan sebagainya. Serangan-serangan baru banyak timbul dan membuat perubahan pada sistem Internet. Serangan semacam WORM dari Morris, ataupun DDOS yang menimpa situs besar seperti Yahoo, menjadikan perubahan konfigurasi dan penerapan protokol. Paket ICMP yang tadinya digunakan aplikasi semacam ping dan traceroute untuk menguji keberadaan jalur ke suatu alamat, sekarang banyak diblok untuk mencegah digunakannya sebagai salah satu serangan. Layanan seperti telnet dan ftp sudah banyak ditiadakan dan digantikan aplikasi yang lebih aman karena dilengkapi dengan teknologi enkripsi seperti ssh, ataupun sftp.

Semakin kompleks dan saling terhubungnya antar bagian dalam sistem, menjadikan sistem makin sulit untuk dijamin keamanannya. Sekuriti adalah suatu proses, bukan produk. Sebagai proses maka sekuriti itu memiliki banyak komponen. Sekuriti juga seperti rantai yang terdiri dari banyak mata rantai. Seperti halnya rantai, maka kekuatan sistem setara dengan kekuatan dari mata rantai yang terlemah. Orang/pengguna merupakan sisi terlemah dari sekuriti. Mereka tak memahami komputer, mereka percaya apa yang disebutkan komputer. Mereka tak memahami resiko. Mereka tak mengetahui ancaman yang ada. Orang menginginkan sistem yang aman tetapi mereka tak mau melihat bagaimana kerja sistem tersebut. Pengguna tak memiliki ide, apakah situs yang dimasukinya situs yang bisa dipercaya atau tidak.

Manusia adalah salah satu faktor yang sangat penting tetap sering kali dilupakan dalam pengembangan Teknologi Informasi. Begitu juga dalam mengembangkan sistem sekuriti. Sebagai contoh karena penggunaan password yang sulit sehingga menyebabkan pengguna malah menuliskannya pada kertas yang ditempel dekat komputer. Sehingga dalam menyusun kebijakan sekuriti faktor manusia dan budaya setempat haruslah sangat dipertimbangkan. Salah satu permasalahan utama dengan user di sisi sekuriti, adalah akibat komunikasi atau penjelasan yang kurang memadai pada user dan disain yang kurang berpusat pada user yang mengakibatkan lemahnya sekuriti. User seringkali tak menerima penjelasan yang cukup, sehingga mereka membuat atau mereka-reka sendiri resiko atau model sekuriti yang terjadi. Seringkali ini menimbulkan pengabaian dan mengakibatkan kelemahan sekuriti.

Pengetahuan tentang sekuriti ataupun kepedulian (awareness) tentang sekuriti bukan saja penting bagi pendisain sistem, tetapi juga bagi pengguna awam. Ketidak-pedulian terhadap sekuriti sistem, sering membuat pengguna melakukan tindakan yang membuat sistem kedalam kondisi tidak aman. Sebagai contoh penggunaan password yang sederhana, ataupun pengguna tidak memeriksa ketika melakukan koneksi https kepada suatu situs eBanking, ternyata menuju situs eBanking palsu. Seringkali pengguna percaya begitu saja terhadap keamanan sistem, akibat pengguna tidak bisa mencerna informasi teknis yang diberikan oleh si penyedia jasa. Misal dengan informasi telah digunakan firewall, dan ssl maka dianggap sistem telah aman selamanya dan dalam segala kondisi. Pengetahuan bagi pengguna tentang celah keamanan dapat meningkatkan kewaspadaan pengguna terhadap kemungkinan serangan yang dapat merugikan dirinya.

Biasanya buku tentang sekuriti sistem, akan bermula dari menerangkan tentang konsep sekuriti dan dilanjutkan dengan langkah-langkah untuk membuat sistem lebih aman. Misal perangkat bantu manakah yang dapat digunakan, patch manakah yang harus diterapkan dan berbagai teknik lainnya. Buku ini melakukan pendekatan agak berbeda, yaitu dengan menerangkan jenis-jenis uji penetrasi yang dapat dilakukan terhadap suatu sistem. Dengan menerapkan uji penetrasi ini terhadap sistem maka si perancang sistem dapat memeriksa apakah sistemnya sudah cukup aman terhadap celah yang telah umum.

Sebagai pengantar dari buku ini saya akan memulai dengan suatu peringatan dan harapan kepada pembaca agar memanfaatkan pengetahuan di buku ini dengan sebaik-baiknya dan untuk kepentingan masyarakat luas. Memang penyebaran pengetahuan seperti uji penetrasi ini dapat menimbulkan syak wasangka sebagai usaha menyebarkan teknik-teknik buruk yang dapat merugikan kepentingan masyarakat banyak.

Sepintas lalu teknik penetrasi ini dapat digunakan untuk mengambil manfaat dari kelengahan orang lain. Tapi dengan menyebarkannya ke masyarakat luas, maka diharapkan masyarakat luas dapat lebih berhati-hati dalam menggunakan Internet, dan perancang sistem dapat mendisain dan mengimplementasikan sistemnya lebih hati-hati dan membuat sistem lebih aman. Masyarakat lebih berhati-hati dalam menggunakan komputer di tempat terbuka (Warnet misalnya), masyarakat berhati-hati dalam menggunakan credit card dan mencatat rapih tiap transaksi yang dilakukan dan menyimpan bukti transaksinya. Jadi intinya diharapkan masyarakat tidak begitu saja gegabah di dalam hal keamanan sistem. Karena komputer makin luas digunakan dan makin beragam fungsinya.

Pengetahuan penetrasi ini tidak perlu ditutup-tutupi, karena memang telah ada di Internet secara luas. Bahkan beberapa perangkat bantu yang dapat melakukan uji penetrasi secara otomatis yang melakukan eksploitasi kelemahan sistem. Software tersebut dapat didownload secara bebas dari Internet dan disebut dengan “automate exploit tools“. Awalnya perangkat lunak ini digunakan untuk pengujian sistem (penetration test). Tapi dengan berbekal software ini, seorang cracker dapat melakukan exploitasi di mana saja dan kapan saja, tanpa harus mempunyai pengetahuan khusus. Cracker jenis ini dikenal sebagai “script kiddies“. Sehingga dengan tidak menginformasikan teknik uji penetrasi kepada masyarakat luas, maka justru segelintir orang yang kebetulan memahami uji penetrasi ini dapat memanfaatkan kelengahan masyarakat luas. Akan tetapi proses dalam penyebaran suatu celah kepada masyarakat luas sebaiknya melalui prosedur yang baik, misal dimulai dengan pemberitahuan kepada si pemilik sistem (atau vendor), lalu setelah ditemukan cara pencegahannya (patch, anti virus dan sebagainya), maka barulah diberitahu kepada masyarakat luas. Tahapan ini yang dikenal dengan istilah advisory.

Beda antara hacker dan cracker hanyalah intensi, atau niatnya. Motivasi para hacker untuk menemukan vunerability adalah untuk membuktikan kemampuannya atau sebagai bagian dari kontrol sosial terhadap sistem. Sedangkan motivasi para cracker sangat beragam, diantaranya adalah untuk propaganda (deface web site/email), kriminal murni, penyerangan destruktif (akibat dendam atau ketidak-sukaan terhadap suatu insitusi), dan lain-lain. Apapun motif dari cracker selalu ada pihak yang dirugikan akibat tindakannya.

Apa perlunya pengetahuan uji penetrasi ini pada perancangan sistem ? Pada tahapan perancangan sistem, untuk menganalisis kelemahan sistem dan memperhitungkan resiko dari suatu kemungkinan celah dikenal suatu metoda yang diperkenalkan oleh Bruce Schneier, metoda ini lazim disebut Attack Tree. Dalam metoda attack treee, goal serangan pada puncak pohon serangan. Pada cabang di bawahnya, si perancang sistem akan mereka-reka kemungkinan serangan-serangan apakah yang mungkin dilakukan untuk mencapai goal tersebut. Untuk setiap jenis serangan diperhitungkan probabilitas dilakukannya serangan tersebut, biaya atau usaha untuk melakukan serangan tersebut, serta kerugian yang dapat terjadi bila serangan tersebut terjadi. Biasanya si penyerang akan cenderung memilih serangan yang mudah dilakukan dan memberikan dampak terbesar. Si perancang sistem sebaiknya harus mencegah serangan yang memiliki probabilitas tertinggi, atau serangan yang dapat menimbulkan kerugian terbesar. Setiap cabang dari goal (kemungkinan serangan) akan dianalisis selanjutnya ke cabang bawah berupa prasyarat ataupun langkah untuk melakukan serangan tersebebut.

Metoda ini sebetulnya tidak tergolong baru, di dalam literatur rekayasa komputer sekuriti juga dikenal metoda attack-graph, atau di dalam literatur system safety (keamanan dan keselamatan sistem), dikenal metoda fault-tree, yang digunakan untuk melakukan evaluasi keamanan suatu sistem, dan di dalam literatur rekayasa perangkat lunak (software engineering) dikenal test case graph. Metoda seperti fault tree ini sudah lazim dikenal pada sistem kritis seperti reaktor nuklir, sistem kendali pabrik dan lain sebaiknya.

Seperti dijelaskan di atas, dalam menerapkan metoda analisis ini, untuk mencapai tiap goal serangan, maka si perancang harus mereka-reka kemungkinan serangan. Sehingga, pengetahuan tentang berbagai penetrasi jelas akan memudahkan bagi si perancang sistem untuk memprediksikan skenario serangan. Pengetahuan ini juga merupakan suatu pengetahuan wajib bagi mereka yang ingin melakukan pengujian sekuriti sistem, terutama untuk meningkatkan sekuriti sistemnya. Biasanya suatu tim yang disebut Tiger Team akan melakukan uji penetrasi. Perusahaan asuransi keamanan sistem sering mempekerjakan tim seperti ini untuk melakukan uji penetrasi terhadap sistem yang diasuransikan.

Biasanya penganalisis keamanan sistem akan mencoba memikirkan skenario berbagai jenis serangan yang dapat dilakukan pada suatu sistem jaringan komputer. Pada dasarnya serangan pada suatu sistem jaringan komputer sendiri ada 3 gelombang trend utama yaitu:
  • Gelombang pertama adalah serangan fisik . Serangan ini ditujukan kepada fasilitas jaringan, perangkat elektronis dan komputer.
  • Gelombang kedua adalah serangan sintatik. Serangan ini ditujukan terhadap keringkihan (vulnerability ) pada perangkat lunak, celah yang ada pada algoritma kriptografi atau protokol.
  • Gelombang ketiga adalah serangan semantik. Serangan jenis ini memanfaatkan arti dari isi pesan yang dikirim. Dengan kata lain adalah menyebarkan disinformasi melalui jaringan.
Sebagaimana halnya pisau ataupun pengetahuan lainnya, pengetahuan uji penetrasi dapat pula digunakan untuk masuk buruk. Mudah-mudahan pembaca dapat mengambil manfaat positif dan menggunakan pengetahuan yang ada di buku ini, untuk kepentingan masyarakat banyak.

Selamat membaca, belajar dan memanfaatkannya untuk membuat hidup masyarakat lebih baik dan sejahtera.

 Tulisan Asli : I Made Wiryana

0 komentar:

Posting Komentar

Twitter Delicious Facebook Digg Stumbleupon Favorites More

 
This Theme Modified by Kapten Andre based on Structure Theme from MIT-style License by Jason J. Jaeger