Ali veste, kaj je LDAP injection? To je tehnika vbrizgavanja kode, ki je namenjena aplikacijam, ki sestavljajo poizvedbe z vbrizgavanjem z uporabo neočiščenega uporabniškega vnosa. LDAP (Lightweight Directory Access Protocol) se pogosto uporablja za iskanje po imenikih, kot je preverjanje pristnosti uporabnikov ali pridobivanje organizacijskih podatkov. Ko napadalci posredujejo posebej oblikovan vnos, ki vsebuje metaznake LDAP, lahko spremenijo logiko poizvedb po imenikih, da bi nepravilno dostopali do podatkov ali jih spreminjali. Ranljivost LDAP injection se dejansko pojavi, ko se filtri dinamično gradijo iz vrednosti, ki jih nadzoruje uporabnik, brez očiščenja ali validacije vnosa.
Kako deluje: Mehanika napada z injekcijo LDAP #
Do napada z vbrizgavanjem LDAP pride, ko so podatki, ki jih je posredoval uporabnik, nevarno vključeni v poizvedbo LDAP. Razmislite o login filter:
(&(cn=” + uporabniško ime + “)(uporabniškoGeslo=” + geslo + “))Če napadalec namesto veljavnega uporabniškega imena vnese * ali zaporedja zaključkov, se logika filtra strne v širše vrednotenje ali pogoj »vedno drži«, s čimer se dejansko zaobide preverjanje pristnosti. Točno tako deluje ta injekcija: vbrizgavanje logike LDAP za preprečitev predvidenega vedenja.
Ranljivost vbrizgavanja LDAP torej izhaja iz sestavljanja poizvedb prek nezaupanja vrednega vnosa, ki vključuje posebne znake, kot so oklepaji, narekovaji in nadomestni znaki, ki spreminjajo semantiko poizvedbe.
Poleg tega se pojavijo, ko aplikacijska koda nevarno kopira uporabniške podatke v poizvedbo LDAP in ne uspe nevtralizirati metaznakov, kar napadalcem omogoča prekinitev ali manipulacijo logike poizvedbe, dostop do nepooblaščenih podatkov ali spreminjanje poteka izvajanja.
Zakaj je napad z injekcijo LDAP pomemben? #
Napad z vbrizgavanjem LDAP lahko moti preverjanje pristnosti, razkrije občutljive informacije ali celo spremeni strukturo imenikov. Imperva poudarja, da lahko akterji grožnje ogrozijo procese preverjanja pristnosti, si ogledajo ali spremenijo uporabniška imena/gesla, namestijo zlonamerno programsko opremo in povečajo privilegije, kar povzroči kršitve podatkov, škodo ugledu in finančne izgube.
Ranljivosti vbrizgavanja LDAP se lahko širijo prek medsebojno povezanih storitev, zlasti v enterprise okolja, ki uporabljajo LDAP za enotno prijavo (SSO), avtorizacijo ali koordinacijo uporabniške identitete in dovoljenj.
Znaki obstoječe ranljivosti vbrizgavanja LDAP #
V kibernetski varnosti se upravljanje nanaša na to, kako vodenje, politike in ključni opozorilni znaki:
- Koda združuje uporabniški vnos neposredno v filtre LDAP.
- Pomanjkanje validacije vnosa ali ubežno kodiranje.
- Uporaba posebnih znakov, kot sta () * in | =, v vnosu brez omejitev.
- Nepričakovani rezultati poizvedb, na primer preverjanje pristnosti uspešno ne glede na poverilnice ali pa se široki seznami uporabnikov vrnejo ob minimalnem vnosu.
Napačno sestavljene poizvedbe na podlagi uporabniškega vnosa lahko omogočijo nepooblaščen pridobivanje podatkov ali obhod logike.
Kako jih ublažiti? #
Zmanjševanje ranljivosti vbrizgavanja LDAP vključuje:
a. Validacija vnosa / seznam dovoljenih
Sprejmite samo znane varne znake ali vzorce. Zavrnite ali očistite kontrolne znake, kot so *, (, ), &, |, =. PortsWigger priporoča blokiranje vnosov, ki vsebujejo metaznake LDAP, ali uveljavljanje strogih alfanumeričnih vzorcev.
b. Ubežno kodiranje / kodiranje
Uporabite funkcije ubežanja, specifične za LDAP: ubežanje razlikovalnega imena za kontekste DN in ubežanje iskalnega filtra za predikate. OWASP ponuja podroben Preventivni seznam s prilagojenimi navodili
c. Parametrizirane poizvedbe / varni API-ji
Izogibajte se gradnji filtrov prek združevanja nizov. Uporabite knjižnice LDAP, ki podpirajo vezavo parametrov ali API-je za gradnjo filtrov (npr. Filter.createANDFilter(…) v kompletu UnboundID SDK), da zagotovite, da se uporabniški vnos obravnava kot podatki in ne kot sintaksa.
d. Načelo najmanjših privilegijev (PoLP)
Povežite LDAP z minimalnimi pravicami dostopa. Tudi če pride do vbrizgavanja, to omeji dejanja, ki jih lahko napadalec izvede. Podčrtajte PoLP v kombinaciji z ničelno zaupanje in večstranska pomoč za omejitev vpliva.
e. Varni ogrodji / knjižnice
Uporabite ogrodja, ki samodejno ubežijo ali sanitizirajo vhodne podatke in odvračajo od gradnje surovih poizvedb.
f. Orodja za analizo kode
V .NET uporabite analizo CA3005 za zaznavanje nezaupanja vrednega vnosa HTTP, ki doseže stavke LDAP; odpravite to s čiščenjem, ubežanjem ali dodajanjem vnosa na seznam dovoljenih.
g. Testiranje (statično, dinamično, testiranje s peresom)
Integrirajte statično varnost aplikacij (SAST) in dinamično (DAST) skeniranje za odkrivanje ranljivosti vbrizgavanja LDAP tako v mirovanju kot med izvajanjem.
h. Beleženje, spremljanje, opozarjanje
Zaznajte nenavadne vzorce filtrov, neuspešne poskuse ali nepričakovane strukture poizvedb. Semperis priporoča spremljanje imenika Active Directory za nepravilne poizvedbe LDAP ali manipulacijo metapodatkov.
Povzetek glosarja #
| Izraz | Pomen |
|---|---|
| Vbrizgavanje LDAP | Tehnika vbrizgavanja kode, ki izkorišča nehigieniziran uporabniški vnos v filtrih LDAP. |
| Kaj je injekcija LDAP | Ranljivost, ki izhaja iz gradnje poizvedb LDAP z nezaupanja vrednimi vhodnimi podatki. |
| Napad z injekcijo LDAP | Dejanska izkoriščanje, kjer vnos spremeni logiko poizvedb LDAP ali pridobi dostop. |
| Ranljivost vbrizgavanja LDAP | Napaka na ravni kode omogoča napade z vbrizgavanjem LDAP. |
Zakaj je to pomembno v DevSecOps? #
za Ekipe DevSecOpsPreprečevanje ranljivosti vbrizgavanja LDAP je ključnega pomena za zavarovanje tokov preverjanja pristnosti in nadzora dostopa, ki ga podpirajo imeniki. Neprekinjena integracija pipelinemorajo vključevati statična preverjanja kode za nevarne konstrukcije poizvedb in dinamično testiranje za manipulacijo filtrov. Varnostni upravitelji morajo uveljaviti uporabo knjižnic za ubežne kode, uporabo parametriziranih API-jev ter upoštevanje politik najmanjših privilegijev in preverjanja vnosa.
Krepitev DevSecOps Pipelinez Xygeni #
Zdaj, ko veste, kaj je LDAP injekcija, veste, da zaščita sodobnih aplikacij pred njo zahteva več kot le popravke na ravni kode. Ekipe DevSecOps morajo uveljavljati varnost na celotnem življenjski cikel razvoja programske opreme, od kode do gradnje in uvajanja.
Orodja, kot so Ksigeni opolnomočiti ekipe za zgodnje odkrivanje tveganj injiciranja z integracijo statične analize IaC skeniranje in varno uveljavljanje pravilnikov neposredno v CI/CD poteki dela. Z nenehnim spremljanjem nevarnih konstrukcij poizvedb, tveganj odvisnosti ali napačnih konfiguracij Xygeni pomaga preprečiti napade z vbrizgavanjem LDAP, preden dosežejo produkcijo.
Vključitev platform, kot je Xygeni, usklajuje varnost s hitrostjo razvoja, zagotavlja preglednost v realnem času, avtomatizirane kontrole in smernice za sanacijo, prilagojene inženiringu varne zasnove.
