Znate li šta je LDAP injekcija? To je tehnika injekcije koda usmjerena na aplikacije koje konstruiraju upite injekcijom koristeći neprovjereni korisnički unos. LDAP (Lightweight Directory Access Protocol) se obično koristi za pretrage direktorija, kao što je autentifikacija korisnika ili preuzimanje organizacijskih podataka. Kada napadači dostave posebno izrađen unos koji sadrži LDAP metakaraktere, mogu modificirati logiku upita direktorija kako bi nepravilno pristupili podacima ili ih izmijenili. U suštini, ranjivost LDAP injekcije nastaje kada se filteri dinamički grade od vrijednosti koje kontrolira korisnik bez provjere ili validacije unosa.
Kako funkcioniše: Mehanika napada LDAP injekcijom #
Do napada LDAP injekcijom dolazi kada se podaci koje je korisnik dostavio na nesiguran način ugrade u LDAP upit. Razmotrite... login filter:
(&(cn=” + korisničko ime + “)(korisničkaLozinka=” + lozinka + “))Ako napadač pošalje * ili terminatorske sekvence umjesto važećeg korisničkog imena, logika filtera se svodi na širu evaluaciju ili uslov "uvijek tačno", efektivno zaobilazeći autentifikaciju. Upravo tako funkcioniše ova injekcija: ubrizgavanje LDAP logike kako bi se spriječilo namjeravano ponašanje.
Dakle, ranjivost LDAP injekcije proizlazi iz konstruiranja upita putem nepouzdanog unosa koji uključuje posebne znakove, poput zagrada, navodnika i džoker znakova, koji mijenjaju semantiku upita.
Štaviše, do njih dolazi kada aplikacijski kod nesigurno kopira korisničke podatke u LDAP upit i ne uspije neutralizirati metakaraktere, omogućavajući napadačima da prekinu ili manipuliraju logikom upita, pristupe neovlaštenim podacima ili promijene tok izvršavanja.
Zašto je napad LDAP injekcijom važan? #
Napad LDAP injekcijom može poremetiti autentifikaciju, procuriti osjetljive informacije ili čak izmijeniti strukturu direktorija. Imperva ističe da akteri prijetnji mogu ugroziti procese autentifikacije, pregledati ili izmijeniti korisnička imena/lozinke, instalirati zlonamjerni softver i povećati privilegije, što rezultira kršenjem podataka, štetom po ugled i finansijskim gubicima.
Ranjivosti LDAP injekcije mogu se širiti kroz međusobno povezane servise, posebno u enterprise okruženja koja koriste LDAP za jednokratnu prijavu (SSO), autorizaciju ili koordinaciju korisničkog identiteta i dozvola.
Znakovi postojeće ranjivosti LDAP injekcije #
U sajber sigurnosti, upravljanje se odnosi na to kako liderstvo, politike i ključni znakovi upozorenja:
- Kod spaja korisnički unos direktno u LDAP filtere.
- Nedostatak validacije ulaza ili izbjegavanje.
- Upotreba specijalnih znakova poput () * i | = u unosu bez ograničenja.
- Neočekivani rezultati upita, na primjer, autentifikacija je uspješna bez obzira na vjerodajnice ili široke liste korisnika vraćaju minimalan unos.
Pogrešno konstruirani upiti na osnovu korisničkog unosa mogu omogućiti neovlašteno preuzimanje podataka ili zaobilaženje logike.
Kako ih ublažiti? #
Ublažavanje ranjivosti LDAP injekcije podrazumijeva:
a. Validacija unosa / Lista dozvoljenih stavki
Prihvatite samo poznate sigurne znakove ili uzorke. Odbacite ili dezinficirajte kontrolne znakove poput *, (, ), &, |, =. PortsWigger preporučuje blokiranje ulaza koji sadrže LDAP metakaraktere ili primjenu strogih alfanumeričkih obrazaca.
b. Izbjegavanje / Kodiranje
Koristite LDAP-specifične funkcije izbjegavanja: izbjegavanje razlikovnog imena za DN kontekste i izbjegavanje filtera pretraživanja za predikate. OWASP pruža detaljan Preventivni varalica s prilagođenim smjernicama
c. Parametrizirani upiti / Sigurni API-ji
Izbjegavajte izgradnju filtera putem spajanja stringova. Koristite LDAP biblioteke koje podržavaju povezivanje parametara ili API-je za konstrukciju filtera (npr. Filter.createANDFilter(…) iz UnboundID SDK-a) kako biste osigurali da se korisnički unos tretira kao podatak, a ne kao sintaksa.
d. Princip najmanje privilegija (PoLP)
Vezati LDAP s minimalnim pravima pristupa. Čak i ako dođe do injekcije, to ograničava akcije koje napadač može izvršiti. Podcrtati PoLP u kombinaciji sa nulto povjerenje i MFA za ograničavanje utjecaja.
e. Sigurni okviri / biblioteke
Koristite okvire koji automatski izbjegavaju ili sanitiziraju ulaze i obeshrabruju kreiranje sirovih upita.
f. Alati za analizu koda
U .NET-u, koristite CA3005 analizu za otkrivanje nepouzdanog HTTP unosa koji dopire do LDAP izjava; ispravite to sanitizacijom, izbjegavanjem ili stavljanjem unosa na listu dozvoljenih.
g. Testiranje (statičko, dinamičko, testiranje olovkom)
Integrirajte oba statička AppSec-a (SAST) i dinamički (DAST) skeniranje za otkrivanje ranjivosti LDAP injekcije i u stanju mirovanja i u toku izvođenja.
h. Zapisivanje, praćenje, upozoravanje
Otkrivanje anomalnih obrazaca filtera, neuspjelih pokušaja ili neočekivanih struktura upita. Semperis preporučuje praćenje Active Directoryja za nepravilne LDAP upite ili manipulaciju metapodacima.
Sažetak glosara #
| pojam | značenje |
|---|---|
| LDAP injekcija | Tehnika ubrizgavanja koda koja iskorištava nesterilizirani korisnički unos u LDAP filterima. |
| Šta je LDAP injekcija | Ranjivost koja proizlazi iz kreiranja LDAP upita s nepouzdanim ulazom. |
| Napad LDAP injekcijom | Stvarna eksploatacija gdje unos mijenja logiku LDAP upita ili dobija pristup. |
| Ranjivost LDAP injekcije | Greška na nivou koda omogućava napade LDAP injekcijom. |
Zašto je ovo važno u DevSecOps-u? #
za DevSecOps timoviSprečavanje ranjivosti LDAP injekcije je ključno za osiguranje tokova autentifikacije i kontrole pristupa podržane direktorijima. Kontinuirana integracija pipelinemoraju uključivati statičke provjere koda za nesigurnu konstrukciju upita i dinamičko testiranje za manipulaciju filterima. Menadžeri sigurnosti moraju provoditi upotrebu biblioteka za izbjegavanje, korištenje parametriziranog API-ja i pridržavanje politika minimalnih privilegija i validacije ulaza.
Jačanje DevSecOps-a Pipelines Xygenijem #
Sada kada znate šta je LDAP injekcija, znate da zaštita modernih aplikacija od njih zahtijeva više od ispravki na nivou koda. DevSecOps timovi moraju provoditi sigurnost u cijelom životni ciklus razvoja softvera, od koda, preko izgradnje, do implementacije.
Alat poput Xygeni osnažiti timove da rano otkriju rizike od injektiranja integracijom statičke analize, IaC skeniranje i sigurno sprovođenje politika direktno u CI/CD Tokovi rada. Kontinuiranim praćenjem nesigurne konstrukcije upita, rizika zavisnosti ili pogrešnih konfiguracija, Xygeni pomaže u sprečavanju LDAP injekcijskih napada prije nego što dođu do produkcije.
Uključivanje platformi poput Xygenija usklađuje sigurnost s brzinom razvoja, pružajući vidljivost u stvarnom vremenu, automatizirane kontrole i smjernice za sanaciju prilagođene inženjeringu sigurnosti po principu "sigurnost po dizajnu".
