RCE nedir?
RCE (Remote Code Execution), bir saldırganın uzaktan, ağ üzerinden hedef sistemde kendi seçtiği kodu çalıştırabilmesine imkan veren güvenlik açığı türüdür. Açık kullanıldığında saldırgan, savunmasız servisin yetkileriyle sistemde komut yürütebilir.
RCE, en ciddi açık sınıflarından biri sayılır; çünkü saldırgan fiziksel erişime ya da geçerli bir hesaba ihtiyaç duymadan sistemi yönetebilir hâle gelebilir. Yine de gerçek etki, açığın hangi yetkiyle çalıştığına bağlıdır.
Nasıl çalışır?
RCE açıkları farklı kök nedenlerden doğar: güvenli olmayan dosya yükleme, filtrelenmemiş girdinin komut veya şablon motoruna aktarılması, güvensiz nesne seri hâle getirme (deserialization) ve bellek yönetimi hataları bunların başında gelir. Saldırgan hazırladığı girdiyi servise gönderir; servis bu girdiyi veri olarak değil, çalıştırılacak kod olarak işler.
Kod, servisin çalıştığı kullanıcı hesabının yetkileriyle yürütülür. Bu yüzden servisin hangi kullanıcıyla çalıştığı etkiyi belirleyen en önemli etkenlerden biridir.
Sunucu ve hosting ortamında
Web uygulamaları, içerik yönetim sistemi eklentileri, yönetim panelleri, e-posta ve dosya aktarım servisleri RCE için tipik hedeflerdir. İnternete açık ve geniş kullanılan yazılımlardaki RCE açıkları toplu ve otomatik taramalarla kısa sürede aranır.
- Web sunucusu kullanıcısına yazma izni olan dizinlerde, yüklenen dosyaların çalıştırılması engellenmelidir.
- Çalıştırılan komutların ve süreçlerin beklenmedik alt süreçler başlatması izlenmelidir.
- cPanel, Plesk, DirectAdmin gibi panellerde güncellemelerin açık olması önemlidir.