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.

ExposureWhat the attacker gainsWhat does not follow
Carried trafficPlaintext of whatever the tunnel forwards without its own encryptionKeys for TLS sessions that terminate at the application
Reachable systemsWhatever the backends accept from the gateway's addressControl of every connected client endpoint
Stored secretsThe specific keys, tokens and accounts present on that hostPossession 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.

Susiję straipsniai