Anti Virus programlarının nasıl çalıştığını inceleyen Bilgisayar Bilimi'nin dalı nedir?


9

Tüm virüsleri algılayabilen bir algoritma olmadığını göstermekle birlikte, sonlu otomatada önemsiz bir alıştırmadır, ancak Anti Virüs Yazılımı satan birçok yazılım şirketi vardır.

CS'nin Virüsler ve Anti Virüslerle ilgili herhangi bir kısmı var mı?

Not: CS ile ilgili olmayan ve AV'ye sahip olmanın gerekçesi hakkında değil, yalnızca CS içinde hangi kategoriye / konuya sahip olduklarını (varsa) soruyorum. AV CS içinde bir konu değilse, bu da kabul edilebilir bir cevaptır, CS bağlamında Virüslere ve AV'lere herhangi bir referans var mı?


2
Bilgisayar Bilimi Stack Exchange hoş geldiniz! Bilgisayar güvenliği araştırmak istediğiniz alan olabilir. Wikipedia'yı deneyin; orada karşılaştırılabilir veya daha iyi bilgi almalısınız.
Patrick87

Yanıtlar:


12

Bilgisayar Virolojisi adı verilen bir bilgisayar güvenliği alt alanı vardır. Bilgisayar Journal of Virology konusuna ayrılmıştır. Virüsten koruma yazılımının nasıl çalıştığını incelemek yalnızca bölgenin ne hakkında olduğunu çizer.

Örneğin, kötü amaçlı yazılımlara mantık uygulayan bazı çalışmalar bile vardır: S. Kramer ve JC Bradfield'ın Kötü Amaçlı Yazılımın Genel Tanımı . Bilgisayar Virolojisi Dergisi (6) 2010.


9

Virüsler ve antivirüs teknolojisinin CS ile çok ilgisi var. Sorunuz bana son zamanlarda okuduğum bir şeyi hatırlattı. İşte Williamson & Shmoys, Yaklaşım Algoritmalarının Tasarımı, sayfa 6 kitabından bir alıntı. Yaklaşım algoritmalarının (pratik) önemini haklı çıkarıyor ve virüsler bağlamında iyi bilinen küme kapak problemini örnek olarak kullanıyor:

Ayarlanan kapak sorunu, bilgisayar virüslerini algılayan bir virüsten koruma ürününün geliştirilmesinde kullanıldı. Bu durumda, bir bilgisayarın önyükleme sektörü için tasarlanmış virüslerde ortaya çıkan belirgin özelliklerin bulunması, bu özelliklerin tipik bilgisayar uygulamalarında ortaya çıkmaması istenmiştir. Bu özellikler daha sonra bir sinir ağı olan bu önyükleme sektörü virüslerini tespit etmek için başka bir sezgisel tarama içine dahil edildi. Belirlenen kapak probleminin unsurları bilinen önyükleme sektörü virüsleridir (o sırada yaklaşık 150). Her küme, bu virüslerde meydana gelen, ancak tipik bilgisayar programlarında olmayan bazı üç baytlık diziye karşılık geldi; bu tür yaklaşık 21.000 dizi vardı. Her set, içinde bir yerde karşılık gelen üç baytlık diziye sahip olan tüm önyükleme sektörü virüslerini içeriyordu. Amaç, sinir ağı için yararlı olacak az sayıda (150'den çok daha küçük) dizi bulmaktı. Sorunu çözmek için bir yaklaşım algoritması kullanarak, küçük bir dizi dizi bulundu ve sinir ağı daha önce analiz edilmemiş birçok önyükleme sektörü virüsünü tespit edebildi.

Şaşırtıcı olsun ya da olmasın, bu örnek en az yapay zeka ve kombinatoryal optimizasyon tekniklerinin yararlı olduğunu göstermektedir. Bunu okuduktan sonra, birçok CS bölgesinin virüsler ve bunların saptanması bağlamında uygulanabilecek şeylere sahip olduğuna kolayca inanılabilir. Sorunuzu daha doğrudan cevaplamak için, CS'deki birçok şey en azından dolaylı olarak virüslerle ilgilenir.


7

Pratikte bir şeyin yapılamayacağını iddia etmek için teorik sonucu kullanırken dikkatli olmalısınız. Birinin düşebileceği birkaç tehlike vardır:

  1. teorik sonucun geçerli olmadığı varsayımları vardır,

  2. pratikteki problem teorik modelle iyi modellenmemiş,

  3. pratikte bir çözümün faydalı olması için mükemmel olması gerekmez.

Virüsün ne olduğuna dair resmi bir tanım vermediniz, bu nedenle önemsiz egzersiz hakkındaki iddianızı genişletmek, gerçekten ne demek istediğinizi anlamada yardımcı olabilir.

Virüsten koruma yazılımının yaptıklarının büyük bir kısmı bilinen virüsleri (ve bunların varyantlarını) algılamaktır ve bu, dizeleri (dosyalarda, bellekte vb.) Sınırlı bir dizeyle (virüs imzaları) karşılaştırarak yapılır. Bu nedenle antivirüs yazılımının veritabanını düzenli olarak güncellememiz gerekiyor.

Potansiyel virüsleri "davranışlarına" göre tespit etme konusunda ek yetenekler vardır, ancak bu yöntemler ne tam ne de sağlamdır (ve yararlı olmaları için sağlam / eksiksiz olmaları gerekmez). Bir antivirüs yazılımı tasarlamak bilgisayar mühendisliğinde bilgisayar bilimlerinden daha fazla düşüyor gibi görünüyor (bilgisayar bilimi ve bilgisayar mühendisliği yakından ilişkili olsa da).

Genellikle bu çalışmalar, bilgisayar güvenliğinin (ve daha genel olarak sistem alanlarının: bilgisayar ağları, işletim sistemleri, vb.) Bilgisayar biliminin daha uygulamalı bir bölümüne düşecektir, ancak bilgisayar biliminin diğer bölümlerinden (makine öğrenimi, vb.) tipik.

Bilgisayar Virüsü Araştırma ve Savunma Sanatı'nı kontrol etmek isteyebilirsiniz .

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.