VPN pristupnik stoji na kraju tunela koji štiti, što znači da prekida to šifriranje umjesto da ga propušta dalje. Ako napadač kontrolira host, tunel izvana i dalje izgleda zdravo, dok stroj u sredini više nije pouzdan. Korisno pitanje nije je li sve dešifrirano. Pitanje je što je taj host mogao vidjeti, do čega je mogao doći i koje su tajne na njemu doista bile pohranjene. Ta se tri odgovora jako razlikuju, a i reakcija se razlikuje s njima.

Pristupnik prekida tunel, pa vidi unutar njega

Šifriranje u VPN-u ide skok po skok, a pristupnik je taj skok. Skida vanjski sloj, primjenjuje politiku i prosljeđuje unutarnji paket, pa svaki preneseni paket u nekom trenutku postoji u čitljivom obliku u memoriji tog hosta. To je dizajn, a ne propust. Zato je kompromitacija pristupnika drukčiji događaj od kompromitacije kriptografije tunela.

Prvo što napadač dobije jest položaj: mogućnost promatranja prenesenog prometa, mijenjanja prosljeđivanja ili odgovaranja umjesto backend sustava. Što dobije dalje zavisi od hosta, i tu ljudi precijene. Sam pristup pristupniku ne predaje TLS sesijske ključeve preglednika, jer oni nikada nisu bili na pristupniku.

Tri izlaganja koja nisu iste veličine

Podijelite pitanje na preneseni promet, dostupne sustave i pohranjene tajne, pa odgovorite na svako zasebno.

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

Srednji redak je onaj koji se preskače. Pristupnik obično ima rutu u privatne mreže i izvornu adresu kojoj backend sustavi već vjeruju, pa je zanimljivo pitanje što ti backend sustavi dopuštaju s te adrese. Uska politika klijentskog pristupa dobra je kontrola, ali napadač na hostu nije ograničen na sučelje koje bi koristio normalan klijent.

Donji redak odlučuje koliko incident traje. Serverski ključ i CA ključ imaju potpuno različite radijuse učinka, kao i lokalni administratorski račun i token za nadzor samo za čitanje.

HTTPS unutar tunela i dalje je HTTPS

TLS aplikacije prekida se u aplikaciji, a ne na VPN pristupniku, pa kompromitirani pristupnik za te tokove vidi šifrat. To je stvarno ograničenje onoga što napadač dobiva i vrijedi to jasno reći, jer suprotna tvrdnja širi paniku i loše odluke. Dva uvjeta to ruše. Ako je na putu komponenta za inspekciju s pouzdanim certifikatom, pristupnik može po dizajnu vidjeti čisti tekst. Ako je sama krajnja točka aplikacije kompromitirana, tunel nije relevantan.

Zato je odgovor na pitanje što su vidjeli uvjetovan, i treba ga zapisati kao uvjete, a ne objaviti kao presudu.

Što se mora promijeniti prije nego mu ponovno vjerujete

Ponovno postavljanje hosta nužno je i rijetko dovoljno. Napadač koji još drži upravljački račun, vjerodajnicu za implementaciju ili ključ za potpisivanje može vratiti host kako želi. Oporavak mora početi od administrativnog puta koji ne zavisi od kompromitiranog stroja.

Prije nego odlučite što rotirati, napravite popis onoga što je bilo na njemu. Ključevi, servisni računi, API tokeni, lokalni korisnici, zakazani poslovi, odnosi povjerenja i implementacijski pipeline svi su kandidati, a svaki ima vlasnika koji bi to trebao potvrditi.

ss -lntup
getent passwd
crontab -l
ip route show table all

Taj popis najbrži je način da vidite što je host nudio i dokle je mogao doći. Prvo sačuvajte dokaze, prema procesu vlasnika odgovora, jer ponovno postavljanje uništava upravo ono što je istrazi potrebno. NIST SP 800-61 Revizija 3 tretira pripremu, otkrivanje, odgovor i oporavak kao dijelove jednog procesa rizika, a ne kao uputu za ponovno pokretanje.

Granice koje sljedeći slučaj čine jeftinijim

Četiri granice vrijedi izgraditi prije nego što vam zatrebaju. Držite neovisan put oporavka koji se ne autentificira kroz pristupnik. Držite ovlast za potpisivanje odvojeno od hosta koji poslužuje promet. Ograničite dokle pristupnik može doći, da kompromitirani pristupnik ne bude automatski kompromitirana upravljačka mreža. I zabilježite kome pripada svaka vjerodajnica, da rotacija bude telefonski poziv umjesto arheološkog projekta.

Nijedna od ovih ne sprječava kompromitaciju. One je omeđuju i čine razliku između lošeg tjedna i lošeg tromjesečja.

Povezani članci