Virus komputer merupakanprogram atau aturcara komputer yang berupaya menyalin dirinya sendiri dan menjangkitikomputer tanpa kebenaran ataupun pengetahuan pengguna sehingga mampu menyebabkan kerosakan atau perubahan kepadadata atau laksanaan aturcara peranti rumah yang asal.[1] Bagaimanapun perkataan virus biasanya digunakan bagi merujuk kepada pelbagai jenis perisian perosak yang berlainan. Virus yang asal mungkin mengubah suai salinannya atau salinan itu sendiri yang mengubah suai dirinya, seperti dalamvirus metamorf. Virus hanya boleh tersebar apabila hosnya sampai ke komputer lain, contohnya melalui rangkaian atau perantara mudah alih seperticakera liut,cakera padat ataupemacu kilat USB. Selain itu, virus juga boleh merebak dengan menjangkiti fail padasistem fail rangkaian atau mana-mana sistem fail yang dicapai komputer lain.
Sesetengah virus direka untuk menjejaskan komputer dengan merosakkanatur cara, menghapuskan fail, atau memformat semulacakera keras, manakala virus-virus yang lain direka bukan untuk merosakkan apa-apa, tetapi hanya untuk menyalin diri dan mungkin untuk menonjolkan kewujudannya melalui pemaparan teks, video, atau pesanan audio. Walaupun virus yang kedua ini tidak berbahaya, ia juga boleh menimbulkan masalah kepada pengguna komputer kerana ia menelaningatan komputer yang digunakan oleh atur cara yang sah. Oleh yang demikian, ia seringnya mengakibatkan tindakan yang tidak menentu dan boleh mengakibatkan kerosakan sistem. Selain itu, banyak virus juga mengandungipepijat yang boleh mengakibatkan kerosakan sistem dankehilangan data.
Virus komputer kekadangnya dikelirukan ciri dan peranannya dari "cecacing" dan "kuda Troia". Kedua-dua ini berbeza dari segi bahawa cecacing boleh merebak ke komputer yang lain tanpa memerlukannya dipindahkan sebagai sebahagian fail perumah, manakala "kuda Troia" adalah fail yang kelihatan tidak berbahaya sehingga ia dipakai dan dilaksanakan. "Kuda Troia" juga tidak memasukkan kodnya ke dalam fail-fail komputer yang lain berbanding dengan virus komputer biasa.
Banyakkomputer peribadi kini dihubungkan denganinternet sertarangkaian kawasan setempat dan dengan itu, memudahkan perebakan virus. Ia mengambil kesempatan yang diberikan oleh perkhidmatan rangkaian seperti sistem-sistemJaringan Sejagat,e-mel, danpengongsian fail untuk merebak dan dengan itu, mengaburi perbezaan antara virus dengan cecacing komputer. Tambahan pula, sesetengah sumber menggunakan istilah alternatif yang mentakrifkan virus sebagai mana-mana bentukperisian jahat penyalinan diri.
Istilah "virus" komputer berasal daripada peluasan ungkapan "virus" dalam konteks biologi dan digunakan dalam erti kata yang sama. Istilah "virus" seringnya digunakan dalam bahasa biasa untuk menghuraikan semua jenisperisian hasad (malware), termasuk virus-virus yang wajar dikelaskan sebagaicecacing ataukuda Troia. Kebanyakan pakejperisian anti-virus yang popular melindungi komputer daripada semua jenis serangan ini. Dalam sesetengah komuniti teknik, istilah "virus" juga diperluas untuk merangkumi para pencipta perisian jahat dari segi erti kata yang menghina.
Istilah "virus" digunakan buat pertama kali dalam terbitan akademik olehFred Cohen pada tahun1984 dalam kertas kerjanya,Uji kajian dengan Virus Komputer, yang menghargaiLen Adleman kerana mencipta istilah itu. Bagaimanapun, sebuah novel fiksyen sains yang ditulis oleh David Gerrold pada tahun1972 yang berjudul"When H.A.R.L.I.E. Was One", mengandungi sebuah huraian atur cara komputer fiksyen yang dipanggil "VIRUS" yang bertindak tepat sama dengan virus biologi (dan diatasi oleh sebuah atur cara yang dipanggil "VAKSIN"). Istilah "virus komputer" dengan pengertian terkini juga muncul dalam buku komik,Uncanny X-Men #158, yang ditulis oleh Chris Claremont dan diterbitkan pada tahun1982. Oleh yang demikian, walaupun penggunaan istilah "virus" oleh Cohen mungkin merupakan penggunaan "ilmiah" yang pertama, istilah itu telah digunakan lebih dahulu.
tidak wujud secara spontan dan tidak dicipta olehpepijatatur cara biasa; ia dicipta secara sengaja oleh para pengaturcara atau orang yang menggunakan perisian mencipta virus; dan
hanya boleh membuat apa-apa yang ditetapkan oleh pengaturcara.
Para pencipta virus mempunyai berbagai-bagai alasan untuk mencipta dan menyebarkan perisian jahat. Virus-virus telah dicipta sebagai projek penyelidikan, usikan, dan laku musnah, serta juga untuk menyerang produk syarikat-syarikat tertentu, menyebarkan pesanan politik, dan memperoleh keuntungan daripadapencurian identiti,perisian pengintipan (spyware), danpemerasan kriptovirus.
Sesetengah penulis virus menganggap ciptaan mereka sebagai seni, dan melihat penulisan atur cara virus sebagai suatu hobi yang kreatif. Tambahan pula, banyak penulis virus menentang rutin-rutin yang ditulis semata-mata untuk melakukan pemusnahan. Selain itu, banyak penulis virus juga menganggap sistem-sistem yang diserang oleh mereka sebagai suatu cabaran intelektual atau satu masalah logik untuk diselesaikan. Ini berganda apabila permainan kucing dengan tikus itu terhadap perisian anti-virus dijangka.
Sesetengah virus bertujuan untuk merupakan "virus baik". Ia menyebarkan perbaikan kepada atur-atur cara yang dijangkitinya, atau menghapuskan virus-virus yang lain. Walaupun demikian, virus-virus sebegini adalah agak jarang. Ia masih menelan sumber sistem, dan mungkin akan menjejaskan sistem yang dijangkitinya tanpa sengaja serta juga kekadangnya dijangkiti oleh virus yang lain dan bertindak pula sebagai vektor untuk virus jahat. Tanpa disengajakan, atur-atur cara "virus baik" yang tidak ditulis dengan teliti juga boleh menjadi virus yang mendatangkan keburukan pada dirinya (umpamanya, 'virus baik' yang sebegini boleh salah mengecam fail sasaran dan dengan itu, salah menghapuskan fail sistem). Tambahan pula, ia biasanya bertindak tanpa meminta sebarang kebenaran daripada pemilik komputer. Oleh sebab kod penyalinan diri menimbulkan banyak kerumitan, adakah sesuatu virus yang bertujuan baik boleh menyelesaikan masalah dengan cara yang lebih baik, berbanding dengan atur cara biasa yang tidak menyalin diri, boleh dipersoalkan.
Dengan pendek kata, tidak adanya satu jawapan yang tunggal yang mungkin merangkumi seluruh demografi penulis virus yang begitu luas. Dalam kebanyakan bidang kuasa, pembebasan virus komputer (serta juga cecacing) merupakan suatujenayah komputer. Sila lihat jugarencana Berita BBC: Mengapa orang mencipta virus komputer.
Supaya dapat menyalin diri, virus harus dibenarkan untuk melaksanakan kodnya dan menulis pada ingatan. Atas alasan ini, banyak virus melekat pada failboleh laku yang merupakan sebahagian atur cara yang sah. Jika seseorang pengguna mencuba melaksanakan atur cara yang terjangkit, kod virus akan dilaksanakan lebih dahulu.
Virus-virus boleh dibahagikan kepada dua jenis, bersandarkan tindakannya apabila dilaksanakan:
Virus bukan huni dengan serta-merta akan mencari-cari perumah yang lain yang boleh dijangkiti dan selepas menjangkitinya, akan memindahkan kawalan kepada atur-atur cara penggunaan yang terjangkit.
Virus huni tidak mencari perumah apabila ia dilaksanakan tetapi sebaliknya, memuat diri ke dalam ingatan dan memindahkan kawalannya kepada atur cara perumah. Virus huni masih tetap aktif di latar belakang dan akan menjangkiti perumah-perumah yang baru apabila fail-fail itu dicapai oleh atur cara yang lain atau olehsistem pengendalian pada dirinya.
Virus bukan huni boleh dianggap sebagai terdiri daripada dua modul, iaitu "modul pencarian" dan "modul penyalinan". Modul pencarian bertanggungjawab untuk mencari fail baru untuk dijangkiti. Bagi setiap fail boleh laku yang baru yang ditemukan, modul pencarian akan memanggil modul penyalinan untuk menjangkiti fail itu.
Untuk virus-virus yang mudah, tugas-tugas penyalin adalah seperti yang berikut:
Menyemak adakah fail boleh laku itu telah dijangkiti (jika ia, kembali ke modul pencarian);
Melampirkan kod virus pada fail boleh laku;
Simpan titik permulaan fail boleh laku;
Tukarkan titik permulaan fail boleh laku supaya ia menunjuk ke lokasi permulaan kod virus yang baru sahaja disalin;
Simpan lokasi permulaan yang lama supaya virus akan menyimpang ke lokasi itu selepas ia dilaksanakan;
Simpan perubahan dalam fail boleh laku;
Tutup fail yang terjangkit; dan
Kembali ke modul pencarian supaya ia boleh mencari fail yang baru untuk dijangkiti oleh penyalin.
Virus huni mengandungi modul penyalinan yang serupa dengan modul yang digunakan oleh virus bukan huni, tetapi ia tidak digelar sebagaimodul pencarian. Sebaliknya, virus ini memuat modul penyalinan ke dalamingatan apabila ia dilaksanakan dan memastikan bahawa modul ini akan dilaksanakan setiap kalisistem pengendalian dipanggil untuk melakukan tugas-tugas yang tertentu, umpamanya apabila sistem pengendalian itu melaksanakan sesuatu fail. Dalam kes ini, virus itu akan menjangkiti setiap atur cara yang sesuai yang dilaksanakan oleh komputer.
Virus-virus huni kekadang dibahagikan kepada dua kategori, iaitupenjangkit cepat danpenjangkit lambat. Penjangkit cepat direka untuk menjangkiti sebanyak fail yang mungkin, umpamanya ia boleh menjangkiti setiap fail perumah yang dicapai. Ini akan menimbulkan masalah yang khusus untukperisian anti-virus kerana pengimbas virus akan mencapai setiap fail perumah yang berpotensi di dalam komputer apabila ia mengimbas seluruh sistem. Jika pengimbas virus gagal mengesan virus sebegitu yang wujud di dalam ingatan, virus itu boleh "menggendong" pengimbas virus dan dengan itu, menjangkiti semua fail yang diimbas. Penjangkit cepat bergantung kepada kadar penjangkitannya yang cepat untuk merebak. Kelemahan kaedah ini adalah bahawa penjangkitan banyak fail akan menyebabkannya mudah dikesan kerana virus itu akan memperlahankan komputer atau melakukan banyak tindakan yang menimbulkan kesangsian yang boleh dikesan oleh perisian anti-virus.
Penjangkit lambat sebaliknya direka untuk menjangkiti perumahnya sekali sekala. Umpamanya, sesetengah penjangkit lambat hanya menjangkiti fail apabila fail itu disalin. Penjangkit lambat direka semata-mata untuk mengelakkan pengesanan dengan membatasi tindakannya. Ia tidak banyak memperlahankan komputer dan jarang mencetuskan perisian anti-virus yang mengesan tindakan atur cara yang menimbulkan kesangsian. Walaupun demikian, pendekatan penjangkit lambat kelihatan tidak begitu berjaya.
Adalah susah, walaupun bukan tidak mungkin, bagi virus-virus mengekori fail sumber kerana bahasa-bahasa komputer dicipta juga untuk mata manusia dan operator-operator yang berpengalaman. Walaupun demikian, virus-virus amat tidak mungkin dapat mengekori fail data seperti fail-failMP3,MPG,OGG,JPG,GIF,PNG,MNG,PDF, danDVI (senarai jenis fail yang umumnya boleh dipercayai ini adalah tidak lengkap).
Walau jika sesuatu virus dapat 'menjangkiti' fail sebegini, ia tidak akan dapat dilaksanakan kerana tidak adanya sebarang cara untuk kod virus berbuat demikian. Bagaimanapun, suatu kaveat harus disebut tentang fail PDF yang, serupa dengan failHTML, bolehberpaut dengan kod jahat. Tambahan pula,limpah atas penimbal dalam sesebuah atur cara yang membaca fail data boleh dieksploitasikan dan dipergunakan untuk mencetuskan pelaksanaan kod yang tersembunyi di dalam fail data. Walaupun demikian, kesan serangan ini dapat dikurangkan dengan ketara olehseni bina komputer yang mempunyaibit tak boleh laksana.
Adalah memadai untuk memperhatikan bahawa sesetengah pencipta virus telah menulissambungan fail .EXE pada hujung .PNG (misalnya), dengan harapan bahawa para pengguna akan berhenti pada jenis fail yang dipercayai tanpa perasan bahawa komputer akan memulakan pelaksanaannya dengan jenis fail yang terakhir. Sila lihatkuda Troia.
Untuk mengelakkan pengesanan oleh pengguna, sesetengah virus menggunakan berbagai-bagai jenis penipuan. Sesetengah virus yang lama, khususnya untuk pelantar MS-DOS, memastikan bahawa tarikh "pengubahsuaian terakhir" untuk fail perumah dikekalkan apabila fail itu dijangkiti oleh virus. Bagaimanapun, pendekatan ini tidak dapat menipuperisian anti-virus, khususnya perisian anti-virus yang mengekalkan dan mentarikhkanKod Lewahan Sekitar apabila fail diubah.
Sesetengah virus juga boleh menjangkiti fail tanpa menambah saiz fail atau merosakkannya. Virus ini yang digelar "virus rongga" dapat mencapai perbuatan tersebut dengan menulis ganti kawasan-kawasan fail boleh laku yang tidak digunakan. Misalnya,virus CIH atauVirus Chernobyl boleh menjangkiti failBoleh Laku Mudah Alih. Oleh sebab fail-fail itu mempunyai banyak sela, virus yang 1KB panjangnya tidak akan menambah saiz fail yang dijangkiti. Sesetengah virus mencuba mengelakkan pengesanan dengan menghapuskan tugas-tugas yang dikaitkan dengan perisian anti-virus sebelum ia dapat mengesannya.
Ketika komputer-komputer dan sistem-sistem pengendalian berkembang menjadi lebih besar dan lebih rumit, teknik-teknik penyembunyian yang lebih lama perlu dikemas kini dan digantikan. Melindungi komputer anda daripada virus mungkin memerlukan sistem fail anda untuk berhijrah kepada kebenaran yang terperinci dan eksplisit bagi setiap jenis capaian fail.
Virus perlu menjangkiti perumah untuk merebak. Dalam sesetengah kes, penjangkitan atur cara perumah bukannya suatu cara yang baik kerana banyak atur cara anti-virus menyemak kewibawaan kod sendiri. Oleh itu, menjangkiti atur cara sedemikian akan menaikkan kemungkinannya untuk dikesan. Atas alasan ini, sesetengah virus diprogramkan supaya tidak akan menjangkiti atur cara yang merupakan sebahagian perisian anti-virus.
Lagi sejenis perumah yang virus kekadang akan mengelakkan ialahfail umpan (ataufail kambing). Fail umpan ialah fail yang dicipta khusus oleh perisian anti-virus atau oleh pencipta perisian anti-virus semata-mata untuk dijangkiti oleh virus. Fail-fail ini dicipta atas berbagai-bagai alasan, dengan kesemuanya berkait dengan pengesanan virus. Para pencipta perisian anti-virus boleh menggunakan fail umpan untuk:
Mengambil sampel virus, iaitu salinan fail atur cara yang dijangkiti oleh virus. Menukarkan sebuah fail umpan terjangkit yang kecil adalah lebih praktik, berbanding dengan menukarkan sebuahatur cara penggunaan terjangkit yang besar.
Mengkaji tindakan virus dan menilai kaedah-kaedah pengesanan. Ini adalah amat berguna apabila virus itu bersifatpolimorf. Dalam kes ini, perisian anti-virus boleh membuat virus itu menjangkiti sebilangan besar fail umpan. Fail-fail yang terjangkit boleh digunakan untuk menguji tentang adakah pengimbas virus berkesan terhadap semua versi virus itu.
Mencetuskan perisian anti-virus supaya memberikan amaran kepada pengguna bahawa sistem komputernya mungkin dijangkiti oleh virus apabila fail-fail umpan diubah.
Oleh sebab fail-fail umpan digunakan untuk mengesan virus atau untuk memungkinkan pengesanan, sesebuah virus boleh memanfaatkan diri jika ia tidak menjangkiti fail-fail tersebut. Virus biasanya berbuat sedemikian dengan mengelakkan atur-atur cara yang menimbulkan kesangsian, seperti fail atur cara yang kecil atau atur cara yang mengandungi pola 'arahan sampah' yang tertentu.
Salah satu strategi yang digunakan oleh virus komputer untuk menjadikan fail umpan tidak berkesan ialahpenjangkitan jarang. Penjangkit jarang kekadang tidak menjangkiti fail perumah yang merupakan calon yang sesuai dalam keadaan-keadaan yang lain. Umpamanya, virus boleh memutuskan secara rawak tentang adakah ia hendak menjangkiti sesuatu fail atau tidak. Sebaliknya, sesetengah virus hanya boleh menjangkiti fail perumah pada hari-hari yang tertentu dalam setiap minggu.
Sesetengah virus mencuba menipuperisian anti-virus dengan menyekat permintaannya kepadasistem pengendalian. Virus tersebut boleh menyembunyikan diri dengan menyekat permintaan perisian anti-virus untuk membaca fail dan mengalihkan permintaan yang sepatutnya diterima olehsistem pengendalian kepada virus. Virus itu kemudian akan mengembalikan versi fail yang tidak terjangkit kepada perisian anti-virus supaya fail itu kelihatan "bersih". Perisian anti-virus yang moden menggunakan berbagai-bagai teknik untuk mengatasi mekanisme virus yang sembunyi-sembunyi. Kaedah tunggal yang boleh dipercayai sepenuhnya untuk mengelakkan mekanisme sembunyi-sembunyi itu adalah untuk membut daripada medium yang kebersihannya diketahui.
Kebanyakan atur cara anti-virus yang moden mencuba mengesan pola-pola virus dalam atur cara biasa dengan mengimbasnya untuk mencari apa yang dipanggiltandatangan virus. Tandatangan virus ialah pola bait tipikal yang merupakan sebahagian virus atau keluarga virus yang tertentu. Jika sesuatu pengimbas virus menemukan pola sedemikian dalam sesuatu fail, ia akan memberitahu pengguna. Pengguna itu kemudian boleh menghapuskan, atau dalam sebilangan kes, "membersihkan" atau "menyembuhkan" fail yang terjangkit. Sesetengah virus menggunakan teknik-teknik yang menyebabkan pengesanan melalui tandatangan amat sukar tetapi bukan tidak mungkin. Virus-virus itu akan mengubah suai kodnya pada setiap penjangkitan, iaitu setiap fail yang terjangkit akan mengandungi kelainan virus yang berbeza.
Kaedah untuk mencipta virus yang lebih maju ialah penggunaanpenyulitan untukmengensifer sesuatu virus. Dalam kes ini, virus akan terdiri daripada dua bahagian, iaitu sebuah modul penyahsulitan yang kecil dan sebuah salinan penyulitan kod virus. Jika virus itu disulitkan dengan satu kunci yang tidak sama bagi setiap fail yang terjangkit, bahagian tunggal yang masih dikekalkan di dalam virus ialah modul penyahsulitan yang misalnya, akan dilampirkan pada hujung fail virus itu. Dalam kes sedemikian, pengimbas virus tidak dapat mengesan virus secara langsung melalui tandatangan, tetapi ia masih boleh mengesan modul penyahsulitan yang memungkinkan pengesanan virus secara tidak langsung. Oleh sebab ini merupakan kunci-kunci bersimetri yang disimpan dalam perumah yang terjangkit, virus terakhir sebenarnya masih boleh dinyahsulitkan tetapi perbuatan ini mungkin tidak diperlukan kerana kod mengubah suai diri adalah amat jarang sehingga pengimbas virus hanya diperlukan menandai fail itu sebagai menimbulkan kesangsian.
Salah satu penyulitan yang lama tetapi padat melibatkanpenXORan setiapbait dalam virus dengan sesuatu pemalar, dengan a XOR b = c, dan c XOR b = a, supaya eksklusif atau operasi itu hanya perlu diulangi untuk penyahsulitan. Oleh sebab hanya kod yang menimbulkan kesangsian akan mengubah suai diri, kod itu tetap merupakan sebahagian tandatangan dalam banyak takrif virus dan dengan itu, dapat dikesan oleh perisian anti-virus dengan mudah.
Kod polimorf merupakan teknik pertama yang menimbulkan ancaman yang dahsyat kepada pengimbas virus. Serupa dengan virus tersulit yang biasa, virus polimorf akan menjangkiti fail-fail dengan sebuah salinan tersulit diri yang dinyahkod oleh modul penyahsulitan. Bagaimanapun, dalam kes-kes virus polimorf, modul penyahsulitan ini juga akan diubah suai setiap kali ia menjangkiti fail. Justera itu, sebuah virus polimorf yang ditulis dengan teliti tidak mempunyai sebarang bahagian yang tepat sama selepas setiap penjangkitan dan oleh itu, menyebabkannya amat sukar dikesan secara langsung dengan menggunakan tandatangan.
Perisian anti-virus boleh mengesan virus dengan menyahsulitkannya melalui penggunaanpelagak atau melaluianalisis pola statistik tentang bahagian virus yang tersulit. Untuk membolehkan kod polimorf, virus harus mempunyaienjin polimorf (juga dikenali sebagai "enjinmemutat" atau "enjinmutasi") di dalam bahagian tersulitnya. Sila lihatkod polimorf untuk perincian teknik tentang bagaimana enjin sedemikian berjalan.
Sesetengah virus menggunakan kod polimorf dengan cara yang menyekat kadar mutasi virus dengan nyata sekali. Umpamanya, virus boleh diatur cara supaya tidak banyak memutat atau langsung tidak memutat apabila ia menjangkiti fail-fail di dalam komputer yang telah mengandungi salinan-salinan virus. Kelebihan untuk menggunakan kodpolimorf lambat adalah bahawa ia menyebabkan ahli profesional anti-virus lebih sukar untuk memperoleh sampel-sampel yang mewakili virus kerana fail-fail umpan yang terjangkit dalam setiap jalanan biasanya akan mengandungi sampel-sampel virus yang sama atau serupa. Ini akan mengakibatkan pengesan pengimbas virus lebih mungkin tidak boleh dipercayai, dengan virus-virus itu kekadangnya dapat mengelakkan pengesanan.
Untuk mengelakkan pengesanan melalui perlagakan, sesetengah virus menulis semula keseluruhan diri setiap kali sejurus sebelum menjangkiti fail boleh laku yang baru. Virus-virus yang menggunakan teknik ini dikatakan bersifatmetamorf. Untuk membolehkanmetamorfisme, sebuahenjin metamorf diperlukan. Virus metamorf biasanya amat besar dan rumit. Sebagai contoh,W32/Simile terdiri daripada melebihi 14 ribu garis kodbahasa himpunan, dengan 90% daripadanya merupakan bahagian enjin metamorf.
Lagi satu perbandingan antara virus komputer dengan virus biologi adalah bahawa kepelbagaian genetik dalam sesuatu populasi akan mengurangkan kemungkinan seluruh populasinya dihapuskan oleh satu penyakit yang tunggal. Serupa juga, kepelbagaian sistem perisian dalam rangkaian membatasi potensi virus untuk menghapuskannya. Bagaimanapun, ini kemudian menjadi suatu kebimbangan pada dekad1990-an apabilaMicrosoft menguasai pasaransistem pengendaliankomputer meja dansuit pejabat, dengan para pengguna perisian Microsoft (khususnya perisian perangkaian sepertiMicrosoft Outlook danInternet Explorer) amat mudah terdedah pada bahaya perebakan virus.
Perisian Microsoft telah disasarkan oleh para pencipta virus kerana penguasaan komputer mejanya, dengan perisian-perisiannya sering dikritik kerana mengandungi banyak kesilapan dan peluang untuk para penulis virus mengeksploitasikan. Perisian-perisian penggunaan, baik yang bersepadu mahupun yang menggunakanbahasa penskripan dengan kemudahan untuk mencapai sistem fail (umpamanyaSkrip Visual Basic (VBS) dan perisian penggunaan dengan ciri-ciri perangkaian), juga amat mudah terdedah pada bahaya perebakan virus.
Walaupun Windows merupakan sasaran serangan sistem pengendalian yang popular kepada para pencipta virus, sesetengah virus juga wujud untuk pelantar-pelantar yang lain. Sebenarnya, mana-mana sistem pengendalian yang membenarkan atur-atur cara pihak ketiga untuk dilaksanakan secara teori juga boleh melaksanakan atur cara virus. Sesetengah sistem pengendalian adalah lebih selamat berbanding dengan lain. Sebagai contoh, sistem pengendalian berasaskanUnix (dan perisianNTFS untuk pelantar-pelantar berasaskanWindows NT) hanya membenarkan penggunanya melaksanakan failboleh laku di dalam ruang terlindung yang terletak di dalamdirektori masing-masing.
Sehingga tahun2006, tidak terdapat banyak kejadian keselamatan[2] yang menyasarkanMac OS X (dengan sistem fail berasaskan Unix). Kerentanan-kerentanannya yang diketahui terangkum dalam pengelasancecacing dankuda Troia. Anggaran bilangan virus untukMac OS Klasik,sistem pengendalianApple yang lebih lama, amat berbeza dari sumber ke sumber, dengan Apple menyatakan bahawa terdapat hanya empat virus yang diketahui, dan sumber-sumber bebas memberikan bilangan sebanyak 63. Walaupun demikian, adalah selamat untuk mengatakan bahawa komputer Mac kurang mungkin dieksploitasikan kerana tapak Unix yang selamat, serta juga kerana virus khusus Mac hanya berupaya menjangkiti sebahagian yang kecil daripada komputer-komputer Apple dan oleh itu, menyebabkan usaha itu tidak begitu mengghairahkan.
Kerentanan terhadap virus antara Mac dan Window merupakan tumpuan jualan utama yang dipergunakan olehApple Computers untuk memujuk para pengguna komputerMicrosoft supaya beralih kepada komputer Apple (Dapatlah Mac). Secara ironi, jika terjadinya peralihan tapak pengguna daripadakomputer peribadi kepada Mac, maka pelantar Mac OS X kemudian akan menjadi sasaran yang lebih mengghairahkan kepada para pencipta virus. Oleh sebab tidak adanya banyak penyelesaian anti-virus untuk pelantar OS X pada masa ini, terdapat kemungkinan bahawa ini dengan amat cepatnya akan menjadi suatu masalah yang besar kepada para pengguna Mac, dengan syarikat Apple Computers betul-betul menjadi mangsa kepada kejayaan sendiri.[3]
Windows dan Unix mempunyai keupayaan penskripan yang serupa, tetapi sedangkan Unix menyekat semua pengguna biasanya daripada membuat perubahan kepada sekitaran sistem pengendalian, Windows tidak berbuat begitu. Pada tahun1997, ketika suatu virus untukLinux dibebaskan (dikenali sebagai "Bliss"), para penjual perisian anti-virus yang utama memberikan amaran bahawa sistem-sistembak Unix akan menjadi mangsa kepada virus-virus seperti dengan Windows.[4]
Virus Bliss boleh dianggap sebagai virus yang tipikal – bertentangan dengancecacing – untuk sistem-sistem Unix. Ia memerlukan pengguna melaksanakannya secara eksplisit (dan dengan itu, menyebabkannya merupakan salah satu "kuda Troia"), dan hanya berupaya menjangkiti atur-atur cara yang dicapai oleh pengguna untuk membuat perubahan. Berbeza dengan para pengguna Windows, kebanyakan pengguna Unix tidaklog masuk sebagai pentadbir kecuali untuk memasang ataumenatarajahkan perisian. Oleh itu, walau jika pengguna dapat melaksanakan atur cara virus, perbuatannya tidak akan menjejaskan sistem pengendalian. Virus Bliss tidak pernah merebak, dan hanya merupakan suatu keanehan penyelidikan. Penciptanya kemudian memaparkankod sumber virus itu ditapak webUsenet dan dengan itu, membenarkan para penyelidik melihat bagaimana ia berjalan.[5]
Oleh sebab perisian sering direka bentuk dengan ciri-ciri keselamatan untuk mencegah penggunaan sumber sistem tanpa kebenaran, banyak virus harus mengeksploitasikanpepijat perisian di dalam sesebuah sistem atau perisian penggunaan supaya dapat merebak. Strategi-strategipembangunan perisian yang menghasilkan banyak pepijat umumnya juga menggalakkan serangan virus.
Terdapat dua kaedah yang biasa digunakan olehperisian anti-virus untuk mengesan virus. Yang pertama dan yang merupakan kaedah pengesanan virus yang jauh lebih biasa adalah dengan menggunakan sebuah senarai takriftandatangan virus. Kelemahan kaedah pengesanan ini adalah bahawa para pengguna hanya dilindungi daripada virus-virus yang tersenarai pada kemas kini takrif virus yang terakhir. Kaedah yang kedua menggunakanalgoritmaheuristik untuk mencari virus berdasarkan tindakan-tindakannya yang serupa. Kaedah ini berupaya untuk mengesan virus yang firma-firma keselamatan anti-virus masih belum dapat mencipta tandatangannya.
Banyak pengguna memasang perisian anti-virus yang boleh mengesan dan menghapuskan virus-virus yang diketahui selepas komputernya telah memuat turun atau melaksanakan failboleh laku. Ia berjalan dengan memeriksa heuristik kandungan ingatan komputer (RAM dansektor but) serta fail-fail yang disimpan di dalam pemacu tetap atau boleh alih (pemacu cakera keras,pemacu cakera liut), lalu membandingkan fail-fail itu dengan sebuahpangkalan data yang mengandungi "tandatangan" virus. Sesetengah atur cara anti-virus berupaya mengimbas fail-fail yang terbuka, selain daripadae-mel yang dikirimkan dan diterima secara tergesa-gesa dengan cara yang sama. Amalan ini dikenali sebagai "pengimbasan pada capaian". Perisian anti-virus tidak mengubah keupayaan dasar perisian perumah untuk menghantar virus. Para pengguna harus mengemaskinikan perisian anti-virus mereka dengan tetap untukmenampung lubang-lubang keselamatan serta juga untuk perisian anti-virus mereka memperoleh pengetahuan tentang ancaman-ancaman yang terkini.
Seseorang juga boleh mencegah kerosakan yang dilakukan oleh virus dengan mencipta data (dan sistem pengendalian) sandar secara tetap pada medium yang berlainan, baik disimpan secara berasingan daripada sistem (bagi kebanyakan masanya), atau secara baca sahaja, ataupun secara tidak boleh dicapai atas alasan-alasan yang lain, seperti menggunakansistem fail yang berlainan. Dengan cara ini, jika data hilang kerana virus, seseorang masih dapat memulakan semula dengan menggunakan fail-fail sandar (yang seelok-eloknya merupakan fail sandar baru-baru ini). Jika sidang sandar padamedium optik sepertiCD danDVD ditutup, ia menjadi baca sahaja dan tidak boleh lagi terjejas oleh virus. Serupa juga, sebuah sistem pengendalian yang disimpan dalam cakeraboleh but boleh digunakan untuk memulakan komputer jika sistem pengendalian yang dipasang dalam komputer tidak boleh digunakan.
Lagi satu kaedah adalah untuk menggunakan sistem pengendalian yang berbeza daripada sistem fail. Sesuatu virus tidak begitu mungkin akan menjejaskan kedua-dua sistem itu. Sokongan data juga boleh menggunakan sistem-sistem fail yang berbeza, umpamanyaLinux memerlukan perisian yang khusus untuk menulis pada petakNTFS dan oleh itu, jika seseorang tidak memasang perisian tersebut dan sebaliknya menggunakan pemasangan MS Windows yang berlainan untuk mencipta fail sandar pada petak NTFS (dan seelok-eloknya hanya untuk alasan ini), fail-fail sandar itu harus selamat daripada sebarang virus Linux. Serupa juga, MS Windows tidak boleh membaca sistem-sistem fail sepertiext3 dan oleh itu, jika seseorang biasanya menggunakan MS Windows, fail-fail sandar boleh dicipta pada petak ext3 dengan menggunakan pemasangan Linux.
Sebaik sahaja sebuah komputer terjejas oleh virus, komputer itu biasanya tidak selamat untuk diteruskan penggunaannya, tanpa memasang semulasistem pengendalian komputer itu. Bagaimanapun, terdapat sebilangan cara pemulihan yang sedia ada selepas sesuatu komputer terjejas oleh virus. Tindakan-tindakan yang boleh diambil bergantung kepada teruknya jenis virus yang terlibat.
Satu langkah yang mungkin untuk menghapuskan virus yang wujud dalamWindows XP ialah penggunaan alat yang dikenali sebagaiPemulihan Sistem (System Restore). Alat ini memulihkanregistri dan fail-fail sistem yang genting kepada titik semak yang dahulu.
Seringnya, sesebuah virus akan mengakibatkan sistem komputer tergantung, dengan pembutan semula keras akan merosakkan titik pemulihan sistem daripada hari yang sama. Titik pemulihan daripada hari-hari sebelumnya harus masih berkesan, asalkan virus itu tidak direka untuk merosakkan fail-fail pemulihan. Bagaimanapun, sesetengah virus, misalnya virusCiaDoor, akan mematikan pemulihan sistem serta alat-alat lain yang penting sepertiPengurus Tugas (Task Manager) danpenggesa. Virus mengubah suai registri dengan cara yang tepat sama dengan para pentadbir mematikan alat-alat tersebut atas berbagai-bagai alasan daripada pengguna-pengguna terhad, kecuali bahawa virus menyekatsemua pengguna, termasuk juga pentadbir. Apabila sesuatu alat terjangkit diaktifkan, virus itu akan memaparkan pesanan, "Pengurus Tugas telah dimatikan oleh pentadbir anda", walaupun jika pengguna yang mencuba memulakan atur cara adalah pentadbir pada dirinya.
Sebagai usaha langkah terakhir, jika sistem anda mempunyai virus dan perisian anti-virus tidak dapat membersihkannya, pemasangan semulasistem pengendalian mungkin diperlukan. Untuk berbuat demikian dengan betul,cakera keras harus dipadamkan sama sekali (denganpemetakannya dipadamkan dan diformat) dan sistem pengendalian dipasang daripada medium yang diketahui tidak dijangkiti. Fail-fail sandar harus dicipta untuk fail-fail yang penting, jika mungkin, dan diimbas secara berasingan untuk mengesan jangkitan sebelum cakera keras yang asal dipadamkan dan sistem pengendalian dipasang semula.
^G. S. Rao, A. K. Rao, Ng Chee Aun & Cheng Yok San (1991). "virus".Kamus Komputer Sekolah Menengah. Penerbit Fajar Bakti Sdn Bhd. m/s. 86.ISBN967-65-1306-7.CS1 maint: uses authors parameter (link)