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

Nesigurna deserijalizacijaInsecure Deserialization

Deserijalizacija je vraćanje zapakovanog objekta u oblik koji aplikacija može da koristi. Problem nastaje kada aplikacija prihvati objekat iz nepouzdanog izvora i obradi ga kao da je bezbedan. Tada napadač ne šalje samo podatke, nego posebno pripremljenu strukturu koja može da promeni tok izvršavanja.

Pojam

opis · primeri · napomene

Deserijalizacija je vraćanje zapakovanog objekta u oblik koji aplikacija može da koristi. Problem nastaje kada aplikacija prihvati objekat iz nepouzdanog izvora i obradi ga kao da je bezbedan. Tada napadač ne šalje samo podatke, nego posebno pripremljenu strukturu koja može da promeni tok izvršavanja.

Opis

U najtežim slučajevima nesigurna deserijalizacija vodi do daljinskog izvršavanja koda. U blažim, ali i dalje ozbiljnim slučajevima, može promeniti ulogu korisnika, izazvati pad servisa, zaobići logiku aplikacije ili otvoriti pristup podacima koji nisu smeli da budu dostupni.

Ova klasa ranjivosti je nezgodna jer često traži dobro poznavanje internog rada aplikacije, framework-a i biblioteka. Kada napadač pronađe odgovarajući lanac objekata, aplikacija sama uradi posao koji nikada nije smela da uradi.

Primeri

  • Aplikacija prihvata serijalizovan objekat iz kolačića i iz njega određuje korisničku ulogu.
  • Posebno pripremljen Java objekat pokreće lanac poziva koji završava izvršavanjem komande na serveru.
  • Ranjiva biblioteka za obradu XML ili binarnih objekata omogućava napadaču da izazove RCE.

Napomene

  • Nepoverljiv serijalizovan objekat nije običan unos. To je upakovano potencijalno maliciozno ponašanje.
  • Ako deserijalizacija ne može da se izbegne, objekti moraju biti potpisani, strogo validirani i obrađeni u ograničenom kontekstu.

Spomenuto u vestima

Kompozit
OWASP

Tehnike

izvodi se sa 2

Odbrane

suzbija se sa 4