Araştırmacıların TunnelVision adını verdikleri saldırı, VPN’lerin temel amacı ve satış noktası olan gelen ve giden internet trafiğini şifrelenmiş bir tünel içinde kapsüllendirme ve kullanıcının IP adresini gizleme özelliğini büyük ölçüde ortadan kaldırıyor. Araştırmacılar, saldırının düşmanca bir ağa bağlandıklarında tüm VPN uygulamalarını etkilediğine ve kullanıcının VPN’inin Linux veya Android’de çalışması dışında bu tür saldırıları önlemenin hiçbir yolu olmadığına inanıyor. Ayrıca saldırı tekniklerinin 2002’den bu yana mümkün olabileceğini ve o zamandan bu yana keşfedilip kullanılmış olabileceğini belirtiyorlar.
VPN trafiğini okuyabiliyor ve değiştirebiliyor
Video’da TunnelVision’ın etkisi şu şekilde açıklanıyor: “Kurbanın trafiği gizleniyor ve doğrudan saldırgan üzerinden yönlendiriliyor. Saldırgan, sızdırılan trafiği okuyabilir, bırakabilir veya değiştirebilir ve bu sırada kurban hem VPN hem de İnternet bağlantısını koruyabilir.”
Saldırı, yerel ağa bağlanmaya çalışan cihazlara IP adresi atayan DHCP sunucusunu manipüle ederek çalışıyor. Seçenek 121 (option 121) olarak bilinen bir ayar, DHCP sunucusunun, şifrelenmiş tüneli başlatan yerel bir IP adresi üzerinden VPN trafiği gönderen varsayılan yönlendirme kurallarını geçersiz kılmasına olanak tanıyor. Saldırı, VPN trafiğini DHCP sunucusu üzerinden yönlendirmek için seçenek 121’i kullanarak verileri DHCP sunucusunun kendisine yönlendiriyor.
Sadece Android işletim sistemi saldırıdan etkilenmiyor
İlginç bir şekilde, Android, VPN uygulamalarını saldırıya karşı tamamen koruyan tek işletim sistemi. Bunun sebebi seçenek 121’i uygulamaması. Diğer tüm işletim sistemleri için sorunun tam bir çözümü yok. Uygulamalar Linux’ta çalıştırıldığında etkileri en aza indiren bir ayar bulunuyor, ancak bu durumda bile TunnelVision, hedef trafiğin anonimliğini kaldırmak ve hedefli hizmet reddi saldırılarını gerçekleştirmek için bir yan kanaldan faydalabilir. Ağ güvenlik duvarları, fiziksel arabirimden gelen ve giden trafiği engelleyecek şekilde de yapılandırılabilir. Ancak bu çözümün iki problemi bulunuyor. İlki, güvenilmeyen bir ağa bağlanan bir VPN kullanıcısının güvenlik duvarını kontrol etme yeteneği yoktur. İkincisi bu, Linux’de bahsettiğimiz yan kanalların açılmasını sağlıyor.
En etkili çözümler, VPN’yi ağ bağdaştırıcısı köprülü modda olmayan bir sanal makinenin içinde çalıştırmak veya VPN’yi hücresel bir cihazın Wi-Fi ağı üzerinden İnternet’e bağlamak.