Bagaimana cara kerja anti-virus?

54

Jadi saya berpikir tentang virus baru-baru ini, dan bertanya-tanya bagaimana tepatnya antivirus bisa bertahan? Mempertimbangkan siapa saja yang telah mengkode selama beberapa minggu dapat melakukan hacking bersama-sama melakukan sesuatu yang tidak menyenangkan, hal-hal buruk pada PC seseorang, jumlah itu saja akan membuat daftar sederhana hash menjadi penghalang, jadi bagaimana cara antivirus melakukannya? Apakah mereka memantau aktivitas proses dan memiliki aturan 3 serangan untuk melakukan hal-hal seperti virus? Dan jika demikian, apa yang menghentikannya memicu hal-hal yang benar-benar tidak berbahaya (seperti saya memindahkan file di \ system32)?

Saya melakukan sedikit pencarian di Google, tetapi tempat-tempat biasa tidak terlalu membantu, dan saya tidak dapat menemukan korban penipuan di sini, jadi saya pikir akan lebih baik untuk bertanya :)

Phoshi
sumber
4
@ Jo tidak perlu menambahkan tag windows. Antivirus bekerja dengan cara yang hampir sama di semua OS. Juga, cara AV bekerja tidak subyektif.
Alex
oh Maaf saya berpikir ini mungkin ada di windows dan subyektif. Saya mengerti bahwa
joe
6
Mereka datang terinstal ketika Anda membeli laptop dan terus mengeluh selama 60 hari bahwa Anda harus mendaftar / membayar untuk mereka, sampai Anda akhirnya mengeluarkannya dari sistem Anda. Biasanya, dialog mereka adalah modal dan paling atas sehingga mereka dapat secara efektif memblokir Anda dari melakukan hal lain, dan mereka tidak pernah menawarkan cara mudah untuk menghapus instalan.
Daniel Daranas
menabrak +1 untuk pertanyaan yang sangat bagus
dag729
AV heuristics canggih tetapi akan gagal mendeteksi ancaman baru (atau varian pintar dari ancaman yang ada). Heuristik sering menghasilkan positif palsu pada perangkat lunak / kode yang sepenuhnya jinak. Perangkat lunak AV berguna tetapi sering kali merupakan penopang, memberi pengguna rasa aman palsu. Saya telah menguji banyak virus yang dikenal di ( virustotal.com/en ) dan nama-nama terkenal seperti Symantec, McAfee dan AVG tidak mendeteksi apa-apa (walaupun Kaspersky umumnya bekerja dengan baik). Lebih baik mengetahui sistem Anda, perhatikan apa yang Anda lakukan ... dan miliki cadangan!
AlainD

Jawaban:

17

Artikel ini dari tahun 2002 berbicara tentang membangun mesin antivirus.

Artikel ini akan menjelaskan ide-ide dasar, konsep, komponen dan pendekatan yang terlibat dalam mengembangkan program anti-virus dari awal dari sudut pandang pengembang / insinyur perangkat lunak. Ini akan fokus pada elemen-elemen utama dari mesin anti-virus (selanjutnya disebut sebagai mesin AV) dan akan mengecualikan aspek-aspek seperti antarmuka pengguna grafis, monitor real-time, driver sistem file dan plug-in untuk perangkat lunak aplikasi tertentu seperti Microsoft Exchange atau Microsoft Office. Meskipun mesin AV menjalankan / memindai platform tunggal (seperti Palm OS atau EPOC / Symbian OS) dapat dirancang dengan cara yang sama, artikel ini akan fokus pada merancang mesin pemindaian multi-platform, yang jauh lebih kompleks.

Ada juga artikel tentang teknik heuristik untuk mendeteksi infeksi. Ini juga bacaan yang menarik.

alex
sumber
+1 untuk artikel heuristik itu - sangat menarik :)
Phoshi
Itu yang benar-benar layak dibaca. Bagian heuristik adalah :) penting
alex
Saya memiliki rasa hormat yang baru ditemukan terhadap antivirus setelah membaca itu, hal-hal yang cukup pintar!
Phoshi
Mereka adalah aplikasi yang sangat kompleks. Sayangnya, mereka telah mengubah mereka menjadi sesuatu yang dibenci oleh banyak orang, termasuk saya. Antarmuka kustom, ceroboh, tidak intuitif, fitur-fitur yang ditempelkan hanya untuk menambahkan poin-poin lain ke daftar fitur, mengasapi. Ini adalah hal yang telah mengubah mereka menjadi mimpi buruk. Namun, banyak hal yang berbalik; contoh terbaik dari solusi AV yang baik adalah MSE.
alex
Itu adalah hal heuristik yang memberi tip, maaf joe: P Jawaban yang bagus terlepas dari :) @alex; Sayangnya, saya harus setuju, tetapi memahami kerumitan di bawah ini membuat saya lebih bersimpati. Ini adalah hal yang kompleks, dan tidak akan masuk akal untuk menarik pelanggan potensial, sementara "GUI warna yang dapat disesuaikan!" mungkin :(
Phoshi
13

Sekitar setahun yang lalu saya menghadiri kuliah oleh Mikko Hyyppönen, salah satu peneliti utama F-Secure. Dia menunjukkan jaringan pengujian otomatis mereka, di mana mereka membuat mesin virtual untuk setiap sampel yang dikirim kepada mereka, menganalisis strukturnya, membiarkannya berjalan, mencatat semua yang dilakukannya, referensi silang dengan sampel sebelumnya dan menghasilkan ringkasan bagi manusia untuk memeriksanya nanti. Jika manusia menyimpulkan bahwa itu adalah virus, sistem secara otomatis menghasilkan tanda tangan deteksi dan mengirimkan pembaruan kepada pelanggan. Saya membayangkan vendor lain memiliki sistem yang sama juga untuk memperbarui database tanda tangan mereka.

Hirvox
sumber
4

Dari Bagaimana cara kerja perangkat lunak anti-virus? (AntivirusWorld):

Program perangkat lunak anti-virus adalah program komputer yang dapat digunakan untuk memindai file untuk mengidentifikasi dan menghilangkan virus komputer dan perangkat lunak jahat lainnya (malware).

Perangkat lunak anti-virus biasanya menggunakan dua teknik berbeda untuk mencapai ini:

  • Memeriksa file untuk mencari virus yang diketahui melalui kamus virus Mengidentifikasi perilaku mencurigakan dari program komputer apa pun yang mungkin mengindikasikan infeksi
  • Sebagian besar perangkat lunak anti-virus komersial menggunakan kedua pendekatan ini, dengan penekanan pada pendekatan kamus virus.

Pendekatan kamus virus Dalam pendekatan kamus virus, ketika perangkat lunak anti-virus memeriksa suatu file, ini merujuk ke kamus virus yang dikenal yang telah diidentifikasi oleh penulis perangkat lunak anti-virus. Jika sepotong kode dalam file cocok dengan virus yang diidentifikasi dalam kamus, maka perangkat lunak anti-virus kemudian dapat menghapus file, karantina sehingga file tidak dapat diakses oleh program lain dan virusnya tidak dapat menyebar, atau mencoba untuk memperbaiki file dengan menghapus virus itu sendiri dari file.

Agar berhasil dalam jangka menengah dan panjang, pendekatan kamus virus memerlukan unduhan online secara berkala dari entri kamus virus yang diperbarui. Ketika virus-virus baru diidentifikasi "di alam liar", para pengguna yang berpikiran sosial dan cenderung secara teknis dapat mengirimkan file-file mereka yang terinfeksi kepada para penulis perangkat lunak anti-virus, yang kemudian memasukkan informasi tentang virus-virus baru dalam kamus mereka.

Perangkat lunak anti-virus berbasis kamus biasanya memeriksa file ketika sistem operasi komputer membuat, membuka, dan menutupnya; dan ketika file dikirimkan melalui email. Dengan cara ini, virus yang dikenal dapat dideteksi segera setelah diterima. Perangkat lunak ini biasanya juga dijadwalkan untuk memeriksa semua file pada hard disk pengguna secara teratur.

Meskipun pendekatan kamus dianggap efektif, penulis virus telah mencoba untuk tetap selangkah lebih maju dari perangkat lunak tersebut dengan menulis "virus polimorfik", yang mengenkripsi bagian dari diri mereka sendiri atau memodifikasi diri mereka sebagai metode penyamaran, sehingga tidak cocok dengan tanda tangan virus. di kamus.

Pendekatan perilaku mencurigakan Pendekatan perilaku mencurigakan, sebaliknya, tidak berusaha mengidentifikasi virus yang diketahui, tetapi memantau perilaku semua program. Jika satu program mencoba menulis data ke program yang dapat dieksekusi, misalnya, ini ditandai sebagai perilaku yang mencurigakan dan pengguna diperingatkan untuk hal ini, dan ditanya apa yang harus dilakukan.

Tidak seperti pendekatan kamus, pendekatan perilaku mencurigakan memberikan perlindungan terhadap virus baru yang belum ada dalam kamus virus apa pun. Namun, itu juga terdengar banyak positif palsu, dan pengguna mungkin menjadi peka terhadap semua peringatan. Jika pengguna mengklik "Terima" pada setiap peringatan seperti itu, maka perangkat lunak anti-virus jelas tidak berguna bagi pengguna itu. Masalah ini terutama telah diperburuk selama 7 tahun terakhir, karena banyak desain program yang tidak berbahaya memilih untuk memodifikasi file .ex lainnya tanpa memperhatikan masalah positif palsu ini. Dengan demikian, sebagian besar perangkat lunak anti virus modern menggunakan teknik ini semakin sedikit.

Cara lain untuk mendeteksi virus Beberapa perangkat lunak anti-virus akan mencoba untuk meniru awal kode setiap executable baru yang sedang dieksekusi sebelum mentransfer kontrol ke executable. Jika program tersebut tampaknya menggunakan kode modifikasi diri atau muncul sebagai virus (segera mencoba untuk menemukan executable lain), orang dapat berasumsi bahwa executable telah terinfeksi virus. Namun, metode ini menghasilkan banyak kesalahan positif.

Namun metode deteksi lain menggunakan kotak pasir. Kotak pasir mengemulasi sistem operasi dan menjalankan executable dalam simulasi ini. Setelah program dihentikan, kotak pasir menganalisis untuk perubahan yang mungkin mengindikasikan virus. Karena masalah kinerja, jenis deteksi ini biasanya hanya dilakukan selama pemindaian saat diminta.

Masalah yang menjadi perhatian

Virus makro, bisa dibilang virus komputer yang paling merusak dan menyebar, dapat dicegah jauh lebih murah dan efektif, dan tanpa perlu semua pengguna untuk membeli perangkat lunak anti-virus, jika Microsoft akan memperbaiki kelemahan keamanan di Microsoft Outlook dan Microsoft Office terkait dengan pelaksanaan kode yang diunduh dan kemampuan makro dokumen untuk menyebar dan menimbulkan kekacauan.

Pendidikan pengguna sama pentingnya dengan perangkat lunak anti-virus; sekadar melatih pengguna dalam praktik komputasi yang aman, seperti tidak mengunduh dan menjalankan program yang tidak dikenal dari Internet, akan memperlambat penyebaran virus, tanpa perlu perangkat lunak anti-virus.

Pengguna komputer tidak harus selalu berjalan dengan akses administrator ke mesin mereka sendiri. Jika mereka hanya berjalan dalam mode pengguna maka beberapa jenis virus tidak akan dapat menyebar.

Pendekatan kamus untuk mendeteksi virus sering tidak memadai karena terus-menerus membuat virus baru, namun pendekatan perilaku yang mencurigakan tidak efektif karena masalah positif palsu; karenanya, pemahaman saat ini tentang perangkat lunak anti-virus tidak akan pernah menaklukkan virus komputer.

Ada berbagai metode mengenkripsi dan mengemas perangkat lunak berbahaya yang akan membuat bahkan virus terkenal tidak terdeteksi oleh perangkat lunak anti-virus. Mendeteksi virus "disamarkan" ini membutuhkan mesin pembongkaran yang kuat, yang dapat mendekripsi file sebelum memeriksanya. Sayangnya, banyak program anti-virus populer tidak memiliki ini dan dengan demikian sering tidak dapat mendeteksi virus yang dienkripsi.

Perusahaan yang menjual perangkat lunak anti-virus tampaknya memiliki insentif keuangan untuk virus yang akan ditulis dan menyebar, dan bagi masyarakat untuk panik atas ancaman tersebut.

(Saya suka artikel ini, dan saya hanya menyalin dan menempel dari AntivirusWorld.)

joe
sumber
Terima kasih :) Untuk pendekatan kamus, apakah itu berarti jika saya menyalin kode virus yang dikenal dan meletakkannya di aplikasi saya, itu akan terdeteksi, tetapi jika saya menulis sesuatu yang serupa itu harus menunggu untuk hal perilaku yang mencurigakan? (Hipotetis, tentu saja)
Phoshi
YA .. itu akan terjadi.
joe
Itu masuk akal, jika Anda tidak dapat menghentikan virus yang dibuat, maka menghentikan kode yang ada cukup baik (dan diberi jumlah waktu yang tak terbatas, akan menghentikan setiap kemungkinan virus - tidak buruk: P)
Phoshi
Itulah tanda tangan itu. Sebagian kode mesin jahat yang umum terdapat lebih dari satu virus.
alex
Jika AV membandingkan file dengan kamus, katakan 10.000 virus yang dikenal, lalu mengapa itu CEPAT? Kenapa setiap file membutuhkan waktu milidetik untuk memindai ..
LantisGaius
3

Phoshi, pertanyaan Anda sangat menarik, tetapi saya sarankan Anda untuk memulai pencarian Anda dengan yang lain. Saya menyarankan ini karena jawaban atas pertanyaan yang Anda ajukan dapat menyesatkan Anda.

Saya menyarankan Anda untuk mulai dengan memikirkan tentang apa yang Anda anggap sebagai virus, apa definisinya.

Penulis virus elit adalah peneliti keamanan, bukan skrip kiddies. Definisi virus mereka adalah: "virus adalah bagian dari kode yang dapat menggandakan dirinya sendiri". Itu dia. Seperti yang Anda lihat, tidak ada fitur merusak yang disebutkan di sini. Semua virus wajib jahat - itulah FUD yang Anda dapatkan dari pembuat antivirus berpemilik sehingga mereka dapat menjual perangkat lunak mereka.

IMHO, bijaksana untuk memperlakukan virus sebagai bagian dari keseluruhan ekosistem perangkat lunak, bukan sebagai "alien" jahat di luar.

kutu buku
sumber
Yah, aku bertanya bagaimana AV bekerja, jadi saya pikir jawaban ... jawaban yang cukup baik, tapi Anda membuat titik yang sangat baik, itu yang sesuatu untuk dipikirkan :)
Phoshi
Menonton dua antivirus di komputer yang sama mencoba membunuh satu sama lain juga lucu. Jangan ragu untuk bertanya-tanya mengapa mereka melakukan itu :-)
geek
1

Salah satu cara yang sangat penting untuk melihat virus adalah sebaliknya. Bagaimana Virus kompromi sistem. Ini biasanya melalui kerentanan perangkat lunak. Perangkat lunak anti virus mengetahui kerentanan ini dan mencari perangkat lunak yang memengaruhi kerentanan ini. Bagaimanapun, virus selalu melakukan sesuatu. Jadi mereka membutuhkan proses kerja untuk melakukan apa pun yang mereka lakukan yang terbaik. Kadang-kadang ini ada yang sudah ada, kadang-kadang mereka membuat satu sendiri.

Namun, sebagian besar virus bekerja dengan cara yang serupa, sehingga memudahkan pemindai virus untuk membedakannya. Ada banyak virus yang memanfaatkan kerentanan yang sama!

http://en.wikipedia.org/wiki/List_of_computer_viruses

Lubang
sumber