Setelah melihat artikel tentang virus yang dibuat dengan bahasa pemrograman python yang menyerang sistem Mac, membuat saya bertanya-tanya apakah Sistem Operasi Linux yang selama ini saya gunakan benar-benar bebas virus atau tidak.
Bila kita berbicara tentang Linux, mitosnya adalah Linux sama sekali bebas virus. Tapi faktanya adalah ADA virus di Linux. Tidak banyak memang, tapi ada. Beberapa ahli IT beranggapan bahwa virus di Windows lebih banyak karena OS ini lebih terkenal, dan nantinya bila Linux juga mulai dipakai secara signifikan pasti akan ada serangan virus juga. Lalu apakah Linux akan sama dengan Windows nantinya?
Sebenarnya Linux tidak sama dengan Windows, karenanya keduanya dibangun pada basis yang berbeda. Linux malah lebih mirip dengan Mac karena sama-sama dibangun diatas sistem UNIX.
Tapi sebelumnya kita akan membahas bagaimana sebuah virus di Microsoft Windows bisa menginfeksi. Setidaknya ada beberapa cara, yaitu:
- Mengakses program dengan sembarangan, termasuk download aplikasi terinfeksi (biasanya crack bajakan)
- Celah yang terbuka dari sistem. Biasanya masuk melalui jaringan internet atau LAN. Dulu ada virus Windows bernama beagle dan nimda yang terkenal karena kemampuannya menyebar di jaringan (kala itu virus ini revolusioner)
- Tidak hati-hati membuka attachment file dan link website, termasuk file MS Office yang terinfeksi.
- Tertipu dengan penampakan virus, misalnya file virus yang disamarkan sebagai file gambar porno (umum dilakukan oleh virus di Indonesia)
- Tertular melalui media removeable macam flashdisk.
Yang pertama, ada perbedaan mendasar antara Windows dan Linux, yaitu masalah hak akses file. Pada Windows, terutama versi home edition (untuk versi bussines/corporate saya belum mencoba, tapi sepertinya ada) tidak dikenal hak akses suatu file/folder. Contohnya di Linux, bila anda mempunya sebuah file, maka file itu akan mempunyai 3 macam hak akses, yaitu user, group, dan everybody. Tiap hak akses file mempunyai 3 parameter yaitu read (r), write(w), dan executabled(x). jadi pada waktu kita melakukan pengecekan file di Linux akan didapatkan seperti ini:
-rwxr-xr-x 1 ferry disk 4401932 May 28 2011 unetbootin-linux-549
artinya untuk file diatas: (dibaca dari kiri per 3 digit)
- hak akses user dimiliki user ferry dengan hak read, write dan executabled (rwx)
- hak akses group dimiliki oleh group disk dengan hak akses read dan executabled (r-x)
- hak akses everybody dengan hak akses read dan executabled (r-x)
File diatas hanya bisa dibaca dan dieksekusi oleh group disk dan everybody tapi tidak bisa ditulis selain oleh user ferry. [caption id="" align="aligncenter" width="445" caption="Tampilan hak akses di Linux"][/caption]
Hal mendasar ini yang membuat sistem Linux aman, sangat kontras dengan Windows.Awal mulanya Windows menggunakan tipe filesystem FAT yang tidak mengenal hak akses. Baru di NTFS (mulai Windows NT, lalu dilanjutkan ke 2000, dst), Windows memperkenalkan hak akses ini, tapi pengaturan hak akses ini tidak dilakukan secara langsung. Saya yakin bahwa banyak pengguna Windows yang tidak tahu akan hak akses suatu file. Hak akses folder baru akan terasa bila komputer Windows anda memiliki beberapa username, biasanya folder Documents antar username tidak bisa dibuka.
Yang kedua, semua file executabled (*.exe - aplikasi) dikenali dari beberapa digit pertama (header) dari file itu, biasanya 2 digit pertama adalah MZ. Celakanya Windows membaca file bukan dari header file, tapi dari extension file terutama saat menampilkan icon. Jadi saat ada file virus dalam bentuk *.vbs (VB Script), saya bisa menyamarkan file ini dalam bentuk TXT, HTML bahkan JPG. Nah inilah yang dilakukan beberapa virus yang mencoba mengelabui user dengan cara menyamar sebagai file lain.
Yang ketiga, pada saat selesai instalasi Windows, anda akan langsung diberikan user dengan hak administrator. Memang di Windows 7 sudah ada dialog yang menanyakan konfirmasi user (meniru Linux/Mac??) saat ada file mencurigakan mencoba menulis sistem. Tapi berapa banyak user yang tidak tahu maksud dialog itu selain klik CONTINUE atau CANCEL saja?