VPN pristupnik stoji na kraju tunela koji štiti, što znači da prekida tu enkripciju umjesto da je propušta dalje. Ako napadač kontroliše host, tunel spolja i dalje izgleda zdravo, dok mašina u sredini više nije pouzdana. Korisno pitanje nije da li je sve dešifrovano. Pitanje je šta je taj host mogao vidjeti, do čega je mogao doći i koje su tajne na njemu zaista bile sačuvane. Ta tri odgovora se mnogo razlikuju, a i reakcija se razlikuje s njima.

Pristupnik prekida tunel, pa vidi unutar njega

Enkripcija u VPN-u ide hop po hop, a pristupnik je taj hop. On skida spoljni sloj, primjenjuje politiku i prosljeđuje unutrašnji 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 drugačiji događaj od kompromitacije kriptografije tunela.

Prvo što napadač dobija jeste pozicija: mogućnost da posmatra preneseni saobraćaj, mijenja prosljeđivanje ili odgovara umjesto backend sistema. Šta dobija dalje zavisi od hosta, i tu ljudi precijene. Sam pristup pristupniku ne predaje TLS sesijske ključeve pregledača, jer oni nikada nisu bili na pristupniku.

Tri izlaganja koja nisu iste veličine

Podijelite pitanje na preneseni saobraćaj, dostupne sisteme i sačuvane 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 red je onaj koji se preskače. Pristupnik obično ima rutu u privatne mreže i izvornu adresu kojoj backend sistemi već vjeruju, pa je zanimljivo pitanje šta ti backend sistemi dozvoljavaju s te adrese. Uska politika klijentskog pristupa je dobra kontrola, ali napadač na hostu nije ograničen na interfejs koji bi koristio normalan klijent.

Donji red odlučuje koliko incident traje. Serverski ključ i CA ključ imaju potpuno različite radijuse udara, kao i lokalni administratorski nalog 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 kompromitovani pristupnik za te tokove vidi šifrat. To je stvarno ograničenje onoga što napadač dobija i vrijedi ga reći jasno, jer suprotna tvrdnja širi paniku i loše odluke. Dva uslova to ruše. Ako je na putu komponenta za inspekciju sa pouzdanim certifikatom, pristupnik može po dizajnu vidjeti čisti tekst. Ako je sama krajnja tačka aplikacije kompromitovana, tunel nije relevantan.

Zato je odgovor na pitanje šta su vidjeli uslovan, i treba ga zapisati kao uslove, a ne objaviti kao presudu.

Šta se mora promijeniti prije nego mu ponovo vjerujete

Ponovno postavljanje hosta je neophodno i rijetko dovoljno. Napadač koji još drži upravljački nalog, kredencijal za implementaciju ili ključ za potpisivanje može vratiti host kako želi. Oporavak mora početi od administrativnog puta koji ne zavisi od kompromitovane mašine.

Prije nego odlučite šta rotirati, napravite popis onoga što je bilo na njemu. Ključevi, servisni nalozi, API tokeni, lokalni korisnici, zakazani poslovi, odnosi povjerenja i pipeline za implementaciju sve su kandidati, a svaki ima vlasnika koji to treba potvrditi.

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

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

Granice koje sljedeći slučaj čine jeftinijim

Četiri granice vrijedi izgraditi prije nego što vam zatrebaju. Držite nezavisan put oporavka koji se ne autentikuje kroz pristupnik. Držite ovlaštenje za potpisivanje odvojeno od hosta koji opslužuje saobraćaj. Ograničite dokle pristupnik može doći, da kompromitovani pristupnik ne bude automatski kompromitovana upravljačka mreža. I zabilježite ko posjeduje svaki kredencijal, da rotacija bude telefonski poziv umjesto arheološkog projekta.

Nijedna od ovih ne sprječava kompromitaciju. One je ograničavaju i prave razliku između loše sedmice i lošeg kvartala.

Povezani članci