Anti-virüsler nasıl çalışır?


54

Son zamanlarda virüsleri düşünüyordum ve antivirüslerin tam olarak nasıl devam ettiğini merak ediyordum? Birkaç hafta boyunca kodlayan bir kimsenin bir şeyi kesmek, birisinin PC'sine kötü, kötü şeyler yapmak için bir araya gelebilirse, tek başına miktar basit bir karma listesi engelleyici yapar, yani antivirüsler bunu nasıl yapar? Proses aktivitesini izliyorlar ve virüs benzeri şeyler yapmak için 3 grev kuralı var mı? Ve eğer öyleyse, zararsız şeyleri tetiklemekten ne alıkoyuyor?

Biraz googling yaptım, ama normal yerler pek yardımcı olmadı ve burada bir dupe bulamadım, bu yüzden sormanın iyi olacağını düşündüm :)


4
@joe bir windows etiketi eklemenize gerek yok. Antivirüs herhangi bir işletim sisteminde hemen hemen aynı şekilde çalışır. Ayrıca, bir AV'nin çalışma şekli öznel değildir.
alex

ah. Üzgünüm, bunun pencerelerde ve öznel olabileceğini düşünüyordum. Bunu anlıyorum
joe

6
Bir dizüstü bilgisayar satın aldığınızda önceden kurulmuş olarak gelirler ve en sonunda sisteminizden çıkana kadar, kayıt yaptırmanız / ödemeniz gereken 60 gün boyunca inlemeye devam ederler. Genellikle, iletişim kutuları modal ve en üst sıralardadır, böylece sizi başka bir şey yapmanıza etkili bir şekilde engelleyebilirler ve kaldırmaları kolay bir yöntem sunmazlar.
Daniel Daranas

çok güzel bir soru için + 1 çarpmak
dag729

AV sezgiselliği karmaşıktır ancak yeni tehditleri (veya mevcut tehditlerin zekice çeşitlerini) saptamakta başarısız olacaktır. Sezgisel tarama genellikle iyi huylu yazılım / kod üzerinde yanlış pozitifler üretir. AV yazılımı kullanışlıdır ancak kullanıcılara yanlış bir güvenlik hissi veren genellikle bir koltuk değneğidir. Bilinen birçok virüsü ( virustotal.com/tr ) test ettim ve Symantec, McAfee ve AVG gibi üst isimler hiçbir şey tespit etmedi (Kaspersky genelde iyi olsa da). En iyisi, sisteminizi bilmek, ne yaptığınızı izleyin ... ve bir yedeğinizi alın!
AlainD

Yanıtlar:


17

2002'den itibaren yayınlanan bu makale bir virüsten koruma yazılımı oluşturmayı anlatıyor.

Makalede, bir anti-virüs programının geliştirilmesinde rol oynayan geliştirici / yazılım mühendisinin bakış açısından temel fikirler, kavramlar, bileşenler ve yaklaşımlar açıklanacaktır. Anti-virüs motorunun ana unsurlarına odaklanacak (bundan sonra AV motoru olarak anılacaktır) ve grafiksel kullanıcı arayüzleri, gerçek zamanlı monitörler, dosya sistemi sürücüleri ve Microsoft Exchange gibi belirli uygulama yazılımları için eklentiler gibi unsurları hariç tutacaktır. Microsoft Office. Tekli platformlar için çalışan / tarayan AV motorları (Palm OS veya EPOC / Symbian OS gibi) aynı şekilde tasarlanabilse de, bu makale çok daha karmaşık olan çok platformlu tarama motorları tasarlamaya odaklanacaktır.

Enfeksiyonları tespit etmek için sezgisel tekniklerle ilgili bir makale de var . Aynı zamanda ilginç bir okuma.


Sezgisel makale için +1 - çok ilginç :)
Phoshi

Gerçekten okumaya değer olan bu. Sezgisel bölüm esastır :)
alex

Bunu okuduktan sonra antivirüslere yeni saygım var, oldukça zekice şeyler!
Phoshi

İnanılmaz derecede karmaşık uygulamalardır. Ne yazık ki, onlar ben de dahil olmak üzere birçok insanın tehdit ettiği bir şeye dönüştürülmüşlerdir. Özel, özensiz, sezgisel olmayan arayüzler, sadece özellik listesine başka bir madde işareti eklemek için tacked özellikler, şişkinlik. Bu onları kabusa dönüştüren şey. İşler tersine dönüyor; iyi bir AV çözümünün en iyi örneği MSE'dir.
alex

Bunu anlatan buluşsal şeylerdi, üzgünüm joe: P Ne olursa olsun iyi cevap :) @alex; Ne yazık ki, aynı fikirdeyim, ama aşağıdaki karmaşıklıkları anlamak beni daha çok sempati duyuyor. Bu karmaşık bir şey ve potansiyel bir müşteriyi etkilemek için yeterince mantıklı olmaz, “Özelleştirilebilir renk GUI!” olabilir :(
Phoshi

13

Yaklaşık bir yıl önce, F-Secure'un en önemli araştırmacılarından biri olan Mikko Hyyppönen'in konferansına katıldım. Kendilerine gönderilen her örnek için sanal makineler oluşturdukları, yapılarını analiz ettikleri, çalışmasına izin verdiği, yaptığı her şeyi kaydettiği, önceki örneklerle çapraz referans verdiği ve daha sonra kontrol etmesi için bir özet oluşturduğu otomatik test ağlarını gösterdi. İnsan bir virüs olduğu sonucuna varırsa, sistem otomatik olarak algılama imzasını oluşturur ve müşterilere bir güncelleme gönderir. Diğer üreticilerin de imza veritabanlarını güncel tutmak için benzer sistemlere sahip olduğunu hayal ediyorum.


4

Gönderen yapar nasıl anti-virüs yazılımı çalışması?(AntivirusWorld):

Bir virüsten koruma yazılımı, bilgisayar virüslerini ve diğer kötü amaçlı yazılımları (kötü amaçlı yazılımları) tanımlamak ve ortadan kaldırmak için dosyaları taramak için kullanılabilecek bir bilgisayar programıdır.

Anti-virüs yazılımı genellikle bunu başarmak için iki farklı teknik kullanır:

  • Bilinen virüsleri bulmak için dosyaları bir virüs sözlüğü aracılığıyla incelemek Herhangi bir bilgisayar programından virüs bulaştığını belirten şüpheli davranışları tanımlama
  • Ticari virüsten korunma yazılımlarının çoğu, bu sözlüklerin her ikisini de kullanır, virüs sözlük yaklaşımına vurgu yapar.

Virüs sözlük yaklaşımı , virüsten koruma yazılımı bir dosyayı incelerken, virüsten koruma yazılımının yazarı tarafından tanımlanan bilinen virüslerin sözlüğünü ifade eder. Dosyadaki bir kod parçası sözlükte belirtilen virüslerle eşleşirse, virüsten koruma yazılımı daha sonra dosyayı silebilir, karantinaya alabilir, böylece dosyanın diğer programlara erişemeyeceği ve virüsünün yayılması mümkün olmayabilir veya denenemez virüsün kendisini dosyadan kaldırarak dosyayı onarmak için.

Orta ve uzun vadede başarılı olmak için virüs sözlüğü yaklaşımı, güncellenen virüs sözlüğü girişlerinin periyodik olarak çevrimiçi indirilmesini gerektirir. Yeni virüsler "vahşi" olarak tanımlandıkça, toplumsal olarak fikir sahibi ve teknik olarak eğimli kullanıcılar, virüslü dosyalarını virüse karşı koruma yazılımlarının yazarlarına gönderebilir, bu da sözlüklerinde yeni virüsler hakkında bilgiler içerir.

Sözlüğe dayalı virüsten koruma yazılımı genellikle bilgisayarın işletim sistemi oluşturduğunda, açtığında ve kapattığında dosyaları inceler; ve dosyalar e-posta ile gönderildiğinde. Bu şekilde, bilinen bir virüs alındıktan hemen sonra tespit edilebilir. Yazılım ayrıca, tipik olarak kullanıcının sabit diskindeki tüm dosyaları düzenli aralıklarla incelemek üzere programlanabilir.

Sözlük yaklaşımı etkili görünse de, virüs yazarları virüsün imzasıyla eşleşmeyecek şekilde kendi parçalarını şifreleyen veya kendilerini başka bir kılık değiştirme yöntemi olarak değiştiren "polimorfik virüsler" yazarak bu tür yazılımların bir adım önünde durmaya çalışmışlardır. sözlükte.

Şüpheli davranış yaklaşımı Şüpheli davranış yaklaşımı, aksine, bilinen virüsleri tanımlamayı denemez, bunun yerine tüm programların davranışını izler. Bir program çalıştırılabilir bir programa veri yazmaya çalışırsa, örneğin, bu şüpheli davranış olarak işaretlenir ve kullanıcı bu konuda uyarılır ve ne yapılacağı sorulur.

Sözlük yaklaşımından farklı olarak, şüpheli davranış yaklaşımı, henüz herhangi bir virüs sözlüklerinde bulunmayan yepyeni virüslere karşı koruma sağlar. Bununla birlikte, aynı zamanda çok sayıda yanlış pozitif ses çıkarmaktadır ve kullanıcılar muhtemelen tüm uyarılara karşı duyarlılık kazanmaktadır. Kullanıcı bu tür bir uyarıda "Kabul Et" i tıklarsa, o zaman anti-virüs yazılımı bu kullanıcı için kullanışsızdır. Bu sorun özellikle son 7 yılda daha da kötüye gitti, çünkü pek çok kötü niyetli program tasarımı bu yanlış pozitif konuya bakmaksızın diğer .ex'leri değiştirmeyi seçti. Böylece, çoğu modern anti virüs yazılımı bu tekniği daha az kullanmaktadır.

Virüsleri saptamanın diğer yolları Bazı anti-virüs yazılımları, kontrolü çalıştırılabilir dosyaya aktarmadan önce yürütülen her çalıştırılabilir kodun başlangıcını taklit etmeye çalışacaktır. Program kendi kendini değiştiren bir kod kullanıyor gibi görünüyorsa veya başka bir virüs gibi görünüyorsa (hemen çalıştırılabilir dosyaları bulmaya çalışır), çalıştırılabilir dosya virüs bulaşmış olabilir. Ancak, bu yöntem birçok yanlış pozitif sonuç verir.

Yine başka bir algılama yöntemi bir sanal alan kullanmaktır. Bir sanal alan işletim sistemini taklit eder ve bu simülasyonda yürütülebilir dosyayı çalıştırır. Program sonlandırıldıktan sonra, sanal alan bir virüsü gösterebilecek değişiklikler için analiz yapar. Performans sorunları nedeniyle, bu tür saptama normalde yalnızca isteğe bağlı taramalar sırasında gerçekleştirilir.

Endişe konuları

Makro virüsler, tartışmasız en yıkıcı ve yaygın bilgisayar virüsleri, Microsoft'un Microsoft Outlook ve Microsoft Office’le ilgili güvenlik hatalarını gidermesi durumunda tüm kullanıcıların virüse karşı koruma yazılımı satın almalarına gerek kalmadan çok daha ucuz ve etkili bir şekilde önlenebilir indirilen kodun yürütülmesi ve belge makrolarının tahribata yol açması ve yayılması yeteneği.

Kullanıcı eğitimi antivirüs yazılımı kadar önemlidir; Internet’ten bilinmeyen programları indirmek ve yürütmemek gibi kullanıcıları güvenli bilgisayar uygulamaları konusunda eğitmek, virüsten koruma yazılımına ihtiyaç duymadan virüslerin yayılmasını yavaşlatır.

Bilgisayar kullanıcıları her zaman kendi makinelerine yönetici erişimi ile çalıştırılmamalıdır. Basitçe kullanıcı modunda çalışırlarsa, bazı virüs tipleri yayılamaz.

Sürekli yeni virüslerin yaratılmasından dolayı virüsleri tespit etmeye yönelik sözlük yaklaşımı çoğu zaman yetersizdir, ancak şüpheli davranış yaklaşımı yanlış pozitif problem nedeniyle etkisizdir; Bu nedenle, mevcut anti-virüs yazılımı anlayışı hiçbir zaman bilgisayar virüslerini fethetmeyecektir.

İyi bilinen virüsleri bile, virüsten koruma yazılımı tarafından algılanamayan kötü amaçlı yazılımları şifrelemek ve paketlemek için çeşitli yöntemler vardır. Bu "kamufle edilmiş" virüsleri tespit etmek, dosyaları incelemeden önce şifresini çözebilecek güçlü bir paket açma motoru gerektirir. Ne yazık ki, birçok popüler anti-virüs programı buna sahip değildir ve bu nedenle çoğu zaman şifreli virüsleri tespit edememektedir.

Anti-virüs yazılımı satan şirketler virüslerin yazılması, yayılması ve halkın tehdidi üzerinde paniğe kapılması için finansal bir teşvik gibi gözüküyor.

(Bu makaleyi beğendim ve sadece AntivirusWorld'den kopyalayıp yapıştırdım.)


Teşekkürler :) Sözlük yaklaşımı için, bu bilinen bir virüsün kodunu kopyalayıp uygulamamın içine koyarsam, tespit edilebileceği anlamına gelir, ancak benzer bir şey yazdıysam şüpheli davranışı beklemek zorunda kalacak mıydı? (Varsayımsal olarak, elbette)
Phoshi

Evet, olacak .
joe

Bu, eğer virüslerin yapılmasını durduramazsanız, mevcut kodu durdurmak oldukça iyidir (ve sınırsız bir süre verilirse, olası her virüsü durduracaktır - fena değil: P)
Phoshi

İmza budur. Birden fazla virüs için ortak olan kötü amaçlı makine kodunun bir kısmı.
alex

AV bir dosyayı bir sözlükle karşılaştırırsa, bilinen 10.000 virüs sayın, öyleyse neden bu HIZLI? Nasıl her dosya taramak için milisaniye alır ..
LantisGaius

3

Phoshi, sorunuz çok ilginç, ancak arayışınıza bir başkasıyla başlamanızı öneririm. Bunu tavsiye ediyorum, çünkü sorduğun sorunun cevapları seni yanlış yönlendirebilir.

Size bir virüs olarak ne düşündüğünüzü, tanımı ne olduğunu düşünerek başlamanızı öneririm.

Elit virüs yazarları güvenlik araştırmacısıdır, senaryo çocukları değil. Virüs tanımları: "bir virüs kendini çoğaltabilecek bir kod parçasıdır". Bu kadar. Gördüğünüz gibi burada belirtilen yıkıcı özellik yoktur. Tüm virüslerin kötü olması zorunlu - bu özel antivirüs üreticilerinden aldığınız FUD yazılımıdır ve böylece yazılımlarını satabilirler.

IMHO, virüsleri dıştaki kötü "uzaylılar" gibi değil, tüm yazılım ekosisteminin bir parçası olarak ele almak akıllıcadır.


Peki, AV'lerin nasıl çalıştığını sordum, bu yüzden cevapların ... oldukça iyi cevap verdiğini düşünüyorum, ama çok iyi bir noktaya
değiniyorsunuz

Aynı bilgisayarda, birbirlerini öldürmeye çalışan iki antivirüs izlemek de çok komik. Neden böyle yaptıklarını merak etmekten çekinmeyin :-)
geek

1

Virüslere bakmanın çok önemli bir yolu, öbür yoldur. Virüsler sistemleri nasıl tehlikeye atıyor? Bu genellikle yazılım açıklarından kaynaklanmaktadır. Anti virüs yazılımı bu güvenlik açıklarının farkındadır ve bu güvenlik açıklarını etkileyen yazılımları arar. Her iki durumda da, bakireler her zaman bir şeyler yaparlar. Bu yüzden en iyi yaptıklarını yapmak için bir çalışma sürecine ihtiyaçları var. Bazen bu varolan bir tanede, bazen kendileri de yaratıyor.

Bununla birlikte, MOST virüsleri benzer şekillerde çalışır ve bir virüs tarayıcısının aralarında ayrım yapmasını kolaylaştırır. Aynı güvenlik açığından yararlanan birçok farklı virüs var!

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

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.