BİLGİSAYAR VİRÜSLERİ
Bilgisayar virüsleri, bilgisayar kullanıcılarının ortak korkularıdır. Günlük yaşantımızda nasıl virüs kapmaktan korkar ve o denli kendimizi korursak, bilgisayarınızın da virüs kapmasından o denli korkmalı ve sakınmalıyız. O halde bilgisayar virüsü nedir?
Bilgisayar virüsü kullanıcının onayı olmadan, kendisini bilgisayar programına ilave eden, şartlar oluştuğunda ise, yazılımı sırasında tanımlanan zararlı veya zararsız işlemleri yerine getiren bilgisayar programıdır.
Virüsler başlıca üç bölümden meydana gelmiştir. Bunlar kopyalama bölümü, gizleyici ve etki (bomba)bölümüdür. Kopyalama bölümü ile kendisini, çalışabilir dosyalara ilave eder, gizleyici bölümü, kendini gizleme görevini yapar. Daha ziyade antivürüslerin gözünden kaçmak ve antivürüslerin progr***** yanıltmak için oluşturulmuştur. Etki bölümü ise asıl şilemi yerine getirir. Asıl işlem, genelde dataları karıştırılmak, programın bir kısmını silmek, disk veya disketin çalıştırılmasını engellemek örnek verilebilir.
Virüsler kopyalama bölümü ile bulaşmalarına rağmen, bulaştıkları (kopyalandıkları) dosyalar farklı olabilir. Virüsler genel olarak, EXE, COM, PRG, SYS, OVL, OBJ, LIB uzantısı lı dosyalara kendilerini kopyalarlar. Bunlar dosya virüsleridir. Dosyalara bulaştığı gibi boot sektöre de bulaşabilirler. Bulaştıktan sonra gizleyici bölüm program her çalışışında aktif olur ve kendini gizlemeye çalışır. Normal çalışma süresince bomba bölümü pasif durumdadır. Şartlar uygunlaştığında ortaya çıkar ve etkisini gösterir. Bu bölüm şartlarının uygunlaşması; bir tarih olabilir, ülke kodu olabilir, kopyalama işlemi olabilir, her hangi bir datanın girilmesi olabilir. Virüs yazanlar için mantık geliştirme bölümü bu bölümdür. Virüs yazmanın ayrıcalığı da bu bölümde gizlidir. Çünkü diğer bölümleri ayrıdır.
Yukarıda uzantıları verilmiş olan dosyaların dışında ayrıca bir program için yazılmış özel virüslerde vardır.
VİRÜS ÇEŞİTLERİ
Virüsler yazılım yöntemlerine göre iki gruba ayrılırlar;
YAZILIMLARINA GÖRE VİRÜS ÇEŞİTLERİ
Yazılım şekline göre bir virüs, bellekte yerleşik kalması (Resident) veya kalmaması (noresident) durumu göz önüne alınarak yazılır.
Resident Virüsleri
Adından da anlaşıldığı gibi yerleşik olan bellekte kalan ve her an aktif olan virüslerdir. Yazılımı biraz daha karışık detaylıdır ve gizleyici bölüm daha fazla emek gerektire virüslerdir. Örneğin; virüs bulaşmış bir dosyanın uzunluğu değişmesine rağmen, gizleyici bölüm bu dosyanın orijinal uzunluğu vererek kullanıcıyı yanıltırlar. Genellikle INT 20h, 21h, 41h gibi kesme (interrupt) sinyalleri sırasında dosyalara ulaşırlar.
Bellekte bulunup bulunmadıkları çok çeşitli yöntemlerle ve antivürüslerle tespit edilebilir. Tespit edilip edilmemesi virüs kalitesine bağlıdır. Kalitesi iyi olmayan bir virüs, bellek haritalarını veren programlarla rahatlıkla tespit edilebilir.
Nonresident Virüsleri
Bu tip virüsler, bellekte yerleşik kalmayan virüslerdir. Ancak ulaştıkları programlar çalıştırıldığında aktif hale geçerler. Aktif hale geçer geçmez kendilerine bir veya birden fazla dosyaya kopyalarlar. Dosya tipi virüs ise, ulaştıktan sonra kontrolü asıl programa bırakır. Virüs bulaşmış bir programı çalıştırmadıktan sonra bir sorun yoktur. Resident virüslere oranla daha sinsi ve iyi korunabilir. Çünkü bulaştığı program çalıştığı zaman, kısa bir sürede tahribatlarını yapar ve çekilir. Bellek haritaları ile tespit etmek oldukça zordur.
Noresident olarak yazılmış boot sektör virüsü pek etkili değildir. Çünkü bir disketten diğer birine bulaşabilmesi için bellekte sürekli aktif olması gerekir. Bu yüzden bu tip yazılan virüsler genellikle dosya virüsleridir.
ETKİLERİNE GÖRE VİRÜSLER
Etkilerine göre virüsler kik ana başlık altında toplamak mümkündür :
1- Boot Sektörü Virüsler
A – Master Boot Record (MBR / P artition Table Virüsleri)
B – Normal Boot Sektörü Virüsleri
2- Program (dosya) Virüsleri
A – COM dosya virüsleri
B - EXE dosya virüsleri
C – Diğer Virüsler
BOOT SEKTÖRÜ VİRÜSLERİ
Master Boot Record (NBR / Partition Table Virüsleri)
Boot sektör virüsleri hard disk ‘in veya floppy disketin ilk sektörlerine bulaşırlar. Dosya virüslerinden farklılıkları, dosya çalıştırılmadan aktif hale geçmesidir. Bilindiği gibi bilgisayarlar açıldığı zaman ilk devreye giren ünitesi BIOS ‘tur. BIOS, hard disk ‘in boot sektöründe, geçerli partition table (reverse word format) imzasını arar, eğer bu imzayı bulabilirse bu programdaki bilgileri RAM belleğe okur. Virüs kendisini bu imza yerine veya okunacak bloğa yazdığı taktirde problem burada ortaya çıkar. BIOS ‘un okuması sırasında partiton imzasını gizleyebilir. BIOS görevini tamamlayamayacağı için, bilgisayar açılmaz. Bloğun okuması sırasında virüs yazıcısının, belirlendiği bir interrupt (kesme) çağırılabilir. Bu durumda bilgisayarın açılması kesintiye uğrar. Blok okunup RAM belleğe aktarıldıktan sonra virüs ‘ün bomba kısmı çalışarak bilgisayarı reset edebilir veya bir jump komutu ile okunması gerekli olan bazı dosyaları okutturmadan sistemin yanlış yüklemesini sağlayabilir. İşte bu türlü işlemler, virüs yazmanın mantığını oluşturur. Bu tür örnekler çoğaltılabilir.
Normal Boot Sektör Virüsleri
Floppy disketlerde partiton table bulunmaz. Aslında hard disk ‘deki partiton table ‘da boot sektördür. Fakat birden fazla işletim sistemi yükleyebilmek için bölümlendirilmiştir. Yukarıda hard disk için açıklanan imzalara benzer imzalar disketin 0 ‘. Sektöründe de vardır. Virüs, bilgisayarların hard disk ‘ten açılması sırasında yaptığı işlemleri floppy disketten açılma yapıldığı sırada da yapar.
İster hard disk ‘ten ister floppy disketten boot yapılsın (bilgisayar açılsın) daha işletim sistemi yüklenmeden virüs yüklenmemiş olur. İşletim sisteminden önce yüklenmesinden dolayı, işletim sistemini istediği gibi yürütebilir yani kaleyi içten kuşatmıştır ve savunmayı yenmiştir.
Virüs kendisini partiton sektöre veya boot sektöre yazılabileceği gibi FAT ‘a (dosya yerleşimi tablosuna) veya partiton bölümleri arasına da yazılabilir. Burada yapacağı işlemlere, dosya yerleşim tablosunu bozmak, aranma dosyayı gizlemek gibi örnekler verilebilir.
Her iki çeşit virüsünde çalışma algoritmasını (çalışma basamakları) aşağıdaki gibi olduğu söylenebilir.
1. Belirtilen yere ulaşmak için kendisini gizleme ve belirtilen şartları bekle.
2. Orijinal boot / MBR sektörü kontrol altında tut.
3. Kendi virüs imzasını ara ve daha önce bulaşıp bulaşmadığını denetle.
4. Bulaşmış ise hareketsiz kal ve boot sektörü terk et.
5. Bulaşmamış ise kendi kodlarını belirtilen şartlarda boot sektöre yaz.
6. Duruma göre terk et. Gerekiyorsa Resident olarak yerini al.
7. Birinci basamaktan itibaren görevine devam et.
PROGRAM (Dosya) VİRÜSLERİ
Program virüsleri, çalıştırılabilir program dosyalarına bulaşan virüslerdir. Programların tanımlanan yerlerine kendilerini kaydederek onlarla beraber çalışırlar. Bu yüzden programın çalıştığı her bilgisayara kolayca yayılırlar.
COM Dosya Virüsleri
Daha önceki bölümlerde açıklandığa gibi, DOS ortamından, uzantıları COM, EXE ve BAT olan dosyalar doğrudan çalıştırılabilirler. Bu tür virüslerin yazılımında temel mantık budur. COM uzantılı programlar 64 Kb ‘lık bir segment üzerindedir. COM uzantıları program çağrıldığı zaman, DOS tüm bellek alanı bu dosyaların kontrolüne bırakır.
COM dosya virüsü ve kolay ve hızlı yayılan bir virüstür. Virüsün kopyalama kısmı, virüsü bir dosyadan diğerine kopyalama yapar. Kendisine zarar gelememesi için, COM dosyasının başlangıcını saklar ve kendisinin bir kısmını buraya, bir kısmında dosyaların sonuna yazar. Virüs yazarının tanımladığını işlemleri (bomba kısmı) ile program çalıştığı sürece yerine getirir.
EXE Dosya Virüsleri
EXE dosya virüsleri, COM dosya virüslerinden biraz saha farklıdır. EXE dosya virüsü COM dosya virüsü gibi kendisini dosyanın başlangıcına yazmaz. EXE progr*****n başlığında ufak tefek değişiklilikler yapmak onun için yeterlidir. Kendisini büyük oranla dosyanın en sonuna yazar. EXE dosya virüsünün kendisini yazması, COM dosyaya oranla biraz daha zordur. Genelde minimum bellek ihtiyacını yükselterek etkilerini gösterirler.
Diğer Virüsler
Yukarıda bahsedilen virüslerin dışında bilinen BAT ve SYS dosya virüsleri de vardır. Bunları da kısaca değinelim.
BAT Dosya Virüsleri
DOS ortamında çalıştırılan üçüncü dosya, BAT uzantılı dosyalar. Bu dosyalar binary kod düzeninde olmayıp, ascii kod üzerindedir.
Önceki konulardan da hatırlanacağı gibi uzantısı BAT olan dosyalar, toplu işlem dosyalarıdır ve kapsamında bir çok toplu işlem komutları içerirler. BAT dosya virüsleri toplu işlem dosyası içerisinde kullanılan emirleri birer COM uzantılı dosyaya çevirir. Bu durumda sanki bir COM dosyası çağrılmış gibi çalıştırılmak istenir. Örneğin CALL emri karşısında CPU ne yapacağına karar veremediği için sistem ya kilitlenir veya interrupt ile kesintiye uğrar. Kullanıcıyı hayretler içerisinde bırakan ilginç virüs tipleridir.
Bazı BAT dosya virüsleri DIR komutunun işlevinden yararlanırlar...
Biraz Uzun Ama Olsun