Saldırganların bu çeşitli teknikleri kullanmasını nasıl tespit edebilir ve önleyebilirsiniz?
Karartma, özellikle kötü amaçlı yazılım yazarları tarafından kullanıldığında riskler taşıyan yazılımları korumak için önemli bir tekniktir. Bu makalede, karartmayı, etkilerini ve buna verilen yanıtları inceliyoruz.
Obfuscation Nedir?
Karartma, özellikle bilgisayar kodlamasında, bilgileri kasıtlı olarak okunması zor hale getirme tekniğidir. Önemli bir kullanım örneği, hassas verilerin yetkisiz erişimden korunması için tanınmaz hale getirildiği veri karartmadır. Bunun için çeşitli yöntemler kullanılır.
Örneğin, bir kredi kartı numarasının yalnızca son dört hanesi sıklıkla görüntülenirken, kalan haneler X’ler veya yıldızlarla değiştirilir. Buna karşılık, şifreleme, verileri yalnızca özel bir anahtar kullanılarak şifresi çözülebilen okunamaz bir forma dönüştürmeyi içerir.
Kodda Karartma
Bilgisayar kodu karartıldığında, kodun anlaşılmasını zorlaştırmak için karmaşık dil ve gereksiz mantık kullanılır. Amaç? Hem insan okuyucuları hem de decompiler gibi programları aldatmak. Bunu yapmak için, kodun bazı kısımları şifrelenir, meta veriler kaldırılır veya anlamlı isimler anlamsız olanlarla değiştirilir. Kullanılmayan veya anlamsız kod eklemek de gerçek kodu gizlemek için yaygın bir uygulamadır.
Sözde bir karartıcı bu süreçleri otomatikleştirebilir ve kaynak kodunu, hala çalışır durumda olacak ancak anlaşılması daha zor olacak şekilde değiştirebilir.
Diğer karmaşıklaştırma yöntemleri arasında tüm programı sıkıştırmak, kodu okunamaz hale getirmek ve yapılandırılmamış, bakımı zor bir mantık oluşturmak için kontrol akışını değiştirmek yer alır.
Programın mantığını veya sonucunu etkilemeyen sahte kodlar eklemek de yaygındır.
Çok katmanlı bir etki elde etmek ve güvenliği artırmak için genellikle birkaç teknik bir arada kullanılır.
Diğer Tarafı
Ne yazık ki, karartma yalnızca bir koruma değil, aynı zamanda bir meydan okumadır. Karartma yalnızca meşru yazılım geliştiricileri tarafından değil, aynı zamanda kötü amaçlı yazılım yazarları tarafından da kullanılır. Karartmanın amacı, siber saldırganları anonimleştirmek, tespit riskini azaltmak ve kötü amaçlı kodun genel imzasını ve parmak izini değiştirerek kötü amaçlı yazılımı gizlemektir – yük bilinen bir tehdit olsa bile. İmza, bir karmadır, kötü amaçlı yazılım öğesinin benzersiz bir alfanümerik gösterimidir. İmzalar genellikle karmadır, ancak kötü amaçlı yazılım öğesi içindeki benzersiz bir kodun başka bir kısa gösterimi de olabilirler.
Kötü amaçlı yazılımın kendisini değiştirerek yeni bir imza oluşturmaya çalışmaktan ziyade, karartma, imzalara dayanan antivirüs çözümlerini kandırmak için dağıtım mekanizmalarına odaklanır. Bunu, savunmaları iyileştirmek için makine öğrenimi, öngörücü analiz ve yapay zekanın kullanımıyla karşılaştırın.
Kod gizleme veya gizleme, hem “iyi” hem de “kötü” olabilir. “Kötü” gizleme durumunda, bilgisayar korsanları kötü amaçlı yazılımları gizlemek ve birden fazla gizleme katmanı oluşturmak için çeşitli teknikleri birleştirir. Bu tekniklerden biri paketleyicilerdir. Bunlar, kötü amaçlı yazılımları varlığını gizlemek ve orijinal kodu okunamaz hale getirmek için sıkıştıran yazılım paketleridir. Sonra, antivirüs programlarını uyarabilecek kodlara erişimi kısıtlamak için kötü amaçlı yazılımları veya yazılım parçalarını şifreleyen kriptograflar vardır.
Başka bir yöntem ölü kod eklemektir. Bu, programın görünümünü gizlemek için kötü amaçlı yazılıma işe yaramaz kod eklemeyi içerir. Saldırganlar ayrıca kötü amaçlı yazılım programlarındaki komut kodlarını değiştirmeyi içeren komut değişikliğini de kullanabilir. Bu, kodun görünümünü değiştirir, ancak davranışını değiştirmez.
Koddaki karartma, gördüğümüz gibi, yalnızca ilk adımdır çünkü hacker EDR’yi atlatmak için kodu karartmak için ne kadar çok çaba harcarsa harcasın, kötü amaçlı yazılım “başarılı” olmak için ağ içinde ve dış dünyayla iletişim kurmalıdır. Bu, iletişimin de karartılması gerektiği anlamına gelir. Ağların hızla tarandığı ve terabaytlarca veriyi hemen çıkarmaya çalışıldığı geçmişin aksine, saldırganlar bugün izleme araçlarının sensörleri ve anahtarları saldırmasın diye daha sessiz iletişim kuruyor.
Örneğin, tarama yoluyla IP adresleri edinme amacı artık radar altında kalmak için daha yavaş takip ediliyor. Tehdit aktörlerinin hedeflenen kurbanları hakkında, örneğin ağ mimarileri aracılığıyla veri toplamaya çalıştığı keşif de daha yavaş ve daha belirsiz hale geliyor.
Yaygın bir karartma yöntemi Exclusive OR (XOR)’dur. Bu yöntem, verileri yalnızca kodu 0x55 XOR ile bağlayan kişiler tarafından okunabilecek şekilde gizler. ROT13, harflerin bir kodla değiştirildiği başka bir numaradır.
Geçmişten Esintiler:
- Karmaşıklaştırmanın bilinen bir örneği 2020’deki SolarWinds saldırısıdır. Bilgisayar korsanları, savunmaları aşmak ve saldırılarını gizlemek için karmaşıklaştırmayı kullandılar.
- Bir diğer ilginç örnek ise saldırganların kötüye kullandığı bir Microsoft Windows aracı olan PowerShell’dir. PowerShell kullanan kötü amaçlı yazılım, dize kodlama, komut karartma, dinamik kod yürütme ve daha fazlası gibi tekniklerle etkinliklerini gizler.
- Başka bir örnek XLS.HTML saldırısıdır. Burada, bilgisayar korsanları kötü amaçlı faaliyetlerini gizlemek için ayrıntılı karartma teknikleri kullandılar. Tespit edilmekten kaçınmak için şifreleme yöntemlerini bir yıl içinde en az on kez değiştirdiler. Taktikleri arasında düz metin, kaçış kodlaması, Base64 kodlaması ve hatta Morse kodu vardı.
- Başka bir tehditte, saldırganlar sunucularda uzaktan kod yürütmek için ThinkPHP’deki güvenlik açıklarından yararlandı. Kalıcı erişime ve daha fazla saldırıya izin veren “Dama” adlı gizli bir web kabuğu yüklediler.
Neden Sadece İmzalara Güvenmemelisiniz
İmza tabanlı algılama eski bir dost gibidir; bilinen tehditler söz konusu olduğunda güvenilirdir. Ancak yeni, bilinmeyen tehditler söz konusu olduğunda bazen karanlıkta kalabilir. Yalnızca imzalara güvenmemeniz için birkaç neden:
- Kötü amaçlı yazılım yazarları saklambaçta gerçek ustalardır. Kötü amaçlı programlarını gizlemek için çeşitli teknikler kullanırlar. Kodda yapılan küçük değişiklikler bile imza tespitinin başarısız olmasına neden olabilir.
- Çok biçimli kötü amaçlı yazılımlarda, kötü amaçlı yazılım bir bukalemun gibi davranır. Algılanmamak için yapısını sürekli değiştirir. Her yürütüldüğünde kod farklı görünür.
- Statik imzalar mı? Hiçbir şansı yok! Metamorfik kötü amaçlı yazılım daha da aldatıcıdır. Yürütme sırasında uyum sağlar ve kodunu dinamik olarak değiştirir, bu da statik imzalarla yakalanmasını neredeyse imkansız hale getirir.
- Ayrıca, sıfırıncı gün açıkları “yeni çıkan çocuk” gibi davranır: taze ve bilinmezler ve imza tabanlı sistemlerin onları tanıma şansı yoktur.
- Bunun yanı sıra, imza tabanlı bir çözüm çok fazla yanlış pozitif döndürdüğünde etkisiz hale gelir. Günlük işlerde çok fazla yanlış uyarı güvenlik ekibinizi etkiler ve değerli kaynakları boşa harcar.
Kısacası, imza tespiti, örneğin bir EDR’de, yararlı bir araçtır, ancak tüm tehditleri savuşturmak için tek başına yeterli değildir. Davranış analizi, makine öğrenimi ve diğer modern teknikleri de içeren daha kapsamlı bir güvenlik stratejisi esastır.
NDR Araçları Neden Bu Kadar Önemlidir?
Anomali tabanlı IDS çözümleri, bir sistemin normal davranışını izleyen ve olağandışı bir etkinlik tespit ettiklerinde alarmı çalan dedektifler gibidir. Ancak Ağ Algılama ve Yanıt (NDR) araçları hatta bir adım daha ileri giderler: değişen siber tehdit ortamının bir adım önünde kalmak için sürekli olarak uyum sağlarlar ve gelişmiş analiz ve entegrasyonları sayesinde geleneksel imza tabanlı yaklaşımlardan önemli ölçüde daha yüksek bir güvenlik seviyesi sunarlar. Hem bilinen hem de bilinmeyen tehditleri tespit edebilir ve bunlara karşı savunma sağlayabilirler.
İşte Bunu Nasıl Yapıyorlar:
- Davranış Analizi: NDR araçları ağ trafiğini izler ve davranışı analiz eder. Düzensiz veri transferleri gibi komuta ve kontrol (C&C) iletişimini gösterebilecek alışılmadık kalıpları tespit ederler.
- Protokol İzleme: Şüpheli davranışları veya gizlenmiş kötü amaçlı yazılımlarla ilişkili olabilecek iletişimleri tespit etmek için HTTP isteklerini, DNS trafiğini ve diğer protokolleri incelerler.
- Meta Veri Analizi: NDR araçları, şüpheli aktiviteyi gösteren alışılmadık kalıpları tespit etmek için meta verileri analiz eder. Makine öğrenimi modelleri, ağ trafiğindeki şüpheli davranışlar aracılığıyla görülebilen tipik karartma tekniklerini belirlemeye yardımcı olur.
- Uzun Vadeli İletişim İzleme: İletişimi gizlemek artık bilgisayar korsanları için hayati önem taşıdığından, tespit edilmekten kaçınmak ve ağların içinde ve dışında veri toplamak için daha yavaş ve gizli teknikler benimsediklerinden, NDR’nin karşılaştırmalı değerlere sahip olmak ve düzensizlikleri izlemek ve tespit etmek için toplu çalıştırmaları (örneğin dakikalar içinde) gerçekleştirme yeteneğine ek olarak, örneğin 3 gün gibi daha uzun zaman aralıklarına da bakması yararlıdır ve gerçek zamanlı uyarı, her dakika veya benzeri bir sürede ping içeren bir tarama tespit edilirse çok sayıda uyarıya yol açacaktır. Ancak her ping bir saldırı mıdır? Kesinlikle hayır!
- Mitre ATT&CK ve ZEEK: Bu protokoller, karartma kullanan tehditler hakkında değerli içgörüler sağlar. NDR araçlarıyla entegrasyonları, tehdit algılama yeteneklerini önemli ölçüde iyileştirir.
- Tehdit Verilerinin Paylaşımı: NDR araçları tehdit verilerini diğer güvenlik çözümleriyle paylaşır. Bu, bilinen karartma tekniklerinin ve şüpheli davranışların daha hızlı tespit edilmesini sağlar. EDR araçlarıyla entegrasyon, uç noktalardaki şüpheli faaliyetleri ağ trafiğiyle ilişkilendirmelerine olanak tanır ve bu da güvenlik analizini önemli ölçüde iyileştirir.
Daha fazlası için NDR neden önemli bir güvenlik aracıdır ve en gelişmiş tehditleri ve karmaşık karartma biçimlerini bile nasıl tespit ettiğini, Beyaz bültenimizi indirin Gelişmiş Kalıcı Tehdit (APT) tespiti üzerine.
NDR’nin kurumsal ağınızda nasıl davrandığını ve APT’leri nasıl algılayıp yanıtladığını tam olarak görmek için kayıtlı APT tespit videomuzu izleyin.