Duyuru

Yapay Zeka Modellerine Yönelik Prompt Injection Saldırıları Makalemiz Yayınlandı!

Blogu Görüntüle Blogu Görüntüle
PRIVIA

Siber Guvenlik Terimleri Sozlugu

Yerel ve Uzak Dosya Dahil Etme (LFI/RFI) Nedir?

Dosya dahil etme zafiyetleri, uygulamanın kullanıcı kontrollü bir dosyayı dahil ederek işlemesiyle kod çalıştırmaya yol açabilir.

Yerel ve Uzak Dosya Dahil Etme (LFI/RFI) Nedir?
26 Aralık 2023

Yerel ve Uzak Dosya Dahil Etme (LFI/RFI) Nedir?

Yerel ve Uzak Dosya Dahil Etme (LFI/RFI) Nedir?

Dosya dahil etme zafiyetleri, uygulamanın kullanıcı kontrollü bir dosyayı dahil ederek işlemesinden doğan bir risk sınıfıdır. Bazı uygulamalar, çalışma zamanında bir dosyayı dahil ederek içeriğini kod gibi işler. Bu dahil edilen dosyanın yolu kullanıcı tarafından etkilenebiliyorsa, saldırgan hangi dosyanın işleneceğini belirleyebilir. Yerel bir dosyanın dahil edilmesi bilgi sızıntısına, dahil edilen dosyanın çalıştırılması ise kod çalıştırmaya yol açabilir. Bu geniş etki, zafiyeti en tehlikeli web risklerinden biri hâline getirir.

Zafiyet iki temel biçimde ortaya çıkar. Yerel dosya dahil etmede, saldırgan sunucudaki mevcut bir dosyayı dahil ettirir. Uzak dosya dahil etmede ise, saldırgan uygulamayı dışarıdaki bir kaynaktan dosya çekmeye zorlar. İki biçim de aynı temel soruna, yani dahil edilen yolun güvensiz kontrolüne dayanır. Ancak uzak biçim, doğrudan saldırgan kontrollü kod çalıştırmaya yol açtığı için genellikle daha yıkıcıdır.

LFI ve RFI Nedir?

Dosya dahil etme zafiyetleri, uygulamanın kullanıcı kontrollü bir yerel ya da uzak dosyayı dahil ederek işlemesiyle bilgi sızıntısına ya da kod çalıştırmaya yol açan risklerdir.

Yerel biçimde saldırgan, sunucuda zaten var olan bir dosyayı dahil ettirir. Bu dosya, hassas yapılandırma bilgisi ya da kimlik bilgisi içerebilir ve dahil edildiğinde içeriği açığa çıkabilir. Bu biçim, çoğu zaman yol geçişi teknikleriyle birleşerek çalışır. Yol geçişi, dahil edilecek dosyaya ulaşmak için kullanılır. İki tekniğin birleşimi, saldırının etkisini artırır.

Uzak biçimde ise saldırgan, uygulamayı kendi kontrolündeki bir sunucudan dosya çekmeye zorlar. Çekilen bu dosya saldırganın hazırladığı kod içerdiğinde, sunucuda doğrudan çalıştırılabilir. Bu senaryo, saldırgana tam kod çalıştırma yeteneği kazandırır. Bu nedenle uzak biçim, en yüksek öncelikli risklerden biridir. Modern yapılandırmalar bu biçmi varsayılan olarak engellese de, hatalı ayarlar hâlâ savunmasızlık yaratabilir.

Etkileri

Zafiyetin en ağır etkisi, sunucuda kod çalıştırmadır. Saldırganın hazırladığı bir dosya dahil edilerek çalıştırıldığında, saldırgan sunucu üzerinde denetim kazanır. Bu denetim, veri çalmaktan sistemi tamamen ele geçirmeye kadar uzanabilir. Web kabuğu bu aşamada kalıcı erişim için kullanılabilir. Bu etki, zafiyeti mimari düzeyde ciddi bir tehdit hâline getirir.

İkinci etki, hassas bilgilerin açığa çıkmasıdır. Yerel bir dosyanın dahil edilmesi, yapılandırma dosyalarındaki kimlik bilgilerini ya da diğer sırları okunabilir kılar. Elde edilen bu bilgiler, sonraki saldırılar için değerli girdi sağlar. Böylece tek bir zafiyet, daha geniş bir saldırının hazırlığına dönüşebilir. Bu nedenle bilgi sızıntısı da hafife alınmamalıdır.

PRIVIA SECURITY

Kurumunuza özel siber güvenlik hizmetleri

Sızma testinden olay müdahalesine, uçtan uca çözümlerle yanınızdayız.

Fiyat Teklifi Al

Nasıl Önlenir?

En temel önlem, dahil edilecek dosya yolunun kullanıcı tarafından kontrol edilmemesidir. Mümkün olduğunda, dahil edilecek dosyalar önceden tanımlı bir listeden seçilmelidir. Bu yaklaşım, saldırganın keyfi bir dosya belirtmesini baştan engeller. Kullanıcı yalnızca izin verilen seçenekler arasından bir değer seçebilir. Bu tasarım, zafiyetin kaynağını doğrudan ortadan kaldırır.

İkinci önlem, uzak kaynaklardan dosya dahil etmenin tamamen devre dışı bırakılmasıdır. Çoğu ortam, bu tehlikeli özelliği kapatan bir yapılandırma sunar. Bu özellik kapatıldığında, uzak biçim saldırısı baştan olanaksız hâle gelir. Varsayılan güvenli yapılandırma ilkesi bu ayarın güvenli tutulmasını gerektirir. Gereksiz bu özelliğin kapatılması, en yıkıcı biçimi ortadan kaldırır.

Üçüncü önlem, girdinin katı biçimde doğrulanmasıdır. Dahil edilecek dosya adı, beklenen kesin bir biçime uyup uymadığı açısından denetlenmelidir. Beklenmeyen karakterler ya da yol dizileri içeren girdiler reddedilmelidir. Girdi doğrulama bu bağlamda beyaz liste temelli tasarlanmalıdır. Beklenen dışındaki her girdinin reddedilmesi, saldırının çoğu biçimini önler.

Dördüncü önlem, uygulamanın en az yetkiyle çalıştırılmasıdır. Bir dahil etme zafiyeti sömürülse bile, sınırlı yetki saldırganın yapabileceklerini kısıtlar. En az yetki ilkesi bu bağlamda etkiyi azaltan kritik bir savunmadır. Ayrıca sunucudaki dosya erişim izinleri de sıkı biçimde ayarlanmalıdır. Bu katmanlar, önleme başarısız olsa bile zararı sınırlar.

Güvenli Mimari Yaklaşımı

Kalıcı çözüm, dahil etme mekanizmasının güvenli biçimde tasarlanmasıdır. Modern geliştirme yaklaşımları, kullanıcı girdisine dayalı dinamik dahil etmeyi mümkün olduğunca kaçınılması gereken bir kalıp olarak görür. Bunun yerine, açık ve denetlenebilir yönlendirme mekanizmaları tercih edilir. Bu tasarım, zafiyetin ortaya çıkma olasılığını baştan azaltır. Güvenli mimari, tekil önlemlerden daha kalıcı bir koruma sağlar.

Bu yaklaşım, güvenli geliştirme kültürüyle desteklenmelidir. Geliştiriciler, dinamik dahil etmenin risklerini bilmeli ve güvenli alternatifleri tercih etmelidir. Güvenli yazılım geliştirme yaşam döngüsü bu bilinci süreçlere gömer. Böylece güvenlik, tekil çabalar yerine kurumsal bir alışkanlığa dönüşür. Bu bütünsel yaklaşım, zafiyetin tekrar ortaya çıkmasını azaltır.

Test ve Doğrulama

Zafiyetin tespiti, dosya dahil eden tüm işlevlerin incelenmesini gerektirir. Şablon işleme, dil seçimi ve modül yükleme gibi işlevler tipik risk noktalarıdır. Web uygulama sızma testi bu noktaları hem yerel hem uzak dahil etme yükleriyle değerlendirir. Farklı kodlama biçimleri de denenerek denetimin atlatılabilirliği sınanır. Böylece hem bariz hem de gizli dahil etme noktaları ortaya çıkarılır.

Bulguların kök nedene indirilmesi, kalıcı çözüm için gereklidir. Tekil bir dahil etme noktasını düzeltmek, aynı hatanın başka yerlerde tekrarlanmasını engellemez. Bu nedenle bulgular, güvenli dahil etme standardına dönüştürülmelidir. Böylece tüm geliştiriciler aynı güvenli kalıbı kullanır. Kök nedene odaklanan bir yaklaşım, zafiyetin tekrarını önler.

Yerel Biçimin İleri Teknikleri

Yerel dosya dahil etme, ilk bakışta yalnızca dosya okumayla sınırlı görünse de daha ileri sonuçlar doğurabilir. Saldırgan, sunucudaki günlük dosyalarına önce zararlı içerik yazdırıp ardından bu dosyayı dahil ettirerek kod çalıştırabilir. Bu teknik, yalnızca okuma yeteneğini kod çalıştırmaya dönüştürür. Benzer biçimde, geçici dosyalar ve oturum dosyaları da bu amaçla kötüye kullanılabilir. Bu ileri teknikler, yerel biçimin de ciddiye alınması gerektiğini gösterir.

Bu ileri tekniklerin varlığı, savunmanın yalnızca uzak biçimle sınırlı kalmaması gerektiğini vurgular. Yerel biçim, uygun koşullarda uzak biçim kadar yıkıcı olabilir. Bu nedenle her iki biçim de aynı ciddiyetle ele alınmalıdır. Dahil edilecek dosyanın kullanıcı tarafından kontrol edilmemesi, tüm bu tekniklere karşı temel savunmadır. Kaynağın güvenli kontrolü, biçimden bağımsız olarak koruma sağlar.

Filtre atlatma teknikleri de bu zafiyette sıkça görülür. Saldırganlar, dosya uzantısı eklenmesi gibi basit savunmaları çeşitli hilelerle aşmaya çalışır. Kodlama biçimleri, sonlandırma karakterleri ve akış sarmalayıcıları bu amaçla kullanılabilir. Bu nedenle savunma, tekil filtrelere değil kaynağın yapısal kontrolüne dayanmalıdır. Beyaz liste temelli bir yaklaşım, bu atlatma girişimlerine karşı en dayanıklı savunmadır.

Bulut ve Modern Ortamlar

Modern uygulama mimarileri, bu zafiyetin bazı biçimlerini doğal olarak azaltır. Kod ve veri katmanlarının ayrıldığı mimarilerde, dinamik dahil etme daha az kullanılır. Ancak şablon işleme ve eklenti yükleme gibi mekanizmalar, benzer riskleri farklı biçimlerde barındırabilir. Bu nedenle modern ortamlarda da bu risk sınıfı gözden kaçırılmamalıdır. Yeni mimariler, eski zafiyetleri yeni biçimlerde ortaya çıkarabilir.

Bulut ortamlarında, dahil etme zafiyetleri ek riskler doğurabilir. Sunucuda kod çalıştırma yeteneği kazanan bir saldırgan, bulut kimlik bilgilerine ulaşmaya çalışabilir. Bu kimlik bilgileri, bulut ortamında geniş erişime dönüşebilir. Bu nedenle bulut ortamlarında etkinin sınırlanması, uygulama güvenliği kadar önemlidir. En az yetki ilkesi, bu ortamlarda özellikle kritik hâle gelir.

Konteyner tabanlı ortamlar da bu zafiyet için özel değerlendirme gerektirir. Bir konteynerde kod çalıştırma yeteneği kazanan saldırgan, konteynerin sınırlarını aşmaya çalışabilir. Bu nedenle konteyner izolasyonu ve yetki sınırlaması, dahil etme zafiyetlerinin etkisini azaltan önemli katmanlardır. Bu ortamlarda savunma, hem uygulama hem altyapı düzeyinde tasarlanmalıdır. Katmanlı bir yaklaşım, tek bir zafiyetin geniş etkiye dönüşmesini önler.

Kalıcı Savunma İlkesi

Bu zafiyet sınıfının kalıcı çözümü, kullanıcı girdisini asla kod yürütme kararlarında kullanmamaktır. Hangi dosyanın dahil edileceği, kullanıcı girdisine değil uygulama mantığına dayanmalıdır. Bu ilke benimsendiğinde, zafiyetin ortaya çıkma olasılığı büyük ölçüde ortadan kalkar. Güvenli tasarım, tekil önlemlerden daha kalıcı bir koruma sağlar. Bu ilke, tüm dahil etme mekanizmalarının temel kuralı olmalıdır.

Privia Security olarak dosya dahil etme ve sunucu tarafı kod çalıştırma zafiyetlerinin tespitini düzenli zafiyet tarama kapsamında değerlendiriyoruz.

Bunlar İlginizi Çekebilir

Ortalama Tespit Süresi (MTTD) Nedir?

Siber Güvenlik Terimleri

9 Temmuz 2020

Ortalama Tespit Süresi (MTTD) Nedir?

Devamını Oku
IRSA ve İş Yükü Kimliği Nedir?

Siber Güvenlik Terimleri

28 Eylül 2022

IRSA ve İş Yükü Kimliği Nedir?

Devamını Oku
Kod Karartma (Obfuscation) Nedir?

Siber Güvenlik Terimleri

11 Kasım 2023

Kod Karartma (Obfuscation) Nedir?

Devamını Oku