Bilgisayar Ağında Truva Atları

ÇEV.: GÜVEN SAVAŞ KIZILTAN

OO OO"

Olay manşetlere geçmişti: Alman “Kırıcılar”, Amerikan Uzay Dairesi NASA'nın bilgisayarlarına gizlice girmişlerdi. Kullandıkları araç Troya atlarıydı-Veri ağlarını tıpkı “Açıl Susam Açıl” gibi kırıp geçen programlardı bunlar... Almanlar bir kez daha vurdular. Amerikan Uzay Dairesi NASA'nın araştırma ağı SPAN'a bağlı bilgisayar merkezinde bulunan ve sayıları 138'i aşan bilgisayarlara kısa bir süre önce “bilgisayar dostları” erişim imkânı bulduklarında, basın dünyasında büyük bir gürültü koptu. Bunların bu iş için kullandıkları araç Troya atlarıydı. Troya atları bilgisayar denetçilerinin bütün güvenlik barikatlarını hile ile aşabilen ve büyük, gizli bilgisayar ağları için yeni bir tehlike oluşturan programlara verilen addır. Sistem işletmenleri (Operatör) ve ağ denetçileri kendilerini sallantıda hissetmeye başlamışlardır, çünkü onlar için kendi bilgisayar verilerinin güvenliğinde milyarlar yatmaktadır. EDV güvenlik uzmanları yönünden sansasyonel dehşet haberlerinin sonu gelmiyor. Bunlar daha kısa bir süre önce virüsler tarafından dehşete düşürülmüşlerdi. Virüsler bir kez bir sisteme ulaşmışlarsa, o sistemi görüldüğü kadarıyla önüne geçilemeyecek tarzda baştanbaşa enfekte edebiliyorlar. Şimdi ise basındaki manşetlere yeni bir heyülâ program geçmişti: Troya atı. Basit olarak ifade etmek gerekirse, Troya atları, kullanıcının bildiğinden daha çok işlemler uygulayabilen programlardır. Tıpkı şair Homeros'un klasik destanı İlyada'da Yunanlılar, kuşatılmış Troya'nın surlarından içeriye girmek için karnına kendi savaşçılarını sakladıkları büyük bir tahta attan nasıl yararlanmışlarsa, “Kırıcılar” da güvence altına alınmış veri sistemlerine gizlice erişim imkânı sağlamak için görünüşte bütünüyle başka bir şey yapan programlardan öyle yararlanmaktadırlar. Örneğin, kullanıcıyı eğlendiren, ama aynı anda arka planda verileri değiştiren bir oyun programı kullanmaktadırlar. Böylece, bir Troya atı aracılığıyla bir sistemin içine virüslerin sokulması mümkün olabilmektedir. Troya atı, virüs gizlice sisteme yerleştirilirken kullanıcının aldatılmasına hizmet etmektedir. Troya atları akrabaları olan virüslerden kendi kuşaklarının izlediği yol ile ayrılırlar en açık biçimde. Virüsler seçim yapmaksızın çoğalırlarken, bir Troya atı en azından ikinci kuşaktan sonra daha kararlı davranmaktadır. Başlangıçta, bir virüse çok benzeyen bir program yer almıştır. Yayılma stratejileri de önce aynı olmaktadır: Sürfe (virüs evresinde Troya atı) henüz enfekte edilmemiş programlar arar ve kendini bunların baş tarafına yazar. Virüslerde görüldüğünün tersine Troya atlarında “üstüne yazan” sürfeler yoktur, çünkü bunlar enfekte edilen programların akış yeteneğini olumsuz yönde etkileyebilmektedir. Sürfelerin hedefi “erişkin” bir Troya atına dönüşmektir sonuç olarak. Bu bağlamda önemli olansa, mümkün olabildiğince keşfedilmemiş kalmaktır. Sürfe aşamasında Troya atı böylece, istenilen yere ulaşıncaya dek rastlantısal olarak yayılır. Yani eğer o önceden programlandığı üzere bir sistemin çevresine ulaşmış, örneğin belirli bir bilgisayar modeline atlamış ise, aktifleşmekte ve sürfe evresinden çıkmaktadır. Troya atı o zaman üreme stratejisini değiştirmekte ve -depolanmış “kalıtsal enformasyon”un durumuna göre- bütünüyle bireysel çabası sonucu program ekleriyle donattığı belirli programları ve dataları kararlı bir biçimde aramaktadır.

Alman “Kırıcılar”ının SPAN-

Darbesi olayında bizzat işletim sisteminin bölümleri Troya atları olmuştur. “Kırıcılar” kendi geliştirdikleri programlar aracılığıyla hiç fark ettirmeden ilgili sistemleri “Susam” masalında olduğu gibi açabiliyorlardı. Orta büyüklükte ya da daha büyük bir EDV sisteminin işletim sistemi ayrı ayrı birçok programdan oluşmaktadır. Yapımcı Digital Equipment'in (DEC) sistem programlarını “Kırıcılar” kendi tasarımlarına göre genişletmişlerdi. Bu şekilde onlar ilgili kurumların kod kelimelerine ilişkin listeleri de ellerine geçirmişlerdi. “Kırıcılar”ın eylemlerine hedef

TAH

KONUSU KOD NO

KONUSU

TOPLAMA ÇIKARMA ÇARPMA BÖLME ÇARPIM TABLOSU

1006 | 1007 1008 1009 1010

RAKAMLARI TANIMA (KUŞLAR)

(BALIKLAR) (AĞAÇLAR) (YELKENLİ) (ÖRDEK)

olan bilgisayarlar DEC'nin VAX serisine girenler olmuştur. Alman kırıcılarının ortaya koyduklarına göre, sisteminin Mart 1986 tarihli 4.4. versiyonunda bir hata bulunmaktadır. İşte “kırıcılar”ın Troya atıyla manevra yapmalarını mümkün kılan da bu hata olmuştu. “Kırıcılar” kendi hilelerini “Chaos Computer Club”e (CCC) açıkladılar. Anılan kurum, bilgisayar sistemlerine ilişkin güvenlik konusundaki sansasyonel etkinlikleriyle kamuoyunda yeterince tanınmıştır. CCC'nin açıklamasına göre, VMS 4.4 versiyonu çerçevesinde girişilmiş olan bu darbe şu şekilde olmuştu: İşletim sistemi, kullanıcı programlarına ilişkin olarak, kullanıcının hizmetine birkaç yüz sistem çağrısı sunmaktadır. Güvenlik deliği ise, sistem çağrısı olan $SETUAI ile ilişkili olup yetkisi bulunmayanlar da dahil olmak üzere bütün kullanıcılara, korunma altına alınmış dataya, yani SYSUAF.DAT'a yazım erişimi sağlamaktadır. Ama burada kullanıcıların tanıtıcı kod kelimeleri ve ayrıcalıkları ile ilgili olarak tasarrufta bulunan bir gerçi giriş kontrolü için belirleyici rol oynayan bu datayı değiştirme girişimine bir hata bildirimiyle karşılık verilmektedir, ama bu durumda da data açık kalmakta ve istenildiği gibi değiştirilmektedir. Bu istenmeyen işleyişin bilinmesinden sonra ise, enfekte edilen programı yedekte tutulan bir orijinal versiyonla ikame etmek kolay olabilirdi. Nitekim bu denendi de önceleri. Ama kısa bir süre sonra görüldü ki, erişimleri idare eden mekanizma çok geçmeden Troya atı olarak kendi işini yine üstleniyor ve “kırıcılar”a kapıları tekrardan açıyordu. O zaman sistem yöneticileri, bir virüs gibi giriş nöbetçisini enfekte eden başka bir Troya atını her tarafta hummalı bir biçimde aramaya koyuldular. Ama onların bu girişimlerinde başarıya ulaşma şansları bulunmuyordu: Tüm sistem çoktandır tek bir Troya atı olmuştu bile... Bir Troya atının yayılma imkânları çok yönlüdür ve bunların denetlenmesi de mümkün değildir. Normal durumda bir Troya atı, içinde saklanabileceği ve kullanıcıyı bir etkinlikle aldatabilen bir taşıyıcı programa gerek duymaktadır. Taşıyıcı program sürerken Troya atı başka bir etkinlik gerçekleştirmektedir. O halde ilke olarak, yayılma taşıyıcı programın yayılmasıyla aynı zamanda meydana gelmekte, yani normal olarak enfekte edilmiş bir programın doğrudan iletilmesi, başka bir deyişle veri taşıyıcılarının değiş-tokuşu yoluyla olmaktadır. Program değiş-tokuşunun veri taşıyıcıları olmaksızın, örneğin program kütüphaneli bir posta kutusu aracılığıyla meydana geldiği alan özellikle risk altındadır. Bu tür posta kutuları, bunlarda ücretsiz ya da en azından çok uygun fiyatla ve telif haklarından muaf program yordamları ya da hizmet programları çağrılabildiğinden, sistem programcıları tarafından da çok büyük rağbet görmektedir. Bir programcı bunlardan, kendisi için çoğu kez zahmetlerinin büyük bir bölümünü gereksiz kılan dataları dilediği gibi çağırabilmektedir. Bu kütüphaneler çoğunlukla herkese açıktır ve böylelikle de muziplik nedeniyle yapılan enfeksiyonlar için ideal bir ortam sunarlar. Veri ağlarında başka bir yayılma imkânı daha vardır. Büyük bilgisayar tesisleri çoğu kez bilgisayar ağına bağlı olarak çalıştıklarından bir Troya atını, bu ağa bağlanmış mevcut bilgisayarları tanıyacak ve bunları aynı şekilde mümkün olabildiğince enfekte edecek tarzda programlamak kolay olmaktadır. Enfeksiyon ya parola emniyetinin otomatik olarak aşılması ya da yetki çerçevesinde yapılan veri değiş-tokuşuna paralel olarak gerçekleştirilmekte ve farkına varılmayan bir aktarma yoluyla meydana gelmektedir. Böylelikle bir Troya atı için, yerleştiği sırada henüz sahip olmadığı ayrıcalıkları elde etmek mümkün olmaktadır. Bir başka ve denetlenemeyen enfeksiyon yöntemi de bilgisayarlara atlayarak çalışma imkânıdır. Bunun için bütünüyle yabancı bir sistem üzerinde bir Troya atı oluşturulmakta ve ilkin mutlak bir pasiflik içinde kalınmaktadır. Bu bilgisayar hedef alınan bilgisayarlarla bağlantıya girdiğinde ve program orada harekete geçirildiğinde ve ancak o zaman Troya atı da kendi işine başlamaktadır. Yapım firması “Digital Equipment” ününü korumak için kendine epey zor gelen işler yapıyor şu sıralarda. Firma kendi sistem teknikerlerini, işletim sisteminin yeni versiyonlarıyla birlikte, 4.4 versiyonunun bütün kullanıcılarına tek tek yolluyor. Bu teknikerler bakım sözleşmesine sahip olmayan ve korsan kopyalar yapan enfekte olmuş sistemlere de gönderiliyor. Bununla birlikte hiç kimse, işletim sistemlerinin gözden geçirilmiş ve hatalardan arındırılmış versiyonlarının da içlerinde bir Troya atı taşıyıp taşımadıklarını kesinlikle söyleyememektedir. Çünkü “DEC” nezdindeki program geliştiricilerinin tüm dünyadaki bütün meslektaşları gibi zamandan tasarruf nedeniyle VMS'e ilişkin kamuya açık Patch Pool'lardan yararlanmak hoşlarına gitmektedir. Ancak, hiç kimse bu pratik program birimlerinin bünyesinde yeni Troya atlarının eskisi gibi gizlenmiş olmadıklarından emin olamamaktadır.

Olaya bu verilerin ışığında bakıldığında, “DEC”'nin öne sürdüğü ve NASA darbesinden sorumlu Kırıcıların evde sızıntı yapan bir nokta dolayısıyla zayıf olan bölgeye dikkatlerinin çekilmiş oldukları yolundaki resmi açıklaması bile tam olarak ikna edici görünmüyor. “DEC” programcılarının kendilerinin Troya atını kamuya açık Pool'dan alıp getirmiş olmaları da pekâlâ mümkündür. Böylelikle, bu modern Troya atlarının öyküsü o zaman büsbütün Homeros'un antik destanına benzemiş olurdu. Çünkü antik Troya'da da, kuşatılmış kentin yurttaşları, Yunanlıların geri çekildiklerini sandıklarında, “Tanrıların armağanı” içeriye girebilsin diye kendileri götürmüşlerdi tahta atı kente. Hattâ “kentin giriş kapısı üstündeki suru” da yıkmışlardı. Latinlerin Troya öyküsünden çıkardıkları ders bilgisayarların kendileri için de geçerlidir: timeo danaos et dona ferentes (Armağanlar bile getirmiş olsalar, korkarım Yunanlılardan).

1) “Kırıcılar” NASA Bilgisayar Ağı'na Böyle Girdiler:

“Chaos Computer Club”, Alman Kırıcıların nasıl ulaşabildiklerini kamuoyuna ayrıntılı bir biçimde açıkladı: Bilgisayara erişim ilkin konuk kimliğine bürünülerek ya da kullanılan giriş için hangi ayrıcalıkların konmuş olduğundan bağımsız bir tarzda ve ağ fonksiyonları yoluyla gerçekleştirildi. Bunu, bir makine programı sayesinde, sistem çağrısı ve diğer işlemler aracılığıyla, kullanılan girişin bütün ayrıcalıklarının istenildiği gibi yerleştirilmesi izledi. Değiştirilen kullanıcı giriş numarasının tekrar tekrar çevrilmesiyle, Kırıcılar sistemde sınırsız bir erişim imkânına kavuşmuş oldular. Kırıcıların böylelikle belirli bir sistemi büyük ölçüde manipüle etmeleri mümkün olabilmişti. VMS İşletim sistemi tek bir yöntemle kod kelimelerini şifrelemekte ve kod kelimesinin verildiği her defasında sonuçları şifreli girişle karşılaştırmaktadır. Bu bağlamda uygun bir deşifre yönteminin bulunması mümkün olmadığından, Kırıcılar başka bir yol aradılar. Sisteme karşı, kimliğin saptanması sırasında metinde meydana getirilen bir program değişikliği aracılığıyla, kullanıcı kod kelimesinin yakalanması ve giriş kontrol datasının boş alanlarına işlenmesi gerçekleştirilmiştir. Kırıcılar bu şekilde toplanmış olan kod kelimelerini istedikleri gibi çağırabilmişlerdir.

2) Ayrıcalıklarla İlgili Oyun Şöyle İşlemektedir:

NASA'nın Araştırma-Ağı gibi bir işletim sisteminin Troya atları ya da bilgisayar virüsleri barındırmasının en büyük tehlikelerinden biri, bunların bağımsız bir tarzda kendileri için ayrıcalıklar “elde etme” yeteneklerinin olmasıdır. Hastalık bulaştırıcı bir program bir konuk -yani en az düzeyde sistem ayrıcalıklarına sahip bir çağırıcı- tarafından bir sisteme alıştırılmaktadır. Aynı şekilde alt düzeyde bir önceliği bulunan bir kimse programı çağıracak olursa eğer, pek bir şey meydana gelmemektedir. Çağırıcı gerekli ayrıcalıklara sahip olmadığından, bilgisayar onun girişini yasaklar. Ama eğer programı daha yüksek düzeyde bir önceliğe sahip bir üye çağırırsa, hastalık bulaştırıcı program bu yüksek -ve ilk çağırıcının elde edememiş olduğu- giriş yetkisi sayesinde kendisini sistem alanlarına da kopya edebilmektedir. Program böylece tüm sisteme sızmış olmakta ve bir sistemin özünü oluşturan alanlara doğru ilerlemektedir. Bu sırada hastalık bulaştırıcı yazılım her adımda daha bir tanınmaz olmaktadır. Eğer “Süper-kullanıcı”” denilen bir üye ya da bizzat sistem yöneticisi bu tarz enfekte edilmiş bir programı çağırırsa, bu durumda doğacak zarar artık geri döndürülemez ve boyutları kestirilemez bir nitelik kazanır. İşletim sistemine giden yol açıktır şimdi. Bunun için gerekli olan komut ise gayet basittir: IF PRIORITY — > 99 THEN ACTION

3) Troya Atlarını Şöyle Tanıyabilirsiniz:

Bir programın bir Troya atı tarafından enfekte edilip edilmediğini saptamak son derece güç, hattâ çoğu durumda imkânsızdır; çünkü bunun için programın tamamının sökülmesi ve tüm kodun incelenmesi gerekirdi. Buysa, özellikle uzun programlar sözkonusu olduğunda çok zaman alıcı bir iştir. Üstelik de bu, aranan Troya atının yapısına ilişkin tam bir bilgi sahibi olmayı şart koşardı ve ilgili her bilgisayarın çevirici (assembler) kodunu derinlemesine bilmeyi gerektirirdi. Bir programın daha sonra enfekte edilip edilmediğini incelemek ise daha kolaydır. Bir Troya atı aracılığıyla meydana getirilen bir enfeksiyon genel olarak ancak programın daha sonraki değiştirilmesi yoluyla mümkün olabilmektedir. Buysa çoğu durumda programın kapsamında bir genişlemeye yol açmaktadır; çünkü ek fonksiyonların tümleştirilme (entegrasyon) zorunluluğu vardır. Bu nedenle, inceleme yapılmasının en kolay yolu, son yazım erişiminin tarihini ve programın büyüklüğünü gözden kaçırmamaktır. Bu konudatam bir kesinlik ise ancak incelemelerin toplam bir değerlendirilmesi sayesinde elde edilebilmektedir ki, bu incelemeler her programda ilk çalışmadan itibaren yapılmalıdır. Bir programın toplam değerlendirmeleri değiştiği takdirde, programın manipüle edilmiş olduğu açıkça anlaşılmaktadır.

4) Troya Atlarından Şöyle Korunabilirsiniz:

Genelgeçer bir korunma mekanizması yoktur. Troya atlarının yapılarının saptanması mümkün olmadığından ve bunlar versiyondan versiyona farklılık gösterebildiklerinden, onları keşfedebilmenin genelgeçer algoritmaları bulunmamaktadır. Kural olarak çoğu kez, bu meş'um yazılımın yaratıcıları enfekte edilmiş programın oldukça düşüncesiz bir tarzda kullanımını hesaba katmaktadırlar. Bundan ötürü, bütün yeni elde edilen programları kesin kullanımdan önce özenle kontrol etmek etkili bir korunma yoludur. Bunun için, sistemin geri kalan bölümünden bütünüyle ayrılmış bulunan ve özellikle güvenli olan bir test ortamı yaratılmış olmalıdır. Örneğin, bir yazım-güvenliği sayesinde sadece okuma işlemlerine izin vermek de yararlı bir yöntemdir. Bu suretle herhangi bir hileli giriş denemesinde hata bildirim mekanizması kışkırtılmış olmaktadır. Ama gene de, Troya atlarının programcısı bu tür önlemleri gözönünde tutmuş olabilir ve bunların üstünden aşabilir. Bu nedenle, en etkili korunma, bir programın kaynağına ilişkin kesin bilgi sahibi olmaktır. Yetkili bir satıcının elinden alınmış bir program çok ender durumlarda bir tehlike oluşturur. Buna karşılık, daha önce pek çok ve bilinmeyen ellerden geçmiş olan korsan kopyalar ve gray kodundan çıkan programlar ciddiye alınması gereken bir tehdit niteliğindedir.