Jūsų VPN šliuzas pažeistas: kas iš tikrųjų atskleidžiama
Įsilaužtas VPN šliuzas mato savo tunelio vidų, tačiau tai nereiškia kiekvienos sesijos kontrolės. Prieš atkūrimą atskirkite srautą, pasiekiamumą ir saugomas paslaptis.
VPN šliuzas stovi saugomo tunelio gale, tai reiškia, kad jis užbaigia tą šifravimą, o ne praleidžia jį toliau. Jei užpuolėjas kontroliuoja mazgą, tunelis iš išorės vis dar atrodo sveikas, o mašina viduryje nebėra patikima. Naudingas klausimas nėra ar viskas iššifruojama. Klausimas yra ką tas mazgas galėjo matyti, kur galėjo pasiekti ir kokios paslaptys jame iš tikrųjų buvo saugomos. Šie trys atsakymai labai skiriasi, ir reakcija skiriasi kartu su jais.
Šliuzas užbaigia tunelį, todėl mato jo vidų
VPN šifravimas vyksta šuoliu po šuolio, o šliuzas yra tas šuolis. Jis nuima išorinį sluoksnį, taiko politiką ir persiunčia vidinį paketą, todėl kiekvienas perduodamas paketas tam tikru metu egzistuoja skaitoma forma to mazgo atmintyje. Tai dizainas, o ne defektas. Todėl šliuzo pažeidimas yra kitas įvykis nei tunelio kriptografijos pažeidimas.
Pirmiausia užpuolėjas įgyja poziciją: galimybę stebėti perduodamą srautą, keisti persiuntimą arba atsakyti vietoje backend. Ką jis įgyja toliau, priklauso nuo mazgo, ir čia žmonės pervertina. Vien prieiga prie šliuzo neperduoda naršyklės TLS sesijos raktų, nes jie niekada nebuvo šliuze.
Trys atskleidimai, kurie nėra vienodo dydžio
Padalinkite klausimą į perduodamą srautą, pasiekiamas sistemas ir saugomas paslaptis, tada atsakykite į kiekvieną atskirai.
| Exposure | What the attacker gains | What does not follow |
|---|---|---|
| Carried traffic | Plaintext of whatever the tunnel forwards without its own encryption | Keys for TLS sessions that terminate at the application |
| Reachable systems | Whatever the backends accept from the gateway's address | Control of every connected client endpoint |
| Stored secrets | The specific keys, tokens and accounts present on that host | Possession of every client certificate or of a CA key |
Vidurinė eilutė yra ta, kuri praleidžiama. Šliuzas paprastai turi maršrutą į privačius tinklus ir šaltinio adresą, kuriuo backend jau pasitiki, todėl įdomus klausimas yra ką tie backend leidžia iš to adreso. Siaura klientų prieigos politika yra gera kontrolė, bet mazge esantis užpuolėjas neapsiriboja sąsaja, kurią naudotų įprastas klientas.
Apatinė eilutė nusprendžia, kiek truks incidentas. Serverio raktas ir CA raktas turi visiškai skirtingus poveikio spindulius, kaip ir vietinė administratoriaus paskyra bei tik skaitymo stebėjimo žetonas.
HTTPS tunelio viduje tebėra HTTPS
Programos TLS baigiasi programoje, o ne VPN šliuze, todėl pažeistas šliuzas tiems srautams stebi tik šifruotą tekstą. Tai reali riba tam, ką gauna užpuolėjas, ir verta tai pasakyti aiškiai, nes priešingas teiginys skleidžia paniką ir blogus sprendimus. Dvi sąlygos tai sugriauna. Jei kelyje yra patikimo sertifikato inspektavimo komponentas, šliuzas pagal dizainą gali matyti atvirą tekstą. Jei pats programos galinis taškas yra pažeistas, tunelis neturi reikšmės.
Taigi atsakymas į tai, ką jie matė, yra sąlyginis, ir jį reikia užrašyti kaip sąlygas, o ne paskelbti nuosprendžiu.
Kas turi pasikeisti, kol vėl ne juo pasitikėsite
Mazgo perstatymas yra būtinas ir retai pakankamas. Užpuolėjas, vis dar turintis administravimo paskyrą, diegimo prisijungimo duomenis ar pasirašymo raktą, gali grąžinti mazgą taip, kaip nori. Atkūrimas turi prasidėti nuo administravimo kelio, kuris nepriklauso nuo pažeistos mašinos.
Prieš nuspręsdami, ką rotuoti, surašykite, kas jame buvo. Raktai, paslaugų paskyros, API žetonai, vietiniai naudotojai, suplanuotos užduotys, pasitikėjimo ryšiai ir diegimo grandinė visi yra kandidatai, ir kiekvienas turi savininką, kuris turėtų tai patvirtinti.
ss -lntup
getent passwd
crontab -l
ip route show table allŠis sąrašas yra greičiausias būdas pamatyti, ką mazgas siūlė ir kur galėjo pasiekti. Pirmiausia išsaugokite įrodymus, pagal reagavimo savininko procesą, nes perstatymas sunaikina būtent tai, ko reikia tyrimui. NIST SP 800-61 3 redakcija pasirengimą, aptikimą, reagavimą ir atkūrimą laiko vieno rizikos proceso dalimis, o ne perkrovimo instrukcija.
Ribos, kurios padaro kitą pigesnį
Keturių ribų verta imtis, kol jų dar nereikia. Laikykite nepriklausomą atkūrimo kelią, kuris nesitvirtina per šliuzą. Laikykite pasirašymo įgaliojimus atskirai nuo mazgo, kuris aptarnauja srautą. Apribokite, kur šliuzas gali pasiekti, kad pažeistas šliuzas nebūtų automatiškai pažeistas valdymo tinklas. Ir užrašykite, kam priklauso kiekvienas prisijungimo duomuo, kad rotacija būtų telefono skambutis, o ne archeologijos projektas.
Nė viena iš jų nesumažina pažeidimo. Jos jį apriboja ir sudaro skirtumą tarp blogos savaitės ir blogo ketvirčio.