Yeni bir 0-day veya kritik CVE yayınlandığında kurumun karşısındaki gerçek sorun çoğu zaman açığın bilinmesi değil, uygulamanın ne kadar hızlı yamalanabileceğidir. Eski uygulamalar, destek süresi bitmiş sürümler, kırılgan bağımlılıklar ve satıcıya bağlı yazılımlar doğrudan kod yaması yapmayı zorlaştırır.
Resmî yamanın çıkması günler veya haftalar sürebilir. Yama çıksa bile üretime almak ayrı bir süreçtir: regresyon testi, değişiklik penceresi, onay mekanizması, geri dönüş planı ve servis kesintisi riski gerekir. Acil saldırı dalgası başladığında bu süreçler güvenlik ekibi için yeterince hızlı değildir.
Bulut tabanlı veya dışa bağımlı WAAP imza akışlarında kurum, kritik CVE imzasının ne zaman geleceğini ve ne kadar özelleştirilebilir olacağını her zaman kontrol edemez. Özellikle on-prem, kapalı ağ veya sovereign cloud mimarilerinde güvenlik müdahalesinin kurum içinde yapılabilmesi önemlidir.
Sanal yama yanlış uygulanırsa yeni bir problem üretir. Çok geniş regex kuralları gerçek kullanıcı trafiğini bozabilir, yanlış kapsam seçimi ilgisiz uygulamaları etkileyebilir, doğrudan engelleme moduna alınan kural üretimde hatalı pozitif yaratabilir. Bu yüzden hızlı müdahale kadar kontrollü test ve geri alma da gerekir.
TR7'nin sanal yamalama yaklaşımı, uygulama kodu hazır olana kadar güvenlik açığını trafik katmanında daraltır; bunu da izleme modu, skor kontrolü, kapsam seçimi ve hot-reload ile operasyonel risk üretmeden yapar.
TR7, sanal yamayı tek seferlik acil kural değil, test edilebilir ve yönetilebilir bir güvenlik yaşam döngüsü olarak ele alır.
Log4Shell, Spring4Shell ve Shellshock gibi kritik açıklar için hazır imzalar WAAP veritabanında yer alır. Çoklu varyant ve kodlanmış saldırı biçimleri için ayrı desenler kullanılabilir.
Operatör regex yazar, eşleşme alanını seçer, skor atar ve kural durumunu belirler. Kural path, query, header, form, json, xml veya raw içerik gibi farklı trafik alanlarına uygulanabilir.
Her özel kural tarih bilgisiyle birlikte tutulur. Bu kayıt, geçici yamaların ne zaman eklendiğini görmeyi ve uygulama tarafındaki kalıcı düzeltme sonrası temizlik yapmayı kolaylaştırır.
`monitor` durumundaki kural trafiği engellemeden log üretir. Güvenlik ekibi hatalı pozitif etkisini gözlemledikten sonra aynı kuralı `enabled` durumuna alarak engellemeyi etkinleştirebilir.
TR7 Sanal Yamalama, hazır CVE imzalarını, özel kural üretimini ve kontrollü aktivasyonu aynı politika hattında birleştirir.
TR7 WAAP veritabanında Log4Shell, Spring4Shell ve Shellshock gibi kritik açıklar için hazır imzalar bulunur. Log4Shell tarafında temel JNDI desenleri, kodlanmış varyantlar ve obfuscation denemeleri ayrı biçimlerde ele alınabilir. Bu yapı, bilinen yüksek riskli saldırılarda sıfırdan kural yazma ihtiyacını azaltır. Kurum, hazır imzayı izleme veya engelleme durumuna alarak hızlı müdahale edebilir.
Kuruma özel bir açık, CMS eklentisi zafiyeti veya pentest bulgusu için özel regex kuralı tanımlanabilir. Kural path, query, header, form, json, xml veya ham gövde gibi farklı eşleşme alanlarına uygulanabilir. Böylece güvenlik ekibi, uygulama kodu değişmeden saldırı desenini trafik katmanında yakalar. Bu yaklaşım kalıcı yama çıkana kadar hızlı bir koruma perdesi oluşturur.
Yeni eklenen kural `monitor` durumunda yalnızca log üretir ve kullanıcı trafiğini engellemez. Güvenlik ekibi bu aşamada kuralın hangi istekleri yakaladığını, hatalı pozitif üretip üretmediğini ve skor etkisini gözlemleyebilir. Sonuç güvenliyse kural `enabled` durumuna alınır. Bu akış, acil müdahale hızını üretim güvenliğiyle dengeler.
Özel kurallara 2, 4, 6 veya 8 gibi skorlar atanabilir. Yüksek skor doğrudan engelleme senaryoları için, daha düşük skor ise toplam risk eşiğiyle birlikte karar vermek için kullanılabilir. Bu yapı, her sanal yamayı aynı sertlikte uygulamak yerine saldırı kesinliği ve iş etkisine göre ayarlama imkânı verir. Operatör hem hassas hem de agresif politikalar kurabilir.
Sanal yama global seviyede tüm servis havuzlarına uygulanabilir veya yalnızca belirli bir havuza bağlanabilir. Global katman yaygın CVE saldırıları için hızlı koruma sağlarken, havuz seviyesi belirli uygulama açıklarında daha kontrollü kapsam sunar. Böylece tek bir CMS açığı tüm platform politikasını gereksiz yere sertleştirmez. Kural kapsamı uygulama riskine göre daraltılabilir.
Var olan bir kuralın durumu `enabled`, `disabled` veya `monitor` olarak değiştirilebilir. Aynı şekilde skor değeri artırılıp azaltılarak kuralın karar sürecindeki ağırlığı ayarlanabilir. Bu özellik, bilinen bir imzanın geçici olarak izleme moduna alınması veya acil durumda daha sert uygulanması için kullanılır. Kurum politikası gerçek trafik davranışına göre ince ayar alır.
Yeni sanal yama eklendiğinde değişen regex içeriği işlenir, ilgili hash yapıları güncellenir ve yalnızca etkilenen parça yeniden derlenir. Bu süreç tüm geçiş katmanını yeniden başlatmadan kural aktivasyonu yapılmasını hedefler. Derleme operasyonu kontrollü kaynak sınırlarıyla yürütülür. Güvenlik ekibi acil müdahaleyi bakım penceresine bağımlı hâle getirmeden uygulayabilir.
TR7 test yapısında hazır saldırı sözlüğü üzerinden belirli saldırı örnekleri oynatılabilir. `Attack.js` aracıyla hedef host ve port seçilerek belirli saldırı kimlikleri test edilebilir. Bu yöntem, sanal yamanın beklenen saldırı desenini yakalayıp yakalamadığını pratik şekilde doğrular. Operasyon ekibi, kuralı canlıya almadan önce davranışını daha somut görebilir.
Sanal yamalama, acil güvenlik tepkisi kadar kural izlenebilirliği, geri alma, kapsam kontrolü ve test disiplini gerektirir.
Global özel kurallar ve havuz seviyesindeki özel kurallar ayrı kimlik aralıklarında tutulur. Global kurallar 1M–5M, havuz kuralları 5M–10M aralığında konumlanır. Bu ayrım, kuralın etkilediği kapsamı operasyonel olarak daha görünür hâle getirir.
Özel kurallar tarih bilgisiyle birlikte kaydedilir ve format `DD.MM.YYYY` olarak tutulur. Bu alan, geçici yamaların unutulmasını önlemek için önemlidir. Uygulama tarafındaki kalıcı düzeltme tamamlandığında ilgili sanal yamalar toplu olarak temizlenebilir.
Yeni regex içeriği işlendiğinde ilgili hash değerleri yeniden hesaplanır ve değişen parça yeniden derlenir. Süreç kaynak sınırlarıyla yürütülür ve etkilenen güvenlik hattının güncellenmesini sağlar. Böylece acil kural ekleme işlemi geniş kapsamlı servis kesintisi operasyonuna dönüşmez.
Hazır saldırı sözlüğü, bilinen saldırı örnekleriyle kural doğrulaması yapmaya yardımcı olur. Operatör belirli saldırı kimliklerini çalıştırarak kuralın log veya engelleme davranışını izleyebilir. Bu test, özellikle yeni regex kurallarında hatalı pozitif ve hatalı negatif riskini azaltır.
Sanal yamalar geçici güvenlik kontrolü olarak düşünülmelidir. Uygulama kalıcı olarak yamalandığında ilgili özel kurallar devre dışı bırakılabilir veya toplu silinebilir. Bu disiplin korunmazsa eski acil durum kuralları zamanla politika karmaşası ve gereksiz engelleme riski üretir.
Kural adı, açıklaması, tarihi, durumu, skoru ve eşleşme alanları denetim açısından anlamlı kayıtlar oluşturur. Güvenlik ekibi, belirli bir CVE veya pentest bulgusu için hangi geçici kontrolün ne zaman eklendiğini gösterebilir. Bu özellikle uyumluluk süreçlerinde "açık tespit edildi, kontrol uygulandı, kalıcı yama bekleniyor" zincirini kanıtlamaya yardımcı olur.
Java tabanlı eski bir uygulamada Log4Shell riski tespit edildiğinde kod yaması hemen uygulanamayabilir. TR7'de hazır imza etkinleştirilerek JNDI varyantları trafik katmanında engellenir ve uygulama yaması için zaman kazanılır.
Eski bir uygulama çatısında class loader manipülasyonu riski varsa kural önce izleme modunda çalıştırılabilir. Bir gün boyunca trafik etkisi ölçüldükten sonra kural engelleme moduna alınarak açık kontrol altına alınır.
Bir CMS eklentisinde satıcı yaması çıkmadan önce belirli parametrelerde saldırı deseni görülebilir. TR7 üzerinde özel regex kuralı yazılarak yalnızca ilgili path veya query alanı hedeflenir. Böylece tüm uygulamayı kapatmadan riskli istekler engellenir.
Pentest ekibi üretimde sömürülebilir bir açıklık raporladığında geliştirme ekibinin kalıcı düzeltme için zamana ihtiyacı olur. TR7 sanal yaması, bu süre boyunca bulgunun saldırı trafiğine dönüşmesini engelleyen ara kontrol sağlar.
Log4Shell'den pentest bulgusuna kadar her acil senaryoda TR7 sanal yaması trafik katmanında devreye girer. Kendi ortamınızda canlı bir kurulumda gösterelim.