Virüsler #2
Virüslerin ilk öncelikli amacı bulaşmaktır.Bütün virüs yazarları virüsün var olabilmesi için bulaşmak zorunda olduğunu bilirler. Bu yüzden de hızlı bulaşma rutinleri geliştirirler.Pek çok virüsün amacı sadece bulaşmaktan ibarettir.Zaten "bulaşma" özelliği olmayan bir kodu virüs olarak adlandırmak doğru değildir.
Kullanıcının sisteminde virüs olduğunu farketmesini mümkün olduğunca engellemeye çalışırlar.Kendini kullanıcıdan gizleyen bir virüs, uzun süre boyunca yaşabilir ve pek çok bilgisayara bulaşabilir.
Veriye veya donanıma zarar vermek asla birinci amaç değildir.Virüslerin bilgisayarlarda zarara sebep olabilmeleri için bazı tetikleme süreçlerine veya tetikleme olaylarına gereksinimleri vardır.
Zarar vermeye yönelik virüsler olabildiği gibi amacı sadece bulaşmak, bir mesaj vs görüntülemek olan virüsler de vardır.
Virüslerin en sık karşılaşılan etkileri arasında ekranda mesaj/şekil görüntülemek, bilgisayarı kilitlemek, bilgisayarı resetlemek gelir.
VİRÜSLERDEN KORUNMAK iÇiN;
Elinizin altında daima bir sistem disketi ve kaliteli bir antivirüs programının bulunduğu bir disket bulundurun.Bu disketleri yazma korumalı olarak bozulmayacakları bir ortamda saklayın.Bilgisayarınızı periyodik olarak virüs taramsından geçirin.Sizin için önemli olan programların ve verilerin mutlaka yedeklerini çıkarın.Elden ele dolaşan programları kullanmadan önce mutlaka virüs taramasından geçirin.Çünkü elden ele dolaşan programlar virüsler için çok uygundur ki bunların başında da disketlerle taşınabilecek oyunlar gelir.Artık disketlerle taşınabilecek oyun kalmamışta olsa eski oyunlar, public domain, freeware, shareware programlar virüslerin taşınmasında etkilidirler.
Internet, intranet veya bağlandığınız bir BBSten (artık çalışan BBS bulmak ne kadar zor olsa da) download edilen dosyalar da virüslerin taşınmasında önemli bir yere sahiptir. Özellikle "warez" durumundaki programlar ve/veya çeşitli program paketlerinin crack,patch,keygenleri birer virüs taşıyıcısı olabilirler.Bu tür dosyaları download ederseniz, downloaddan sonra mutlaka virüs taraması yapmak gereklidir.
ANTi-ViRÜS KULLANMADAN BiLGiSAYARDAKi ViRÜS NASIL TESPiT EDiLiR ?
Virüsler, bilgisayarlarda genel bazı etkilere sebep olurlar.Eğer bilgisayarınızda aşağıdaki etkilerden biri veya birkaçı varsa sisteminizi bir virüs taramasından geçirebilirsiniz;
* Sistem hızında yavaşlama : Sistem hızında meydana gelen ani hız düşüşleri virüs etkinliklerinden kaynaklanabilir.Ancak bu durum Windows'un registry kaydının aşırı dolu olmasından da kaynaklanabilir.
* Programların diske erişim süresinin ve/veya yüklenmelerinin daha uzun sürede gerçekleşmesi : Dosya virüsleri bir program yüklenmek istendiğinde o programı kontrol eder, virüssüz ise o programa bulaşır.TRAKIA.1070 (Yandan Çarklı) gibi bazı virüsler aktif dizindeki EXE veya COM uzantılı dosyaların hepsine birden bulaşmak isteyebilir.Bu da yüklenme hızındaki düşüşe neden olur.
* Bilgisayarın sebepsiz yere kilitlenmesi veya resetlenmesi : İyi kodlanmamış TSR virüsler veya virüsün programcısı tarafından sistemin sık sık kilitlenmesi veya resetlenmesi öngülmüş olabilir.
* Anormal mesajlar : Eğlence amacıyla yazılmış virüsler veya özel bir amaçla yazılmış virüsler belli zamanlarda veya bazı özel durumlarda garip mesajlar verirler.
* Dosyaların garip bir şekilde yok olması ve(ya) dosya özniteliklerinin (attribute) değişmesi : Bazı virüsler dosyaları silerler.Bazı virüsler de daha önceden bulaşıp bulaşmadıklarını anlamak için dosyaların öznitelik bilgilerinde değişiklik yaparlar.
* Yazma-korumalı bir diskte okuma işlemi yaparken "Write protection" hatası : İyi yazılmamış virüsler write-protected disklerdeki programlara bulaşmak istediklerinde genelde bu hataya düşerler.
* Disk haritasını gösteren programlar ile diske baktığınızda daha önceden olmayan bozuk alanlar : Genellikle boot/mbr virüsleri sakladıkları alanları korumak için kullandıkları bu alanları bozuk olarak işaretler.
Periyodik olarak bilgisayarda virüs aramak can sıkıcı bir hal aldığından virüs taramalarından vazgeçtiyseniz aşağıdaki yollarla da bilgisayarınızda virüs olup olmadığını kontrol edebilirsiniz.Eğer biraz da olsa assembly biliyorsanız aşağıdakileri anlamanız kolaylaşacaktır.
BOOT/MBR Virüslerin Tespit Edilmesi
Şimdi bilgisayarı resetleyin.Starting MS-DOS, Starting Windows türünden bir mesaj aldıktan sonra F5 tuşunu veya klavyedeki sol shift tuşunu basılı tutun.Bilgisayar CONFIG.SYS ve AUTOEXEC.BAT dosyaları işlenmeden çalışacaktır. Şimdi DEBUG adlı programı çalıştırın.Ekranda - işareti görüyor olmalısınız.Şimdi a komutunu verip enter tuşuna basın.(a komutu assembly dilinde program girileceğini belirtir).Ekranda 6750:0100 gibi bir adres değeri göreceksiniz.INT 13 yazıp enter tuşuna basın.6750:0102 adresini göreceksiniz.Bir kez daha enter'a basarak assembly modundan çıkın.Tekrar - işaretini göreceksiniz.Şimdi t (trace-adım adım çalıştır) komutunu verin.Hemen ardından da u komutunu girerek INT 13'ün yönlendirildiği adresteki assembly kodlarını ekrana getirin.Eğer ekranda DB komutları görüyorsanız bilgisayarınızda herhangi bir TSR virüs yok demektir.(Debug, unasseble işlemi yaparken çevirdiği kodu 16 bitlik olarak çevirir.Bu yüzden herhangi bir 386 komutu debug tarafından önce bir DB komutu ve ardından da 16 bitlik bir komut şeklinde çevirilmektedir.Mesela 32 bitlik MOV EAX,C0310102h komutu debug tarafından DB 66h / MOV AX,0102h / XOR AX,AX şeklinde çevirilecektir.Virüslerin eski işlemcilerde dahi çalışacak şekilde yazıldıklarını gözönünde tutarak DB komutu görüldüğünde sistemde kesinlikle bir virüs yoktur diyebiliriz)
INT 13 bir BIOS interruptıdır.Bu yüzden adresi de F000:0000 adresinden daha yukarıda bir bölgede olmalıdır.Eğer Int 13 kodu 9C00:0000-A000:0000 arasında bir bölgeye denk geliyorsa sizin için virüs taramasının vakti gelmiştir.Aşağıda virüssüz bir bilgisayardan alınmış INT 13 kodu görülmektedir.Siz aşağıdaki çıktının aynısını göremeyebilirsiniz.
| DEBUG (Enter) | ||
| - | ||
| a (Enter) | ||
| xxxx:0100 | INT 13 | (Enter) |
| xxxx:0102 | (Enter) | |
| - | ||
| -t (Enter) | ||
| FD60:2517 | 63 | DB 63 |
| -u (Enter) | ||
| FD60:2517 | 63 | DB 63 |
| FD60:2518 | 38 6C 6C | CMP [SI+6C],CH |
| ......... |
nonTSR (ve TSR) Virüslerin Tespit Edilmesi
nonTSR (bellekte sürekli kalmayan) programlar oldukça basit bir şekilde incelenebilir.Bunun için Norton Commander türü bir programa ihtiyacınız var.Norton Commander'ı çalıştırın ve çok kullandığınız COM ve EXE uzantılı dosyaların içlerine F3-View'a basarak Text View modunda bakın.Programın başında veya sonunda bir yerlerde (EXE dosyalar için sadece dosya sonuna bakmak yeterli) *.COM, *.EXE, ????????.EXE, ????????.COM türünden yazılar veya anormal olarak nitelendirilebilecek mesajlar görüyorsanız (İngilizce esas alınarak yazılmış bir program içinde Türkçe mesajlar veya tuvalete gidince sifonu çekin gibi alakasız mesajlar gibi) bu mesajları, eğer mesaj yok ise baktığınız kısımlardan seçeceğiniz bir kısım kodu bir yere not edin.Aynı türden birkaç dosyaya daha bakın.Not ettiklerinizi her baktığınız dosyada görüyorsanız bilgisayarınızı bir sistem disketi ile açın ve sistemi virüs taramasından geçirin.
TSR Virüslerin Tespit Edilmesi
İlk önce DOS'un MEM, CHKDSK gibi komutları ile konvansiyonel belleği (640Kb'lık bellek bloğunu) kontrol edin.TSR virüsler belleğe yerleşebilemek için bilgisayarın belleğinden ihtiyaç duyduğu kadarlık bir bölümünü ayırmak zorundadır.Bunu yerlerini garanti altına almak için yaparlar.Eğer bellek 640Kdan (655360 byte) az görünüyorsa virüsten şüphelenmeye başlayabiliriz.Yalnız bazı makinalarda BIOS ayarlarından dolayı ana bellek 639K görünebilir.TSR bir virüsler genelde 2Kb veya daha fazla bellek ayırırlar.Eğer konvansiyonel bellek 640 Kb'dan az görünüyorsa bilgisayarda TSR bir virüs olduğundan şüphelenmek için ilk sinyali almış oluruz.Eğer konvalsiyonel bellek 640Kb görünüyorsa incelememize devam edelim.
Şimdi bilgisayarı resetleyin.Starting MS-DOS, Starting Windows türünden bir mesaj aldıktan sonra F5 tuşunu veya klavyedeki sol shift tuşunu basılı tutun.Bilgisayar CONFIG.SYS ve AUTOEXEC.BAT dosyaları işlenmeden çalışacaktır. AUTOEXEC.BAT dosyasında bulunduğu için her açılışta otomatik çalışan bir programı çalıştırın (Mesela ses kartının DOS sürücüsü, Türkçe karakter seti programı, Türkçe klavye programı gibi.Autoexec.Bat kütüğünün içini görmek için TYPE C:\AUTOEXEC.BAT komutunu kullanın).Çalıştırdığımız program ile virüsün hafızaya yüklenmesini sağlamış olduk.TSR virüsler bulaşmak için DOS'un program çalıştırma, dosya açma, dosya kapama gibi servislerini kontrol ederler.Tüm bu servisler INT 21 altında toplanmıştır.
Şimdi DEBUG adlı programı çalıştırın.Ekranda - işareti görüyor olmalısınız.Şimdi a komutunu verip enter tuşuna basın.(a komutu assembly dilinde program girileceğini belirtir).Ekranda 6750:0100 gibi bir adres değeri göreceksiniz.INT 21 yazıp enter tuşuna basın.6750:0102 adresini göreceksiniz.Bir kez daha enter'a basarak assembly modundan çıkın.Tekrar - işaretini göreceksiniz.Şimdi t (trace-adım adım çalıştır) komutunu verin.Hemen ardından da u komutunu girerek INT 21'in yönlendirildiği adresteki assembly kodlarını ekrana getirin.
u komutunu verdikten sonra gelen çıktıda ;
PUSHF
CMP AX,4B00 veya CMP AH,4B
satırlarını görüyorsanız sisteminizde kesinlikle bir TSR virüs var
diyebiliriz.
PUSHF komutu DOS'un işaret yazmacını stack alanına sürerek saklamak amacıyla kullanılır.TSR rutinlerin başında mutlaka yer alır. Virüs işaret yazmacının değerinin değişmesine sebep olursa , virüsün işi bittiğinde servisi çağıran programın hatalı çalışmasına sebep olacaktır.Bu yüzden virüs ele geçirdiği interrupta atadığı rutinin başına bir PUSHF komutu koyacaktır.
CMP AX,4B00 veya CMP AH,4B komutları (INT 21/AH=4B servisi) Int 21'in bir programı yüklemek veya çalıştırmak amacıyla çağırılıp çağırılmadığını kontrol etmek için kullanılmaktadır.Int 21'in 4B servisi program yükle/çalıştır anlamına gelen bir servistir ve DS:DX yazmaclarında yüklenecek/çalıştırılacak programın ASCIIZ olarak ismi yer alır.Virüs bu servisi kullanarak DS:DX adresindeki programı kontrol edecek, temiz bir program ise ona bulaşacaktır.
Burada anlattığım yollardan başka daha farklı metodlar da geliştirilebilir/kullanılabilir. Bu ayki yazıyı merak edilen bazı sorularla bitirelim..
VİRÜSLER V-SAFE, VIRSCAN, GUARD GİBİ KORUMA PROGRAMLARINI ATLATABİLİR Mİ ?
Yeni bir virüs veya çok iyi yazılmış bir virüs bu tür programları safdışı edebilir.Ancak koruma programları virüslü programı daha çalışmadan önce test ettiklerinden bu düşük bir ihtimaldir.Virüsler, bu tür programları aktivitelerinin rapor edilmesinin engellemek için atlatmak ister.Mesela V-SAFE'i etkisiz hale getirmek için;
Mov Ax,0fa02h
Mov Dx,5945h
Xor Bx,Bx
Int 16h
kodunu virüse eklemek yeterlidir.
BiR ViRÜSTEN KURTULMAK iÇiN HARD-DiSK FORMATLAMAK DOĞRU MU ?
Hayır.Bir virüsten kurtulmanın yolu kesinlikle hard-disk formatlamak değildir.Hele low level format denilen işlemin yapılması tamamen yanlıştır ve kesinlikle kaçınılması gereken bir durumdur.Hard-disk formatlamak yerine önemli verileri disketlere yedekleyip virüsü silebilecek bir anti-virüs aramak daha akılcı olacaktır.Eğer bir antivirüs programı bulamasanız bile diskinizi formatlamayın.Virüsün sisteminize vereceği zarar, sizin diskinizi formatlayarak kendi kendinize vereceğiniz zarardan hiçbir zaman daha fazla değildir.Düşünün, diskinize low level format attığınızda (fabrikada zaten atılıyor !) diskin ömründen çalmış oluyorsunuz.DOS'tan formatladığınızda ise disk üzerindeki verinin tamamını kaybediyorsunuz.
BiR BOOT/MBR ViRÜSÜNÜ TEMiZLEDiKTEN SONRA HARDDiSKiM UÇTU.NASIL DÜZELTiRiM ?
Cansu (Sigalit) veya Crazy Boot gibi boot/mbr virüslerini silerken meydana gelebilen bu tür sorunları düzeltmek için Norton Disk Doctor gibi partition table'ı yeniden oluşturabilecek programlar kullanın. Bilgisayarı temiz bir boot disketi ile açıp NDD /REBUILD şeklinde Norton Disk Doctor'u çalıştırın.Program diski araştıracak ve tüm disk partitionlarını yeniden oluşturacaktır.(Yanlış hatırlamıyorsan sadece FAT16)
| |
Bu yazı Turkish Scene den alınmıştır... |