TunnelCrack vs TunnelVision: apa yang sebenarnya rusak oleh masing-masing
TunnelCrack dan TunnelVision menyalahgunakan pengecualian perutean yang berbeda: tinjau pengecualian jaringan lokal, rute server, dan opsi DHCP 121 untuk setiap versi klien.
Dua nama riset dipakai bergantian untuk semua lalu lintas VPN yang keluar dari terowongan, padahal mekanisme di baliknya tidak sama. TunnelCrack menggambarkan dua keluarga pengecualian perutean; TunnelVision menggambarkan rute yang dipasok DHCP pada perangkat akhir. Keduanya tidak memecahkan enkripsi, dan keduanya tidak memberi tahu Anda apa yang dilakukan versi klien tertentu hari ini. Lima pemeriksaan memisahkan mekanismenya dari judul berita.
Langkah satu: sebutkan mekanisme yang Anda tinjau
Pengungkapan TunnelCrack pada Agustus 2023 menggambarkan dua keluarga serangan. Pada kasus jaringan lokal, lalu lintas yang dianggap klien sebagai bagian dari jaringan lokal mengambil pengecualian akses lokal dan keluar dari terowongan. Pada kasus alamat server, rute yang dibutuhkan klien untuk mencapai server VPN itu sendiri berada di luar terowongan, dan penyerang yang mengendalikan alamat itu dapat memanfaatkan pengecualian tersebut.
TunnelVision adalah laporan terpisah tentang rute statis tanpa kelas yang dikirim oleh DHCP. Server DHCP jahat dapat memberi perangkat akhir rute yang mengubah jalur yang diambil lalu lintas, termasuk jalur menuju server VPN. Laporan itu mengakui pekerjaan sebelumnya tentang efek perutean terkait, yang mengingatkan bahwa mekanisme dasarnya 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 |
Pegang nama-nama itu tetap melekat pada mekanismenya. Menerapkan perbaikan untuk satu karena yang lain ada di berita adalah cara sebuah tinjauan menghasilkan gerakan tanpa cakupan.
Langkah dua: lihat pengecualian akses lokal
Sebagian besar klien mengecualikan lalu lintas jaringan lokal agar pencetak, pencerminan layar, dan berbagi berkas tetap berfungsi selama terowongan aktif. Pengecualian itu adalah keputusan kebijakan dengan biaya keamanan: penyerang di jaringan yang sama dapat menampilkan diri sebagai host lokal, dan lalu lintas yang mencapainya tidak pernah masuk ke terowongan.
Tanyakan apakah profil yang diterapkan benar-benar membutuhkan pengecualian itu. Tenaga kerja jarak jauh yang tidak pernah memakai penemuan lokal sering dapat mematikannya, dan layanan lokal yang tersisa dapat dijangkau lewat jalur yang didokumentasikan. Di tempat pengecualian diperlukan, sebutkan tujuan mana yang dicakupnya alih-alih menyebutnya lalu lintas lokal.
Pemeriksaan itu pertanyaan konfigurasi, bukan tangkapan paket. Bacalah pengaturan profil dan dokumentasi klien untuk versi yang Anda terapkan, karena nilai bawaannya berbeda antproduk dan antarversi produk yang sama. Tuliskan jawabannya di samping profil, agar peninjau berikutnya tidak perlu menyimpulkannya dari perilaku. Pengecualian yang tidak didokumentasikan siapa pun adalah pengecualian yang tidak ditinjau siapa pun.
Langkah tiga: lihat bagaimana alamat server dipelajari
Klien harus mencapai server VPN sebelum terowongan mana pun ada, jadi tujuan itu dirutekan di luar terowongan secara desain. Jika alamat dipelajari dari nama, langkah resolusi adalah bagian dari jalur kepercayaan, dan penyerang yang dapat menjawab kueri itu dapat mengarahkan klien ke host yang dikendalikannya.
Mematok alamat, memakai sertifikat terverifikasi dengan nama yang benar, dan menolak kembali ke server tak terverifikasi semuanya mengurangi paparan. Tidak satu pun menghapus kebutuhan mencapai server di luar terowongan; semuanya mengubah siapa yang dapat menjawab alamat itu.
resolvectl query vpn.lab.example
ip route get 198.51.100.24
ip rule show
Pencarian rute menunjukkan antarmuka yang akan dipakai klien untuk alamat server, yang merupakan pengecualian dalam bentuk konkret. Jika pencarian itu mengembalikan antarmuka terowongan, klien sama sekali tidak dapat membangun terowongan, jadi rute luar memang diharapkan dan pertanyaannya hanya bagaimana tujuannya dipilih.
Langkah empat: lihat rute yang dipasok DHCP
Rute statis tanpa kelas memungkinkan server DHCP membagikan entri tabel perutean, dan perangkat akhir biasanya menerimanya tanpa bertanya. Di jaringan tempat penyerang dapat menjawab DHCP lebih cepat daripada server yang sah, entri itu dapat mengalihkan lalu lintas yang dianggap pengguna berada di dalam terowongan.
Bandingkan rute pada perangkat akhir dengan rute yang Anda harapkan. Rute bawaan atau prefiks lebar yang menunjuk ke gateway lokal saat terowongan aktif adalah tanda yang layak diselidiki, dan terlihat tanpa lalu lintas serangan apa pun.
ip route show table all
ip route get 203.0.113.55
nmcli -g ipv4.ignore-auto-routes con show "Wired connection 1"
Pengaturan terakhir adalah kendali di sisi perangkat akhir yang banyak klien dan platform tampilkan dalam suatu bentuk: abaikan rute yang dipasok jaringan. Menonaktifkan penerimaan rute otomatis adalah kompromi, karena itu juga menonaktifkan perutean terbagi yang sah dari server DHCP korporat, jadi putuskan per kelas jaringan, bukan secara global.
Langkah lima: pisahkan pemberitahuan dari versi saat ini
Serangan yang diterbitkan menggambarkan perilaku yang diamati pada versi klien tertentu pada waktu tertentu. Itu tidak membuktikan bahwa laptop di depan Anda terdampak, dan tidak membuktikan bahwa itu sudah diperbaiki. Kedua klaim memerlukan nomor versi sebenarnya dan pemberitahuan vendor saat ini.
Catat versi klien, platform, pengaturan profil yang mengatur pengecualian di atas, dan tanggal Anda memeriksanya. Catatan itu menua dengan jujur, sedangkan catatan yang menyatakan VPN sudah ditambal untuk TunnelCrack tidak menua dengan jujur. Bacalah lagi setiap kali klien diperbarui, karena nilai bawaan profil dapat berubah di bawah versi yang tidak Anda sentuh.
Saat benar-benar memvalidasi, gunakan rencana yang disetujui terhadap perangkat akhir Anda sendiri dan tujuan yang tidak berbahaya. Mereproduksi serangan terhadap pengguna lain di jaringan bersama bukanlah pengujian, dan menonaktifkan verifikasi rekan atau enkripsi aplikasi agar pengamatan lebih mudah menghilangkan perlindungan yang ingin Anda ukur.
Terakhir, pertahankan perlindungan tingkat aplikasi dalam gambar. Pengecualian perutean dapat mengekspos lalu lintas yang seharusnya dibawa terowongan, dan TLS aplikasi tetap melindungi lalu lintas itu dari ujung ke ujung. Kedua lapisan gagal secara independen, karena itu kanal kendali yang terhubung bukan bukti bahwa setiap aliran menempuh jalur yang dimaksud.