LDAP enjeksiyonunun ne olduğunu biliyor musunuz? Bu, temizlenmemiş kullanıcı girdisi kullanarak enjeksiyon sorguları oluşturan uygulamaları hedef alan bir kod enjeksiyon tekniğidir. LDAP (Hafif Dizin Erişim Protokolü), kullanıcı kimlik doğrulaması veya kurumsal verilerin alınması gibi dizin aramaları için yaygın olarak kullanılır. Saldırganlar, LDAP meta karakterleri içeren özel olarak hazırlanmış girdi sağladığında, dizin sorgularının mantığını değiştirerek verilere yetkisiz bir şekilde erişebilir veya bunları değiştirebilirler. Aslında, LDAP enjeksiyon güvenlik açığı, girdi temizleme veya doğrulama yapılmadan kullanıcı tarafından kontrol edilen değerlerden dinamik olarak filtreler oluşturulduğunda ortaya çıkar.
Nasıl Çalışır: LDAP Enjeksiyon Saldırısının Mekaniği #
LDAP enjeksiyon saldırısı, kullanıcı tarafından sağlanan verilerin güvenli olmayan bir şekilde LDAP sorgusuna dahil edilmesi durumunda meydana gelir. Örneğin, bir LDAP sorgusunu ele alalım. login filtre:
(&(cn=" + username + ")(userPassword=" + password + "))Saldırgan geçerli bir kullanıcı adı yerine * veya sonlandırıcı diziler gönderirse, filtre mantığı daha geniş bir değerlendirmeye veya her zaman doğru olan bir duruma dönüşür ve bu da kimlik doğrulamasını etkili bir şekilde atlatır. Bu, bu tür bir saldırının çalışma prensibidir: amaçlanan davranışı bozmak için LDAP mantığı enjekte edilir.
Dolayısıyla, LDAP enjeksiyon güvenlik açığı, parantezler, tırnak işaretleri ve joker karakterler gibi sorgu anlamını değiştiren özel karakterler içeren güvenilmeyen girdiler aracılığıyla sorgular oluşturmaktan kaynaklanmaktadır.
Dahası, bu durumlar uygulama kodunun kullanıcı verilerini güvenli olmayan bir şekilde LDAP sorgusuna kopyalaması ve meta karakterleri etkisiz hale getirmeyi başaramaması durumunda ortaya çıkar; bu da saldırganların sorgu mantığını kesintiye uğratmasına veya manipüle etmesine, yetkisiz verilere erişmesine veya yürütme akışını değiştirmesine olanak tanır.
LDAP Enjeksiyon Saldırısı Neden Önemlidir? #
LDAP enjeksiyon saldırısı, kimlik doğrulamasını bozabilir, hassas bilgileri sızdırabilir veya hatta dizin yapısını değiştirebilir. Imperva, tehdit aktörlerinin kimlik doğrulama süreçlerini tehlikeye atabileceğini, kullanıcı adlarını/şifrelerini görüntüleyebileceğini veya değiştirebileceğini, kötü amaçlı yazılım yükleyebileceğini ve ayrıcalıkları yükseltebileceğini, bunun da veri ihlallerine, itibar kaybına ve mali kayıplara yol açabileceğini vurguluyor.
LDAP enjeksiyon güvenlik açıkları, özellikle birbirine bağlı hizmetler arasında zincirleme reaksiyon şeklinde yayılabilir. enterprise Tek oturum açma (SSO), yetkilendirme veya kullanıcı kimliği ve izinlerinin koordinasyonu için LDAP kullanan ortamlar.
Mevcut bir LDAP Enjeksiyon Güvenlik Açığının Belirtileri #
Siber güvenlikte yönetişim, liderliğin, politikaların ve önemli uyarı işaretlerinin nasıl uygulandığını ifade eder:
- Kod, kullanıcı girdisini doğrudan LDAP filtrelerine birleştirir.
- Giriş doğrulamasının veya kaçış karakterlerinin kullanılmamasının söz konusu olması.
- () * & | = gibi özel karakterlerin girişlerde kısıtlama olmaksızın kullanılması.
- Beklenmedik sorgu sonuçları, örneğin, kimlik doğrulamasının kimlik bilgilerinden bağımsız olarak başarılı olması veya minimum girdiyle geniş kullanıcı listelerinin döndürülmesi.
Kullanıcı girdisinden kaynaklanan hatalı sorgular, yetkisiz veri alımına veya mantık atlamasına olanak sağlayabilir.
Bunların etkileri nasıl azaltılabilir? #
LDAP enjeksiyon güvenlik açığını azaltmak şunları içerir:
a. Giriş Doğrulama / İzin Verilenler Listesi
Yalnızca bilinen güvenli karakterleri veya kalıpları kabul edin. *, (, ), &, |, = gibi kontrol karakterlerini reddedin veya temizleyin. PortsWigger, LDAP meta karakterleri içeren girdileri engellemeyi veya katı alfanümerik kalıplar uygulamayı önerir.
b. Kaçış / Kodlama
LDAP'ye özgü kaçış fonksiyonlarını kullanın: DN bağlamları için Ayırt Edici Ad kaçışı ve önermeler için arama filtresi kaçışı. OWASP ayrıntılı bir açıklama sunmaktadır. Kişiye özel rehberlik içeren önleme ipuçları kılavuzu.
c. Parametreli Sorgular / Güvenli API'ler
Dize birleştirme yoluyla filtre oluşturmaktan kaçının. Kullanıcı girdisinin sözdizimi değil, veri olarak ele alınmasını sağlamak için parametre bağlamayı veya filtre oluşturma API'lerini (örneğin, UnboundID SDK'nın Filter.createANDFilter(…)) destekleyen LDAP kütüphanelerini kullanın.
D. En Az Ayrıcalık İlkesi (PoLP)
LDAP'ı minimum erişim haklarıyla bağlayın. Enjeksiyon gerçekleşse bile, saldırganın gerçekleştirebileceği eylemleri sınırlar. PoLP'yi alt çizgiyle birleştirin. sıfır güven ve MFA, etkiyi sınırlamak için.
e. Güvenli Çerçeveler / Kütüphaneler
Giriş verilerini otomatik olarak hata ayıklama veya temizleme işlemlerine tabi tutan ve ham sorgu oluşturmayı engelleyen çerçeveler kullanın.
f. Kod Analiz Araçları
.NET'te, LDAP ifadelerine ulaşan güvenilmeyen HTTP girişlerini tespit etmek için CA3005 analizini kullanın; girişleri temizleyerek, kaçış karakterleri kullanarak veya izin listesine ekleyerek düzeltin.
g. Test Etme (Statik, Dinamik, Sızma Testi)
Statik Uygulama Güvenliğini (SAST) ve Dinamik (TARİHLDAP enjeksiyon güvenlik açığını hem bekleme durumunda hem de çalışma zamanında yakalamak için tarama yapılıyor.
h. Kayıt Tutma, İzleme, Uyarı Verme
Anormal filtre kalıplarını, başarısız girişimleri veya beklenmeyen sorgu yapılarını tespit edin. Semperis, düzensiz LDAP sorguları veya meta veri manipülasyonu için Active Directory'yi izlemenizi önerir.
Sözlük Özet Tablosu #
| Dönem | anlam |
|---|---|
| LDAP Enjeksiyonu | LDAP filtrelerindeki temizlenmemiş kullanıcı girdilerini kullanan bir kod enjeksiyon tekniği. |
| LDAP Enjeksiyonu Nedir? | Güvenilmeyen girdilerle LDAP sorguları oluşturmaktan kaynaklanan bir güvenlik açığı. |
| LDAP Enjeksiyon Saldırısı | Giriş verilerinin LDAP sorgu mantığını değiştirdiği veya erişim sağladığı gerçek istismar durumu. |
| LDAP Enjeksiyonu Güvenlik Açığı | Kod düzeyindeki bu güvenlik açığı, LDAP enjeksiyon saldırılarına olanak tanır. |
DevSecOps'ta Bunun Önemi Nedir? #
Her Ticaretçi İçin Mükemmellik DevSecOps ekipleriLDAP enjeksiyon güvenlik açığının önlenmesi, kimlik doğrulama akışlarının ve dizin tabanlı erişim kontrolünün güvenliğini sağlamak için hayati önem taşır. Sürekli entegrasyon pipelineGüvenlik yöneticileri, güvenli olmayan sorgu oluşturma için statik kod kontrollerini ve filtre manipülasyonu için dinamik testleri içermelidir. Ayrıca, kaçış kütüphanelerinin kullanımını, parametreli API kullanımını ve en az ayrıcalık ve girdi doğrulama politikalarına uyumu sağlamalıdırlar.
DevSecOps'u Güçlendirmek PipelineXygeni ile #
LDAP enjeksiyonunun ne olduğunu artık bildiğinize göre, modern uygulamaları bunlara karşı korumanın kod seviyesindeki düzeltmelerden daha fazlasını gerektirdiğini de biliyorsunuz. DevSecOps ekipleri, güvenliği tüm uygulama genelinde uygulamalıdır. yazılım geliştirme Yaşam Döngüsü, Koddan derlemeye, oradan da dağıtıma.
Gibi araçlar Xygeni Statik analizi entegre ederek ekiplerin enjeksiyon risklerini erken tespit etmelerini sağlamak, IaC tarama ve güvenli politika uygulamasını doğrudan entegre edin. CI/CD İş akışlarında, Xygeni, güvenli olmayan sorgu oluşturma, bağımlılık riskleri veya yanlış yapılandırmaları sürekli olarak izleyerek, LDAP enjeksiyon saldırılarının üretime ulaşmadan önce önlenmesine yardımcı olur.
Xygeni gibi platformların entegre edilmesi, güvenliği geliştirme hızıyla uyumlu hale getirerek, güvenli tasarım mühendisliğine uygun gerçek zamanlı görünürlük, otomatik kontroller ve düzeltme kılavuzları sağlar.

