Bilgisayar virüsü

Bilgisayar virüsü, içinde bulunduğu bilgisayardaki başka programlara ve dosyalara kendi kodunu enjekte eden ve kendini bu programları kullanarak çoğaltan bir kötü amaçlı yazılım türüdür. Bir kötü amaçlı yazılımın virüs olarak tanımlanabilmesi için, kendini çoğaltma ve kendini çalıştırabilme özelliklerine sahip olması gerekir. İçinde virüslerin etkili olduğu bir bilgisayar için, biyolojik virüslere atıfta bulunarak bulaşma tabiri kullanılır.

Biyolojik virüsler ile karşılaştırma
Bilgisayar virüsleri, biyolojik virüslerin insandan insana bulaşması gibi bir bilgisayardan diğerine bulaşabilirler. Örneğin, uzmanların tahminine göre, Mydoom adlı solucan Haziran 2004 tarihinde bir gün içerisinde çeyrek milyon bilgisayara bulaştı. 2000 yılındaki bir diğer vakada ise I Love You virüsü, benzer etkileri yarattı. An itibarıyla bilişim dünyasında on binlerce virüs bulunmakta ve her gün yenileri tespit edilmektedir. Bulaşma ya da yayılım şekillerindeki çeşitlilikten ötürü virüslerin nasıl çalıştıklarını tümü için geçerli olacak şekilde özetlemek zordur. Ancak, genelde çeşitli virüs tiplerini belirtmek için kullanılan geniş kategoriler bulunmaktadır. Ayrıca en güzel örnek spam virüsüdür.

Bir disketteki bilgi için, bilgisayar, tıpkı DNA’yı kopyalamak isteğiyle vızıldayan hücre çekirdeği gibi, vızıldayan bir cennettir. Bilgisayarlar ve bunlara bağlı olan disket ve teyp sürücüleri, yüksek kopyalama doğrulukları amaçlanarak oluşturulmuştur. DNA moleküllerinde olduğu gibi, manyetize baytlar kopyalanmayı ‘dilemezler’. Yine de, kendini çoğaltacak adımları atabilen bir bilgisayar programı yazabilirsiniz. Sadece kendini bir bilgisayarda çoğaltmakla kalmayıp, diğer bilgisayarlara da kendisini yayacak bir şekilde. Bilgisayarlar baytları kopyalamakta ve bu baytların içinde bulunan talimatlara körü körüne itaat etmekte o kadar iyidirler ki, kendini ikileştiren programlar için oturan ördek kadar kolay avdırlar: yazılım parazitlerinin yakıp yıkmasına karşı kapıları sonuna kadar açık bir şekilde. Bencil genler ve memler teorilerine aşina herhangi bir şüpheci, modern bilgisayarların ayrım gözetmeyen disket ve e-posta hareketlerinin belaya davet olduğunu bilecektir. Günümüzdeki bilgisayar virüsü salgınlarının tek şaşırtıcı yanı, ortaya çıkmalarının çok üzün süre almış olmasıdır. DNA virüsleri ve bilgisayar virüsleri aynı neden için yayılırlar: İçinde iyi kopyalama yapacak ve bu kopyaları etrafa yayacak ve virüslerin içerdiği talimatlara itaat edecek makinelerin bulunduğu bir çevrenin bulunması. Göreceli olarak, bu iki çevre sırasıyla hücresel fizyoloji ortamı ve geniş bir bilgisayar topluluğu ve veri işleme makineleri tarafından sağlanan çevredir. Başka bir yerlerde, başka ortamlar, başka vızıldayan ikileşme cennetleri var mıdır?
----
Richard Dawkins, Bir Şeytan'ın Papazı

Sınıflandırma
Virüs tipleri birçok alt bölümde incelenebilir. Ana sınıflama bölümleri şunlardır:

Dosya virüsleri
Dosya virüsleri, asalak ya da yürütülebilir virüsler olarak da bilinen ve kendilerini yürütülebilir dosyalara (sürücü ya da sıkıştırılmış dosyalara) tutturan ve konak program çalıştırıldığında etkinleşen kod parçacıklarıdır. Etkinleştikten sonra, virüs kendini diğer program dosyalarına tutturarak yayılabilir ve programlandığı şekilde kötü niyetli faaliyet gösterebilir. Birçok dosya virüsü kendilerini sistem hafızasına yükleyip sürücüdeki diğer programları araştırarak yayılır. Bulduğu programların kodlarını virüsü içerecek ve gelecek sefer program çalıştığında virüsü de etkinleştirecek şekilde değiştirir. Virüs tüm sisteme ya da bulaştığı programı ortak kullanan sistemlerin tüm alanlarına yayılana dek defalarca bunu yapar. Yayılmalarının yanı sıra bu virüsler hemen ya da bir tetikleyici vasıtasıyla etkinleşen tahrip edici bir tür bileşeni bünyelerinde barındırırlar. Tetikleyici özel bir tarih, virüsün belirli bir kopyalama sayısına ulaşması ya da önemsiz herhangi bir şey olabilir. Randex, Meve ve MrKlunky dosya virüslerine verilebilecek birkaç örnektir.

Önyükleme sektörü virüsleri
Önyükleme sektörü sabit diske ait tüm bilgilerin saklandığı ve bir program vasıtası ile işletim sisteminin başlatılmasını sağlayan yerdir. Virüs, her açılışta hafızaya yüklenmeyi garantilemek amacıyla kodlarını önyükleme sektörüne yerleştirir. Bu, belki de, günümüzde sayıca azalmalarının da nedeni olmuştur. Programların disketler ile bir bilgisayardan diğerine taşındığı dönemlerde önyükleme virüsleri büyük bir hızla yayılıyordu. Ancak CD-ROM devrinin başlamasıyla, CD-ROM içerisindeki bilgilerin değiştirilemez ve kod eklenemez olmasından ötürü, bu tür virüslerin yayılımı durdu. Önyükleme virüsleri hala var olsa da yeni çağ zararlı yazılımlarına nispeten çok nadirler. Yaygın olmamalarının diğer bir sebebi ise işletim sistemlerinin artık önyükleme sektörlerini koruma altına almasıdır. Polyboot.B ve AntiEXE önyükleme virüslerine örnektirler.

Makro virüsler
Makro virüsler, makrolar içeren çeşitli program ya da uygulamalarca yaratılmış dosyalara bulaşan virüslerdir. Microsoft Office programınca üretilen Word belgeleri, Excel elektronik çizelgeleri, PowerPoint sunumları, Microsoft Access veritabanları, Corel Draw, AmiPro uygulamalarınca yaratılmış dosyalar vs. etkilenen dosya tipleri arasındadır. Makro virüsler işletim sisteminin değil ait olduğu uygulamanın dilinde yazıldığından platform bağımsızdırlar ve uygulamayı çalıştırabilen tüm işletim sistemleri (Windows, Mac vb.) arasında da yayılabilirler. Uygulamalardaki makro dillerinin sürekli artan kabiliyetleri ve ağlar üzerinde yayılma olasılıkları bu türden virüsleri büyük tehdit haline getirmektedir. İlk makro virüsü Microsoft Word için yazılmış ve 1995 Ağustos'unda tespit edilmişti. Bugün binlerce makro virüsü bulunmakta. Relax, Melissa.A ve Bablas makro virüs örnekleridir. Çoğalma bakımından solucanlara (worm) benzerler ama işlev yönünden farklılık gösterirler.

Ağ virüsleri
Ağ virüsleri, yerel ağlarda ve hatta İnternet üzerinde hızla yayılmak konusunda çok beceriklidirler. Genelde paylaşılan kaynaklar, paylaşılan sürücüler ya da klasörler üzerinden yayılırlar. Bir kez yeni bir sisteme bulaştıklarında, ağ üzerindeki potansiyel hedefleri araştırarak saldırıya açık sistemleri belirlemeye çalışırlar. Savunmasız sistemi bulduklarında ağ virüsü sisteme bulaşır ve benzer şekilde tüm ağa yayılmaya çalışırlar. Nimda ve SQLSlammer kötü nam salmış ağ virüslerindendir.

Eşlik virüsleri
Eşlik virüsleri, konak dosyalarına tutunmuş değillerdir ancak MS-DOS'u suistimal edebilirler. Bir eşlik virüsü geçerli .EXE (uygulama) dosyalarına ait isimleri kullanan genelde .COM nadiren .EXD uzantılı yeni dosyalar yaratmaktadır. Eğer kullanıcı belirli bir programı çalıştırmak için komut konsoluna sadece programın ismini yazıp .EXE uzantısını yazmayı unutursa DOS, ismi ve uzantıları aynı olan dosyalardan uzantısı sözlükte önde görünen dosyanın çalıştırılmak istendiğini varsayıp virüsü yürütecektir. Örneğin kullanıcı dosya adı.COM (virüs dosyası) ve dosya adı.EXE (yürütme dosyası) adlı iki dosyaya sahip olsun ve komut satırına sadece dosya adı yazmış bulunsun. Uzantılar incelendiğinde sonuç olarak dosya adı.com yani virüs dosyası yürütülecektir. Virüs yayılacak ve atanmış diğer görevleri yaptıktan sonra kendisiyle aynı isme sahip .exe dosyasını çalıştıracaktır. Böylece kullanıcı büyük ihtimalle virüsün ayırdına varamayacaktır. Bazı eşlik virüslerinin Windows 95 altında ve Windows NT'deki DOS öykünücüleri üzerinde çalışabildiği bilinmektedir. Yol eşlik virüsleri geçerli sistem dosyaları ile aynı ada sahip dosyalar oluşturur ve dizin yolu içinde bulunan eski virüsleri yenileri ile değiştirir. Bu virüsler MS-DOS komut sistemini kullanmayan Windows XP'nin kullanıma sunulması ile giderek seyrekleşmişlerdir.

Yazılım bombaları
Yazılım bombaları, gerekli şartlar oluşana dek atıl durumda kalan ve özel bir kodu işleyen yazılımlardır. Şartların olgunlaşması kullanıcıya mesajlar göstermek ya da dosyaları silmek gibi belirli fonksiyonları tetikleyecektir. Yazılım bombaları bağımsız programların içerisinde barınabildikleri gibi virüs ya da solucanların parçaları da olabilirler. Belirli sayıdaki konağı etkiledikten sonra etkinleşen yazılım bombaları örnek olarak verilebilir. Saatli bombalar, yazılım bombalarının alt kümeleri olup belirli tarih ya da zamanda etkinleşecek şekilde programlanmışlardır. Saatli bombalara, ünlü Friday the 13th ve Chernobyl (CIH) 26th virüsleri örnek verilebilir.

Cross-site scripting virüsleri
Bir cross-site scripting virüsü (XSSV) çoğalabilmek için cross-site betik açıklarını kullanan virüslerdir. Bir XSSV yayılabilmek için web uygulamaları ve web tarayıcılarına ihtiyaç duyduğundan simbiyoz tip virüstür. Aslında XSS bir virüs değil, sistem açığıdır. HTTP ile çalışan bir web sitesi için, gönderilen istekteki parametrelerden birine kod parçacığı yerleştirilerek hedef yazılımda çalıştırılması amaçlanır. Bu yöntem ile kullanıcıların ve hatta sistem yöneticisinin oturum bilgileri çalınabilir.

Sentineller
Sentineller oldukça gelişkin virüs tipi olup yaratıcısına, bulaştığı bilgisayarları uzaktan kullanma yetkisi verir. Sentineller bot, zombi ya da köle adı verilen bilgisayarların oluşturduğu ve Hizmeti engelleme saldırısı (DDoS) gibi kötü niyetli amaçlarda kullanılacak geniş ağlar yaratmada kullanılırlar.

Virüslerin, makinenize bulaşma ya da makinenizde etkin halde olmadan saklanma yolları pek çoktur. Ancak etkin olsun ya da olmasın virüslerin başıboş bırakılması çok tehlikelidir ve ivedi şekilde sorun halledilmelidir.

DOS Virüsleri
DOS virüsleri, ismini Windows XP sürümüne kadar eski Windows sürümlerinin üstüne yapıldığı DOS işletim sisteminden alır. Bilgisayara donanımsal zarar veren tek virüslerdir. Kendileri Windows'un Batch özelliğini kullanır. Uzantısı .bat biçimindedir ama her .bat uzantılı dosyalar virüs değildir. Küçük boyutlu olan bu virüsler genellikle açıldığı anda işleme koyulurlar. Küçük olmasının nedeni aslında sadece bir yazı dosyası olmasından kaynaklıdır. Windows, o .bat uzantılı dosyadaki yazı komutları çalıştırır. .bat dosyalarının formatı cmd.exe'ye komut yazarmış gibidir.

Diğer zararlı yazılımlar
Geçmişte bir bilgisayarı zor durumda bırakabilecek tek yöntem zararlı taşıyan disketleri bilgisayara yerleştirmekti. Yeni teknoloji çağının başlamasıyla, artık, neredeyse her bilgisayar dünyanın geri kalanına bağlanmış durumda. Dolayısıyla zararlı bulaşmalarının kaynak yerlerini ve zamanlarını kesin olarak tespit etmek gün geçtikçe zorlaşıyor. Bunlar yetmezmiş gibi bilgisayar çağında yeni tür zararlı yazılımlar türemiş durumda. Günümüzde virüs terimi, bir bilgisayarı zararlı yazılımlarca saldırıya maruz bırakacak tüm değişik yöntemleri belirtmekte kullanılan genel bir terim halini almıştır. Açıklanan virüs tiplerinin dışında günümüzde yenice karşılaştığımız problemler bulunmakta.

Truva Atları
Truva atları, ilgi çekici görünen ama aslında aldatmaya yönelik zararlı dosyalardır. Sistemde var olan dosyalara kod eklemektense ekran koruyucu yüklemek, elektronik postalarda resim göstermek gibi bir işle iştigal oldukları izlenimi uyandırırlar. Ancak, aslında arka planda dosya silmek gibi zararlı etkinlikler gerçekleştirmektedirler. Truva atları bilgisayar korsanlarının bilgisayarınızdaki kişisel ve gizli bilgilerinize ulaşmalarına imkân tanıyan gizli kapılar da yaratırlar.

Truva atları aslında sanılanın aksine virüs değillerdir çünkü kendilerini çoğaltamazlar. Bir Truva atının yayılması için saklı bulunduğu eposta eklentisinin açılması ya da Truva atını içerir dosyanın internet üzerinden bilgisayara indirilip yürütülmesi gerekir.

Hizmeti engelleme saldırısı Truva atları
Hizmeti engelleme saldırısı (Denial of service attacks) Truva atlarının dayandığı temel düşünce kurbanın bilgisayarındaki İnternet trafiğini bir web sitesine ulaşmasını veya dosya indirmesini engelleyecek şekilde artırmaktır. Hizmeti Engelleme Saldırısı Truva atlarının bir başka versiyonu mail-bombası Truva atlarıdır ki ana amaçları mümkün olabildiğince çok makineye bulaşmak ve belirli e-posta adreslerine aynı anda filtrelenmeleri mümkün olmayan çeşitli nesneler ve içerikler ile saldırmaktır.

FTP Truva Atları
Bu tür Truva atları en basit ve artık modası geçmiş Truva atlarıdır. Yaptıkları tek şey FTP transferleri için kullanılan 21. portu açmak ve herkesin bilgisayarınıza bağlanabilmesine imkân tanımaktır. Bu türün yeni versiyonları sadece saldırganın sisteminize ulaşmasını sağlayan parola korumalı yapıdadırlar. Aslına bakarsanız Trojan'ın modası geçmiş virüs olmasına karşılık hâlen kullanımı yaygındır. Bu tür virüsler sizin sisteminize girmeleriyle kalmaz gerekli bilgilerinizi çalabilirler, kredi kartı numaralarını ve buna benzer birçok şey yapabilirler. Günümüz teknolojisi bunu engelleyecek birçok program üretmiştir.

Yazılım Tespit Engelleyiciler
Bu Truva atları makinenizi koruyan popüler antivirüs ve güvenlik duvarı yazılımlarının çalışmalarını engelleyerek saldırganın sisteminize erişimine olanak tanır. Yukarıda belirtilen Truva atı tiplerinden birini ya da birkaçını birden içerecek yapıda olabilir.

Solucanlar
Bilgisayar solucanları çoğalan, bağımsız şekilde çalışabilen ve ağ bağlantıları üzerinde hareket edebilen programlardır. Virüs ve solucanlar arasındaki temel fark çoğalma ve yayılma yöntemleridir. Bir virüs çalışmak için konak ya da önyükleme sektörü dosyalarına ihtiyaç duyarken, makineler arası yayılım için gene taşıyıcı dosyalara gereksinim duyar. Oysa solucanlar kendi başlarına bağımsız şekilde çalışabilir ve bir taşıyıcı dosyaya ihtiyaç duymadan ağ bağlantıları üzerinde yayılabilirler. Solucanların yarattığı güvenlik tehditleri bir virüsünkine eşittir. Solucanlar sisteminizdeki elzem dosyaları tahrip etmek, makinenizi büyük ölçüde yavaşlatmak ve bazı gerekli programların çökmesine neden olmak gibi bütün olası zararları yaratabilme yeteneğindedirler. MS-Blaster ve Sasser solucanları en tanınmış solucanlara örnektirler.

Casus yazılımlar
Casus yazılımlar, reklam destekli yazılımları nitelemekte kullanılan diğer bir terimdir. Paylaşılan yazılımları üreten yazarlar, program içerisinde reklam yayınlatarak ürünü kullanıcıya satmadan da para kazanabilirler. Piyasadaki birçok büyük medya şirketi yazarlara reklam bantlarını yazılımlarına yerleştirmelerini önerir ve reklam bantları sayesinde satılan her ürün için belirli bir oranda komisyon vermeyi vadeder. Eğer kullanıcı yazılımdaki reklam bantlarını can sıkıcı buluyorsa, lisans ücretini ödediği takdirde banttan kurtulmanın imkânına erişir. Bu bantları üreten reklam şirketleri, ek olarak internet bağlantınızı sürekli kullanarak internet kullanımınıza ait istatistiki bilgileri sizin bilginiz dahilinde olmadan reklam verenlere gönderen bazı izleme programlarını sisteminize yüklerler. Yazılımlara ait gizlilik politikalarında hassas ve tanımlayıcı verilerin sisteminizden toplanmadığı ve kimliğinizin belli olmayacağı belirtilse de kişisel bilgisayarınızı bir sunucu gibi çalışarak size ait bilgileri ve internet kullanımınıza ait alışkanlıklarınızı 3. kişi ya da kurumlara göndermektedir.

Casus yazılımlar ayrıca bilgisayarınızı yavaşlatmakla, işlemci gücünün bir kısmını kullanmakla, uygunsuz zamanlarda sinir bozucu pop-up pencereleri ekrana getirmekle ve anasayfanızı değiştirmek gibi internet tarayıcısı ayarlarınızı değiştirmekle ünlüdürler. Ek olarak yasal olmayan bu tür yazılımlar büyük bir güvenlik tehdidi oluşturmakta ve sisteminizden temizlenmelerinin hayli güç olması virüsler kadar baş belası olabileceklerini açıkça göstermektedir.

Bilgisayar virüslerinin etkileri
Bazı virüsler uygulamalara zarar vermek, dosyaları silmek ve sabit diski yeniden formatlamak gibi çeşitli şekillerde bilgisayara zarar vermek amacıyla programlanmışlardır. Bazıları zarar vermektense, sadece sistem içinde çoğalmayı ve metin, resim ya da video mesajları göstererek fark edilmeyi tercih ederler. Bu zararsızmış gibi gözüken virüsler kullanıcı için problem yaratabilir. Bilgisayar hafızasını işgal ederek makineyi yavaşlatabilir, sistemin kararsız davranmasına hatta çökmesine neden olabilirler. Ek olarak birçok virüs, hata (bug) kaynağıdır ve bu hatalar sistem çökmelerine ve veri kaybına neden olabilir.

Virüs teriminin kullanımı
Bilgisayar virüsü terimi, biyolojik muadilinden türetilmiş olup onunla aynı mantıkta kullanılmaktadır. Tam olarak doğru olmasa da virüs terimi genelde Truva atı ve solucan da dahil olmak üzere tüm zararlı çeşitlerini ifade edecek şekilde kullanılmaktadır. Günümüzde en tanınmış antivirüs yazılım paketleri tüm saldırı çeşitlerini savunabilecek yapıdadır. Bazı teknoloji topluluklarında virüs terimi, küçümsemek maksadıyla, zararlı yazıcılarını da belirtecek şekilde kullanılır.

Virüs terimi ilk olarak 1984'te Fred Cohen tarafından hazırlanan Experiments with Computer Viruses adlı tez çalışmasında kullanılmış ve terimin Len Adleman ile birlikte türetildiği belirtilmiştir. Ancak daha 1972'lerde David Gerrold'e ait When H.A.R.L.I.E Was One adlı bir bilimkurgu romanında, biyolojik virüsler gibi çalışan VIRUS adlı hayali bir bilgisayar programdan bahsedilmiş. Gene bilgisayar virüsü terimi, Chris Claremont'in yazdığı ve 1982 yılında basılmış Uncanny X-Men adlı çizgi romanda geçmiş. Dolayısıyla Cohen'in virüs tanımlaması akademik olarak ilk kez kullanılsa da terim çok önceden türetilmişti.

Tarih
İlk olarak 1948 yılında John Von Neuman tarafından kendini kopyalayabilen bilgisayar programı fikri ortaya atılmıştır.

Elk Cloner adlı bir program laboratuvar ya da bilgisayar dışında üretilmiş olup ilk bilgisayar virüsü olarak tanımlanmıştır. Rich Skrenta tarafından 1982 yılında yazılan virüs Apple DOS 3.3 işletim sistemine bulaşıp disketler vasıtasıyla yayılmıştır. Bu virüs aslında bir lise öğrencisi tarafından hazırlanan bir tür şaka idi ve oyun dosyaları içerisine gizlenmişti. Oyunu 50. çalıştırmada virüs salınıyor ve akabinde boş bir ekranda Elk Cloner adlı virüs hakkında bir şiir gösterilerek bulaşma işlemi tamamlanıyordu.

Bilgisayar Virüsü konulu ilk doktora tezi 1983 yılında hazırlandı.

İlk PC (Kişisel Bilgisayar) virüsü (c)Brain adında bir önyükleme sektörü virüsü idi ve 1986 yılında Pakistan'ın Lahor şehrinde çalışan Basit ve Amjad Farooq Alvi isimli iki kardeş tarafından yazılmıştı. Kardeşler virüsü, resmî olarak, yazdıkları yazılımın korsan kopyalarını engellemeye yönelik hazırlamışlardı. Ancak analizciler bir tür Brain türevi (varyant) olan Ashar virüsünün, kodlar incelendiğinde aslında Brain'den önce yaratıldığını iddia etmekteler.

Bilgisayar ağlarının yaygınlaşmasından evvel, birçok virüs çıkarılabilir ortamlar, özellikle disketler, vasıtasıyla yayılmaktaydılar. Kişisel bilgisayar devrinin ilk günlerinde birçok kullanıcı bilgi ya da programları disketler ile bir bilgisayardan diğerine taşımaktaydılar. Bazı virüsler bu disketlerde bulunan programlara bulaşarak yayılmaktaydılar. Bazıları da kendilerini önyükleme sektörlerine yükleyerek bilgisayar çalıştırılır çalıştırılmaz etkin hale geçmeyi amaçlamaktaydılar.

Geleneksel bilgisayar virüsleri de 1980'lerde kişisel bilgisayarların hızla yayılması sonucunda bilgisayarlı bilgi sistemlerinin ve modemlerin kullanımındaki artış sonucunda yazılım paylaşımı sıklaştı. Bilgisayarlı bilgi sistemleri (BBS) sayesinde yazılımların paylaşımı Truva atlarının yayılmasına katkıda bulunurken, çok kullanılan yazılımları etkileyecek özel virüsler yazılmaya başlandı. Gene paylaşılan yazılımlar (Shareware) ve kaçak yazılımlar, BBS'ler üzerinde virüslerin yayılımı için kullanılan genel taşıyıcılardı. Bir tarafta korsanlar, ticari yazılımların yasal olmayan kopyalarını pazarlarken, iş çevreleri de virüslerin açık hedefleri haline gelmiş güncel uygulamaları ve oyunları güvenli kılmakla uğraşmaktaydılar.

1990'ların ikinci yarısından itibaren makro virüsler sıklaştı. Bu türden virüslerin birçoğu Word ve Excel gibi birçok Microsoft programını etkileyebilen betik dillerinde hazırlanıyorlardı. Bu virüsler Microsoft Office ile yaratılmış belge ve elektronik çizelgelere bulaşmaktaydı. Word ve Excel Mac OS üzerinde de çalışabildiklerinden bu virüsler Macintosh bilgisayarlara da yayılmaktaydı. Bu türden virüslerin birçoğu virüs bulaşmış e-posta gönderme yetisinde değildiler. E-posta yoluyla yayılım gösteren virüsler Microsoft Outlook Com arayüzünün avantajını kullanmaktaydılar.

Makro virüsler özellikler tespit programları için problem teşkil etmektedir. Örneğin Microsoft Word'ün bazı sürümleri makroların ek boş satırlar ile çoğalmalarına izin vermekteydi. Bazı makro virüslerin de aynı şekilde davranmalarından ötürü normal makrolar yanlışlıkla yeni bir virüs olarak tanımlanmaktaydı. Bir başka örnekte ise iki makro virüsü aynı anda belgeye bulaştığında, ikisinin birleşimi çiftleşme olarak algılanıyor ve muhtemelen ebeveynden ayrı yeni bir virüs olarak tespit ediliyordu.

Bir bilgisayar virüsü hazır mesajlaşma üzerinden de gönderilebilir. Virüs bulaştığı makineyi kullanarak bir web adresi linkini kişiler listesindeki tüm şahıslara hazır mesaj olarak gönderebilir. Mesajı alan kişi arkadaşından (ya da herhangi bir güvenilir kaynaktan) geldiğini düşündüğü linke tıklarsa, ulaşılan sitede bulunan virüs bilgisayara bulaşabilir ve yukarıda bahsedilen yöntemi kullanarak diğer kurban bilgisayarlara yayılabilir.

Kasım 2001'de Outlook ve Outlook Express'teki güvenlik açığını kullanan "Badtrans" solucanı, virüslerin bulaşması için virüslü e-posta eklentileri açılmalıdır tezini çürüttü.

Yeni tür bilgisayar virüsleri cross-site betik virüsleridir. Virüs araştırmalar sonucunda ortaya çıkarılmış ve 2005 yılında akademik olarak sunumu yapılmıştır. Virüs yayılmak için cross-site scripting açığını kullanmakta. 2005 yılından bu yana birçok cross-site scripting virüsü örneği gözlendi. Etkilenen belli başlı siteler arasında Myspace ve Yahoo bulunmakta.

Neden bilgisayar virüsleri yapılır?
Biyolojik virüslerin aksine bilgisayar virüsleri kendi başlarına evrimleşemezler. Bilgisayar virüsleri ne kendiliğinden var olabilirler ne de yazılımlardaki hatalardan türeyebilirler. Programcılar ya da virüs yapma yazılımı kullanan kişiler tarafından üretilirler. Bilgisayar virüsleri ancak programlandığı etkinlikleri gerçekleştirmeye muktedirlerdir.

Virüs yazıcılarının zararlıyı üretme ve yayma amacı çok çeşitli nedenlere dayandırılabilir. Virüsler araştırma projeleri amaçlı, şaka amaçlı, belirli şirketlerin ürünlerine saldırmak amaçlı, politik mesajları yaymak amaçlı veya kimlik hırsızlığı, casus yazılım ve saklı virüs ile haraç kesme gibi yöntemlerle finansal kazanç sağlamak amaçlı yazılabilmektedir. Bazı virüs yazıcılar ürettiklerini sanat yapıtı olarak görmekte ve virüs yazmayı bir tür yapıcı hobi olarak tanımlamaktalar. Ek olarak birçok virüs yazıcısı, virüslerin sistemler üzerinde tahrip edici etkiler göstermesinden yana değildir. Çoğu yazıcı saldırdıkları işletim sistemini bir zihin egzersizi ya da çözülmeyi bekleyen bir mantık sorusu olarak görmekte ve antivirüs yazılımlarına karşı oynanan kedi fare kovalamacasının kendilerini cezbettiğini belirtmekteler. Bazı virüsler iyi virüsler olarak addedilir. Bulaştıkları programları güvenlik açısından geliştirilmeye zorlar ya da diğer virüsleri silerler. Bu tür virüsler çok nadirdir ve sistem kaynaklarını kullanır, bulaştıkları sistemlere yanlışlıkla zarar verebilir ve bazen diğer zararlı kodların bulaşması ile virüs taşıyıcı hale gelebilirler.

Zayıf yazılmış bir iyi virüs gene yanlışlıkla zarar veren forma dönüşebilir. Örneğin iyi bir virüs hedef dosyasını yanlış tanımlayabilir ve masum bir sistem dosyasını yanlışlıkla silebilir. Ek olarak, normalde bilgisayar kullanıcısının izni olmadan işlemektedir. Kendini sürekli çoğaltan kodlar ek problemlere de neden olduklarından iyi niyetli bir virüsün, kendisini çoğaltmayan ve problemi halledebilecek geçerli bir programa kıyasla sorunu ne derece çözebileceği kuşku uyandırmaktadır. Kısaca virüs yazarları aleminin genelini belirtecek bir nitelemenin çıkarımı zordur.

Birçok hukuk sahasında herhangi bir bilgisayar zararlısını yazmak suç sayılmaktadır.

Bilgisayar virüsleri diskler ve veri hatları gibi elektronik ortamlarla sınırlanmamıştır. Virüs, bir bilgisayardan diğer bilgisayara olan yoluna basılmış mürekkeple, insan gözündeki ışık ışınlarıyla, optik sinir iletileriyle ve parmak kas kasılmalarıyla devam edebilir. Bir virüs programının kodlarını basarak okuyucularının ilgisine sunan bir bilgisayar meraklıları dergisi geniş bir kesimce kınanmıştır. Aslında, virüs programları hakkında herhangi bir çeşit ‘Nasıl yapılır’ bilgisi yayınlanarak, belirli tip çocuksu zihinlerin virüs fikrine dikkatlerinin böylesine çekilmesi, haklı bir şekilde sorumsuz hareket olarak görülür.

----
Richard Dawkins - Bir Şeytan'ın Papazı

Çoğalma stratejileri
Bir virüsün kendini çoğaltabilmesi için virüsün yürütülmeye ve hafızaya yazılmaya izinli olması gerekir. Bundan ötürü birçok virüs kendilerini geçerli programların yürütülebilir dosyalarına tuttururlar. Eğer bir kullanıcı virüs bulaşmış programı başlatmaya kalkarsa, ilk olarak virüsün kodu çalıştırılır. Virüsler yürütüldüklerinde gösterdikleri davranışlara göre iki çeşide ayrılırlar. Yerleşik olmayan virüsler hemen tutunacakları başka konaklar ararlar, bu hedeflere bulaşır ve nihayetinde bulaştıkları programa kontrolü bırakırlar. Yerleşik virüsler yürütülmeye başladıklarında konak aramazlar. Bunun yerine yürütümle birlikte kendilerini hafızaya yükler ve kontrolü konak programa bırakırlar. Bu virüsler arka planda etkin kalarak, virüs bulaşmış program dosyalarına erişen her programın dosyalarına ya da işletim sisteminin kendisine bulaşırlar.

Yerleşik olmayan virüsler
Yerleşik olmayan virüslerin keşfedici modül ile çoğaltıcı modülden oluştukları düşünülebilir. Keşfedici modül virüsün bulaşması için kullanılacak yeni dosyalar aramakla yükümlüdür. Keşfedici modülün karşılaştığı her yürütülebilir dosyaya çoğaltıcı modül çağrılmak suretiyle virüs bulaştırılır.

Basit virüsler için çoğaltıcının görevleri şunlardır:
Yeni bir dosya aç
Dosyaya önceden virüs bulaştırılıp bulaştırılmadığını kontrol et (eğer bulaştırılmış ise keşfedici modüle geri dön)
Virüs kodunu yürütülebilir dosyaya tuttur.
Yürütülebilir dosyanın başlangıç noktasını kaydet.
Yürütülebilir dosyanın başlangıç noktasını yeni eklenen virüs kodunun başlatma alanına yönlendir.
Eski başlatma alanını virüs yürütülür yürütülmez o alana yayılacak şekilde virüse kaydet.
Yürütülebilir dosyadaki değişiklikleri kaydet.
Virüs bulaşmış dosyayı kaydet.
Çoğaltıcı modülün virüs bulaştıracağı dosyalar bulabilmesi için keşfedici modüle geri dön.

Yerleşik Virüsler
Yerleşik virüsler yerleşik olmayan virüslerdeki örneğine benzer bir çoğaltıcı modül içerirler. Ancak yerleşik virüslerde çoğaltıcı modülü çağıran keşfedici modül bulunmamaktadır. Onun yerine, virüs yürütüldüğü vakit çoğaltıcı modül hafızaya yüklenir ve böylece işletim sistemi belirli tip bir görevi her seferinde uygularken çoğaltıcı modülün de yürütülmesi sağlanır. Örneğin işletim sistemi bir dosyayı her seferinde yürütürken çoğaltıcı modül çağrılabilir. Bu durumda virüs bilgisayarda yürütülmekte olan tüm uygun programlara bulaşabilir.

Yerleşik virüsler, bazen hızlı bulaşıcılar ve yavaş bulaşıcılar olmak üzere alt kategorileri ayrılabilirler. Hızlı bulaşıcılar olabildiğince çok dosyayı enfekte etmeye çalışırlar. Örneğin, hızlı bulaşıcı ulaşılan her potansiyel konak dosyasına virüs bulaştırabilir. Bu durum antivirüs programları için özel bir problem oluşturmaktadır, çünkü virüs tarayıcısı sistem genelinde tarama yaptığında sistemdeki tüm potansiyel konak dosyalarına erişecektir. Eğer virüs tarayıcısı sistem hafızasında virüsün bulunduğunu tespit edemez ise virüs, virüs tarayıcısını arkadan takip ederek tarama için erişilen tüm dosyalara bulaşacaktır. Hızlı bulaşıcılar, sisteme yüksek hızda yayılmalarına bel bağlarlar. Bu metodun sakıncası virüsün birçok dosyaya bulaşması ve kendisinin tespitini bir anlamda kolaylaştırmasıdır. Çünkü sistem hafızasını işgal eden virüsler giderek makineyi yavaşlatacak ve şüphe uyandıran eylemler gerçekleştirerek antivirüs yazılımları tarafından fark edileceklerdir. Yavaş bulaşıcılar ise konak dosyalarını nadiren enfekte edecek şekilde tasarlanmışlardır. Örneğin, bazı yavaş bulaşıcılar sadece kendilerini kopyaladıklarında dosyalara tutunurlar. Yavaş bulaşıcılar aktivitelerini sınırlayarak tespit edilmekten sakınmaya çalışırlar. Bilgisayarı fark edilebilir şekilde yavaşlatmaları olası değildir ve şüphe uyandıran davranışları tespit eden antivirüs yazılımlarını tetiklememek için ellerinden geleni artlarına koymazlar. Yavaş bulaşma ile tüm sisteme yayılma yaklaşımı bu tür virüslerin amaçlarına ulaşmalarına imkân vermemiştir.

Tespitten korunma yöntemleri
Kullanıcılar tarafından tespit edilmeyi güçleştirmek adına virüsler bazı aldatmacalar kullanmaktadır. Özellikle MS-DOS platformundaki bazı eski virüsler, konak dosyaya bulaşıp içeriği değiştirmelerine rağmen, son değiştirme tarihinin özellikle değişmeden kalmasını sağlarlar.

Ancak bu yaklaşım ile antivirüs yazılımlarını aldatamazlar.

Bazı virüsler, ulaştıkları dosyaların büyüklüklerini değiştirmeden ve dosyaya zarar vermeden bulaşırlar. Bunu yürütülebilir dosyadaki kullanılmayan alanların üzerine yazarak gerçekleştirirler. Bu türden virüsler boşluk virüsleri olarak adlandırılırlar. Örneğin bir zamanlar büyük tahribata neden olmuş Chernobyl virüsü taşınabilir yürütülebilir dosyaları etkiler çünkü bu tür dosyalarda çok sayıda boşluk bulunmaktadır. 1 KB boyutundaki virüs, dosyalara bulaştığında dosya büyüklükleri değişmeyecektir.

Bir kısım virüsler antivirüs programları kendilerini tespit etmeden evvel bazı antivirüs program görevlerini sonlandırarak tespiti engellemeye çalışırlar.

Bilgisayarlar ve işletim sistemleri gelişip karmaşıklaştıkça eski tip saklanma yöntemlerinin güncellenmeleri ya da yenileriyle değiştirilmeleri gerektiği açıktır.

Olta dosyalarından ve diğer istenmeyen konaklardan sakınma
Bir virüs yayılıma devam edebilmek için mutlaka bir konağa tutunmalıdır. Bazı durumlarda konak programına bulaşmak iyi bir fikir değildir. Örneğin bazı antivirüs programları bütünlük kontrolü yaparak kendi kodlarını incelerler. Dolayısıyla bu türden programlara tutunmak virüsün açığa çıkmasına neden olacaktır. Bundan ötürü bazı virüsler, antivirüs programlarının parçaları oldukları bilinen bir kısım programlara tutunmayacak şekilde tasarlanırlar. Virüslerin sakındıkları bir başka konak türü ise olta (bait) dosyalarıdır. Olta dosyaları, antivirüs programları ya da antivirüs uzmanları tarafından virüsün bulaşmasına yönelik özel olarak hazırlanan dosyalardır. Bu dosyaların hepsi de virüsleri tespit etmeye yönelik olup çeşitli amaçlar için üretilmektedirler;

Antivirüs uzmanları olta dosyalarını virüs numunesi elde etmek için kullanırlar. Bir virüsü küçük olta dosyalarında saklamak ve incelemek, sistemdeki büyük programların dosyalarına bulaşmış virüsü incelemeye göre daha pratik olduğundan uzmanlar olta dosyalarını kullanırlar.
Antivirüs uzmanları olta dosyalarını virüs davranışlarını incelemekte ve olası tespit yöntemlerini değerlendirmekte kullanırlar. Bu, özellikle virüsün çok şekilli olduğu durumlarda çok işe yaramaktadır. Bu durumda virüsün hazırlanan çok sayıda olta dosyasına bulaşması amaçlanır. Virüs bulaşmış tüm olta dosyaları, bir virüs tarayıcısının tüm virüs versiyonlarını tespit edip edemediğini değerlendirmede kullanılabilir.
Bazı antivirüs yazılımları da düzenli erişilen olta dosyalarını kullanmaktadır. Bu olta dosyalarında değişiklik olduğunda antivirüs yazılımı kullanıcıyı, sistemde etkin bir virüs bulunabileceği konusunda uyarır.

Olta dosyaları, virüsleri tespit etmekte ya da tespit etmeyi kolaylaştırmakta kullanıldıklarından, bir virüs bu türden dosyalara bulaşmayarak kendine fayda sağlayabilir. Virüs bunu anlamsız komutlar içeren küçük program dosyaları gibi, şüpheli görünen programlardan uzak durarak gerçekleştirir.

Virüsler için oltalanmadan sakınmanın bir diğer yolu da seyrek bulaşmadır. Bazen seyrek bulaştırıcılar, diğer şartlar altında tutunmaya uygun bir aday olabilecek konak dosyasına tutunmazlar. Örneğin bir virüs herhangi bir konak dosyasına bulaşıp bulaşmamaya rastgele bir şekilde karar verebilir ya da konak dosyalarına haftanın belirli günlerinde bulaşmayı tercih edebilir.

Kaçaklık
Bazı virüsler, antivirüslerin işletim sistemine aktardığı bazı istekleri durdurarak antivirüs yazılımını kandırmaya çalışırlar. Bir virüs, antivirüs yazılımının işletim sistemine ilettiği dosyayı okuma isteğinin doğru hedefe ulaşmasını engelleyebilir ve hatta isteği kendine yönlendirmek suretiyle antivirüsten saklanmayı başarabilir. Virüs, daha sonra aynı dosyanın temiz bir versiyonunu antivirüse sunarak dosyanın temiz gibiymiş görünmesini sağlar. Modern antivirüs yazılımları virüslerin bu türden gizlenme tekniklerine karşı koymaya çalışmaktadır. Kaçaklığı engellemenin tek yolu sistemi temiz olduğu bilinen bir ortamdan önyüklemektir.

Şekil değiştirmeler
Birçok antivirüs yazılımı, sıradan programların dosyalarını virüs imzalarını kontrol ederek taramakta ve muhtemel virüsleri bulmaya çalışmaktadır. Bir virüs imzası belirli tip virüsü ya da virüs ailesini belirten özel byte numunesidir. Eğer virüs tarayıcısı incelenen dosyalar içinde böyle bir numune ile karşılaşır ise kullanıcıyı virüs hakkında bilgilendirir. Kullanıcı bu durumda dosyayı silebilir ya da virüsten arındırabilir. Bazı virüsler, virüs imzaları ile tespit edilmeyi güçleştirecek ya da imkânsız hale getirecek teknikler kullanır. Bu türden virüsler her bulaşma esnasında kodlarını değiştirmektedir. Dolayısıyla her konak virüsün farklı bir versiyonunu bünyesinde bulundurmaktadır.

Basit şekil değiştirmeler
Geçmişte virüsler kendilerini basit şekillerde değiştirebiliyorlardı. Örneğin virüsler, kaynak kodlarında yer alan ve görevleri benzer altprogram ünitelerini değiş tokuş etmekteydi. 2+2 yapısındaki bir virüs takas sonunda 1+3 forumuna dönerken işlevinde herhangi bir değişiklik olmuyordu. Günümüzde bu durum gelişmiş virüs tarayıcılar için bir problem oluşturmuyor.

Değişken anahtarlar ile şifreleme
Daha gelişmiş bir yöntem ise virüsü basit şifreleme yöntemleri ile saklamaktı. Bu durumda virüs, ufak bir şifre çözücü modül ile virüs kodunun şifrelenmiş bir kopyasından oluşmaktaydı. Her dosya bulaşmasında virüs farklı bir anahtar ile şifreleniyor olsa da virüsün sürekli sabit kalacak tek bölümü, virüsün son bölümüne iliştirilen çözücü modül olacaktır. Bu durumda virüs tarayıcı virüs imzalarını kullanarak virüsü tespit edemeyecektir, ama sabit olan çözücü bölüm tespit edilerek virüsü dolaylı yollar ile bulmanın imkânı vardır.

Genel olarak virüslerin uyguladıkları çözücü teknikleri basitti ve büyük çoğunlukla her byte'ı ana virüs dosyasında saklanan rastgele hale getirilmiş anahtar ve Xor takısı ile birleştirmek suretiyle elde ediliyordu. Şifreleme ve çözme düzenlerinin aynı olmasından ötürü Xor uygulamalarının kullanılması virüse ek avantaj sağlıyordu.
(a XOR b = c, c XOR b = a.)

Çokşekilli kod
Çokşekilli kodlar, tarayıcılara yönelik ciddi tehdit arz eden ilk teknikti. Şifrelenmiş virüslere benzer şekilde çokşekilli virüsler de dosyalara şifrelenmiş kopyaları ile bulaşmakta idi. Bununla birlikte şifre çözücü modül de her dosya bulaşmasında değişmekteydi. Dolayısıyla iyi yazılmış çokşekilli bir virüs her bulaşmada sabit kalacak hiçbir parçaya sahip değildi ve bu da virüs imzalarını kullanarak virüsü tespit etmeyi imkânsız hale getiriyordu. Antivirüs yazılımları, virüsü öykünücü vasıtasıyla çözerek ya da şifrelenmiş virüs gövdesinin istatistiki model analizini yaparak tespit edebiliyorlardı. Çokşekilli koda sahip olabilmek için virüs, şifrelenmiş gövdesi içerisinde çokşekilli motora (değiştirme motoru ya da değişim motoru) sahip olmalıdır.

Bazı virüsler çokşekilli kodları virüsün değişim hızını artırmakta kullanmaktalar. Örneğin bir virüs zaman içinde yavaş biçimde değişim gösterecek şekilde programlanabilir ya da başka virüs kopyaları bulaşmış dosyalara tutunmaktan kendini alıkoyabilir. Bu türden yavaş çokşekilli virüslerin üstünlüğü, antivirüs uzmanlarının bu türden virüslere ait temsil numunelerini elde etmekte zorlanmalarıdır. Çünkü belirli bir zaman sürecinde olta dosyalarına sadece benzer ya da aynı tip virüs versiyonları bulaşacaktır. Bu durum açıkça gösteriyor ki bu türden virüslerin virüs tarayıcıları ile tespiti güvenilir değildir ve sonuç olarak virüsün bazı örneklerinin tespit edilmekten kaçabildiği açıkça belli olmaktadır.

Başkalaşım kodu
Öykünücüler vasıtasıyla tespit edilmekten kurtulabilmek için her yeni yürütülebilir dosyaya bulaşmadan önce kendilerini tamamıyla yeniden yazan virüslerdir. Başkalaşım geçirebilmeleri için bu virüslerin başkalaşım motoru kullanmaları gerekir. Bir başkalaşım motoru genelde çok büyüktür ve karmaşıktır. Örneğin W32/Simile 14000 satır çevirici dili içerir ve %90'ı başkalaşım motoruna aittir.

Açıklar ve karşı önlemler
İşletim sisteminin virüs saldırılarına karşı açıkları
Biyolojik virüsler ile bilgisayar virüslerinin birçok yönden benzeştikleri bilindiktir. Bir topluluk içerisinde genetik çeşitlilik ne kadar fazla ise, herhangi bir hastalık virüsünün o canlı topluluğunu yok etmesi o derece zorlaşmaktadır. Aynı şekilde bir ağ üzerindeki yazılım sistemlerinin çeşitliliği, virüslerin tahrip ediciliğini sınırlamaktadır.

Microsoft'un masaüstü işletim sistemleri ve ofis yazılım paketleri pazarında üstünlük sağladığı 1990'larda bu durum özel bir ilgi yarattı. Microsoft yazılımları kullanıcıları (özellikle Microsoft Outlook ve Internet Explorer gibi ağ yazılımları kullanıcıları) virüslerin yayılımı karşısında savunmasızdırlar. Microsoft yazılımları, şirketin masaüstü işletim sistemlerindeki nicelik olarak üstünlüğünden ötürü birçok virüs yazıcısının hedefidir ve virüs yazıcılar tarafından suistimal edilen birçok hata (bug) ve açıkları bünyelerinde bulundurduklarından sık sık eleştiri almaktadırlar. Gömülü (entegre) yazılımlar, dosya sistemlerine erişim imkânı tanıyan betik dillerini içerir uygulamalar (örneğin VBScript ve ağ oluşturma uygulamaları) da saldırıya açıktır.

Her ne kadar Windows virüs yazıcılar için en gözde işletim sistemi olsa da bazı virüsler diğer platformlarda da gözlenmektedir. Üçüncü parti yazılımları yürüten herhangi bir işletim sisteminde teorik olarak virüsler çalışabilir. Bazı işletim sistemleri diğerlerine nispeten daha az güvenlidir. Unix temelli işletim sistemleri (ve Windows NT temelli platformalar) kullanıcıların yürütülebilir uygulamaları sadece kendilerine ait sınırlandırılmış alanda çalıştırmalarına izin verirler.

2006 yılı olarak Unix tabanlı işletim sistemlerinden biri olan Mac OS X'i hedef alan açık suistimali (exploit) oldukça azdır. Bilinen güvenlik açıkları ise solucanların ve truva atlarının suistimal ettikleri açık sınıflandırmalarına dahil edilmektedirler. Apple'in Mac OS Classic olarak bilinen eski işletim sistemlerine yönelik virüslerin sayısı, bilgi kaynaklarına göre değişiklik arz etmekte. Apple sadece 4, bağımsız kaynaklar ise 63 kadar virüsün işletim sistemine bulaşabileceğini belirtmekte. Kesin olarak söylenebilir ki Unix tabanlı olmasından ötürü Mac Os işletim sistemlerinin güvenlik açıklarından suistimal edilmeleri diğer işletim sistemlerine nispeten daha güçtür. Macintosh bilgisayarların sayıca az olmasından ötürü Mac virüsleri sadece bir kısım bilgisayarı etkileyebilir ki bu durum virüs yazıcılarını pek cezbetmemektedir. Virüslerden etkilenme nitelikleri, çoğu kez Apple ve Microsoft arasındaki karşılaştırmaların temelini oluşturmaktadır.

Windows ve Unix benzer betik yeteneklerine sahiptir, ancak Unix normal kullanıcıların işletim sistemi ortamına erişimini engelleyerek olası değiştirmelerin önüne geçerken, Windows bunu yapmaz. 1997'de Bliss olarak bilinen Linux'a yönelik virüs ortaya çıktığında, önde gelen antivirüs şirketleri Unix benzeri işletim sistemlerinin (Linux da Unix tabanlıdır) Windows gibi virüslerin esareti altına girebileceği öngörüsünde bulundu. Bliss, Unix sistemlere yönelik tipik bir virüstür. Bliss, kullanıcının kendisini çalıştırması ile aktif hale gelir ve sadece kullanıcının erişim haklarının olduğu alanları (ya da programları) enfekte eder. Windows kullanıcılarının aksine birçok Unix kullanıcısı, program yüklemek ve yazılım ayarlarını yapmak gibi durumlar haricinde yönetici hesabıyla oturum açmazlar, dolayısıyla kullanıcı virüsü çalıştırsa bile virüs işletim sistemi dosyalarına bulaşamayacağı için sisteme zarar veremez. Bliss virüsü hiçbir zaman çok yaygınlaşmadı ve daha çok araştırma merakı aracı olarak kaldı. Daha sonra kaynak kodu, yaratıcısı tarafından araştırmacıların nasıl çalıştığını inceleyebilmeleri adına Usenete postalandı.

Yazılım geliştirmenin rolü
Yazılımlar sistem kaynaklarının izinsiz kullanımını engelleyecek güvenlik özellikleri ile tasarlandıklarından, birçok virüs sistem ya da uygulamalardaki yazılım hatalarını (bug) suistimal ederek yayılırlar. Yazılımlarda çok sayıda hata (bug) yaratan yazılım geliştirme stratejilerinde diretmek, aynı zamanda birçok potansiyel suistimalin de temel kaynağı olacaktır.

Microsoft ve patentli yazılım üreten şirketlerin tercih ettikleri kapalı kaynak yazılım geliştirme süreci birçokları tarafından güvenlik zafiyetinin temel kaynağı olarak görülür. Açık kaynak yazılımlar (GNU Derneği Yazılımları vb.) kullanıcıların uygulama kodlarını incelemesine olanak tanır ve güvenlik problemlerini çözmek için sadece tek bir kuruma bağlı kalınmak zorunluluğunu ortadan kaldırır.

Diğer taraftan bazıları açık kaynak yazılım geliştirmenin, virüs yazıcılarının kullanabilecekleri potansiyel güvenlik problemlerini açığa çıkardığını ve dolayısıyla suistimallerin görülme sıklığının artacağını iddia etmekte. Bu kişiler, ayrıca, Microsoft gibi popüler kapalı kaynak yazılımların çok fazla kullanıcısı olmasından ötürü suistimal edildiklerini ve yazılımın çokça kullanılması nedeniyle suistimal etkisinin geniş alanlara yayılmasının doğal karşılanması gerektiğini iddia etmekteler.

Örnek bir virüsün kodu(Kesin ölüm virüsü):del C:/WINDOWS/system/MOUSE.DRV
del C:/WINDOWS/system/KEYBOARD.DRV
del c:\WINDOWS\system32\drivers\cdrom
shutdown -s

Antivirüs yazılımları ve diğer önleyici tedbirler
Antivirüs yazılımlarının virüsleri tespit etmekte kullandığı iki metot bulunmaktadır. İlki ve en yaygın kullanılanı, virüs imza tanımlarını kullanmaktır. Bu yöntemin mahzuru, kullanıcının virüs imza listelerinin sadece tespit edilmiş virüslere ait imzaları içermesinden ötürü yeni türeyen tehditlere karşı savunmasız kalmasıdır. İkinci metot ise virüslerin genel davranışlarına odaklanarak tespiti gerçekleştiren buluşsal algoritmaları kullanmaktır. Bu metot sayesinde antivirüs şirketlerinin henüz tespit edemedikleri virüslerin sisteminizde var olduklarını bulabilirsiniz.

Birçok kullanıcı virüslere ait yürütülebilir dosyalar bilgisayara indirilmesi durumunda tespiti gerçekleştirecek ve dosyaları sistemden temizleyebilecek antivirüs programları kullanmaktadır. Antivirüs yazılımları bilgisayar hafızasını (RAM ve önyükleme sektörleri), sabit ya da çıkarılabilir sürücülerin (sabit diskler ve disketler) dosyalarını inceleyerek ve virüs imzaları veritabanı ile karşılaştırarak çalışırlar. Bazı antivirüs yazılımları aynı usul ile dosyalar açılırken hatta eposta alıp gönderirken tarama yapabilmektedir. Bu uygulamaya on access tarama denilmektedir. Antivirüs yazılımı, konak programların virüsleri yayma zafiyetlerini (açıklarını) düzeltmezler. Bunu gerçekleştirecek birkaç adım atıldı ancak bu türden antivirüs çözümlerini benimsemek konak yazılımların garantilerini geçersiz kılabilmektedir. Dolayısıyla kullanıcılar sık sık güncelleme yaparak yazılımlara ait güvenlik açıklarını yamamalıdır.

Kişi, ek olarak önemli verilerin ve hatta işletim sisteminin düzenli yedeklerini alarak virüslerin neden olacakları muhtemel zararları engelleyebilir. Yedeklerin sisteme sabit bağlanmamış, sadece okunabilir ya da erişim engelli (farklı dosya sistemleri ile formatlanmış) ortamlarda saklanması ise çok önemlidir. Bu yol ile, eğer virüs nedeniyle veri kaybı yaşanırsa en son alınmış yedek kullanılarak zarar telafi edilir. Aynı şekilde bir çalışan disk (livecd) işletim sistemi, asıl işletim sistemi kullanılamaz hale geldiğinde bilgisayarı açmak için kullanılabilir. Bir başka yöntem ise farklı işletim sistemlerine ait yedekleri farklı dosya sistemleri üzerinde saklamak. Bir virüsün tüm dosya sistemlerini etkilemesi pek mümkün değildir. Bu nedenle alınan veri yedeklerinin farklı tipte dosya sistemlerine aktarılması uygundur. Örneğin Linux, NTFS bölümlerine yazabilmek için özel yazılım kullanmak durumundadır, dolayısıyla kişi bu türde yazılımı kurmaz ve yedeğin aktarılacağı NTFS bölümünü yaratmak amacıyla MS Windows kurulumu gerçekleştirir ise, Linux yedeği virüslerinden korunmuş olacaktır.

Toparlama yöntemleri
Bir bilgisayar, virüsün zararlı etkileri altındaysa, işletim sistemini yeniden kurmadan bilgisayarı kullanmaya devam etmek güvenli olmayacaktır. Bununla birlikte, bir bilgisayar virüs kaptığında tercih edilebilecek birçok toparlama seçeneği bulunmaktadır. Uygun olan uygulama virüs tipinin ciddiyetine bağlı olarak seçilir.

Virüs temizleme
1. yöntem: Windows XP üzerindeki bir olasılık, önemli kayıt ve sistem dosyalarını önceden kaydı yapılmış bir denetim noktasına geri döndürecek sistem geri yükleme aracını kullanmaktır.

2. yöntem: Antivirüs ve casussavar yazılımlar (antispyware) ile silmektir.

İşletim sisteminin tekrar kurulumu
Aşırı ciddi durumlarda işletim sistemini tekrar kurmak gerekebilir. Bunu yapmak için tüm diski silmek ve virüs bulaşmamış temiz bir ortam aracılığıyla kurulumu gerçekleştirmek gerekir.

Bu metin GNU Özgür Belgeleme Lisansı ile lisanslandırılmıştır (bu lisansın gayriresmî bir Türkçe çevirisi mevcuttur ). "Computer Virus" adlı Wikipedia maddesinden alıntı yapmaktadır.

Bilgisayar virüsleri kendilerini yasal programlara yamayan ve bu programların normal işleyişlerini bozan kod parçalarıdır. Değiş tokuş edilen disklerde, internette, yerel ağlarda dolaşabilirler. Kendileri bir program olan, genelde ağlarda dolaşan ve ‘solucanlar’ adı verilen programlardan teknik olarak farklıdırlar. Daha değişik bir tür, ‘Truva atları’, yıkıcı programların üçüncü üyesidir. Kendilerini kopyalamazlar fakat insanların onları pornografik veya diğer türlü çekici içerikleri yüzünden kopyalaması ilkesine dayanırlar. Virüs ve solucan programlarının ikisi de aslında bilgisayar dilinde ‘İkileştir Beni’ diyen programlardır. Her iki tür de varlıklarını hissettirecek ve belki de yazarlarının önemsiz kendini beğenmişlik duygularını tatmin edecek diğer işler yapabilirler. Yan etkileri ‘gülünç’ olabilir (Macintosh bilgisayarın dâhili hoparlöründen ‘Panik Yapmayın’ ifadesini seslendiren ve tahmin edilebileceği gibi bunun tersi bir etki yapan virüsler gibi); kötü niyetli olabilir (az sonra gerçekleşecek felaketi kıs kıs gülen bir ekranla haber verdikten sonra hard diski silen virüsler gibi); politik olabilir (İspanyol Telekom ve Pekin virüsleri sırasıyla telefon ücretlerini ve öğrencilerin katledilmelerini protesto ederler); ya da sadece beceriksiz olabilir (programcı etkili bir virüs ya da solucan yazmak için gerekli düşük seviye sistem çağrılarını idare etme konusunda beceriksizdir). 2 Kasım 1988’de ABD’nin bilgisayar gücünün büyük çoğunluğunu felç eden en ünlü İnternet Solucanı (çok) kötü niyetle yazılmamıştı fakat kontrolden çıktı ve 24 saat içerisinde yaklaşık 6000 bilgisayarın hafızasını işgal ederek, gittikçe artan bir hızda kendini kopyalamaya başladı.

----
Richard Dawkins - Bir Şeytan'ın Papazı

Ayrıca bakınız
Truva atı (bilgisayar)
Bilgisayar solucanı
Kötücül yazılımlar
Casus yazılım
Antivirüs yazılımı
Ateş duvarı
Bilgi güvenliği
Rootkit
Botnet
Zombi bilgisayar
Eylem Merkezi (Windows)

Kaynakça