bir saldırganın başka birinin bilgi işlem cihazında uzaktan komut çalıştırabildiği bir siber saldırıdır. Uzaktan kod yürütmeleri (RCE'ler) genellikle ana bilgisayar tarafından indirilen kötü amaçlı kötü amaçlı yazılımlar nedeniyle oluşur ve cihazın coğrafi konumundan bağımsız olarak gerçekleşebilir. Uzaktan Kod Yürütme (RCE), Uzaktan Kod Değerlendirmesi olarak da adlandırılır.
Uzaktan kumanda yürütme, geniş bir siber saldırı tekniği kategorisidir. Bir tehdit aktörünün bu uzak kodu internet, geniş alan ağı (WAN) veya yerel alan ağı (LAN) üzerinden bir hedef makinede yürütmesine izin verir. Örneğin, Ukrayna'daki bir tehdit aktörü, ABD'deki hedeflenen bir cihaza sessizce kötü amaçlı kod yerleştirebilir. Ayrıca RCE, bir tehdit aktörünün kötü amaçlı yazılım yürüterek bir bilgisayarı veya sunucuyu kontrol etmesine olanak tanır. RCE, elbette, hedeflenen savunmasız bir uygulamanın tamamen devralınmasına yol açabilir.
Bir RCE saldırı dizisinin yürütülmesi oldukça basittir. İlk olarak, tehdit aktörü, başarılı bir saldırıyı destekleyebilecek bilinen güvenlik açıklarını arayan bilgisayarları internet üzerinden tarar. Hedeflenen bir güvenlik açığı tespit edildiğinde, tehdit aktörü erişim elde etmek için istismarı gerçekleştirir. Artık dahil olduklarına göre, verileri sızdırmak, fonları yönlendirmek, ayrıntılı gözetim gerçekleştirmek ve hizmeti kesintiye uğratmak da dahil olmak üzere amaçlarına ulaşmak için kötü amaçlı kodu çalıştırabilirler.
Kod genellikle hedeflenen uygulamanın dili kullanılarak enjekte edilir. Sunucu tarafı yorumlayıcı daha sonra onu o dil için yürütür. Diller tipik olarak Python, Java, Perl, Ruby ve PHP'yi içerir. Doğrulanmamış girdileri doğrudan değerlendiren uygulamalar genellikle kod yerleştirmeye karşı savunmasızdır. Kamuya açık web uygulamalarının tehdit aktörleri için birincil hedef olması söz konusudur.
Kötü amaçlı kodun yürütülmesi genellikle terminal komutları veya belki de bash komut dosyaları kullanılarak gerçekleştirilir. Bash betiği, genellikle bir komut satırında kullanılacak komutları içeren bir metin dosyasıdır. Bash betikleri, dahil edilen komutların normalde olduğu gibi davranmasına izin verir. Genellikle bir ".sh" ile eklenirler, ancak bu gerekli değildir. Bir bash betiği paketlendikten sonra, tehdit aktörü kodu savunmasız bir uygulamaya yükler ve sırayla onu yürütür. Alternatif olarak, uygulama, yürütülmesi için çekirdeğe bir çağrı yapabilir.
WannaCry Uzaktan Kumanda Yürütme saldırısı
Uzaktan kumanda yürütme saldırılarının çok iyi bilinen bazı örnekleri vardır. WannaCry belki de son dönemlerin en ünlüsüdür. 2017 yılında, WannaCry fidye yazılımının dünya çapında binlerce bilgisayara bulaştığı biliniyordu. WannaCry, RCE'yi büyük bir avantaj olarak kullandı. Başlangıçta, bir tehdit aktörü, güvenliği ihlal edilebilecek ve Ulusal Güvenlik Ajansı'na (NSA) atfedildiği iddia edilen birkaç casusluk aracından birini kullanabilecek KOBİ bağlantı noktalarını belirler.
Belirli bir araç olan “EternalBlue”, Microsoft'un SMB protokolündeki bir güvenlik açığını tespit edebildi. SMB protokolü, uygulamaların ve kullanıcılarının uzak sunuculardaki ve diğer kaynaklardaki dosyalara erişmesini sağlar. EternalBlue, Microsoft tarafından MS17-010 olarak adlandırıldı. Ancak, EternalBlue yalnızca Windows işletim sistemlerini veya SMB sürüm 1 dosya paylaşım protokolünü kullanan herhangi bir şeyi etkiler.
Tehdit aktörü SMB güvenlik açığını başarıyla belirledikten sonra, DoublePulsar adlı başka bir iddia edilen NSA aracını kullanacaklardı. DoublePulsar'ın, The Shadow Brokers tehdit aktörleri tarafından 2017'de çevrimiçi olarak sızdırılan bir NSA hack aracı olduğu iddia ediliyor. DoublePulsar, WannaCry fidye yazılımını hedeflenen güvenliği ihlal edilmiş makinelere yüklemek için kullanılabilir.
Her şey söylenip yapılmadan önce, EternalBlue ve DoublePulsar, yaklaşık 150.000 bilgisayar ve sunucunun güvenliğinin ihlal edilmesini sağladı. Bir sunucuya virüs bulaştığında, bağlı olduğu tüm istemci makinelere de bulaşabilir.
RCE saldırılarını önleme
RCE saldırılarını engellemek zordur çünkü girişi gerçekleştirmek için yürütme zinciri büyük ölçüde değişebilir. Ortamınızdaki güvenlik açıklarının sayısını en aza indirmenin anahtarı, tüm yazılımlarınızı yamalamak ve güncellemek için hızlı hareket etmektir. Ne yazık ki çoğu saldırgan, en son bilinen güvenlik açıklarının bir listesini alır ve çoğu kuruluşun gerekli güncellemeleri ve azaltma yamalarını uygulamadığını çok iyi bilerek, bunlardan memnuniyetle yararlanır. Alternatif olarak, tehdit aktörleri, yıllar sonra bile yama uygulanmamış olabilecek eski güvenlik açıklarından başarıyla yararlanır.
Birçok en iyi uygulama bugün iyi bilinmektedir. Ağ trafiği, uç noktaların izlenmesine ek olarak potansiyel olarak kötü amaçlı içerik için izlenmelidir. Web uygulaması güvenlik duvarları (WAF), bu savunmayı sağlamada özellikle etkilidir. Ancak, WAF analizi kötü niyetli tehditleri gözden kaçırabilir ve yanlış pozitif sonuçlar verebilir. Tehdit algılama yazılımı, RCE'yi önlemede de önemli olabilir. Snort gibi ürünler, gelen trafiği tarayabilir ve şüpheli davranışları ve izinsiz giriş girişimlerini tespit edebilir. Snort, tespit edildiğinde şüpheli bir ana bilgisayarı da engelleyebilir. Snort genellikle üç şekilde dağıtılır: tcpdump gibi bir paket dinleyicisi olarak, genellikle ağ trafiği hata ayıklaması için önerilen bir paket kaydedici olarak veya tam özellikli bir ağa izinsiz giriş önleme sistemi olarak.
RCE saldırıları, arabellek taşması koruması uygulanarak da önlenebilir. Arabellek taşması, sunucularınızda, kolayca erişilebilir güvenlik açıkları sunmayan arabellek taşmalarını algılayan yazılımlar içerir. Arabellek taşması, bir işlev çağrısının yığın çerçevesindeki veri organizasyonunu bir "kanarya değeri" içerecek şekilde değiştirir. Bir yığın arabellek taşması, kanarya değerini yok ettiğinde, kendisinden önceki bir arabelleğin taştığını gösterir. Bu olay, bir tehdit aktörünün kötü niyetli kodunun onu tehlikeye atmaması için etkilenen programın sonlandırılmasını sağlar.
Erişim kontrol listeleri, kullanıcı izinlerini sınırlamak ve buna karşılık, bu kullanıcı hesaplarından birini ele geçiren bir tehdit aktörünün yeteneklerini kısıtlamak için de önemlidir.
Son olarak, kullanıcı girişi sterilize edilmelidir. Sıfır güven mantrasını düşünün - herhangi bir kullanıcı girişi bir RCE saldırısına katkıda bulunabilir ve tamamen güvenilmez olmalıdır. Girdi temizliği, güvenlik açıklarından yararlanmasını önlemek için kullanıcı girdisinin temizlenmesini ve temizlenmesini içerir. Giriş temizleme, kullanıcılardan, API'lerden ve web hizmetlerinden gelen veri girişlerini doğrulama, "temizleme" ve filtreleme sağlar. Bugün kullanılan kabaca üç tür sterilizasyon işlemi vardır. Bunlar, beyaz listeye alma (listelere izin verilir), kara listeye alma (izin verilmeyen listeler) ve sterilizasyondan kaçmayı içerir. İzin verilenler yalnızca geçerli karakterlere ve kod dizelerine izin verir. İzin verilmeyen listeler, fazladan boşluklar, sekmeler, etiketler ve satır sonları gibi tehlikeli olabilecek karakterleri ortadan kaldırarak girdiyi temizlemeye yardımcı olur.
Yorum yaptığın için teşekkürler