spacer.png, 0 kB
Bilgi için: bilgi at bilgiguvenligi gov tr   

 

spacer.png, 0 kB
spacer.png, 0 kB
Zararlı Yazılımların Gelişimi Yazdır E-posta
Mehmet Eriş, TÜBİTAK BİLGEM   
15.09.2010

Zararlı yazılımlar, bilgi güvenliği için nitelik ve nicelik bakımından önemli tehditlerden birisidir. Nicelik olarak baktığımızda Microsoft™ 7. Güvenlik Raporunda (7. Security Intelligence Report) 2009 yılının ilk yarısında 115 milyon birbirinden farklı zararlı yazılım tespit ettiğini açıklamaktadır. Nitelik yönünden baktığımızda ise zararlı yazılımların kendilerini gizlemek ve zararlı aktivitelerini sürdürmek için işletim sistemlerinin davranışlarını değiştirdiğini görmekteyiz. Bu çalışma, 1970’li yıllarda ortaya çıkan ve eğlenmek amacıyla hazırlanan bilgisayar virüslerinden bugünkü zararlı yazılımlarına kadar olan gelişim sürecini incelemektedir.

İlk bilgisayar virüsünün ortaya çıkış tarihi tam olarak bilinememekte ve 1970’li yıllar olduğu kabul edilmektedir.  O günlerde bilgisayar virüsleri deneysel programlardı ve zarar vermek amacı ile geliştirilmiyorlardı. Bilgisayarların yaygınlaşması ile bilgisayar virüsleri deneysel olmaktan çıktı ve ciddi bir problem olarak kullanıcıların ve kurumların karşısına çıkmaya başladı. 1988 yılında Robert Morris’in yazdığı büyük solucan olarak da adlandırılan Morris Solucanı bilinen ilk salgındı. 90’lı yılların başında sigorta şirketleri bilgisayar virüslerine karşı zararları sigortalamak için 100,000$’a kadar prim alabiliyorlardı[1]. Buna rağmen Morris solucanı dahil, o günlerde hazırlanan zararlı yazılımların çoğu zarar vermek amacıyla geliştirilmemişlerdi. Bilgisayar virüsleri yeterince test edilmedikleri için kolayca kontrolden çıkabiliyor ve ciddi zararlar veriyorlardı. Örneğin Robert Morris, Internet’e bağlı bilgisayarların sayısını merak etmişti ve hazırladığı program kendisine bu sayı hakkında fikir verecekti.  Morris’in solucanı yayılmak için o günlerde Unix sistemlerde olan bir açıklığı kullanıyordu. Morris yazılımını test etmeden çalıştırdı ve gözünden kaçan bir hata, enfekte olan bilgisayarı yeniden enfekte etmemek için tedbir almaması ve bigisayarların servis dışı kalana kadar yeniden ve yeniden enfekte olmaları tüm Interneti etkiledi. Servis dışı kalan bilgisayar sayısı 2100 ile 2600 arasında idi[2]. Bu sayı o gün Internete bağlı bilgisayarların yüzde dördüne denk geliyordu. Mahkemenin tespit maddi zararı enfekte olan kurum başına 200$ ile 53,000$ arasında değişiyordu[3].

Maddi kazanç amaçlı yazılımların ise ortaya çıkması ve gelişmesi 2000’li yıllarda gerçekleşmiştir.  2000’li yıllarda artık eğlence ve kendi kanıtlama amaçlı zararlı yazılımlar yerini reklam, istenmeyen eposta (spam) gönderimi, yemleme (phishing) sayfalarını barındırma, kişisel bilgilerin çalınması (kredi kartı, bankacılık şifreleri ve diğer bilgilerin),  yazılım lisans anahtarlarının çalınması, büyük ölçekli servis dışı bırakma saldırıları yapmak amacıyla kullanılan zararlı yazılımlara bırakmıştır. Bu faaliyetlerde elde edilen kazançlar, suçlular arasındaki rekabet, yakalanmama ve daha çok kazanma motivasyonu zararlı yazılımların gelişimini ciddi biçimde desteklemiş ve karşımıza profesyonel zararlı yazılımlar çıkmıştır.

Bu çalışmada başlangıçtan günümüze kadar zararlı yazılımların gelişimi ve değişimi, zararlı yazılımı etkileyen ortamla birlikte incelenecektir. Zararlı yazılımın gelişimini etkileyen ortam zararlı yazılım geliştiricileri, zararlı yazılımın kullanım amaçları, üzerinde çalıştığı işletim sistemleri, uygulamalar, Internet, bilgisayar kullanıcıları, antivirüs ve güvenlik ürünleri, ülkelerin yasaları ve aralarındaki işbirliğidir.  Zararlı yazılımların gelişiminin anlaşılması problemin daha net anlaşılmasını sağlayacaktır.

BİLİNEN İLK BİLGİSAYAR VİRÜSLERİ

Başlangıç

virus1.jpg1962 yılında Bell Telephone Laboratories’de geliştirilen “Darwin” isimli oyun o yıllarda başlamamış olan zararlı yazılımlar ve güvenlik ürünleri arasındaki mücadeleye çok benzemektedir. “Darwin” oyunu, bilgisayarın hafızasında yayılmaya ve diğer programları silmeye çalışan rakip programlar arasındaki kuralları ve çalışma sırasını belirliyordu.   Oyuncular geliştirdikleri programlarla birbirleri ile mücadele ediyordu. Bugün zararlı yazılımlar ve güvenlik ürünleri arasında benzer mücadele sürmektedir. Bu mücadelenin kurallarını belirleyen sosyal ve teknik birçok etken bulunmaktadır. Teknik faktörlerin başında işletim sistemlerinin özellikleri gelmektedir.

Kendi kendine çoğalma, bilgisayar virüsünün temel özelliğidir. Bilgisayar virüslerinin çoğunun verdiği zararlar çoğalarak kontrolden çıkmalarından kaynaklanmaktadır. Bu durum uzunca bir süre maddi kazanç amaçlı zararlı yazılımlar çıkana kadar geçerli olmuştur.

Darwin oyununun ardından  gerçek hayatta mücadele ilk defa  1970’li yıllarda “Creeper” ve “Reaper” programları ile ortaya çıkmıştır. “Creeper”’ bilgisayarların üzerindeki modemi kullanarak yayılıyordu. Ardından geliştirilen “Reaper” da aynı şekilde yayılıyordu. Fakat yayıldığı bilgisayarlarda “Creeper”i  siliyordu.

“Rabbit” ve “Pervading Animal”  yine 1970’li yıllarda ortaya çıkan yayılma özelliği taşıyan programlardı. “Pervading Animal” programı kullanıcının çalıştırması gerektiği ve bir oyun gibi gözükmesi nedeniyle aynı zamanda “Truva Atı” olarak da değerlendirilebilir.

Laboratuar Dışında Bilgisayar Virüsü

Laboratuarların dışında görünen ilk virüs ise 1982 yılında ortaya çıkan “Elk Cloner”dır. “Elk Cloner “ APPLE II işletim sistemi üzerinde çalışıyordu ve disketlerin önyükleme (boot) sektörlerine kendini yazarak yazılıyordu. Aktif olduğu bilgisayarın hafızasında kalıyor ve sürücüye yeni bir disket yerleştirildiğinde ön yükleme sektörüne kendini yazıyordu. Ön yükleme sektörü, bilgisayarın açılışta BIOS’tan sonra okuduğu ve üzerindeki kodları çalıştırdığı ilk alandır. Kendisinden sonra çalışan her kodu etkileyebileceği için büyük önem taşımaktadır.  Elk Cloner’ın da zararsızlık dışında verdiği önemli bir zarar bulunmamaktaydı.

©Brain virüsü ise kişisel bilgisayar (PC) uyumlu ilk bilgisayar virüsüdür. ©Brain virüsü yine zarar vermek amacıyla yazılmamıştı. Herhangi bir zararı yoktu fakat kontrol dışına çıkmış ve yayılmıştı. ©Brain virüsünü ilk kişisel bilgisayar virüsü olması dışında ilginç yapan özelliği modern zararlı yazılımlarla benzer görünmezlik özellikleri taşımasıydı. Brain virüsü, enfekte bir disketin bilgisayar açılırken disket sürücünün içinde unutulması ile aktif oluyor ve hafızada kalıyordu. Ardından, disket sürücüye yerleştirilen disketlerin ön yükleme alanlarına kendisini kopyalıyordu. Kendisini görünmez yapan özelliği ise, disk yazma okuma fonksiyonlarına müdahale etmesi ve enfekte diskin ön yükleme alanı kullanıcı tarafından sorgulandığında gerçek ön yükleme alanını değil, temiz ön yükleme alanını gösteriyor olması idi.

Ön yükleme alanlarının dışında bilgisayar virüsleri dosyalara da kendilerini ekleyebilmektedir. Bu tür bilgisayar virüsleri dosya virüsleri olarak adlandırılmaktadır. Dosya virüsleri, enfekte oldukları dosyaların çeşitli yerlerine kendilerini yazmakta, dosya aktif olduğunda kontrolü kendi üzerine almaktadırlar.

Bilgisayar virüslerinin tüm tarihçesi çok daha fazla örnek virüsü içermektedir. Tüm tarihçe bu çalışmanın kapsamı dışındadır. Çalışma kapsamında bilgisayar virüslerinin ve zararlı yazılımların özellikleri ve bu özelliklerin gelişimi ve etkileri incelenmektedir.

Antivirüs Tarayıcılar

Bilgisayar virüs olaylarının artması ve virüslerin büyük zararlar vermeye başlaması karşı önlemlerin geliştirilmesini zorunlu kılmıştır. Bilgisayarların virüslere karşı dosya ve ön yükleme sektörlerinin enfeksiyona karşı kontrol edilmesi ve enfeksiyon mevcut ise temizlemenin yapılması gerekmektedir. Bu işleri otomatik yapabilmesi için antivirüs yazılımları geliştirilmiş ve kullanılmaya başlanmıştır. Antivirüsün etkili olması için yapması gereken bir şey daha vardır: hafızada kalıcı olan virüslerin tespit edilmesi ve etkisizleştirilmesidir.

Dosya ve ön yükleme sektörünün temizlenmesi, bilgisayar virüsünün tam olarak hangi virüs olduğunun tanımlanabilmesi ve tanımlanan virüsün tam olarak tersine mühendisliğinin yapılmış olması gerekmektedir. Tersine mühendislik dosya ve ön yükleme sektöründe virüsün hangi değişiklikleri yaptığının bilinmesini ve bu değişikliklerin geri alınmasını sağlamaktadır. Enfeksiyonun temizlenmesi ancak virüsün kalıcı zarar vermemesi durumunda yapılabilecek bir işlemdir.

Bilgisayar virüslerinin herhangi bir kazanç getirmediği, amacının çoğunlukla kendini kanıtlamak olduğu dönemde geliştirilen bilgisayar virüs sayısı az ve virüslerin gelişmişliği ise düşüktü. Virüslerin gelişmişliği ve özelliklerini etkileyen bir diğer faktör ise virüs geliştiricilerin yakalanma ve ceza alma ihtimalinin düşük olmasıdır. Virüs – antivirüs mücadelesini etkileyen en önemli faktörlerden birisi Darwin oyununda olduğu gibi oyunun kurallarını belirleyen işletim sistemidir. İşletim sistemi, hafıza taramanın ve etkin olan virüsün etkisizleştirilmesini sağlayacak, aynı zamanda virüsün kendi gizlemek ve sürekliliğini sağlayacak imkanları ve kısıtları belirleyen en önemli çevresel faktördür. Kısaca virüs – antivirüs arasındaki saklanma ve hayatta kalma mücadelesinde kuralları işletim sistemi belirlemektedir. Windows 95'e kadar çok yoğun kullanılan DOS işletim sisteminin basit yapısı nedeniyle hafıza tarama yapmak ve virüsü etkisizleştirmek kolaydı[4].

Virüslerin tespit edilmesi için seçilen yöntem dizgi eşleştirme yöntemi olmuştur. Dizgi eşleştirme yöntemi, virüsün gövdesi içinde onu tam olarak belirlemeye yetecek, aynı zamanda diğer iyi dosyalarda bulunmayacak dizginin belirlenmesi ve bu dizginin şüpheli dosyalarda aranması yöntemidir. Virüsü belirleyen dizgi imza olarak adlandırılmaktadır. Belirli bir virüs için farklı antivirüs üreticileri farklı imzalar kullanmaktadır. Virüs tarayıcı, dosyaları virüs imza veritabanındaki imzalarla karşılaştırarak tespit etmeye çalışır. Virüs tarayıcısı yeni çıkan virüslere karşı etkisizdir. Veritabanının sürekli güncellenmesi gerekmektedir. Virüs tarayıcının etkinliğini saldırganların virüs geliştirme sıklığı, veri alışverişinin hızı ve imzaların güncelleme sıklığı belirlemektedir.

Dizgi eşleştirme yöntemi ve tersine mühendisliğe karşı virüs yazarları kod şifreleme yöntemlerini geliştirmişlerdir. Kod şifreleme yönteminde virüsün asıl kısmı şifreli durmakta, çalıştığında şifre çözülmektedir. Virüs yazarları tarafından geliştirilen polimorfik virüsler şu üç bölümden oluşmaktadır: Şifrelenmiş kod, sabit şifreleme ve şifre çözüm motoru ve değişken bir şifreleme anahtarı. Virüs aktif olduğunda şifrelenmiş kodun şifresi çözülmekte ve şifresi kod aktif olmaktadır. Virüsün her yeni enfeksiyonunda ise yeni bir şifreleme anahtarı üretilerek virüs yeniden şifrelenmektedir. Virüsün her örneği farklı bir dizgiye sahip olmakta ve imza eşleştirmesi yapmak mümkün olmamaktadır. Bu yönteme karşı antivirüs geliştiricileri de farklı yöntemlerle karşılık vermişlerdir. Polimorfik motorun (şifreleme ve şifre çözme kısmı) tespit edilmesi bu yöntemlerden birisidir. Polimorfik motor, virüs gövdesi içerisinde sabit olduğundan dizgi eşleştirmesi ile bulunması mümkündür. Aynı polimorfik motorun bulunduğu farklı virüs çeşitleri olabileceği için bu yöntemle virüsün tam olarak tanımlanması ve enfeksiyonun temizlenmesi mümkün değildir. CPU ve hafıza emülasyonu bu problemi çözmektedir. CPU emülasyonu ile öncelikle virüs emüle edilmiş bir CPU'da çalıştırılır ve şifresinin tam olarak çözülmesi sağlanır. Ardından ise emüle edilmiş hafızada dizgi eşleştirme yapılarak, virüsün tam olarak tanımlanması yapılmaktadır.

Antivirüs üreticilerin virüsleri incelemek için kullandıkları yöntem, deney dosyaları (goat files) kullanarak virüsün bu dosyaları enfekte etmesini sağlamak ve ardından da bu deney dosyalarını incelemektir. Antivirüs uzmanlarının genelde deney dosyaları olarak boş dosyalar kullandıklarını farkeden virüs geliştiricileri karşı önlem almış ve geliştirdikleri virüslerin boş dosyalara enfekte olmalarını engellemişlerdir.

Her gün bir veya iki yeni virüsün keşfedildiği 1994 yılında mücadelede iki tarafta yaklaşık olarak denk sayılabilirler [1]. Antivirüs ürünlerinin ve bilgisayar virüslerinin gereksinimlerini aşağıdaki tabloda gösterebiliriz.

tablo-1.jpg
Tablo 1: Antivirüs gereksinimleri
tablo-2.jpg
Tablo 2: Bilgisayar virüs gereksinimleri

Bilgisayar virüsleri ve antivirüs yazılımlarının birbirlerine karşı aldıkları önlemleri Tablo 3 ve Tablo 4’de görebiliriz.

tablo-3.jpg
Tablo 3. Antivirüsler Karşı Önlemler
tablo-4.jpg
Tablo 4. Bilgisayar Virüs Karşı Önlemleri

GÜNCEL ZARARLI YAZILIMLAR

virus-pc.jpgGünümüzün bilişim ortamı, bilgisayar virüslerinin en yaygın zararlı yazılım çeşidi olduğu geçmişten oldukça farklıdır.  Bu farktaki en belirleyici etken Internet’in ve geniş bandın yaygınlığıdır.  Geçmişe baktığımızda bilgisayarlar arası veri alışverişi taşınabilir disketlerle gerçekleşiyordu ve bilgisayardan bilgisayara bağlantı çok yaygın değildi. Bu ortamda zararlı aktivite kendi kendine çoğalma ve yayılma şeklinde gerçekleşiyordu. Bilgisayar virüslerinin en çok dikkat çeken özelliği  buydu. Bilgisayar virüsünün karşı bilgisayarda yapabileceklerinin çok kısıtlı olması, tüm dikkatin yayılma özelliğine kaymasının başlıca sebebi idi. Bugün Internet’in ve geniş bandın geniş olması , saldırgan ile enfekte bilgisayar arasında geçmişte mümkün olmayan bağlantının kurulabilmesine izin vermiştir.  Bu bağlantı saldırgana enfekte bilgisayarı yönetme ve enfekte bilgisayarın kullanıcısını gözleme imkanı vermektedir. Internet dikkatleri zararlı yazılımların yayılma yönteminden,  neler yapabileceğine doğru kaydırmıştır. 

Günümüz zararlı yazılımı geçmişteki bilgisayar virüslerinden ayıran diğer teknolojik gelişme ise işletim sistemleri ve uygulamalardaki gelişmelerdir. Uygulamalardaki çeşitlilik ve komplekslik, beraberinde bir çok güvenlik açıklığını da getirerek zararlı yazılımlara farklı saldırı yolları açmıştır. Bu saldırı yolları, bilgisayar virüslerinin yayılma yöntemine alternatifler ortaya çıkarmış ve böylece bilgisayar virüsleri asıl saldırı yöntemi olmaktan çıkmışlardır. Gelişmiş işletim sistemi, zararlı yazılımlara saklanabilecekleri ve varlıklarını devam ettirebilecekleri birçok alan ve imkan sunmaktadır. Diğer yandan antivirüs tarayıcılarının hafızayı tarama imkanlarını kısıtlamaktadır.

Zararlı yazılımların gelişimde rol oynayan diğer faktörler sosyal faktörlerdir. Bunların saldırganların yakalanması ve cezalandırılması, bilgisayarların kullanım alanları ve kullanıcıların bilgi seviyesidir. Saldırganların yakalanması ve cezalandırılması, caydırıcılık sağlayacağı için saldırganların bir kısmının bu işten çıkmasına sebep olacaktır. Fakat geride kalanlar,  daha görünmez ve sessiz zararlı yazılımlar geliştireceklerdir. 2004 yılı bu anlamda bir dönüm noktasıdır [5]. 2004 öncesinde birkaç günde çok ciddi sayılarda bilgisayarı enfekte eden  solucanlar yazarları yakalandığı için yerlerini daha yavaş yayılan solucanlara bırakmıştır. Bilgisayarların kullanım alanlarının artması, bilgisayar üzerinden suç işleyerek kazanılacak paranın artmasını sağlamıştır. Günümüzde kredi kartı hırsızlığı, kişisel bilgilerin çalınması, ele geçirilen bilgisayarların kötü amaçlarla kullanılması ciddi kazançların elde edildiği e-yeraltı örgütlerini ortaya çıkarmıştır [6]. Bir diğer sosyal faktör de kullanıcıların güvenlik bilincidir. Güvenlik bilinci düşük kullanıcılar kolay hedefler olmaktadır. Güvenlik bilincinin yükselmesi de zararlı yazılımların gelişmesine sebep olacaktır.

ZARARLI YAZILIMLAR – GÜVENLİK ÜRÜNLERİ MÜCADELESİNDE GÜNCEL DURUM

Zararlı yazılımlar değişen ortamla birlikte bilgisayar virüsünden daha çeşitli tehditler olarak karşımıza çıkmaktadır. Bilgisayar virüsü günümüzdeki zararlı yazılımları ifade etmek için yetersiz kalmakta ve zararlı yazılımın kullandığı yayılma yöntemlerinden birisini ifade etmektedir.

Güncel antivirüs ürünleri, tüm zararlı yazılım çeşitlerini kapsasa da ismi değişmemiştir.  Tablo 1 ve Tablo 2, antivirüs ve bilgisayar virüslerinin gereksinimlerini verrmektedir. Bu gereksinimler zararlı yazılım ve karşı ürünler için de değişmemiştir. Fakat tablo 3 ve tablo 4’de verilen önlem ve karşı önlemler zararlı yazılımlar lehine değişmiştir.

Tablo 3’de verilen zararlı yazılımların görünmezlik ve kod şifreleme önlemleri geçen süre içinde gelişmiştir.  Kod şifreleme ile dosyanın fonksiyonunun değiştirmeden gövdesini değiştirme ile ilgili yöntemler de zararlı yazılımlar da görülmeye başlanmıştır [7]. Bu gelişme dizgi tespitinin etkinliğini büyük ölçüde azaltmıştır. DOS’tan, Win95’e ardından da NT ve sonraki sürümlerinin (NT 4.0, XP, 2003 ve Vista) kullanılmaya başlandığı süreçte, yeni işletim sistemlerinin hafıza yönetim mekanizmaları, işletim sisteminin karmaşıklığı ve esnekliği gelişmiş ve artmıştır. Bu durum zararlı yazılımların gizlenmesini kolaylaştırmış ve hafıza taramayı oldukça zorlaştırmıştır [4]. Güvenlik ürünleri geliştirenlerin bir diğer aracı zararlı yazılımların davranışlarının gözlenmesidir. Geçmişte bu gözlem deney dosyaları kullanılarak yapılırken bugün sistem gözlenerek yapılmaktadır. Araya DLL yerleştirme, yanlış ayıklayıcı (debugger) kullanma ve sanal ortamlar zararlı yazılım analizinde sıklıkla kullanılmaktadır.  Zararlı yazılımlar bu ortamları tespit etmekte ve zararlı aktivitelerini bu ortamlarda göstermemektedir [8]. Yeniden karşımıza çıkan diğer bir zararlı yazılım çeşidi ise bootkit’lerdir[9]. Bootkit’lerin incelendiğinde ise yeni bir yöntem olmadıkları ön yükleme sektör virüslerinin gelişmiş şekilleri oldukları görülebilir.

Bu gelişmeler, antivirüs ürünlerinin gereksinimlerinden olan temizleme görevini tamamen terketmesine, tespit konusunda ise etkisinin ciddi şekilde azalmasına sebep olmuştur.

SONUÇ

Çalışmada zararlı yazılımların gelişimini, hangi faktörlerden etkilendiğini ve güvenlik ürünleri ile aralarındaki mücadeleyi inceledik. Elde eldiğimiz bulgular, güncel zararlı yazılımların özelliklerinin yeni olmadığı fakat geliştiği, zararlı yazılımların sürekli gelişen ve değişen bir problem olduğu, mücadelede güvenlik ürünleri dışında başta işletim sistemleri olmak üzere önemli çevresel faktörlerin olduğunu tespit ettik.

REFERANSLAR

[1]    J.O. Kephart, “A Biologically Inspired Immune System for Computers”, Artificial Life IV, MIT Press 1994

[2]    J.D. Howard, An Analysis of The Security Incidents on the Internet 1989-1995, 7 Nisan 1997

[3]    Court Appeal of Morris, 7 Mart 1991 http://morrisworm.larrymcelhiney.com/morris_appeal.txt

[4]    P. Szor, “The Art of Computer Virus and Defence” Addison Wesley Professional 2005

[5]    Microsoft Security Intelligence Report Volume 7, January to June 2009, Microsoft

[6]    Symantec Report on the Underground Economy, July 07 – June 08. Published November 2008.

[7]    A. Walenstein and A. Lakhotia, The Software Similarity Problem in Malware Analysis, Dagstuhl Seminar Proceedings, Duplication, Redundancy, and Similarity 2007.

[8]    Xu Chen, J. Andersen, Z. M. Mao, M. Bailey, J. Nazario. Towards an Understanding of Anti-virtualization and Anti-debugging Behavior in Modern Malware, 2008

[9]    S. Golovanov, A. Gostev, A. Monastyrsky. Bootkit: the  challenge of 2008, http://www.viruslist.com/en/analysis?pubid=204792044 , Aralık 2008.


Favori olarak ekle (0) | Görüntüleme sayısı: 2726

Bu yazıya ilk yorumu yazın

Sadece kayıtlı kullanıcılar yorum yazabilir.
Lütfen sisteme giriş yapın veya kayıt olun.

 
spacer.png, 0 kB
spacer.png, 0 kB
Copyright 2012 TÜBİTAK-BİLGEM. Sitenin teknik altyapısında Joomla kullanılmıştır. Yazar ve site referans gösterilmeden alıntı yapılamaz. Görüşleriniz
spacer.png, 0 kB