Repütasyon, bir dosyanın, domainin, IP adresinin itibarını(?) belirler. Repütasyon tabanlı tespit sistemlerinde amaç repütasyonu düşük davranışların yakalanmasıdır (Düşük repütasyonlu dosyanın açılması, IP adresine istek atılması gibi). Bu sistemi kullanan bir ağ içerisinde daha önce sıklıkla zararlı yazılımlarla ilişkilendirilmiş ve repütasyonu düşmüş bir IP adresine istek yapıldığında, şüpheli durum fark edilecektir.



Bu yazıda basitçe repütasyon tabanlı tespit sistemi oluşturmaktan bahsedeceğim. Repütasyon verileri için ücretsiz 3. parti kaynaklardan yaralanacağım.



Bazı veri kaynakları:



malwaredomainlist.com

SANS

abuse.ch



Sistem temel olarak 3 aşamadan oluşuyor:

1- Ağ trafiğinin izlenmesi

2- Repütasyon bilgisi için 3. parti kaynaklardan verilerin toplanması

3- Cihazların iletişim kurduğu adresler ile kaynaklardan gelen verilerin karşılaştırılması



1- Ağ trafiğinin izlenmesi

Kayıtların incelenmesi için istemcilerin ağ bağlantı loglarını güvenlik sunucusuna yönlendirilmesi gerekir. Bu çalışmada loglar “tcpdump” ile kayıt altına alınıp, “.pcap” formatında yönlendirilmiştir.

2- Repütasyon bilgisi için 3. parti kaynaklardan verilerin toplanması

Geçmişte zararlı yazılımlarla ilişkilendirilmiş IP adreslerinin bir kısmı “abuse.ch” nin paylaştığı listeden elde edilebilir. Aşağıdaki görseldeki basit script ile “IP_list.txt” dosyasına veriler yazılır.



IP_list.txt içeriği:

Mevcut verilere yenilerini eklemek için adreste paylaşılan verilerin günlük olarak toplanması gerekir. Linux sistemlerde bulunan “crontab” yardımı ile “get_IPs.sh” scripti hergün otomatik olarak çalıştırılabilir.



crontab içerisine yeni bir iş tanımlamak için “crontab -e” komutunu kullanıyorum ve en alt satıra “0 18 * * * /home/ogunal/get_IPs.sh” ekleyerek scriptimin her gün akşam 6 da çalışmasını sağlıyorum.



Bu aşamada 3.parti kaynaktan gelen verinin günlük olarak yenilenmesini sağlamış olduk.

3- Cihazların iletişim kurduğu adresler ile kaynaklardan gelen verilerin karşılaştırılması

Bu kısımda gelen loglardan IP adreslerini ayıklayıp 3.parti kaynak verisi ile karşılaştırıp, eşleşme olursa ekrana uyarı basmasını sağlayacağız.

İlk olarak “.pcap” formatı ile gelen loglar içerisinden IP adreslerini ayıklamak için aşağıdaki fonksiyonu hazırladım.Bu fonksiyon ile pcap içerisindeki IP adreslerini bir listeye aktardım.

2. aşamada hazırlanan IP adreslerinin bulunduğu .txt dosyasını okuyan ve verileri listeye aktaran başka bir fonksiyon daha hazırladım.

Daha sonra mevcut 2 listenin kesişimini alarak repütasyonu düşük olan IP adresleri ile herhangi bir iletişimin olup olmadığını belirleyen kodu hazırladım.

Uygulamayı çalıştırdığımda log kayıtları içerisinde listedeki IP adreslerinden herhangi biri varsa ekrana basıyor.

Repütasyon tabanlı tespit sisteminin sorunları