Girdiyi doğrulayarak, sorguları güvenceye alarak ve katmanlı savunma kullanarak MongoDB’yi NoSQL enjeksiyonuna karşı koruyun. Bu rehberde saldırı kalıplarını ve önlemeyi öğrenin.
Kullanıcı girdisi doğrulanmadığında MongoDB uygulamaları ciddi güvenlik riskleriyle karşılaşır. NoSQL enjeksiyon saldırıları veritabanınıza sessizce sızarak hassas verileri ifşa edebilir ve sistem bütünlüğünü zedeleyebilir. Bu rehber, girdiyi arındırmak, veritabanı sorgularını güvenceye almak ve enjeksiyon temelli tehditlere karşı sağlam bir koruma inşa etmek için kanıtlanmış savunma stratejilerini gösterir.
NoSQL Enjeksiyonu Nedir?
NoSQL enjeksiyonu, saldırganların yetersiz doğrulanmış kullanıcı girdisinden yararlanarak veritabanı sorgu mantığını manipüle etmesiyle gerçekleşir. Kötü amaçlı yükler enjekte ederek kimlik doğrulama mekanizmalarını atlayabilir, yetkisiz verileri çıkarabilir veya uygulama güvenlik kontrollerini devre dışı bırakabilirler.
Dizge tabanlı sorgu kurulumundaki zafiyetleri sömüren SQL enjeksiyonundan farklı olarak, NoSQL enjeksiyonu esnek veri yapılarından ve dinamik sorgulardan faydalanır. Bu durum özellikle uygulamalar uygun doğrulama olmaksızın interface{} veya map[string]interface{} gibi gevşek türde girdileri kabul ettiğinde tehlikelidir.
MongoDB Neden Farklı
MongoDB sorguları ham dizgeler yerine BSON (İkili JSON) nesneleri—yapılandırılmış anahtar-değer çiftleri—ile oluşturulur. Bu tasarım, sorguların dizge birleştirme ile derlenmemesi sayesinde geleneksel enjeksiyon risklerinin çoğunu bertaraf eder.
Bununla birlikte, kullanıcı girdisi uygun doğrulama olmadan doğrudan bu BSON nesnelerine gömülürse, saldırganlar sorgu mantığını değiştirmek için $ne, $gt veya $or gibi MongoDB operatörlerini enjekte edebilir.
Eğer inputName "Joe" gibi düz bir dizgeyse güvenlidir. Ancak kodunuz map[string]interface{} veya ham JSON’a izin veriyorsa, bir saldırgan aşağıdaki gibi operatör nesneleri enjekte edebilir:
{ "$ne": null }
Bu yük, sorgu mantığını dönüştürerek belirli bir değere göre filtrelemek yerine adın var olduğu herhangi bir belgeyle eşleşir—uygulamanın amaçlanan erişim kontrollerini fiilen bertaraf eder.
Güvensiz Kalıpları ve Yaygın Tuzakları Tanıma
1. İstek gövdelerine örtük güven
İstek gövdelerinin doğrudan BSON haritalarına ayrıştırılması, saldırganların kötü amaçlı sorgu operatörlerini ve karmaşık mantıksal yapıları doğrudan veritabanı işlemlerine gömebildiği bir enjeksiyon yolu oluşturur.
Bunun yerine yalnızca bilinen alanları ve türleri ayrıştırın:
type QueryInput struct {
Name string json:"name"validate:"required"}Altyapı:
2. Gevşek türleri kabul etmek
Enjeksiyon zafiyetleri sıklıkla API’ler aşırı müsamahalı interface{} veya genel haritalar gibi veri türlerini kabul ettiğinde ortaya çıkar. Bu esnek yapılar, amaçlanan sorgu mantığını atlayan gömülü MongoDB operatörlerine veya kötü amaçlı nesne kurgularına ev sahipliği yapabilir.
Zorunlu olmadıkça gevşek tür kullanımını en aza indirin ve kaçınılmaz olduğunda sıkı doğrulama uygulayın. Bunun yerine, beklenen girdi biçiminize uyan ve kabul edilebilir değerleri kısıtlayan açık veri yapıları tanımlayın.
3. Sorgu dizelerinde veya sorgu operatörlerinde JSON
URL sorgu parametreleri veya arama uç noktaları üzerinden dinamik filtreleme yetenekleri sunan API’ler cazip saldırı yüzeyleri oluşturur. Saldırganlar sıklıkla bu arayüzleri JSON kodlu operatörleri ve koşullu mantığı doğrudan sorgu dizelerine gömerek hedefler. Bu, meşru filtre parametrelerini kötü amaçlı veritabanı işlemlerine dönüştürür:
Sıkı girdi doğrulaması olmadan bu yaklaşım, saldırganların sorgu yapılarını manipüle etmesine ve güvenlik kontrollerini aşmasına imkân tanır; bu da yetkisiz verilerin ifşa edilmesine veya amaçlanan erişim seviyelerinin ötesinde ayrıcalık yükseltilmesine yol açabilir.
Azaltma:
Ön tanımlı, güvenli değerlere sorgu parametrelerini kısıtlamak için alan ve operatör izin listeleri uygulayın.
Veritabanı filtrelerini oluştururken tüm kullanıcı sağladığı değerleri $eq operatörleriyle açıkça sarmalayarak alternatif operatör enjeksiyonunu önleyin.
4. Enjeksiyonla mantıksal sorguları genişletmek
Uygulamaların $or gibi mantıksal operatörler üzerinde kullanıcı kontrolüne izin vermesi, sorgu genişletme saldırıları için fırsatlar yaratır. Saldırganlar bu operatörlere ek koşul ifadeleri enjekte ederek sorgu semantiğini temelden değiştirebilir ve potansiyel olarak kimlik doğrulama kontrollerini veya veri erişim kısıtlarını atlayabilir.
Bu değiştirilmiş sorgu, role dayalı erişim kontrollerini atlayarak yönetim verilerini ifşa edebilir veya yetkisiz kullanıcılara yükseltilmiş ayrıcalıklar tanıyabilir. Sıkı girdi doğrulaması uygulayarak ve sorgu yapısı üzerinde doğrudan kullanıcı kontrolünden kaçınarak mantıksal operatörlerin dinamik olarak değiştirilmesini engelleyin.
Sıkı girdi doğrulaması olmaksızın bu yaklaşım, saldırganların sorgu yapılarını manipüle etmesine ve güvenlik kontrollerini atlamasına imkân tanır; bu da yetkisiz verilerin açığa çıkmasına neden olabilir.
Azaltma:
İzin verilen alanlar ve operatörler için izin listeleri uygulayın; bu ön tanımlı sınırların dışındaki tüm sorgu parametrelerini reddedin.
Kullanıcı girdilerinin tümünü $eq operatörleriyle sarmalayarak açık eşitlik eşlemesi uygulayın; böylece karşılaştırma veya mantıksal operatörlerin ikame edilmesi önlenir.
JavaScript Çalıştırma Özellikleri
MongoDB, potansiyel güvenlik riskleri doğuran birkaç sunucu tarafı JavaScript çalıştırma yeteneği sağlar; bunlar arasında şunlar bulunur:
Bu özellikler önemli güvenlik maruziyeti yaratır ve kullanımları kritik iş gereksinimleri tarafından zorunlu kılınmadıkça kaçınılmalıdır. Sömürülmeyi önlemek için MongoDB yapılandırmasında betik çalıştırmayı devre dışı bırakın:
Parçalı bir dağıtımda mongos için de aynı yapılandırmayı uygulayın.
MongoDB’nin yerel sorgu operatörleri, neredeyse tüm kullanım senaryolarında JavaScript çalıştırma ihtiyacını ortadan kaldıran kapsamlı işlevsellik sağlar. Girdi doğrulaması ve yürütme bağlamı üzerinde mutlak kontrole sahip olmadıkça $where cümlelerinden tamamen kaçının.
NoSQL Enjeksiyonu Nasıl Önlenir
1. Girdiyi titizlikle doğrulayın
Yalnızca dizge, tamsayı veya boolean gibi beklenen ilkel veri türlerini kabul eden sıkı tür doğrulaması uygulayın. Gömülü işlemler veya kötü amaçlı kurgular içerebilecek iç içe nesneleri, dizileri veya tanınmayan alan adlarını reddedin.
type LoginInput struct {
Username string json:"username"validate:"required,alphanum"
Password string json:"password"validate:"required,min=8"}Altyapı:
2. Kullanıcıların sorgu yapısına güvenmeyin
Tüm veritabanı sorgularını önceden tanımlanmış, uygulama tarafından kontrol edilen alan eşlemeleri ve sorgu şablonları kullanarak oluşturun. Kullanıcı girdisinin, amaçlanan veri erişim kalıplarını bozabilecek sorgu mimarisi, mantıksal operatörler veya koşullu yapıları etkilemesini yasaklayın.
// Tehlikeli: operatör enjeksiyonuna izin verir
_ = json.NewDecoder(req.Body).Decode(&filter)Altyapı:
Çoğu MongoDB sürücüsü, yapılandırılmış sorgu oluşturmayı zorunlu kılan ve kazara enjeksiyon açıklarını önleyen güçlü türlendirilmiş sorgu oluşturucuları sağlar. Uygulama uç noktaları üzerinden ham sorgu haritalarını veya BSON nesnelerini açığa çıkarmak yerine bu yerel arayüzlerden yararlanın.
Kullanıcı tarafından kontrol edilen girdinin sorgu operatörleri veya mantıksal kurgular olarak işlev görmesini önleyin. Tüm kullanıcı verilerini yürütülebilir sorgu bileşenleri yerine harfi harfine değerler olarak ele alın.
Bu yaklaşım, sıkı eşitlik eşleşmesini zorunlu kılar ve amaçlanan sorgu mantığını atlayabilecek $ne, $in veya $regex gibi enjekte edilmiş operatörlerin ya da diğer mantıksal değiştiricilerin çalıştırılmasını engeller.
4. Veritabanı kullanıcıları için asgari ayrıcalık kullanın
Uygulama veritabanı bağlantılarını, amaçlanan işlemler için gereken en az izinlere sahip kullanıcı hesaplarıyla yapılandırın. Başarılı enjeksiyon saldırılarının potansiyel zararını önlemek için uygulama yapılandırmalarında yönetici düzeyinde kimlik bilgileri kullanmaktan kaçının.
5. İzleyin ve test edin
Olağandışı sorgu kalıplarını tespit etmek için kapsamlı günlükleme uygulayın ve düzenli güvenlik test protokolleri oluşturun. Aşağıdaki gibi bozuk yükler kullanarak enjeksiyon saldırıları denemeleriyle uç nokta güvenliğini doğrulayın:
Girdi doğrulaması: Sıkı veri türlerini uygulayın, biçimleri doğrulayın ve beklenmeyen alanları reddedin.
Sorgu oluşturma: Tüm sorguları önceden tanımlı şemalar ve uygulama kontrollü şablonlarla oluşturun
Operatör koruması: Kullanıcı girdisindeki MongoDB operatörlerini, değerleri $eq ile sarmalayarak veya türlendirilmiş API’ler kullanarak engelleyin.
Sunucu tarafı JavaScript: $where cümlelerini ortadan kaldırın ve üretim yapılandırmalarında JavaScript çalıştırmayı devre dışı bırakın.
DB erişim kontrolü: Uygulama bağlantılarını asgari gerekli izinlerle yapılandırın; yönetimsel kimlik bilgilerinden kaçının.
Test ve izleme: Düzenli enjeksiyon testleri yapın ve anormal sorgu kalıpları için günlükleme uygulayın.
Son Düşünceler
NoSQL enjeksiyon zafiyetleri, disiplinli güvenli kodlama uygulamalarıyla tamamen önlenebilir. Sıkı girdi doğrulaması, yapılandırılmış sorgu oluşturma ve derinlemesine savunma güvenlik kontrollerinin uygulanması, geliştiricilerin enjeksiyon saldırı vektörlerini ortadan kaldırırken uygulama esnekliğini ve performansını korumasını sağlar.
Başarı, uygulamanızın ilk istek ayrıştırmadan nihai sorgu yürütmeye kadar tam veri akışını anlamayı gerektirir. Tüm girdi kaynaklarına sıfır güven yaklaşımı benimseyin, sistem sınırlarında doğrulama uygulayın ve tüm teknoloji yığınınız boyunca savunmacı programlama ilkelerine öncelik verin.
SSS
MongoDB dizgeler yerine BSON kullanıyorsa NoSQL enjeksiyonu neden risklidir?⌄
Enjeksiyon, BSON nesnesi oluşturulmadan önce de gerçekleşebilir. Kullanıcı girdisi doğrulama olmadan map[string]interface{} veya interface{} gibi esnek türlere ayrıştırılırsa, saldırganlar $ne veya $or gibi MongoDB operatörlerini enjekte ederek sorgu mantığını manipüle edebilir.
Bir istek gövdesini doğrudan bson.M veya map[string]interface{} içine çözümlemek güvenli midir?⌄
Hayır. Bu, kullanıcıların rastgele sorgu operatörleri enjekte etmesine olanak tanır. Her zaman istek verilerini sıkı türlere (örn. Go struct’ları) eşleyin ve sorguları oluşturmadan önce girdiyi doğrulayın.
Girdi doğrulanıyorsa $where kullanmanın ne sakıncası var?⌄
Girdi kısmen doğrulansa bile, $where sunucuda JavaScript çalıştırır. Kaçış veya doğrulamadaki herhangi bir hata kod enjeksiyonuna yol açabilir. $where’i tamamen kullanmamak veya MongoDB yapılandırmanızda betik çalıştırmayı devre dışı bırakmak daha güvenlidir.
Uç noktamın NoSQL enjeksiyonuna karşı savunmasız olup olmadığını nasıl test edebilirim?⌄
Uç nokta geçerli bir yanıt döndürür veya mantığı (ör. oturum açma) atlatırsa, girdi düzgün biçimde doğrulanmamış veya sınırlandırılmamıştır.
Go'da sorguları güvenli şekilde oluşturmanın en iyi yolu nedir?⌄
Girdi için türlendirilmiş struct’lar kullanın, genel haritalara çözümlemekten kaçının ve gerekirse değerleri $eq ile sarmalayın. Kullanıcının operatör tanımlamasına veya sorgunun parçalarını doğrudan enjekte etmesine asla izin vermeyin.
Algoritmalar, sistem tasarımı ve davranışsal senaryoları kapsayan bu temel sorularla teknik mülakat sürecine hakim olun. Uzman cevapları, kod örnekleri ve kanıtlanmış hazırlık stratejileri edinin.
Git deponuzu temiz tutmak için .gitignore’u nasıl kullanacağınızı öğrenin. Bu eğitim; temelleri, yaygın kullanım durumlarını ve başlamanıza yardımcı olacak pratik örnekleri kapsar!
Kullanıcı girdisi doğrulanmadığında MongoDB uygulamaları ciddi güvenlik riskleriyle karşılaşır. NoSQL enjeksiyon saldırıları veritabanınıza sessizce sızarak hassas verileri ifşa edebilir ve sistem bütünlüğünü zedeleyebilir. Bu rehber, girdiyi arındırmak, veritabanı sorgularını güvenceye almak ve enjeksiyon temelli tehditlere karşı sağlam bir koruma inşa etmek için kanıtlanmış savunma stratejilerini gösterir.
NoSQL Enjeksiyonu Nedir?
NoSQL enjeksiyonu, saldırganların yetersiz doğrulanmış kullanıcı girdisinden yararlanarak veritabanı sorgu mantığını manipüle etmesiyle gerçekleşir. Kötü amaçlı yükler enjekte ederek kimlik doğrulama mekanizmalarını atlayabilir, yetkisiz verileri çıkarabilir veya uygulama güvenlik kontrollerini devre dışı bırakabilirler.
Dizge tabanlı sorgu kurulumundaki zafiyetleri sömüren SQL enjeksiyonundan farklı olarak, NoSQL enjeksiyonu esnek veri yapılarından ve dinamik sorgulardan faydalanır. Bu durum özellikle uygulamalar uygun doğrulama olmaksızın interface{} veya map[string]interface{} gibi gevşek türde girdileri kabul ettiğinde tehlikelidir.
MongoDB Neden Farklı
MongoDB sorguları ham dizgeler yerine BSON (İkili JSON) nesneleri—yapılandırılmış anahtar-değer çiftleri—ile oluşturulur. Bu tasarım, sorguların dizge birleştirme ile derlenmemesi sayesinde geleneksel enjeksiyon risklerinin çoğunu bertaraf eder.
Bununla birlikte, kullanıcı girdisi uygun doğrulama olmadan doğrudan bu BSON nesnelerine gömülürse, saldırganlar sorgu mantığını değiştirmek için $ne, $gt veya $or gibi MongoDB operatörlerini enjekte edebilir.
Örnek: Go'da operatör enjeksiyonu
Eğer inputName "Joe" gibi düz bir dizgeyse güvenlidir. Ancak kodunuz map[string]interface{} veya ham JSON’a izin veriyorsa, bir saldırgan aşağıdaki gibi operatör nesneleri enjekte edebilir:
{ "$ne": null }Bu yük, sorgu mantığını dönüştürerek belirli bir değere göre filtrelemek yerine adın var olduğu herhangi bir belgeyle eşleşir—uygulamanın amaçlanan erişim kontrollerini fiilen bertaraf eder.
Güvensiz Kalıpları ve Yaygın Tuzakları Tanıma
1. İstek gövdelerine örtük güven
İstek gövdelerinin doğrudan BSON haritalarına ayrıştırılması, saldırganların kötü amaçlı sorgu operatörlerini ve karmaşık mantıksal yapıları doğrudan veritabanı işlemlerine gömebildiği bir enjeksiyon yolu oluşturur.
Bunun yerine yalnızca bilinen alanları ve türleri ayrıştırın:
2. Gevşek türleri kabul etmek
Enjeksiyon zafiyetleri sıklıkla API’ler aşırı müsamahalı interface{} veya genel haritalar gibi veri türlerini kabul ettiğinde ortaya çıkar. Bu esnek yapılar, amaçlanan sorgu mantığını atlayan gömülü MongoDB operatörlerine veya kötü amaçlı nesne kurgularına ev sahipliği yapabilir.
Zorunlu olmadıkça gevşek tür kullanımını en aza indirin ve kaçınılmaz olduğunda sıkı doğrulama uygulayın. Bunun yerine, beklenen girdi biçiminize uyan ve kabul edilebilir değerleri kısıtlayan açık veri yapıları tanımlayın.
3. Sorgu dizelerinde veya sorgu operatörlerinde JSON
URL sorgu parametreleri veya arama uç noktaları üzerinden dinamik filtreleme yetenekleri sunan API’ler cazip saldırı yüzeyleri oluşturur. Saldırganlar sıklıkla bu arayüzleri JSON kodlu operatörleri ve koşullu mantığı doğrudan sorgu dizelerine gömerek hedefler. Bu, meşru filtre parametrelerini kötü amaçlı veritabanı işlemlerine dönüştürür:
Sıkı girdi doğrulaması olmadan bu yaklaşım, saldırganların sorgu yapılarını manipüle etmesine ve güvenlik kontrollerini aşmasına imkân tanır; bu da yetkisiz verilerin ifşa edilmesine veya amaçlanan erişim seviyelerinin ötesinde ayrıcalık yükseltilmesine yol açabilir.
Azaltma:
4. Enjeksiyonla mantıksal sorguları genişletmek
Uygulamaların $or gibi mantıksal operatörler üzerinde kullanıcı kontrolüne izin vermesi, sorgu genişletme saldırıları için fırsatlar yaratır. Saldırganlar bu operatörlere ek koşul ifadeleri enjekte ederek sorgu semantiğini temelden değiştirebilir ve potansiyel olarak kimlik doğrulama kontrollerini veya veri erişim kısıtlarını atlayabilir.
Kullanıcı girdisi doğrudan $or cümlesini manipüle ederse, saldırganlar yetkisiz bir koşul enjekte edebilir:
Bu değiştirilmiş sorgu, role dayalı erişim kontrollerini atlayarak yönetim verilerini ifşa edebilir veya yetkisiz kullanıcılara yükseltilmiş ayrıcalıklar tanıyabilir. Sıkı girdi doğrulaması uygulayarak ve sorgu yapısı üzerinde doğrudan kullanıcı kontrolünden kaçınarak mantıksal operatörlerin dinamik olarak değiştirilmesini engelleyin.
Sıkı girdi doğrulaması olmaksızın bu yaklaşım, saldırganların sorgu yapılarını manipüle etmesine ve güvenlik kontrollerini atlamasına imkân tanır; bu da yetkisiz verilerin açığa çıkmasına neden olabilir.
Azaltma:
JavaScript Çalıştırma Özellikleri
MongoDB, potansiyel güvenlik riskleri doğuran birkaç sunucu tarafı JavaScript çalıştırma yeteneği sağlar; bunlar arasında şunlar bulunur:
Bu özellikler önemli güvenlik maruziyeti yaratır ve kullanımları kritik iş gereksinimleri tarafından zorunlu kılınmadıkça kaçınılmalıdır. Sömürülmeyi önlemek için MongoDB yapılandırmasında betik çalıştırmayı devre dışı bırakın:
Şunun için mongod:
Ya da yapılandırma dosyasıyla:
Parçalı bir dağıtımda mongos için de aynı yapılandırmayı uygulayın.
MongoDB’nin yerel sorgu operatörleri, neredeyse tüm kullanım senaryolarında JavaScript çalıştırma ihtiyacını ortadan kaldıran kapsamlı işlevsellik sağlar. Girdi doğrulaması ve yürütme bağlamı üzerinde mutlak kontrole sahip olmadıkça $where cümlelerinden tamamen kaçının.
NoSQL Enjeksiyonu Nasıl Önlenir
1. Girdiyi titizlikle doğrulayın
Yalnızca dizge, tamsayı veya boolean gibi beklenen ilkel veri türlerini kabul eden sıkı tür doğrulaması uygulayın. Gömülü işlemler veya kötü amaçlı kurgular içerebilecek iç içe nesneleri, dizileri veya tanınmayan alan adlarını reddedin.
2. Kullanıcıların sorgu yapısına güvenmeyin
Tüm veritabanı sorgularını önceden tanımlanmış, uygulama tarafından kontrol edilen alan eşlemeleri ve sorgu şablonları kullanarak oluşturun. Kullanıcı girdisinin, amaçlanan veri erişim kalıplarını bozabilecek sorgu mimarisi, mantıksal operatörler veya koşullu yapıları etkilemesini yasaklayın.
Kaçının:
Çoğu MongoDB sürücüsü, yapılandırılmış sorgu oluşturmayı zorunlu kılan ve kazara enjeksiyon açıklarını önleyen güçlü türlendirilmiş sorgu oluşturucuları sağlar. Uygulama uç noktaları üzerinden ham sorgu haritalarını veya BSON nesnelerini açığa çıkarmak yerine bu yerel arayüzlerden yararlanın.
Kaçının:
3. MongoDB operatörlerinin enjeksiyonunu engelleyin
Kullanıcı tarafından kontrol edilen girdinin sorgu operatörleri veya mantıksal kurgular olarak işlev görmesini önleyin. Tüm kullanıcı verilerini yürütülebilir sorgu bileşenleri yerine harfi harfine değerler olarak ele alın.
Şunun yerine:
Şunu kullanın:
Bu yaklaşım, sıkı eşitlik eşleşmesini zorunlu kılar ve amaçlanan sorgu mantığını atlayabilecek $ne, $in veya $regex gibi enjekte edilmiş operatörlerin ya da diğer mantıksal değiştiricilerin çalıştırılmasını engeller.
4. Veritabanı kullanıcıları için asgari ayrıcalık kullanın
Uygulama veritabanı bağlantılarını, amaçlanan işlemler için gereken en az izinlere sahip kullanıcı hesaplarıyla yapılandırın. Başarılı enjeksiyon saldırılarının potansiyel zararını önlemek için uygulama yapılandırmalarında yönetici düzeyinde kimlik bilgileri kullanmaktan kaçının.
5. İzleyin ve test edin
Olağandışı sorgu kalıplarını tespit etmek için kapsamlı günlükleme uygulayın ve düzenli güvenlik test protokolleri oluşturun. Aşağıdaki gibi bozuk yükler kullanarak enjeksiyon saldırıları denemeleriyle uç nokta güvenliğini doğrulayın:
Uygulamanın bunu reddettiğini doğrulayın.
Dikkate alınacak test vakaları:
Özet Kontrol Listesi
Son Düşünceler
NoSQL enjeksiyon zafiyetleri, disiplinli güvenli kodlama uygulamalarıyla tamamen önlenebilir. Sıkı girdi doğrulaması, yapılandırılmış sorgu oluşturma ve derinlemesine savunma güvenlik kontrollerinin uygulanması, geliştiricilerin enjeksiyon saldırı vektörlerini ortadan kaldırırken uygulama esnekliğini ve performansını korumasını sağlar.
Başarı, uygulamanızın ilk istek ayrıştırmadan nihai sorgu yürütmeye kadar tam veri akışını anlamayı gerektirir. Tüm girdi kaynaklarına sıfır güven yaklaşımı benimseyin, sistem sınırlarında doğrulama uygulayın ve tüm teknoloji yığınınız boyunca savunmacı programlama ilkelerine öncelik verin.