Bagaimana Virus Berfungsi
BRMCX | 6:15 AM |
Exploit
Etimologi
Istilah "virus" komputer berasal daripada perkataan virus biologi dan digunakan dalam erti kata yang sama. Istilah "virus" seringnya digunakan dalam bahasa biasa untuk menghuraikan semua jenis erisian jahat (malware), termasuk virus-virus yang wajar dikelaskan sebagai cecacing atau kuda Troy. Kebanyakan pakej perisian 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 oleh Fred Cohen pada tahun 1984 dalam kertas kerjanya, Uji kajian dengan Virus Komputer, yang menghargai Len Adleman kerana mencipta istilah itu. Bagaimanapun, sebuah novel fiksyen sains yang ditulis oleh David Gerrold pada tahun 1972 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 tahun 1982. Oleh yang demikian, walaupun penggunaan istilah "virus" oleh Cohen mungkin merupakan penggunaan "ilmiah" yang pertama, istilah itu telah digunakan lebih dahulu.
Strategi Penyalinan
Supaya dapat menyalin diri, virus harus dibenarkan untuk melaksanakan kodnya dan menulis pada ingatan. Atas alasan ini, banyak virus melekat pada fail boleh 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 oleh sistem pengendalian pada dirinya.
Virus Bukan Huni
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
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 dalam ingatan apabila ia dilaksanakan dan memastikan bahawa modul ini akan dilaksanakan setiap kali sistem 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, iaitu penjangkit cepat dan penjangkit 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 untuk perisian 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.
Vektor Dan Perumah
Virus-virus telah menyasarkan berbagai-bagai jenis medium penghantaran atau perumah. Senarai yang berikut adalah tidak lengkap:
Fail boleh laku perduaan, seperti fail COM dan fail EXE untuk MS-DOS, fail Boleh Laku Mudah Alih untuk Microsoft Windows, dan failELF untuk Linux;
Rekod But Jilid untuk cakera liut dan petak cakera keras;
Rekod but induk (MBR) untuk cakera keras;
Fail skrip serba guna, seperti fail kelompok untuk MS-DOS dan Microsoft Windows, fail VBSkrip, serta juga skrip cangkerang untuk pelantar bak Unix;
Fail skrip khusus atur cara penggunaan, seperti skrip Telix;
Dokumen yang boleh mengandungi makro, seperti dokumen Microsoft Word, hamparan Microsoft Excel, dokumen AmiPro, dan failpangkalan data Microsoft Access; dan
Kerentanan penskripan tapak silang untuk penggunaan web.
Vektor-Vektor Yang Tidak Sesuai Dihuni :
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-fail MP3, MPG, OGG, JPG, GIF, PNG, MNG, PDF, dan DVI
(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 fail HTML, boleh berpaut 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 oleh seni bina komputer yang mempunyai bit tak boleh laksana.
Adalah memadai untuk memperhatikan bahawa sesetengah pencipta virus telah menulis sambungan 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.
Kaedah Untuk Mengelak Pengesanan
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 menipu perisian anti-virus, khususnya perisian anti-virus yang mengekalkan dan mentarikhkan Kod 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 atau Virus Chernobyl boleh menjangkiti fail Boleh Laku Mudah Alih. Oleh sebab fail-fail itu mempunyai banyak sela, virus yang 1 KB 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.
Mengelakkan Fail Umpan Dan Lain-lain
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 ialah fail umpan (atau fail 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 sebuah atur cara penggunaan terjangkit yang besar.
Mengkaji tindakan virus dan menilai kaedah-kaedah pengesanan. Ini adalah amat berguna apabila virus itu bersifat polimorf. 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 ialah penjangkitan 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.
Cara-Cara Sembunyi
Sesetengah virus mencuba menipu perisian anti-virus dengan menyekat permintaannya kepada sistem pengendalian. Virus tersebut boleh menyembunyikan diri dengan menyekat permintaan perisian anti-virus untuk membaca fail dan mengalihkan permintaan yang sepatutnya diterima oleh sistem 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.
Pengubahsuian Diri
Kebanyakan atur cara anti-virus yang moden mencuba mengesan pola-pola virus dalam atur cara biasa dengan mengimbasnya untuk mencari apa yang dipanggil tandatangan 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.
Pengekodan Dengan Petunjuk Berubah-ubah
Kaedah untuk mencipta virus yang lebih maju ialah penggunaan penyulitan untuk mengensifer 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 melibatkan penXORan setiap bait 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
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 penggunaan pelagak atau melalui analisis pola statistik tentang bahagian virus yang tersulit. Untuk membolehkan kod polimorf, virus harus mempunyai enjin polimorf (juga dikenali sebagai "enjin memutat" atau "enjin mutasi") di dalam bahagian tersulitnya. Sila lihat kod 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 kod polimorf 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.
Kod Metamorf
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 bersifat metamorf. Untuk membolehkanmetamorfisme, sebuah enjin metamorf diperlukan. Virus metamorf biasanya amat besar dan rumit. Sebagai contoh, W32/Simile terdiri daripada melebihi 14 ribu garis kod bahasa himpunan, dengan 90% daripadanya merupakan bahagian enjin metamorf.
Sumber : Bacaan Umum Internet ( Google )
0 ulasan:
Post a Comment
Please Do Not Spam Here Moron. Everyone Welcome Here.