TunnelCrack contra TunnelVision: què trenca realment cadascun
TunnelCrack i TunnelVision abusen d’excepcions d’encaminament diferents: reviseu l’excepció de la xarxa local, la ruta del servidor i l’opció 121 de DHCP per a cada compilació del client.
Dos noms de recerca s’utilitzen indistintament per a qualsevol trànsit VPN que surt del túnel, però els mecanismes que hi ha darrere no són els mateixos. TunnelCrack descriu dues famílies d’excepcions d’encaminament; TunnelVision descriu una ruta proporcionada per DHCP a l’equip final. Cap dels dos trenca el xifratge, i cap dels dos us diu què fa avui una compilació concreta del client. Cinc comprovacions separen els mecanismes dels titulars.
Primer pas: anomeneu el mecanisme que reviseu
La revelació de TunnelCrack de l’agost del 2023 descriu dues famílies d’atacs. En el cas de la xarxa local, el trànsit que el client considera de la xarxa local pren una excepció d’accés local i surt del túnel. En el cas de l’adreça del servidor, la ruta que el client necessita per arribar al mateix servidor VPN és fora del túnel, i un adversari que controla aquesta adreça pot explotar l’excepció.
TunnelVision és un informe a part sobre rutes estàtiques sense classe lliurades per DHCP. Un servidor DHCP maliciós pot donar a l’equip final rutes que canvien el camí que pren el trànsit, inclòs el camí cap al servidor VPN. L’informe reconeix treballs anteriors sobre efectes d’encaminament relacionats, cosa que recorda que el mecanisme subjacent és més antic que el nom.
| Case | Exception it abuses |
|---|---|
| TunnelCrack local network | Traffic classified as local bypasses the tunnel |
| TunnelCrack server address | The route to the VPN server sits outside the tunnel |
| TunnelVision | DHCP option 121 installs routes that redirect traffic |
Mantingueu els noms lligats als seus mecanismes. Aplicar una correcció per a un perquè l’altre surt a les notícies és com una revisió produeix moviment sense cobertura.
Segon pas: mireu l’excepció d’accés local
La majoria de clients eximeixen el trànsit de la xarxa local perquè impressores, transmissió i compartició de fitxers segueixin funcionant mentre el túnel és actiu. Aquesta excepció és una decisió de política amb un cost de seguretat: un adversari a la mateixa xarxa pot presentar-se com a amfitrió local, i el trànsit que l’atravessa mai no ha entrat al túnel.
Pregunteu si el perfil desplegat necessita l’excepció. Una plantilla remota que mai no fa servir el descobriment local sovint pot desactivar-la, i els serveis locals restants es poden assolir per un camí documentat. On l’excepció és necessària, digueu quines destinacions cobreix en lloc de descriure-la com a trànsit local.
La comprovació és una pregunta de configuració, no una captura de paquets. Llegiu el paràmetre del perfil i la documentació del client per a la compilació que desplegueu, perquè el valor per defecte difereix entre productes i entre versions del mateix producte. Escriviu la resposta al costat del perfil, perquè el següent revisor no hagi de deduir-la del comportament. Una excepció que ningú no ha documentat és una excepció que ningú no revisa.
Tercer pas: mireu com s’aprèn l’adreça del servidor
El client ha d’arribar al servidor VPN abans que existeixi cap túnel, així que aquesta destinació s’encamina fora del túnel per disseny. Si l’adreça s’aprèn d’un nom, el pas de resolució forma part del camí de confiança, i un adversari que pot respondre a aquesta consulta pot dirigir el client a un amfitrió que controla.
Fixar l’adreça, fer servir un certificat verificat amb el nom correcte i refusar de caure a un servidor no verificat redueixen tots l’exposició. Cap d’ells no elimina la necessitat d’arribar al servidor fora del túnel; canvien qui pot respondre d’aquesta adreça.
resolvectl query vpn.lab.example
ip route get 198.51.100.24
ip rule show
La consulta de ruta mostra la interfície que el client faria servir per a l’adreça del servidor, que és l’excepció en forma concreta. Si aquesta consulta retorna la interfície del túnel, el client no pot ni establir el túnel, així que una ruta externa és esperada i la pregunta és només com se’n tria la destinació.
Quart pas: mireu les rutes que proporciona DHCP
Les rutes estàtiques sense classe permeten que un servidor DHCP reparteixi entrades de la taula d’encaminament, i l’equip final normalment les accepta sense preguntar. En una xarxa on un adversari pot respondre DHCP més de pressa que el servidor legítim, aquestes entrades poden redirigir trànsit que l’usuari creu dins del túnel.
Compareu les rutes de l’equip final amb les rutes que espereu. Una ruta per defecte o un prefix ampli que apunta a la passarel·la local mentre el túnel és actiu és la signatura que val la pena investigar, i és visible sense cap trànsit d’atac.
ip route show table all
ip route get 203.0.113.55
nmcli -g ipv4.ignore-auto-routes con show "Wired connection 1"
L’últim paràmetre és el control del costat de l’equip final que molts clients i plataformes exposen d’alguna forma: ignorar les rutes que proporciona la xarxa. Desactivar l’acceptació automàtica de rutes és un compromís, perquè també desactiva l’encaminament dividit legítim d’un servidor DHCP corporatiu, així que decidiu-ho per classe de xarxa i no globalment.
Cinquè pas: separeu l’avís de la compilació actual
Un atac publicat descriu comportament observat en versions concretes del client en un moment concret. No estableix que l’ordinador portàtil que teniu davant estigui afectat, ni estableix que estigui corregit. Totes dues afirmacions necessiten el número de compilació real i l’avís actual del fabricant.
Anoteu la versió del client, la plataforma, els paràmetres del perfil que governen les excepcions anteriors i la data en què ho vau comprovar. Aquest registre envelleix honestament, mentre que una nota que diu que la VPN es va pedaçar per TunnelCrack no ho fa. Torneu-lo a llegir cada cop que el client s’actualitzi, perquè un valor per defecte del perfil pot canviar sota una versió que no heu tocat.
Quan valideu de veritat, feu servir un pla aprovat contra el vostre propi equip final i una destinació innòcua. Reproduir l’atac contra altres usuaris en una xarxa compartida no és una prova, i desactivar la verificació d’igual o el xifratge de l’aplicació per fer més fàcil una observació elimina la protecció que intentàveu mesurar.
Finalment, manteniu la protecció a nivell d’aplicació a la imatge. Una excepció d’encaminament pot exposar trànsit que el túnel hauria portat, i el TLS de l’aplicació encara protegeix aquest trànsit d’extrem a extrem. Les dues capes fallen de manera independent, i per això un canal de control connectat no és prova que cada flux hagi pres el camí previst.