Habis download file dari situs mirror (bukan situs resmi penyedia file), tiba-tiba muncul rasa kecurigaan tentang integritas file yang saya download ini apakah memang sama dengan file yang ada di situs aslinya. Nah akhirnya terlintas dipikiran apakah ada tool seperti md5sum untuk Windows. Sebenarnya saya tidak tahu apakah Windows punya mekanisme lain untuk mengecek checksum sebuah file sehingga tools basic seperti md5sum aja gak ada. Dari hasil googling, didapatkanlah tools sederhana md5sum dari situs pc-tools. Cara penggunaannya sangat simple. Tinggal ekstrak file zip yang di download tersebut, kemudian saran saya sebaiknya file md5sums.exe disimpan di direktori system Windows yang ada di c:\Windows\system32. Sehingga tools md5sums bisa dipanggil dari mana saja.
Pada contoh ini, tool md5sums saya coba panggil dari drive D:
Untuk Apa Checksum?
Bagi yang belum paham tentang pentingnya melakukan validasi checksum terhadap integritas sebuah data/informasi, berikut ini akan saya berikan sedikit penjelasan mengapa hal ini penting. Dalam dunia keamanan informasi, terdapat 3 pilar untuk mengevaluasi sekuritas sebuah informasi yaitu C.I.A: Confidentiality, Integrity, dan Availability.
Contohnya untuk menilai apakah server anda sudah aman, coba lakukan evaluasi terhadap 3 aspek ini:
Confidentiality: apakah data pada server sudah aman, apakah mekanisme dalam komunikasi sudah menggunakan enkripsi, apakah server sudah menggunakan mekanisme login yang aman (menggunakan SSH daripada telnet) dan hal-hal lain yang berhubungan dengan masalah kerahasiaan.
Integrity: apakah data pada server benar-benar berisi data yang sesuai, apakah data tersebut bisa dipercaya dan dipertanggungjawabkan, bagaimana permission untuk melakukan read/write/execute sudah dikonfigurasi dengan benar untuk user yang memang punya otoritas, apakah grafik performance server di hari-hari biasa memang stabil, dsb
Availability: apakah server memiliki cadangan/backup/redundant untuk melayani pengguna jika suatu waktu terjadi failure, apakah resource di backup jika terhapus/data hilang, dsb
Nah, checksum berguna untuk “menjawab” pertanyaan di pilar kedua itu, yaitu Integrity. Dengan melakukan checking pada checksum yang sudah diberikan penyedia file, kita bisa memastikan bahwa file yang kita miliki benar-benar identik (tidak ada yang diubah sedikitpun). Berikut ini contoh ketika saya ingin mendownload VMWare Player. Pada halaman download di situs vmware.com juga disediakan checksum md5 juga SHA1:
Mengapa Penting?
Baiklah, mari kita berikan contoh sederhana. Katakanlah saya memiliki file executable bernama “secure_program.exe”. Berikut ini hash/checksum program secure_program.exe:
a807e18..sekian..sekian..fa2f6 itu adalah checksum untuk file secure_program.exe. Suatu hari saya minta tolong ke Mas Joni untuk memberikan file ini ke Mbak Jeni. Ternyata Mas Joni suka iseng, dia melakukan reverse engineering dan dibeberapa baris kode ditambahkan fungsi-fungsi lain..
Kemudian Mas Joni memberikan file itu ke Mbak Jeni. Untungnya Mbak Jeni sadar tentang salah satu aspek dalam information security, yaitu integrity. Daripada ngasal-ngasal aja melakukan eksekusi, Mbak Jeni ternyata lebih memilih untuk memvalidasi checksum programnya lebih dulu dan mencocokkan dengan checksum yang saya miliki yang sudah dikirim lewat SMS semalem *eh..
Bisa diperhatikan checksum nya berbeda dengan yang saya miliki ‘kan.. Berarti file ini sudah berubah. Integritasnya perlu dipertanyaken. Syukurlah pada akhirnya ternyata Mbak Jeni lebih memilih untuk merequest ulang file nya daripada sembarang klak klik program ini. Apeuuu…. Semoga tulisan sederhana ini bermanfaat.