Słownik bezpieczeństwa Xygeni
Słownik pojęć związanych z bezpieczeństwem rozwoju i dostarczania oprogramowania

Czym jest wstrzykiwanie LDAP?

Czy wiesz, czym jest wstrzykiwanie kodu LDAP? To technika wstrzykiwania kodu, której celem są aplikacje konstruujące zapytania do wstrzyknięcia, wykorzystujące nieskażone dane wejściowe użytkownika. Protokół LDAP (Lightweight Directory Access Protocol) jest powszechnie używany do przeszukiwania katalogów, np. uwierzytelniania użytkowników lub pobierania danych organizacji. Gdy atakujący dostarczają specjalnie spreparowane dane wejściowe zawierające metaznaki LDAP, mogą modyfikować logikę zapytań do katalogów, aby uzyskać dostęp do danych lub je zmodyfikować w sposób nieprawidłowy. W efekcie luka w zabezpieczeniach wstrzykiwania kodu LDAP powstaje, gdy filtry są tworzone dynamicznie na podstawie wartości kontrolowanych przez użytkownika, bez oczyszczania ani walidacji danych wejściowych.

Jak to działa: Mechanika ataku typu LDAP Injection #

Atak typu LDAP injection ma miejsce, gdy dane dostarczone przez użytkownika są niebezpiecznie włączane do zapytania LDAP. Rozważmy login filtr:

(&(cn=” + nazwa użytkownika + “)(hasłoużytkownika=” + hasło + “))

Jeśli atakujący poda sekwencje * lub terminator zamiast prawidłowej nazwy użytkownika, logika filtru załamuje się, przechodząc w szerszy warunek oceny lub warunek zawsze prawdziwy, skutecznie omijając uwierzytelnianie. Właśnie tak działa to wstrzyknięcie: wstrzykuje logikę LDAP, aby zniweczyć zamierzone działanie.

Podatność na ataki LDAP wynika więc z tworzenia zapytań przy użyciu niezaufanych danych wejściowych, które zawierają znaki specjalne, takie jak nawiasy, cudzysłowy i symbole wieloznaczne, które zmieniają semantykę zapytania.

Co więcej, występują one, gdy kod aplikacji kopiuje dane użytkownika w sposób niebezpieczny do zapytania LDAP i nie neutralizuje metaznaków, co pozwala atakującym na przerwanie lub manipulowanie logiką zapytania, dostęp do nieautoryzowanych danych lub zmianę przepływu wykonywania 

Dlaczego atak typu LDAP Injection jest taki ważny? #

Atak typu LDAP injection może zakłócić uwierzytelnianie, ujawnić poufne informacje, a nawet zmodyfikować strukturę katalogów. Imperva podkreśla, że ​​osoby atakujące mogą naruszać procedury uwierzytelniania, przeglądać lub modyfikować nazwy użytkowników i hasła, instalować złośliwe oprogramowanie i eskalować uprawnienia, co może prowadzić do wycieków danych, uszczerbku na reputacji i strat finansowych.

Luki w zabezpieczeniach związane z wstrzykiwaniem LDAP mogą rozprzestrzeniać się kaskadowo poprzez połączone usługi, szczególnie w enterprise środowiska wykorzystujące protokół LDAP do jednokrotnego logowania (SSO), autoryzacji lub koordynacji tożsamości i uprawnień użytkowników.

Oznaki istniejącej luki w zabezpieczeniach związanej z wstrzykiwaniem LDAP #

W cyberbezpieczeństwie zarządzanie odnosi się do sposobu, w jaki przywództwo, polityki i kluczowe sygnały ostrzegawcze:

  • Kod łączy dane wprowadzone przez użytkownika bezpośrednio z filtrami LDAP.
  • Brak walidacji danych wejściowych lub uciekanie.
  • Można używać znaków specjalnych, takich jak () * i | = w danych wejściowych bez ograniczeń.
  • Nieoczekiwane wyniki zapytania, na przykład uwierzytelnianie kończy się powodzeniem niezależnie od danych uwierzytelniających lub obszerna lista użytkowników zwracana jest przy minimalnym podaniu danych wejściowych.

Nieprawidłowo skonstruowane zapytania oparte na danych wprowadzonych przez użytkownika mogą umożliwić nieautoryzowane pobieranie danych lub ominięcie logiki.

Jak im zapobiegać? #

Ograniczanie podatności na wstrzyknięcia LDAP obejmuje:

a. Walidacja danych wejściowych / lista dozwolonych

Akceptuj tylko znane, bezpieczne znaki lub wzorce. Odrzucaj lub eliminuj znaki kontrolne, takie jak *, (, ), &, |, =. PortsWigger zaleca blokowanie danych wejściowych zawierających metaznaki LDAP lub wymuszanie ścisłych wzorców alfanumerycznych.

b. Ucieczka / kodowanie

Użyj funkcji ucieczki specyficznych dla protokołu LDAP: ucieczki nazw wyróżniających dla kontekstów nazw wyróżniających i ucieczki filtrów wyszukiwania dla predykatów. OWASP zapewnia szczegółowe Arkusz informacyjny dotyczący profilaktyki z indywidualnymi wskazówkami

c. Zapytania parametryczne / Bezpieczne interfejsy API

Unikaj tworzenia filtrów poprzez łączenie ciągów znaków. Używaj bibliotek LDAP obsługujących wiązanie parametrów lub API do tworzenia filtrów (np. Filter.createANDFilter(…) z pakietu SDK UnboundID), aby zapewnić, że dane wprowadzane przez użytkownika będą traktowane jako dane, a nie składnia.

D. Zasada najmniejszych uprawnień (PoLP)

Powiąż LDAP z minimalnymi uprawnieniami dostępu. Nawet jeśli nastąpi wstrzyknięcie, ograniczy to działania, które atakujący może wykonać. Podkreśl PoLP w połączeniu z zero zaufania i MFA w celu ograniczenia wpływu.

e. Bezpieczne struktury/biblioteki

Używaj struktur, które automatycznie usuwają lub oczyszczają dane wejściowe i zniechęcają do tworzenia surowych zapytań.

f. Narzędzia do analizy kodu

W .NET należy użyć analizy CA3005 w celu wykrycia niezaufanych danych wejściowych HTTP docierających do instrukcji LDAP; należy to naprawić, oczyszczając, zabezpieczając lub zezwalając na wprowadzanie danych wejściowych.

g. Testowanie (statyczne, dynamiczne, testy penetracyjne)

Zintegruj oba Static AppSec (SAST) i dynamiczny (DZIEŃ) skanowanie w celu wykrycia podatności na wstrzyknięcia LDAP zarówno w stanie spoczynku, jak i w czasie wykonywania.

h. Rejestrowanie, monitorowanie, alertowanie

Wykrywaj nietypowe wzorce filtrów, nieudane próby lub nieoczekiwane struktury zapytań. Semperis zaleca monitorowanie Active Directory pod kątem nieregularnych zapytań LDAP lub manipulacji metadanymi.

Tabela podsumowująca słownik #

Semestr Znaczenie
Wstrzyknięcie LDAP Technika wstrzykiwania kodu wykorzystująca nieoczyszczone dane wprowadzane przez użytkownika w filtrach LDAP.
Czym jest wstrzykiwanie LDAP Luka wynikająca z tworzenia zapytań LDAP przy użyciu niezaufanych danych wejściowych.
Atak wstrzykiwania LDAP Rzeczywista eksploatacja, w której dane wejściowe zmieniają logikę zapytań LDAP lub umożliwiają uzyskanie dostępu.
Luka w zabezpieczeniach związana z wstrzykiwaniem LDAP Luka na poziomie kodu umożliwia ataki polegające na wstrzykiwaniu LDAP.

Dlaczego to ma znaczenie w DevSecOps? #

Dla litu szacuje się Zespoły DevSecOpsZapobieganie podatnościom na wstrzyknięcia LDAP jest kluczowe dla zabezpieczenia przepływów uwierzytelniania i kontroli dostępu opartej na katalogach. Ciągła integracja pipelines musi obejmować statyczne sprawdzanie kodu pod kątem niebezpiecznych konstrukcji zapytań oraz dynamiczne testowanie pod kątem manipulacji filtrami. Menedżerowie bezpieczeństwa muszą egzekwować stosowanie bibliotek ucieczkowych, sparametryzowanego korzystania z API oraz przestrzeganie zasad minimalnych uprawnień i walidacji danych wejściowych.

Wzmocnienie DevSecOps Pipelinez Xygeni #

Skoro wiesz już, czym jest wstrzykiwanie LDAP, wiesz, że zabezpieczenie nowoczesnych aplikacji przed nimi wymaga czegoś więcej niż tylko poprawek na poziomie kodu. Zespoły DevSecOps muszą egzekwować bezpieczeństwo w całym cykl życia oprogramowania, od kodu, przez kompilację, po wdrożenie.

Narzędzia takie jak Xygeni umożliwienie zespołom wczesnego wykrywania ryzyka związanego z wstrzyknięciem substancji poprzez integrację analizy statycznej, IaC skanowanie i bezpieczne egzekwowanie zasad bezpośrednio do CI/CD Przepływy pracy. Dzięki ciągłemu monitorowaniu niebezpiecznych konstrukcji zapytań, ryzyka związanego z zależnościami lub błędnych konfiguracji, Xygeni pomaga zapobiegać atakom typu LDAP injection, zanim dotrą one do środowiska produkcyjnego.

Wdrażanie platform takich jak Xygeni pozwala dostosować bezpieczeństwo do tempa rozwoju, zapewniając widoczność w czasie rzeczywistym, zautomatyzowane kontrole i wskazówki dotyczące napraw dostosowane do inżynierii bezpieczeństwa na etapie projektowania.

Przegląd pakietu produktów Xygeni

Zacznij za darmo

Rozpocznij za darmo.
Nie wymagamy karty kredytowej.

Rozpocznij jednym kliknięciem:

Informacje te zostaną bezpiecznie zapisane zgodnie z Regulamin oraz Polityka Prywatności

Zrzut ekranu aplikacji