VİRÜS DEDEKTÖRÜ
Retro bilgisayarDEK -
Virüslere karşı en etkili koruma yöntemi her 3.5 inch'lik disket üzerinde bulunan kayıt koruma mekanizmasıdır. Bu koruma açılırsa virüsler disket üzerine yerleşemez. Fakat bazen koruması kapatılmış disketlerin sürücüye yerleştirilmesi gerekebilir. Bundan sonra Reset'ten sonra bile kalıcılığını sürdüren programlar yani virüsler disket veya bilgisayarınızın hafızasındaki programlara zararlı olurlar. Virüslerin ortaya çıkması ile birlikte koruyucu yazılımlar da geliştirilmiştir. Bu koruyucu programlar her ne kadar bir kere bilgisayarın hafızasına yerleştikten sonra bilgisayar kapatılana kadar işlevlerini sürdürüp, disket üzerindeki bir virüsün varlığını kullanıcıya bildirseler de, bazı durumlarda yetersiz kalmaktadırlar. Örneğin LAMER virüsü hemen her diskette yer alan "LoadWB" adındaki program üzerine saklanmaktadır. Bu program kullanıcı tarafından çağrıldığında ise virüs ilk olarak kendini sisteme yerleştirmekte, daha sonra disketin Boot Block'una yazmakta ve birçok koruma programını etkisiz kılmaktadır. Şu anda Amiga'da yayılmış olan virüslerin büyük bir çoğunluğu disket üzerindeki ilk iki sektörü (Boot Block'u) kullandıkları için bilgisayarın arka tarafındaki sürücü çıkışı ve basit bir devre kullanılarak oldukça güvenli bir koruma elde edilebilir. Bundan sonra anlatacağımız koruma yöntemi, aslında disket üzerindeki kayıt koruma mekanizması kapalı ise virüs yerleşmesini engelleyememektedir, ancak sesli bir uyarı ile kullanıcıya virüsün varlığını hemen haber vermektedir. Bundan sonra kullanıcı gerekli önlemleri alarak virüsün daha fazla yayılmasını engelleyebilir veya uygun bir Virus Killer ile disketi temizleyebilir. Burada yapacağımız devrenin temel dayanağı gerek bilgisayarın içindeki gerek harici disket sürücüler üzerinde sıfırıncı Track'a herhangi bir şey kaydedilirken belli bir seviyeyi gösteren iki ayrı sinyaldir: Bunlardan birincisi Track-0 (TK-0), ikincisi ise (DWE) sinyalidir. Bilgisayarımızın arka tarafındaki harici sürücü çıkışının 15'inci bacağında bulunan TK-0 bir giriştir. Bu hat üzerinden sürücü bilgisayara
7402 D2 okuma-yazma 0'ıncı Track üzerinde olduğunu bildirir. DiskWriteEnable (16. Pin) ise bir çıkıştır. Eğer disket üzerinde herhangi bir kayıt işlemi yapılacaksa Amiga bu çıkışı "Low" seviyesine (0 Volt) düşürmektedir. Disket üzerinde sıfırıncı Track'a 0, yani Boot Block'a bir şey yazılırken bu iki sinyalin lojik değerleri 0'dır. Şimdi sürücü çıkışının bu özelliğinden yararlanarak bir kod çözücü yapacağız. Burada uygulayabileceğimiz en basit elektronik yöntem her iki sinyalin de bir OR veya NOR kapı devresi ile birleştirilmesidir. Aşağıdaki doğruluk tablosunda A ve B giriş sinyallerine bağlı olarak değişik kapı devrelerinin çıkışları gösterilmiştir. Bir OR kapısının (YOR) çıkışı sadece her iki A ve B girişi lojik sıfır seviyesinde ise 0 değerindedir. Diğer tüm konumlarda çıkış lojik 1 seviyesindedir. NOR kapısında ise durum tam tersidir: Sadece girişlerde Low potansiyelin gözlendiği durumlarda çıkış "1" değerini almaktadır. Aynı şekilde NAND kapısını da devremize uyarlayabiliriz. Yalnız bu durumda çıkışlar "1" seviyesinde olacağı için ayrıca girişlere birer Inverter'de bağlanmalıdır. Basit TTL lojik elemanlardan oluşan devre örneklerinde görüldüğü gibi genellikle tek bir kapı devresi bulunur
NZ0>LNS
(Resim 2). Yalnız NAND kapıları kullanıldığında durum biraz değişir. Burada iki NAND kapısı
NOR KAPISI
NAND KAPISI
Pin 12 - 4 5 Volt Pin 15 - TK0 Pin 16 - WrE
Eğer her iki girişte de Low seviyesi olursa PP olarak adlandırılan ses kaynağı aktif duruma geçer. Bu durumda bilgisayar 0. Track'a bir şey kaydediyor demektir.
inverter olarak bağlanır ve ikisi birlikte bir OR kapısına giriş yaparlar. Böylelikle 3 adet lojik elemandan oluşan bir devre kurulmuş olur. Şimdi devrenin girişleri TK-0 ve DWE sinyal kanallarına, çıkış ise 4-5 Volt ile beslenen herhangi bir akustik sinyal kaynağına bağlanmalıdır. Artık devremiz, disket üzerinde sıfırıncı Track'a herhangi bir şey kaydedildiğinde her seferinde sesli olarak bizi uyaracak konuma gelmiştir. Bundan sonra devrenin çalışabilmesi için 5 Volt ile beslemeliyiz. Gerekli olan gerilim bilgisayarımızın disket sürücü çıkışının 12'nci bacağında mevcuttur. Buraya kullandığımız TTL devrenin (7402) 14 No.'lu bacağını bağlayalım. Sürücü çıkışının 3-7 No.'lu bacakları ise GND (toprak) olarak ayrılmıştır. Bunları da lojik devremizin bacağı ile birleştirdiğimizde virüs dedektörümüz tamamlanmış olur. Devremiz sıfırıncı Track üzerindeki kayıt işlemini bildireceği için disket formatlama ve kopyalama sırasında da sesli bir mesaj verecektir. Son olarak virüslere karşı çok basit bir koruma yönteminden bahsedeceğiz. Eğer bilgisayarınıza bağlı ikinci bir disket sürücünüz varsa buna boş ve kaydedilebilir durumda bir disket yerleştirin. Böylelikle Boot-Block virüsleri yayılmak için bu disketi kullanacaklar ve esas diskete zarar vermeyeceklerdir. Boot-Block'u olmayan "File" virüsleri veya diğer virüsler bu devre ile ne yazık ki teşhis edilemezler. Ayrıca dedektörümüz Hard Disk üzerindeki virüsleri de tanıyamaz. Bu nedenle virüslere karşı daima dikkatli olun! Gelecek sayıda buluşmak üzere hoşça kalın.