Bilgisayar virüsü kavramını eminim hepimiz bir şekilde duymuşuzdur . Windows kullanıcıları kimi zaman geri döndürülemeyecek şekilde verilerini , emeklerini ve asla geri gelmeyecek zamanlarını bilgisayar virüsleri nedeniyle kaybederler . Elden ele dolaşan disketler zamanımızda yerini internetin geniş bant trafiğine bırakmışlardır . Böylece bir solucan kıtalar arası yolculuğunu birkaç saniyede yapabilmektedir . Kimi zaman güvenli olduğunu sandığınız bir makinanın başka birileri tarafından kontrol edildiğine de şahit olmuş olabilirsiniz .
Bir windows kullanıcısının başına gelmiş veya gelme ihtimali yüksek bu olayları önce açıklayıp daha sonra işleyiş mekanizmalarına göz atalım . Daha sonra da işlerin Linux altında nasıl halledildiğini ve Linux"un neden virüsler için bir yaşam alanı olmadığını öğrenelim .
Bilgisayar Virüsleri : Bir bilgisayar virüsü aslında işletim sisteminiz altında çalışan herhangi bir uygulamadan çok farklı değildir . Temelde bir yazılımdır ve bir programcı tarafından yazılmışlardır . Bir yazılım için geçerli tüm kurallar bunlar için de geçerlidir . ( Bellek , işlemci ve disk kullanımı gibi ) Ayrıca windows için yazılmış bir virüs sadece windows altında etkili olur , Linux altında çalışmaları mümkün değildir . ( Tersi de doğrudur . ) Virüslerin ortak bir özelliği vardır: Çoğalmak . Virüs kendi kendini erişebildiği bazı dosyalara bulaştırarak çoğaltır . Her virüslü dosya çalıştırıldığında virüs yazılımı aktif olur ve programcı tarafından daha önceden programlanmış işleri yapmaya başlar . Başka dosyalara bulaşır , bazı dosyalara zarar verebilir , bazı ayarları değiştirebilir . Tüm bu işlemleri kısa sürede tamamlar ve üzerine bulaştığı programın çalışmasını başlatabilir , bir hata mesajı verebilir yada hiçbir işlem yapmaz . Bundan sonra bellekte kalıcı olarak yerleşebilir . Virüs bir exe uzantılı çalıştırılabilir dosyanın genelde sonuna kendi kodunu yazar ve baş bölümdeki başlangıç kodunun bir kısmını kendi bölümünü gösterecek şekilde değiştirir . Böylece dosya çalıştırılmadan önce virüsün kodu çalışacak ve sonlandıktan sonra gerçek uygulama ekrana gelecektir . Bu yöntem ile bazen orjinal dosya ciddi zarar görebilmektedir . Virüslerin çoğalma işlemi onlar için hayatidir . Bu işlem dışında yapılması düşünülen zararlı işler tamamen programcının tekelindedir . İstenirse bios yakılabilir , dosyalar silinebilir . . .
Peki bir bilgisayar virüsünden nasıl korunabiliriz? Bunun tek bir bilinen kolay yolu yoktur . Her bilgisayar virüsü programlayanın zekası ile birleşince herbiri bambaşka yazılımlar olurlar . Herbirinin bulaşma yöntemi ve yaptıkları işlemler farklıdır . En etkili yöntem herhalde dışarıya karşı izole edilmiş bir pc sahibi olmak ve hiçbir şekilde dosya alışverişi yapmamaktır . Aksi durumda bir antivirüs yazılımına sahip olmanız gerekecek . Bir antivirüs yazılımı o virüse özel bazı kodları bünyesinde bulunduran bir programdır . Bu kodları sizin taranmasını istediğiniz tüm dosyalarda arar ve bulduğunda temizleme işlemini başlatır . Aynı zamanda işletim sistemi ile entegre olarak dosyalar belleğe yüklenmeden yada çalıştırılmadan önce onları tarayabilir . Tabii ki bu işlemler beraberinde kısmen bir yavaşlamayı da getirecektir . Günümüzde bilgisayar virüsleri sadece exe dosyalar ile bulaşmazlar . Bir windows batch script , mirc script , visual basic script uygulaması yada microsoft office makro tanımlamaları olabilir . Hatta bu script uygulamacıkları normalde çalışmamaları gereken durumlarda programların ve kullanıcıların bazı açıklarından yararlanabilirler . Örneğin windows ilk ayarlar ile dosya uzantısını gizler . Bu durumda resim . jpg . exe dosyası resim . jpg şeklinde görüneceğinden ve simgesi de resim dosyası gibi düzenlendiğinde çalıştırılması çok kolay bir hal alır . Microsoft , windows için geliştirdiği birçok yöntemde olası güvenlik problemlerini genelde görmezden gelmiştir . ActiveX internet explorer ile Windows Update işlemi yapılarak işletim sisteminin güncellenmesine yardımcı olur . Diğer yandan ise uyarı mesajlarını okumadan evet diyen kullanıcıların bilgisayarlarına sızmak için en kolay yoldur! Bir başka sık kullanılan yöntem ise microsoft outlook altından elektronik posta ekinde bulunan zararlı yazılımların çalıştırılması sonucu bulaşmadır .
Solucanlar : Bu yazılımlar yerel ağda yada internet üzerinde bilgisayardan diğer bir bilgisayara bulaşırlar . Genelde virüsler kadar zararlı değildirler . Daha çok bulaştıkları makinaları hizmet dışı bırakmak yada sunucuların trafiklerini artırmak gibi sonuçları olur . Bu tür yazılımların ortaya çıkmaları için işletim sistemi altında yada bir internet servisinde ciddi bir açığın bulunması gereklidir . Çok sık rastlanmazlar .
Truva Atları : Bu tür yazılımlar genelde bilgisayarları uzaktan yönetmek amacıyla kullanılırlar . Genelde bir sistem yöneticisi birçok makinayı yerinden kalkmadan yönetmek için bunları kullanır . Bazıları ise sizin haberiniz olmadan makinanıza yüklenmiş olabilir . Bu durumda güvenliğiniz tehdit altında olacaktır . Kişisel dosyalarınız çalınabilir , uzaktan makinanız kapatılabilir . . . Şu anda birçoğu casusluk amaçlı kullanıldıklarından antivirüs yazılımları tarafından yakalanmaktalar .
Asıl problem , virüsler neden bu kadar çoklar , hızlılar , windows bunlara neden engel olamıyor ve linux altında neden çoğalamıyorlar?
Windows 9x serisi ( 95 , 98 , ME ) ve önceki işletim sistemleri tek kullanıcılı işletim sistemleridir . Farklı kullanıcılar için farklı haklar tanımlanamadığı için bilgisayarı kullanan herhangi bir kişi virüslü dosyayı çalıştırdığında virüs hiçbir engel olmadan işlerini yapabilmektedir . Bu işler herşey olabilir . Kişisel dosyalara zarar vermekten işletim sisteminin açılış dosyalarına ve sistem dosyalarına bulaşabilir . Böyle bir durumda virüsler artık bir çift tıklama işlemine ihtiyaç olmadan bilgisayar yeniden başlatıldığında işletim sistemi ile birlikte aktif olabilmektedirler . Burada virüsün başka dosyalara bulaşmasının önünde bir engelin olmaması cok kolay yayılmalarına neden olmaktadır . Windows NT serisi işletim sistemleri ise çok kullanıcılı işletim sistemleridir ( Windows NT 4 . 0 , Windows 2000 ve Windows XP ) Bu işletim sistemlerinde farklı kullanıcılara farklı haklar verilebilmekte ve kullanıcılar değişik noktalarda kısıtlanabilmektedir . Fakat Windows XP kurulumu sırasında genelde Administrator şifresinin ne olduğu kullanıcılar tarafından tam olarak bilinmediğinden boş geçilmektedir . Daha önemli olan konu windows altında program kurmak , kaldırmak , sürücü yüklemek gibi işler için Administrator kullanıcı haklarına ihtiyaç olduğu için Windows XP kurulumu sonrasında oluşturulan kullanıcı hesapları hem şifreleri boş hem de tam yetkili Administrators grubunun bir üyesi olarak oluşturulurlar . Bu durumda hem boş şifreler hem de kullanıcını tam yetkili olması Windows XP işletim sistemini güvenlik açısından Windows 98 haline getirmektedir . Saydığım ihtiyaçlar nedeniyle kullanıcı için kısıtlı bir hesap oluşturulmamaktadır . Aksi durumda bu ihtiyaçlar için oturumu kapatıp Administrator hesabı ile oturum açmak gerekecektir . Bu durumda Windows XP ile bu yayılmaya bir çözüm bulunanamaktadır . Ayrıca virüsler windows işletim sistemindeki çeşitli uygulamalardaki ciddi açıkları da kullanmaktadır . Bu tamamen Microsoft"un faydalı olacağını umarak uygulamalar ile bütünleştirdiği değişik desteklerin diğer zararlı yazılımlar tarafından da tüm nimetleriyle kullanması sonucu ortaya çıkmaktadır .
Peki Linux altında işler nasıl işliyor? Söyle: Linux altında kullanıcı için tam yetkiye sahip olmayan normal bir hesap oluşturulur . Kullanıcı bu hakları ile kendisini ilgilendiren tüm işleri yapabilir . Sadece program kurup kaldıramaz , önemli programları çalıştıramaz ve önemli ayarları değiştiremez . Bu nedenle bir virüslü dosya bu kullanıcı tarafından çalıştırıldığında sadece kullanıcını ev dizini altındaki dosyalara zarar verebilir yada bulaşabilir . Bunu dışındaki hiçbir dizine virüs zarar veremez . Başka bir ayrıntı daha mevcuttur . Linux altında sadece patika ( path ) yolları altında bulunan dizinlerdeki programlar çift tıklanarak çalıştırılabilir . Kullanıcını masaüstündeki bir uygulama çift tıklanarak çalıştırılamaz . ( Bir betik dosya hariç , zaten bunlar için çalıştır/görüntüle tarzı seçim ekrana gelmektedir . ) Bir uygulamanın kurulması gerektiğinde yazılım yöneticisi root kullanıcı şifresini ( root Linux altındaki sistem yöneticisinin hesabıdır . ) sorar ve şifre doğru ise ekrana gelen pencere artık root kullanıcı haklarına sahiptir . Kullanıcı işlemlerini yapar ve programı kapatır . Yada bir konsol altından su - komutu ile root haklarına sahip olur . İşlerini yapar ( yazılım kurmak , kaldırmak . . . ) ve daha sonra çıkar . Yani sadece gerekli olduğu zaman root kullanıcı hesabı heryerden erişilebilmektedir . Bunlar dışında ise , kullanıcılar genelde dağıtımların paketlediği dosyaları kurmaktadırlar . Bunlar açık kaynak kodlu olduklarından hem açıklar denetlenebilir düzeydedir , hem de arka kapılar yada zararlı işlevler bulunmamaktadır . Kimin yazdığı belli olmayan bir uygulamanın kaynak kodlarını internetten indirip derlemek ve kurmak ve virüse maruz kalmak çok zor bir durumdur . Linux altında tam yetkiye sahip olsanız bile Linux altındaki bazı dizin yapılarını farklı bir disk bölümündeki bir alana taşıyabilir ve bu bölümü sadece okunabilir ( read-only ) olarak sisteme bağlar ve kullanabilirsiniz . Bu yöntem ile haklarınız ne olursa olsun o bölüme yazma yapılamaz . Bu anlattığım bazı farklılıklar nedeniyle casusu yazılımlar ( spyware ) da Linux altında bulunmazlar . Açık kaynak kodlu sistemlerde yamalar çok hızlı hazırlandıkları için bir açığı kullanarak zararlı bir yazılımın çoğalıp yayılması çok zordur . Çünkü yama birkaç saat sonra hazır olur .
Windows kullanıcılarının en güzel bahanesi "Windows çok kullanılıyor onun için bu kadar çok virüs yazılmakta . Bir gün Linux da yaygınlaşırsa onun için de virüsler yazılacaktır . Windows çok kullanıcıya sahip olduğu için bu kadar çok saldırıya maruz kalmaktadır . " şeklindedir . Yukarıda anlattıklarım gösteriyor ki bu böyle değildir , Linux virüslerin yayılamayacağı doğal bir savunma mekanizmasına sahiptir .