Virtual Environment

Ketika melakukan riset dalam dunia IT security, kita seringkali dihadapkan pada kenyataan untuk melakukan test pada beragam sistem operasi dan aplikasi. Ambil contoh ketika hendak menulis eksploit suatu bug aplikasi yang berjalan diatas sistem operasi microsoft windows, semakin luas sistem operasi yang dapat dijadikan target maka semakin baik kualitas eksploit tersebut. Hal ini sering disebut dengan istilah reliable.

Hal ini menuntut kita untuk memiliki beragam sistem operasi yang tentunya harus di-install pada lebih dari satu hardware. Sistem operasi tersebut misalnya, Microsoft Windows XP, Microsoft Windows XP SP1, Microsoft Windows XP SP2, Microsoft Windows XP SP3, Microsoft Windows Vista SP0, Microsoft Windows Vista SP1, Microsoft Windows Vista SP2, Microsoft Windows 7. Tentu saja implementasi untuk memberikan hasil reliable tersebut akan sangat mahal dari segi harga karena harus membeli beberapa jenis hardware, termasuk mahal dari sisi resource seperti tenaga listrik, tempat, dsb.

Masa-masa sekarang ini perkembangan teknologi virtualisasi semakin bagus, baik itu virtualisasi secara hardware maupun secara software. Untuk virtualisasi dalam bentuk software, komunitas IT security umumnya menggunakan Virtual Machine. Beberapa software virtual machine diantaranya: VMWare, VirtualBox, Parallel, Virtual PC. Diantara software-software tersebut ada yang open source dan gratisan, ada pula yang berbayar.

Software-software virtualisasi diatas dapat digunakan untuk menjalankan sistem operasi lain didalam sistem operasi yang saat ini sedang kita gunakan. Tuntutan yang paling umum adalah kapasitas memory dan harddisk dari komputer yang digunakan sebagai host. Sistem operasi yang di-install diatas virtual mesin sering disebut sebagai guest. Kita dapat menginstall sampai lebih dari 10 sistem operasi (tergantung kapasitas harddisk), dan dapat menjalankan lebih dari satu virtual machine dalam satu waktu secara bersamaan (tergantung kapasitas memory). Solusi ini tentunya jauh lebih murah. Namun yang harus diperhatikan adalah tidak semua software-software diatas stabil, ada kalanya mengalami crash. Diantara pilihan software diatas, saya secara pribadi lebih memilih VMWare, terutama VMWare workstation (dalam hal ini VMWare fusion karena saya menggunakan Mac OSX sebagai host) yang dapat digunakan untuk menginstall sistem operasi lain dan melakukan beragam konfigurasi untuk berinteraksi dengan sistem operasi virtual tersebut.

Walaupun implementasinya secara virtual, namun teknologinya sudah hampir sempurna (jika tidak dikatakan sudah sempurna) dalam hal kemiripan dengan sistem operasi yang di instal pada hardware sungguhan. Sehingga jika kita mengembangkan eksploit dengan menggunakan target virtual machine, maka kemungkinan berhasil untuk diterapkan pada sistem operasi sungguhan mencapai lebih dari 90%.

Keuntungan lain menggunakan virtual machine adalah snapshot. Dengan snapshot kita dapat merekam state virtual machine pada suatu waktu (misal: sebelum melakukan suatu update) dan kembali ke state tersebut kapanpun kita mau (misal: setelah melakukan update, kita ingin kembali pada kondisi sebelum update). Fitur ini dalam VMWaredisebut rollback. Sehingga kita dapat membuat snapshot dari beragam kondisi, rollback pada snapshot tertentu, dan rollback lagi ke snapshot yang lain. Inilah salah satu kelebihan menggunakan virtual machine sebagai lab riset, khususnya pada riset IT security.

Jadi jika kita ingin menjadi exploit writer ataupun pen-tester yang melakukan audit terhadap beragam jenis sistem operasi, mulailah dengan memiliki suatu lab kecil yang terdiri dari beragam sistem operasi virtual :).

Advertisements

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