Apa cabang Ilmu Komputer yang mempelajari cara kerja program Anti Virus?

9

Ini adalah latihan sepele dalam automata terbatas untuk menunjukkan bahwa tidak ada algoritma yang dapat mendeteksi semua virus, namun ada banyak perusahaan perangkat lunak yang menjual Perangkat Lunak Anti Virus.

Apakah ada bagian CS yang berhubungan dengan Virus dan Anti Virus?

PS: Saya tidak bertanya tentang pembenaran non-CS terkait untuk memiliki AV atau tidak, tetapi hanya kategori / subjek dalam CS yang mereka masuki, jika ada. Jika AV bukan subjek dalam CS maka itu juga merupakan jawaban yang dapat diterima, apakah ada refrences dalam konteks CS untuk Virus dan AV?

Arjang
sumber
2
Selamat Datang di Pertukaran Ilmu Komputer! Keamanan komputer mungkin bidang yang ingin Anda selidiki. Coba Wikipedia; Anda harus mendapatkan informasi yang sebanding atau lebih baik di sana.
Patrick87

Jawaban:

12

Ada subarea keamanan komputer yang disebut Computer Virology. The Journal of Virology Komputer dikhususkan untuk topik. Mempelajari cara kerja perangkat lunak anti-virus hanya menggores permukaan area sekitar.

Misalnya, bahkan ada beberapa pekerjaan yang menerapkan logika pada malware: Definisi Umum Malware oleh S. Kramer dan JC Bradfield. Jurnal Virologi Komputer (6) 2010.

Dave Clarke
sumber
9

Virus dan teknologi antivirus sangat terkait dengan CS. Pertanyaan Anda mengingatkan saya pada sesuatu yang baru-baru ini saya baca. Berikut adalah kutipan dari buku karya Williamson & Shmoys, The Design of Approximation Algorithms, halaman 6. Ini membenarkan pentingnya (praktis) algoritma perkiraan, dan menggunakan masalah cover set yang terkenal sebagai contoh dalam konteks virus:

Masalah set cover digunakan dalam pengembangan produk antivirus, yang mendeteksi virus komputer. Dalam hal ini diinginkan untuk menemukan fitur-fitur penting yang terjadi pada virus yang dirancang untuk sektor boot komputer, sehingga fitur-fitur tersebut tidak muncul pada aplikasi komputer biasa. Fitur-fitur ini kemudian dimasukkan ke dalam heuristik lain untuk mendeteksi virus-virus sektor boot ini, sebuah jaringan saraf. Unsur-unsur masalah penutup yang ditetapkan adalah virus sektor boot yang dikenal (sekitar 150 pada saat itu). Setiap set berhubungan dengan beberapa urutan tiga byte yang terjadi pada virus ini tetapi tidak pada program komputer yang khas; ada sekitar 21.000 sekuens semacam itu. Setiap set berisi semua virus sektor boot yang memiliki urutan tiga byte yang sesuai di suatu tempat di dalamnya. Tujuannya adalah untuk menemukan sejumlah kecil sekuens semacam itu (jauh lebih kecil dari 150) yang akan berguna untuk jaringan saraf. Dengan menggunakan algoritma aproksimasi untuk menyelesaikan masalah, sekumpulan sekuens kecil ditemukan, dan jaringan saraf mampu mendeteksi banyak virus sektor boot yang sebelumnya tidak dianalisis.

Mengejutkan atau tidak, contoh ini menunjukkan bahwa setidaknya teknik AI dan optimasi kombinatorial berguna. Setelah membaca ini, orang dapat dengan mudah percaya bahwa banyak area CS memiliki hal-hal yang dapat diterapkan dalam konteks virus dan pendeteksiannya. Untuk menjawab pertanyaan Anda secara lebih langsung, banyak hal dalam CS berhubungan dengan virus, setidaknya secara tidak langsung.

Juho
sumber
7

Anda harus berhati-hati ketika menggunakan hasil teoritis untuk berdebat bahwa sesuatu tidak dapat dilakukan dalam praktik. Ada beberapa bahaya yang bisa membuat seseorang jatuh:

  1. hasil teoritis memiliki asumsi yang tidak berlaku,

  2. masalah dalam praktiknya tidak dimodelkan dengan baik oleh model teoritis,

  3. dalam praktiknya suatu solusi tidak harus sempurna untuk menjadi berguna.

Anda belum memberikan definisi formal tentang apa itu virus sehingga memperluas klaim Anda tentang latihan sepele dapat membantu dalam memahami apa yang sebenarnya Anda maksudkan.

Sebagian besar yang dilakukan oleh perangkat lunak antivirus adalah mendeteksi virus yang diketahui (dan variannya), dan ini dilakukan dengan membandingkan string (dalam file, memori, dll) dengan daftar string yang terbatas (tanda tangan virus). Itu sebabnya kita perlu memperbarui database perangkat lunak antivirus secara teratur.

Ada kemampuan tambahan untuk mendeteksi virus potensial berdasarkan "perilaku" mereka, tetapi metode ini tidak lengkap atau tidak masuk akal (dan mereka tidak perlu sehat / lengkap untuk berguna). Merancang perangkat lunak antivirus tampaknya lebih banyak jatuh di bidang teknik komputer daripada ilmu komputer sejauh ini (meskipun ilmu komputer dan teknik komputer sangat terkait).

Umumnya studi ini akan jatuh di bagian yang lebih diterapkan keamanan komputer (dan lebih umum area sistem: jaringan komputer, sistem operasi, dll) dari ilmu komputer, tetapi menggunakan ide-ide dari bagian lain dari ilmu komputer (pembelajaran mesin, dll) adalah khas.

Anda mungkin ingin memeriksa Seni Penelitian dan Pertahanan Virus Komputer .

Kaveh
sumber