Günümüzde her gün katlanarak artan siber saldırılardan korunmanın bir parçası olan antivirüsler, cihazlarımızın içerisine herhangi bir zararlı yazılım bulaşmasını engellemek için kullandığımız bir yazılımdır. Güvenliği sağlamanın en temel katmanlarından biri olan antivirüsler cihazlarımızda 2 farklı türde teknik kullanmaktadır. Bunlar Statik ve Dinamik tekniklerdir.
Statik Teknikler
- String Check
Antivirüsler daha önce tespit edilen zararlı yazılımların imzalarını veri tabanlarında tutarlar. Bir dosyayı incelerken önce dosyanın imzasını alırlar ve sonrasında veri tabanında aratırlar. Eğer herhangi bir imza ile eşleşme var ise dosya karantina altına alınır ve silinir. Bu işlem genellikle disk üzerinde gerçekleşir.
- İmza Kontrolü
Programların içerisinde bulunan Stringler program hakkında bilgi verebilir. Örneğin bir program içerisinde “cmd.exe, Host, Port” gibi String ifadeler varsa büyük bir ihtimalle zararlı yazılım olduğunu zannedip karantina altına alıp siler. Antivirüsler dışında da zararlı yazılım analizi yapan kişiler Stringlere bakar.
Dinamik Teknikler
- Code Re-Use
Antivirüsler daha önce yakalanmış olan zararlı yazılımların statik veya dinamik örüntüsü, taranan programda var mı yok mu diye kontrol eder. Örneğin: meterpreter payloadunu şifreleyip bir program içerisine saklasak, çalışma zamanında da deşifre edip yürütsek antivirüs bu programın çalışma zamanında yaptıkları meterpreter’in aynısı ya da çok benzeri der ve tespit eder.
- Skorlama Sistemi
Antivirüsler, modern çözümler (Sandbox vs.) içerisinde yaptığı dinamik analizler ile program hangi sistem API’leri ile etkileşime geçiyor, hangi processlerle iletişime geçiyor, ağda ne yapıyor gibi sorulara cevap bulmaya çalışır. Analiz sonrasında programa bir puan verilir. Puana göre kullanıcıya ne yapılacağı sorulabilir, program karantinaya alınabilir veya antivirüslerin cloud sunucularına yollanabilir.
Anti-Virüs Nasıl Atlatılır?
Yukarıda bahsettiğim teknikleri incelediğimizde dinamik ve statik analizde çoğunlukla daha önce yakalanmış olan zararlı yazılımlar ile karşılaştırmalar yapıldığını görüyoruz yani bu durumda yeni yazılan bir zararlı yazılım bilgisayarları korumak konusunda çok etkili olmadığını görüyoruz. EDR ürünleri sistemlerimizin güvenliğini sağlar.
Bu durumda programımızın benzersiz olması yani kendimize yeni bir zararlı yazılım geliştirmemizin antivirüsü atlatmak için en önemli yollarından biri olduğunu söyleyebiliriz. Bu kısımda hem kendi özgün kodumuzu saklamaya yönelik hem de yaygın zararlı yazılımları saklamaya yönelik tekniklerden bahsedeceğim.
Antivirüslerin gerçekleştirdiği bazı dinamik analiz tekniklerini, String kontrollerini, değişken ismi kontrollerini ve imza kontrollerini atlatmak için zararlı yazılımımıza 2 önemli işlem uygulayabiliriz. “Junk code” eklemek ve “Code obfuscation” gerçekleştirmek.
- Junk Code Ekleme
Programın asıl işlevini gerçekleştirmesine engel olmadan çalışan ekstra koddur. Zararlı yazılımların belirli işlemleri art arda yapması antivirüs programlarının tespit edebilme potansiyelini azaltır, ancak Junk code ile aralara gereksiz kodlar eklenerek bu ihtimal oldukça düşürülebilmektedir.
Örnek kod:
- Code Obfusaction
Kod içerisinde kullandığımız değişken isimlerini, önemli String’leri (cmd.exe, PORT, HOST, vb.) oldukları gibi kod içerisine yerleştirmemeliyiz. Mesela şifreleyip koyabilir ve kod çalışırken deşifre edebiliriz.
Örnek kod:
Aşağıdaki resimde tarafımızca .Net teknolojisi kullanılarak geliştirilen (FUD) zararlı yazılımları grubuna dahil olan sıradan bir meterpreter shell erişimi sağlayan zararlı yazılımın kaynak kodu bulunmaktadır.
Sorumluluk Reddi Beyanı
Değerli ziyaretçimiz,
Bu blog yazımız bilgi amaçlı olup, saldırılara karşı farkındalığı arttırabilmek ve bu doğrultuda tedbirler alınabilmesi amacı ile hazırlanmıştır. Bu yazıda geçen bilgilerin amacı dışında kullanılmasının hukuki olmadığını hatırlatır, öncesinde test ortamlarınızda uygulamanızı öneririz. Aksi taktirde sistemlerinizde bu durumdan dolayı ortaya çıkabilecek her tür hata, eksiklik veya arıza hususlarında CyberArts’ın herhangi bir sorumluluğunun olmadığını ve bunlardan kaynaklanabilecek doğrudan ya da dolaylı zarar ve kayıplardan sorumlu tutulamayacağını beyan ederiz.
Saygılarımızla,
CyberArts Bilişim Anonim Şirket
Siber Güvenlik, Dijital Dönüşüm, MSSP, Sızma Testi, KVKK, GDPR, ISO 27001, ISO 27701 ve DDO Bilgi ve İletişim Güvenliği Rehberi başlıklarıyla ilgili teklif almak için lütfen tıklayın.