RASP Ne Olmalıydı?



Son yıllarda uygulama güvenliği dünyası, çalışma zamanı uygulama kendini koruma (RASP) teknolojisinin yükselişini gördü. Gartner tarafından açıklandığı gibi RASP, bir uygulamaya veya onun çalışma zamanı ortamına entegre edilmiş, gerçek zamanlı saldırıları kontrol edip önleyebilen bir güvenlik teknolojisidir. Ne yazık ki, birçok Web uygulaması güvenlik duvarı (WAF) şirketi, bu terimden yararlanma fırsatı gördü. Ağ katmanında, RASP teknolojisinin tanımını tam olarak benimsemeyen “RASP benzeri” aracılar tanıttılar.

Bunun aksine, orijinal RASP teknolojisi, kullanıcı, uygulama mantığı ve etki alanı bilgilerinin tam bağlamına sahip olduğu uygulama katmanında çalışır. Bu bağlam, bir RASP’nin uygulamanın güvenliği hakkında bilinçli kararlar almasına ve açıklardan yararlanmaları zarar vermeden önce önlemesine olanak tanır. Sonuç olarak, gerçek bir RASP sıfır yanlış pozitife ve azaltılmış gecikmeye sahip olmalı ve performansta anında bir artış sağlamalıdır. Gerçek RASP, yeni bir güvenlik açığının ne zaman ortaya çıktığını anlamak ve buna göre hareket etmek için bağlamı kullanan değişmez kuralların bir listesini gerektirir. Bu değişmezlik, kurallar uygulama katmanında kod tabanına işlendiğinde mümkündür ve dağıtıldıktan sonra herhangi bir değişiklik gerektirmez.

RASP’nin Yanlış Yaptığı Üç Alan

1. Havlayan Köpek Problemi: Çoğu Uyarı Yanlış Pozitiftir

WAF’lerle ilgili sorun, uygulama yürütmenin gecikmeli bir göstergesi olan ağ katmanında çalışmalarıdır. Bunun sonucunda ortaya çıkan bağlam eksikliği, yüksek yanlış pozitif oranlarına, uzun bekleme sürelerine ve düşük performansa yol açar, çünkü WAF’ler bir güvenlik açığının doğası hakkında yalnızca daha önce maruz kaldıkları şeye dayalı olarak tahminde bulunabilirler.

Bahçede çitin ötesinde bir ses duyduğunda havlayan bir bekçi köpeği hayal edin. Bu sesler bir davetsiz misafirin yaklaşması olabilir, ancak aynı zamanda geçen arabalar da olabilir. Bekçi köpeği farkı tam olarak ölçemez, bu nedenle herhangi bir gürültünün şiddeti kaybolur ve bu da evin içindeki insanların hangi uyarıların gerçek ve hangilerinin yanlış pozitif olduğunu bilmesini imkansız hale getirir. Bu senaryo, temel olarak standart RASP teklifinin yeteneğidir.

2. 999 Bad Guys Problemi: Yalnızca Bir Örneği Test Edebilir

İster inanın ister inanmayın, bazı satıcı firmalar güvenlik çözümlerini yalnızca bir örneklem boyutunu koruyorsanız üretim ortamlarında çalıştırmanızı söyler. Bu, bir örnek – belki de her 1000 istekten biri – çektiği ve sonraki 999’da ne olacağını yakalarken bu örneği test ettiği anlamına gelir. Yani, eğer iyi bir oyuncuysanız, imzanız kontrol edilecektir. Ancak aşağıdaki 999 aktörün niyeti kötü olsa da olmasa da üstesinden gelecektir. Bu tutarlılık eksikliğinin nedeni, WAF tabanlı RASP’lerin her isteği test etme zorunluluğunun getirdiği performans gereksinimlerini karşılayamamasıdır.

3. “Çok Uzun Sürüyor” Sorunu: Gecikme Performansı Etkiliyor

WAF tabanlı bir RASP’niz olduğunda, uygulamanın kod tabanını hiçbir şekilde etkileyemeyeceği için artan gecikme yaşarsınız. Bu arada, yaygın olarak bulunan RASP’lerin tüm metin yüklerini Web analizcilerine göndermeleri ve ardından geri gönderilmesini beklemeleri gerekir, bu da uzun zaman alabilir. Müşterileriniz ödemelerin yapılmasını bekliyorsa, pes edebilir ve bunun yerine rakiplerinizi arayabilirler.

Bu süreci iyileştirmek, kod optimizasyonuna benzer. Geliştiriciler, bir liste oluştururken listeyi, listenin sonu yerine başına yeni öğeler ekleyecek şekilde ayarlar. Bu optimizasyon, VM’nin her yeni öğe eklendiğinde tüm listeyi yeniden oluşturmasını engelleyerek liste büyüdükçe artan gecikmeyi önler. Derleyici mühendisleri, 2000’lerin başında, verilen dilin nüanslarına göre kodu otomatik olarak optimize eden tam zamanında (JIT) derlemeyi uygulayarak bu sorunları ele aldı.

RASP Tanımı Neden Bu Kadar Sulandı?

RASP teknolojisini geliştirmek, güvenlik mühendisliği ve yazılım mühendisliği becerilerinin bir kombinasyonunu gerektirir. Etkili olmak için RASP geliştiricisi, uygulamanın mimarisini ve kullanılan programlama dilinin nüanslarını derinden anlamalıdır. Bu, güvenlik uzmanları arasında nadir görülen bir etki alanı uzmanlığı gerektirir.

True RASP, Kodu Performans ve Güvenlik İçin Optimize Eder

Çoğu RASP platformu WAF’ler gibi davrandığından, bunların örnek modunda çalıştırılmasını gerektiren çok büyük bir ek yük söz konusudur. Bunun aksine, orijinal bir RASP çalışma zamanında asıl korumayı gerçekleştirir.

Bu işlemler, çok verimli olan bellekte bulunur ve bu, uygulamalarınızla aynı alanda bulunduğundan, çok yüksek performans gösterirler. Korumayı çalışma zamanında gerçekleştirerek, gerçek işlem yalnızca birkaç milisaniye sürdüğü için, oran sınırı belirlemeye veya örnek boyutlarında koruma gerçekleştirmeye gerek kalmaz.

Uygulamada yapılan herhangi bir değişiklikten bağımsız olarak, yüksek performanslı güvenlik sabit kalır. Bu felsefe, altyapınızın istenen durumunu tanımladığınız ve ortamda ne olursa olsun altyapının durumunun aynı kaldığı kod olarak altyapı felsefesiyle uyumludur.

RASP, tanımı gereği, kod olarak altyapının birçok ilkesiyle paralellik gösterir. Bu paralellik, uygulamanın ve oluşturulduğu dilin derin bağlamsal farkındalığı nedeniyle mümkündür. Kod olarak altyapı gibi, gerçek bir RASP yaklaşımı, kuralların kod tabanındaki değişikliklerden bağımsız olarak uygulanmasını sağlamak için değişmezliği kullanabilir ve kullanmalıdır.

Değişmezlik, bir işlev ilk kez çağrıldığında çıktısını kontrol ederek ve sağlıksız işlevleri korumalı işlevsellikle devre dışı bırakarak, uygulamanın çalışırken her zaman sağlıklı olmasını sağlayarak mümkündür.

Bu yaklaşım, güvenliğin dağıtımdan bağımsız olmasını sağlar ve uygulama kodunda kod değişiklikleri, ayarlama veya dağıtım pencerelerini bekleme gerektirmez.

Çalışma zamanında koruma gerçekleştirerek, uygulamanın çalışan tüm örneklerinde anında koruma sağlayan yamalama sonuçları, sürekli yanlış pozitiflere olan ihtiyacı ortadan kaldırır ve gelecekteki açıklardan yararlanma riskini ortadan kaldırır.

RASP Daha Yüksek Bir Standartta Tutulabilir ve Tutulmalıdır

Kısacası, RASP daha yüksek bir standartta tutulmalıdır. Bu şekilde yapıldığında, binlerce uygulamanın güvenliğini sağlamak, WAF’lerinizin toplam sahip olma maliyetini düşürmek ve güvenlik ekiplerinizin tükenmişliğini önlemeye yardımcı olmak mümkündür.



Source link