1.07.2012

Tespitin zorluğu

Siber-tehditler gün geçtikçe daha da karmaşlıklaşıyor. Tespit edilmeleri zorlaşıyor. Eskiden antivirüs yazılımları sadece imzaya dayalı tarama teknikleri kullanırlardı. Şimdi daha tanınmamış olan virüsleri de bulabilmek için yeni teknikler kullanmaya başladılar.

Elbette hiçbir antivirüs yazılımı mükemmel değil. Bir süre öncesine kadar antivirüs yazılımlarının tespit edemediği virüsleri Sysinternals'ın araçları gibi programlar kullanarak tespit etmenin mümkün olduğunu düşünürdüm. Artık fikrim değişti.

Bir dosyanın "şüpheli" sınıfına girebilmesi için birkaç koşul vardır (ya da eskiden vardı):
  1. Dosya adı. Dosya adı saçma sapan karakterlerden oluşmuşsa bu birinci sırada dikkat çeken bir özellik olurdu. Bu sebeple birçok zararlı kod dosyalarının isimlerini sistem dosyalarının isimlerine benzetmeye, veya doğrudan onların isimlerini vermeye yönelmişti. Örneğin svchost.exe gibi. %systemroot%\system32 klasörünün haricinde bir konumda karşılaşılan svchost.exe dosyası bir numaralı zanlı olurdu.
  2. Üretici bilgisi ve dosya tanımı. 16 bitlik çalıştırılabilir dosyalar hariç diğer çalıştırılabilir dosyalarda bir metadata bilgisi yer alır. Burada dosyanın üreticisi ve dosyanın adının haricinde bir de dosyanın tanımı yer alır. Bu bilgiler de bir fikir verirdi. Sistemdeki bir donanımın sürücüsünün mü, antivirüs yazılımının mı olduğu hakkında bir yol gösterirdi. Daha sonra geçerli bir dosya olup olmadığını anlamak kolaylaşırdı.
  3. Sayısal imza. Yukarıdaki yöntemleri sıradan bir kötü amaçlı programcı bile kendi kötü amaçlı yazılımına uygulayabilirdi. Bunun için sayısal imza diye bir konu vardı. Üreticiler sürücülerini imzalar, veya çalıştırılabilir dosyalarının da kendileri tarafından üretildiğini kanıtlamak için sayısal imza kullanırlardı.
Ancak yeni tehditler artık bu yöntemlerin ne kadar cılız kaldığını gösterdi. Örneğin bir süre önce Mark Russinovich'in blog'unda incelediği Stuxnet virüsü.

Bulaşma yöntemi mükemmel. Windows 7'de bile var olan bir açığı kullanarak USB sürücüler üzerinden bulaşıyor (ki bu açık Ağustos 2010'da KB2286198 yamasıyla kapanmış). Bilgisayarınıza taktığınız USB sürücüde gayet zararsız gibi görünen birkaç dosya var. Bunlardan birisi bir kısayol. Ama kısayolun ikonu yok. Windows Explorer ikonu okumak için işaret edilen dosyaları okumaya çalışınca Windows'un açığını kullanarak virüs sisteme bulaşıyor. Bundan sonra da bu dosyalar rootkit teknikleriyle gizleniyor.

Sisteme bulaşan bileşen ise MRxNet.exe ismiyle Windows klasörüne kopyalanıyor. Virüs bunu gizleme zahmetine girmemiş. Daha iyisini yapıp bunu bir donanımın sürücüsü gibi göstermiş. Üstelik bunu Realtek ve JMicron gibi donanım üreticilerinin sertifikalarını kullanarak yapmış. Kullanılan sertifikaların çalındığı ve dağıtan şirket tarafından farkedildikten sonra iptal edildiği belirtilmiş.

Mark Russinovich, yazılarında (1,2,3) ayrıntılı olarak bulaşma adımlarını inceleyerek tespit edilebilirliğini göstermiş, ama bu yöntemler gayet ileri seviye yöntemler.

Sonuçta Stuxnet'in İsrail hükümetinin desteklediği bir proje kapsamında geliştirildiği ve gayet açık bir şekilde İran'daki santrallerde kullanılan Siemens marka ürünleri hedef aldığı yönünde spekülasyon ötesi bazı iddialar var. Bu önemli değil. Önemli olan yeteri kadar güçlü motivasyonla nelerin yapılabiliyor olduğu. Artık korkmak lazım.

Hiç yorum yok: