166 pojmova · 75/46/45
Pretnja № 048 · klasa: aplikacije

Brkanje zavisnostiDependency Confusion

Brkanje zavisnosti je napad na proces kojim platforme za izgradnju softvera pronalaze i isporučuju softverske zavisnosti. Napadač može da objavi paket na javnom registru sa istim imenom kao interni paket neke organizacije, ili sa imenom drugog, javnog i validnog paketa, računajući na to da će alat za preuzimanje izabrati njegovu verziju umesto prave.

Pojam

opis · primeri · napomene

Brkanje zavisnosti je napad na proces kojim platforme za izgradnju softvera pronalaze i isporučuju softverske zavisnosti. Napadač može da objavi paket na javnom registru sa istim imenom kao interni paket neke organizacije, ili sa imenom drugog, javnog i validnog paketa, računajući na to da će alat za preuzimanje izabrati njegovu verziju umesto prave.

Opis

Ako build sistem nema jasno podešen izvor paketa, proveru namespace-a, zaključane verzije i integritet, može da se desi da sam povuče zlonamerni paket. Napadač u tom slučaju ne mora da provaljuje u repozitorijum. Dovoljno je da se ubaci u neproveren lanac izgradnje softvera.

Ovo je dobar primer kako tehnička sitnica u razvojnom procesu postaje bezbednosni problem. Ime paketa, redosled izvora i podrazumevano ponašanje alata odlučuju šta ulazi u aplikaciju. Ako tu nema discipline, supply chain napad počinje pre produkcije.

Primeri

  • Interni ili javni paket ima ime koje nije rezervisano na javnom registru, pa napadač objavljuje paket istog imena sa višom verzijom.
  • CI pipeline tokom izgradnje povlači maliciozni umesto pravog paketa i izvršava njegov instalacioni skript.
  • Ime privatne zavisnosti procuri kroz grešku, dokumentaciju ili javni repozitorijum, pa postaje meta za registraciju na javnom registru paketa.

Napomene

  • Brkanje zavisnosti nije problem jednog jezika ili jednog registra. Obrazac je isti svuda gde sistem za izgradnju može da bira između privatnog i javnog izvora.
  • Privatni registar, scope imena, lockfile, pinovanje verzija i provera integriteta nisu administrativni detalji, nego kontrola lanca snabdevanja.
Kompozit
Wikipedija

Tehnike

izvodi se sa 2

Odbrane

suzbija se sa 3