Bilgisayarlar Bilmediğimiz Şeyler Yapıyor mu?

Microsoft’un Windows’u başta olmak üzere, bilgisayar sistemlerinin kullanıcının bilgisi olmadan çeşitli bilgiler toplayıp çeşitli merkezlere gönderdiği hep iddia edilir.

Aşağıda saf ve masum bir bilgisayar kullanıcısı görülüyor:

Sözünü ettiğimiz iddiaların sahipleri ise durumun aslında şöyle olduğunu düşünüyor:

Onlara göre, kullanıcı işini yapıyorken bilgisayardaki kötü yazılımlar, arka kapılar hep gizli güç merkezlerine bilgi taşıyor.

Peki, durumun böyle olup olmadığı anlaşılabilir mi?

Bilgisayardaki yazılımların ne yaptığını anlamak kolay değil. Bilgisayar yazılımları yaşama aşağıdakine benzer program satırları olarak başlar:

1. #include <stdio.h>

2.

3. int main()

4. {

5. int x;

6.

7. printf("Input an integern");

8. scanf("%d", &x); // %d is used for an integer

9.

10. printf("The integer is: %dn", x);

11.

12. return 0;

13. }

Bu satırlar programın kaynak kodunu oluşturur ve programlama bilmeyen kişiler için anlaşılmaz gelse de programlamayla biraz uğraşmış olanlar kodun ne yaptığını anlayabilir. Buraya kadar sorun yok.

Sorun şurada: Bilgisayarımızdaki yazılımlar kaynak kodu şeklinde değildir. Programı üretenler kaynak kodunu bir derleyici yardımıyla çalıştırılabilir koda (.exe uzantılı bir dosyaya) dönüştürürler. Exe dosyaları özel programlarla incelenip ne yaptıkları hemen hemen bütünüyle anlaşılabilir. Ama kötü yazılımları üretenler bunu güçleştirmek için programın çeşitli kısımlarını şifrelerler. Bu şifreler de aşılabilir ama çok emek sarfetmek gerekir. 1988 yılında İnternetteki bilgisayarların yüzde onunu çökerten Morris solucanının kodunun bir kısmı bu şekilde şifreliydi ama sonuçta şifreli ve şifresiz tüm kısımları çözümlenebildi. (Morris solucanına ilişkin bilgiyi şu yazımdan okuyabilirsiniz: http://www.muratyildirimoglu.com/makaleler/hacker1.htm)

Bilgisayarların bizden habersiz olarak bir yerlere bilgi gönderip göndermediğini ağ trafiğini izleyerek de öğrenebiliriz. Bilgisayar içindeki kötü yazılım ne kadar gizlenmiş olursa olsun sonuçta ağ üzerinden iletişim yapmak isteyecek. Biz bu iletişimi kapıp inceleyebiliriz.

Ağ üzerindeki trafiği kapıp inceleyen yazılımlara “sniffer” (iz sürücü) programları denir. Bu programların en ünlüsü WireShark’tır. Aşağıda Wireshark ile kapılıp çözümlenen bir ağ trafiği görülüyor:

Resimde üzerinde bulunduğumuz paket bir Web sitesinden geliyor ve içerikte Web sayfasını olduğu gibi görebiliyoruz.

O zaman, bilgisayarın bizden habersiz veri alışverişi yaptığını düşündüğümüzde yapılabilecek işlerden birisi bir sniffer programıyla bilgisayarımıza gelen giden trafiği izlemek. Bu işlem bilgisayarımıza yükleyebileceğimiz sniffer programıyla yapılabileceği gibi bilgisayarımıza gelen giden bilgiyi aynalayacağımız (mirror), yani bütünüyle kopyalayacağımız başka bir bilgisayardaki sniffer programıyla da yapılabilir.

Yapılabilecek bu işlem tarih içinde çok kez yapıldı ve halen de çeşitli kişiler ve kurumlar tarafından yapılıyor. Örneğin bu çözümlemelerle Microsoft’un söylediğinden fazla bilgi topladığı birkaç kez saptandı. Hemen sevinmeyin ya da paniklemeyin; fazladan toplanan bilgiler hiçbir zaman kişisel veriler çıkmadı. Microsoft işlemci, RAM gibi bilgileri toplayacağını söylerken bazen bunlardan fazla donanım ve yazılım bilgisi topladı ve her seferinde özür dileyip toplanan bilgileri değiştirdi. Buna benzer durumlar Apple ya da Google gibi firmalarda da yaşandı.

Yine ağ trafiğini izleyerek zararlı yazılımların ne yapmak istediği de ortaya çıkarılabiliyor. Bunun en iyi örneklerinden birisi Conficker solucanı. 2010 yılında Emniyet Genel Müdürlüğü’nün Polnet sisteminin yükseltilmesi projesinde çalışırken sık sık Conficker solucanından şikayet ediliyordu. Bu solucanın kolay kolay temizlenememe gib bir özelliği vardı. Çünkü solucan ağ üzerinden yayılıyordu ve tüm bilgisayarları temizledikten sonra tek bir bilgisayara bir şekilde bulaşması bütün çabayı boşa çıkartıyordu. Bu nedenle Conficker ve modern çeşitleri halen çok sayıda ağda bulunabilir.

Conficker diğer kötü yazılımların tersine, kötü işlerini içinde taşımıyordu. Conficker’ı programlayanlar onun önceden tanımlanmayan işleri yapabilmesini istiyordu, bu nedenle Conficker ara ara İnternette çeşitli web sitelerine bağlanıp oradan yeni komutlar indiriyordu!

Bu durum saptanınca Conficker’ı sonlandırmak kolay diye düşünebilirsiniz: Conficker’ın gittiği Web sitesi saptandıktan sonra o site kapatılır, böylece Conficker da yeni komutları indireceği bir yeri bulamaz.

Ama bunu Conficker’ı programlayanlar da düşünmüş. Bu nedenle, Conficker çeşitli aralıklarla bağlanacağı web sitesini değiştiriyor. Conficker içindeki bir algoritma yeni domain adları üretiyor. Programcılar da yalnızca zamanı geldiğinde ilgili domaini alıp içine yeni komutları yerleştiriyor. Böylece gidilen domain saptanıp kapatılsa bile bir süre sonra yeni bir domain ortaya çıkıp Conficker’lı bilgisayarlara komut gönderebiliyor.

Ama ayı ne kadar yol bilirse avcı da o kadar iz bilir.

Yeni domainleri öğrenmek isteyen analizciler Conficker’lı bir bilgisayarın zaman bilgisini değiştirip zamanı ileri alıyorlar. Conficker o zamanda (diyelim beş gün sonrasında) hangi domaine gitmek isterse o domainin bilgisi sniffer programı kullanılarak öğreniliyor ve domain analizciler tarafından önceden alınıp Conficker programcılarının eli bağlanıyor.

Bu nedenle, bilgisayarımızdan korkmak ve çeşitli komplo kuramlarına yönelmek yerine bilgilerimizi derinleştirip çözümleme işlerine girmemizde yarar var. Elimizdeki araçlar fazlasıyla yeterli bu iş için.

Reklamlar

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Google fotoğrafı

Google hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Connecting to %s


%d blogcu bunu beğendi: