WebRTC DoS

Podržite HackTricks

Ova ranjivost je pronađena u ovom blog postu: https://www.rtcsec.com/article/novel-dos-vulnerability-affecting-webrtc-media-servers/

Opisani problem u WebRTC medijskim serverima proizašao je iz trke uslova tokom inicijalizacije medijskih sesija, posebno između ICE verifikacije medijskog pristanka i DTLS inicijacije saobraćaja. Evo detaljnog pregleda:

Poreklo Ranjivosti

  1. Dodela UDP Portova: Kada korisnik započne WebRTC poziv, medijski server dodeljuje UDP portove za upravljanje medijskim tokovima, pri čemu se IP i port komuniciraju putem signalizacije.

  2. ICE i STUN Procesi: Korisnikov pregledač koristi ICE za verifikaciju medijskog pristanka, koristeći STUN za određivanje putanje veze do medijskog servera.

  3. DTLS Sesija: Nakon uspešne STUN verifikacije, započinje DTLS sesija za uspostavljanje SRTP glavnih ključeva, prelazeći na SRTP za medijski tok.

Mehanizam Eksploatacije

  • Eksploatacija Trke Uslova: Napadač može iskoristiti trku uslova slanjem DTLS ClientHello poruke pre legitimnog korisnika, potencijalno koristeći nevažeći skup šifri kao što je TLS_NULL_WITH_NULL_NULL. Ovo uzrokuje DTLS grešku na serveru, sprečavajući uspostavljanje SRTP sesije.

Proces Napada

  • Skener Portova: Napadač treba da pogodi koji UDP portovi upravljaju dolaznim medijskim sesijama, šaljući ClientHello poruke sa null skupom šifri na te portove kako bi aktivirao ranjivost.

  • Dijagram Napada: Sekvenca uključuje više ClientHello poruka koje napadač šalje serveru, isprepletenih sa legitimnim signalizacijama i DTLS porukama, što dovodi do neuspeha rukovanja zbog pogrešnog skupa šifri.

Testiranje i Ublažavanje

  • Sigurno Testiranje: Koristeći alate kao što je Scapy, napadači ponavljaju DTLS ClientHello poruke usmerene na specifične medijske portove. Za etičko testiranje, korišćene su modifikacije Chromium-a (npr. JsepTransport::AddRemoteCandidates) kako bi se bezbedno oponašalo ponašanje žrtve.

  • Mere Ublažavanja: Rešenja uključuju odbacivanje paketa sa neproverenih adresa, kao što je implementirano u novijim verzijama biblioteka poput libnice. Primarno rešenje naglašava poverenje u ICE verifikacijski proces i obradu paketa samo iz validiranih IP i port kombinacija.

Scenariji Bez Ranjivosti

  • DTLS Server Konfiguracije: Situacije u kojima pregledač deluje kao DTLS server ili kada medijski server ne koristi ephemerne portove za medijske sesije nisu podložne ovoj ranjivosti.

Zaključak

Ova ranjivost ističe delikatnu ravnotežu u procesima inicijalizacije medijskih sesija i potrebu za preciznim vremenom i mehanizmima verifikacije kako bi se sprečila eksploatacija. Programerima se savetuje da implementiraju preporučene bezbednosne ispravke i osiguraju robusne procese verifikacije kako bi ublažili ovakve ranjivosti.

Podržite HackTricks

Last updated