TunnelCrack lwn TunnelVision: apa yang sebenarnya dipecahkan oleh setiap satu
TunnelCrack dan TunnelVision menyalahgunakan pengecualian penghalaan yang berbeza: semak pengecualian rangkaian setempat, laluan pelayan dan pilihan DHCP 121 bagi setiap binaan klien.
Dua nama penyelidikan digunakan secara bertukar ganti untuk mana-mana trafik VPN yang keluar dari terowong, tetapi mekanisme di sebaliknya tidak sama. TunnelCrack menerangkan dua keluarga pengecualian penghalaan; TunnelVision menerangkan laluan yang dibekalkan DHCP pada peranti akhir. Kedua-duanya tidak memecahkan penyulitan, dan kedua-duanya tidak memberitahu anda apa yang dilakukan oleh binaan klien tertentu hari ini. Lima pemeriksaan memisahkan mekanisme daripada tajuk berita.
Langkah satu: namakan mekanisme yang anda semak
Pendedahan TunnelCrack pada Ogos 2023 menerangkan dua keluarga serangan. Dalam kes rangkaian setempat, trafik yang dianggap oleh klien sebagai milik rangkaian setempat mengambil pengecualian akses setempat dan keluar dari terowong. Dalam kes alamat pelayan, laluan yang diperlukan klien untuk sampai ke pelayan VPN itu sendiri berada di luar terowong, dan penyerang yang mengawal alamat itu boleh mengeksploitasi pengecualian tersebut.
TunnelVision ialah laporan berasingan tentang laluan statik tanpa kelas yang dibekalkan oleh DHCP. Pelayan DHCP jahat boleh memberikan peranti akhir laluan yang mengubah laluan yang diambil trafik, termasuk laluan menuju pelayan VPN. Laporan itu mengiktiraf kerja terdahulu tentang kesan penghalaan berkaitan, yang mengingatkan bahawa mekanisme asas lebih tua daripada namanya.
| 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 |
Kekalkan nama-nama itu terikat pada mekanismenya. Menggunakan pembaikan untuk satu kerana yang lain ada dalam berita ialah cara sesuatu semakan menghasilkan gerakan tanpa liputan.
Langkah dua: lihat pengecualian akses setempat
Kebanyakan klien mengecualikan trafik rangkaian setempat supaya pencetak, penghantaran skrin dan perkongsian fail terus berfungsi semasa terowong aktif. Pengecualian itu ialah keputusan dasar dengan kos keselamatan: penyerang pada rangkaian yang sama boleh menampilkan dirinya sebagai hos setempat, dan trafik yang sampai kepadanya tidak pernah masuk ke dalam terowong.
Tanya sama ada profil yang digunakan benar-benar memerlukan pengecualian itu. Tenaga kerja jauh yang tidak pernah menggunakan penemuan setempat selalunya boleh mematikannya, dan perkhidmatan setempat yang tinggal boleh dicapai melalui laluan yang didokumenkan. Di tempat pengecualian diperlukan, nyatakan destinasi mana yang dilindunginya dan bukannya menyebutnya sebagai trafik setempat.
Pemeriksaan itu soalan konfigurasi, bukan tangkapan paket. Baca tetapan profil dan dokumentasi klien untuk binaan yang anda gunakan, kerana nilai lalai berbeza antara produk dan antara versi produk yang sama. Tulis jawapannya di sebelah profil, supaya penyemak seterusnya tidak perlu menyimpulkannya daripada tingkah laku. Pengecualian yang tiada siapa mendokumenkan ialah pengecualian yang tiada siapa menyemak.
Langkah tiga: lihat bagaimana alamat pelayan dipelajari
Klien mesti sampai ke pelayan VPN sebelum mana-mana terowong wujud, jadi destinasi itu dihalakan di luar terowong mengikut reka bentuk. Jika alamat dipelajari daripada nama, langkah penyelesaian ialah sebahagian daripada laluan kepercayaan, dan penyerang yang boleh menjawab pertanyaan itu boleh mengarahkan klien ke hos yang dikawalnya.
Menyemat alamat, menggunakan sijil disahkan dengan nama yang betul dan menolak untuk kembali kepada pelayan yang tidak disahkan semuanya mengurangkan pendedahan. Tiada satu pun daripadanya menghapuskan keperluan untuk sampai ke pelayan di luar terowong; semuanya mengubah siapa yang boleh menjawab alamat itu.
resolvectl query vpn.lab.example
ip route get 198.51.100.24
ip rule show
Carian laluan menunjukkan antara muka yang akan digunakan klien untuk alamat pelayan, dan itulah pengecualian dalam bentuk konkrit. Jika carian itu mengembalikan antara muka terowong, klien tidak boleh membina terowong langsung, jadi laluan luar memang dijangka dan soalannya hanya bagaimana destinasinya dipilih.
Langkah empat: lihat laluan yang dibekalkan DHCP
Laluan statik tanpa kelas membolehkan pelayan DHCP mengagihkan entri jadual penghalaan, dan peranti akhir biasanya menerimanya tanpa bertanya. Pada rangkaian di mana penyerang boleh menjawab DHCP lebih pantas daripada pelayan sah, entri itu boleh mengubah hala trafik yang disangka pengguna berada di dalam terowong.
Bandingkan laluan pada peranti akhir dengan laluan yang anda jangkakan. Laluan lalai atau awalan luas yang menunjuk ke gerbang setempat semasa terowong aktif ialah tanda yang wajar disiasat, dan ia kelihatan tanpa sebarang trafik serangan.
ip route show table all
ip route get 203.0.113.55
nmcli -g ipv4.ignore-auto-routes con show "Wired connection 1"
Tetapan terakhir ialah kawalan di sebelah peranti akhir yang ditawarkan banyak klien dan platform dalam sesuatu bentuk: abaikan laluan yang dibekalkan rangkaian. Mematikan penerimaan laluan automatik ialah pertukaran, kerana ia juga mematikan penghalaan terbahagi yang sah daripada pelayan DHCP korporat, jadi putuskan mengikut kelas rangkaian dan bukan secara global.
Langkah lima: pisahkan nasihat daripada binaan semasa
Serangan yang diterbitkan menerangkan tingkah laku yang diperhatikan pada versi klien tertentu pada masa tertentu. Ia tidak membuktikan bahawa komputer riba di hadapan anda terjejas, dan tidak membuktikan bahawa ia telah dibaiki. Kedua-dua dakwaan memerlukan nombor binaan sebenar dan nasihat vendor semasa.
Catat versi klien, platform, tetapan profil yang mengawal pengecualian di atas dan tarikh anda menyemaknya. Rekod itu menjadi tua dengan jujur, manakala nota yang mengatakan VPN telah ditampal untuk TunnelCrack tidak menjadi tua dengan jujur. Baca semula setiap kali klien dikemas kini, kerana nilai lalai profil boleh berubah di bawah versi yang tidak anda sentuh.
Apabila benar-benar mengesahkan, gunakan pelan yang diluluskan terhadap peranti akhir anda sendiri dan destinasi yang tidak berbahaya. Menghasilkan semula serangan terhadap pengguna lain pada rangkaian dikongsi bukanlah ujian, dan mematikan pengesahan rakan atau penyulitan aplikasi untuk memudahkan pemerhatian menghapuskan perlindungan yang anda cuba ukur.
Akhir sekali, kekalkan perlindungan peringkat aplikasi dalam gambar. Pengecualian penghalaan boleh mendedahkan trafik yang sepatutnya dibawa terowong, dan TLS aplikasi masih melindungi trafik itu dari hujung ke hujung. Kedua-dua lapisan gagal secara berasingan, kerana itu saluran kawalan yang bersambung bukan bukti bahawa setiap aliran menempuh laluan yang dimaksudkan.