RASP (Runtime Application Self-Protection) web uygulamalarının çalışma zamanında gerçek zamanlı ve sadece koda dayalı koruma sağlayan bir web uygulama güvenliği çözümüdür.Web sunucusuna kuralan ajanlar sayesinde koda entegre olur ve algıladığı tehditlere anlık müdahale eder.
Kısaca WAF (Web Application Firewall), uygulama dışındaki HTTP/S trafiğini filtreleyerek ve kötü niyetli isteklere karşı koruma sağlayarak çalışır. RASP ise uygulamanın kendisine entegre olarak çalışır, uygulamanın kodunu ve çalışma zamanındaki davranışlarını analiz eder böylece gerçek zamanlı koruma sağlar. WAF genellikle dış tehditlere odaklanırken, RASP uygulama içindeki anormallikleri tespit ve engellemede etkilidir. Bu nedenle Layer 7 güvenliği konusunda RASP tek başına yeterli bir araç değildir.
Davranış Analizi: Uygulamanın çalışma sırasındaki davranışını izler ve anormal aktiviteleri algılar. Bu sayede kod içinde potansiyel tehditlerin varlığını ortaya çıkarabilir.
Gerçek Zamanlı Koruma: Tehditleri uygulama seviyesinde tespit ederek aksiyon alır. SQL enjeksiyonu, XSS (Cross-Site Scripting) ve yetkisiz veri erişimi gibi tehditleri daha uygulamanın içinden engellemeye olanak tanır.
Bağımsız ve Otomatik Koruma: Geleneksel Web Application Firewall (WAF) gibi dış sistemlere bağlı olmadan, uygulama içinden kendi kendine koruma sağlar. Entegre edilmiş bir güvenlik katmanı oluşturur.
Dinamik Uyum Yeteneği: Yazılım geliştirme ya da deployment süreçlerinde herhangi bir değişiklik gerektirmez. Uygulama koduna entegre edilerek, dinamik bir koruma ortamı yaratır.
Uygulama sunucusuna kurulan ajanların algıladığı tehditlere göre davranış sergiler.
Kod Entegrasyonu: Uygulamanın runtime ortamına yerleştirilir ve kod seviyesinde aktif bir şekilde çalışır.
Girdi ve Çıktı Analizi: Gelen veri isteklerini, uygulama koduna girmeden önce tarar ve analiz eder. Bu analizde tehdit unsurlarının var olup olmadığı değerlendirilir.
Davranış İzleme: Uygulama kodunun çalışması sırasında anormal durumlar veya zararlı görülen hareketler tespit edilir. Örneğin, normal dışı bir SQL sorgusu oluşturulmaya çalışıldığında, RASP bunu fark eder ve durdurur.
Anlık Aksiyon: Tespit edilen tehditlere karşı anında aksiyon alır. Bu aksiyon, oturumun sonlandırılması, bir kullanıcı isteğinin engellenmesi veya log kayıtlarını oluşturma şeklinde olabilir.
Waf uygulama ve kullanıcı arasında olduğu için isteklerin uygulamaya ulaşmadan önce web uygulamalarına yönelik birçok tehdidi filtreleyerek ilk savunma hattını sağlar.Buda sadece gelen isteğin değil istek yapan istemcininde davranış analizine olanak tanır.Yukarıda da bahsettiğim gibi RASP çözümleri sadece kodun kendisine odaklandığı için Waf atlatıldığı durumlarda gelecek olan ataklara karşı koruma sağlar.Bu nedenle RASP tek başına kullanmak yerine WAF ile birlikte kullanılmalıdır.Tabi bu ikili kullanımın getireceği bazı zorluklar ve maaliyet yüküde olacaktır.
RASP’in Tehdit İstihbaratındaki Rolü:
Uygulama içinde gerçekleşen tehditleri gerçek zamanlı olarak tespit eder ve bunları kaydeder. Örneğin, saldırganın kullandığı yöntemler (SQL enjeksiyonu, XSS gibi), saldırı düzenleme sıklığı ve hedef alınan noktalar hakkında detaylı veriler sağlar. Bu bilgiler organizasyonun güvenlik ekiplerine veya merkezi tehdit istihbarat sistemlerine iletilebilir.
İzleme sırasında elde ettiği olay verilerini, IP adresleri, kullanılan saldırı yöntemleri, ve saldırı şablonları gibi istihbarat verileriyle zenginleştirerek güvenlik ekiplerinin daha geniş tehdit bağlamı oluşturmasına yardımcı olur ve karşılaşılan tehditleri analiz ederek gelecekte olabilecek saldırı türlerini tahmin etmek ve tehdit modelleri oluşturmak için kullanılabilir.
Sonuç olarak RASP çözümleri sayesinde uygulama seviyesinde ek bir güvenlik katmanı oluşturulabilir fakat bu güvenlik seviyesi Waf ile mutlaka desteklenmelidir.Yeni bir teknoloji olduğu için henüz bypass edilememiş olması RASP ı bir adım öne geçirsede doğru yapılandırılmadığı durumlarda hem sunucu tarafında hemde uygulama katmanında kesintilere ve can sıkıcı sorunlara neden olabilir.
Kişisel görüşüm uygulama sunucusuna ek bir yük binmemesi ve kodun güvenliği olduğu için rasp çözümleride iast gibi QA/Staging ortamında kullanılarak kodun hataları giderilmeli ve sonrasında canlıya alınmalıdır.
Elbette akıllara runtime bir çözüm neden staging ortamında çalıştırılsın diye sorularda gelecek,Waf ile koruma sağlanan ortamlarda raspın maliyet ve iş gücü gereksiniminin yanıda kullanıcı deneyimini kötü etkileme gibi faktörününde olduğu unutulmamalıdır.
RASP kullanmadan önce mutlaka avantajları, dezavantajları ve ürün yetenekleri ile birlikte destek tarafıda detaylı incelenmelidir.Piyasada çok iyi ürün olupta destek hizmetleri kötü olduğu için tercih edilmeyen onlarca ürün bulunmaktadır. Güvenlik şansa bırakılacak bir kavram olmadığı için ürün seçiminde listenin 1. sırasında ürün yetenekleri 2.sırasında destek ekibi uzmanlık seviyeleri konuları olmalıdır diye düşünüyorum. 🙂
Fayfalı olması dileği ile.
RASP (Runtime Application Self-Protection) Nedir? - Yorumlar
Yapılan Yorumlar
BENZER İÇERİKLERİlginizi çekebilecek diğer içerikler
IAST ile Zafiyet İnceleme 17 Aralık 2024
Broken Access Control 09 Aralık 2024
DevSecOps Nedir? 04 Aralık 2024
Güvenli Yazılım Geliştirme Standartları 07 Kasım 2024
www.irfankocak.com
İrfan KOÇAK - Tüm Hakları Saklıdır