Android VPN ve uygulama izinleri: uyarı ne anlama geliyor
Android'in VPN onay penceresi bir paket konumu verir; e-postanıza, fotoğraflarınıza veya kişilerinize erişim vermez. O sınırın gerçekte nerede olduğu burada anlatılıyor.
Android'deki iki pencere sürekli birbirine karıştırılır: VPN onay istemi ve bir uygulamanın verileriniz için yaptığı izin istekleri. Birincisi bir ağ konumu devreder, yani paketlerin okunabildiği ve yeniden yazılabildiği noktayı. İkincisi Android'in uygulama uygulama koruduğu depolanmış içeriği devreder. İkisini tek bir şey saymak, ya bir tünelin görebileceklerini abartır ya da kararlı bir uygulamanın sırada ne isteyeceğini fena halde küçümser.
Onay penceresi gerçekte neyi devreder
VpnService uygulayan ve BIND_VPN_SERVICE bildiren bir uygulama, sistemden cihazın VPN'i olmasını ister. Onaydan sonra çerçeve bir tun arayüzü oluşturur ve uygulamaya bunun için bir dosya tanımlayıcısı verir. Uygulamanın sonrasında yaptığı her şey bu tanımlayıcıdan akar: IP paketlerini dışarı okur, onlarla ne yapacağına karar verir ve paketleri tekrar içeri yazar.
Bu arayüzün kapsamı açıktır. Hangi hedeflerin yakalanacağına rotalar karar verir, hangi uygulamaların onu besleyeceğine ise addAllowedApplication veya addDisallowedApplication karar verir. İki uygulamayı listeleyen bir uygulama başına VPN cihazın geri kalanını görmez.
Bu, paket düzeyinde bir verilendirme, veri düzeyinde değil. Hizmet, bir uygulamanın ağ yığınına verdiği ve bir hedefe adreslenmiş baytları görür. Gönderen uygulamanın özel depolamasına, veritabanı dosyalarına veya şifresi çözülmüş belleğine erişim elde etmez. Bir uygulamanın kendi korumalı alanında kaydettiği dosyalar, eskisi kadar okunması zor olarak kalır.
Paket görünümünün bittiği yer
TLS tünelin içinde işini yapmaya devam eder, çünkü el sıkışma uygulama ile sunucu arasında gerçekleşir, uygulama ile VPN arasında değil. VPN, oturum anahtarları olmadan çözemeyeceği şifreli metni iletir. Bu yüzden tek başına bir tünel, bir HTTPS sayfasının veya korumalı bir posta oturumunun içeriğini açığa çıkarmaz.
Şifreli metnin çevresindeki üst veriler başka bir hikâyedir ve en kendinden emin iddiaların çoğu tam burada çöker. Hedef IP, bağlantı noktası, paket boyutları ve zamanlama görünürdür; ayrıca TLS ClientHello içindeki sunucu adı da, ki bu normalde TLS 1.3 altında bile açık olarak gönderilir. Encrypted Client Hello bunu değiştirir ama evrensel değildir. Düz DNS de sorgular şifrelenmemiş çıktığında adları aynı kolaylıkla sızdırır.
Daha eski veya yanlış yapılandırılmış protokoller daha fazlasını devreder. Düz HTTP, TLS'siz IMAP ve bir dizi oyun ve IoT protokolü, yüklerini tun tanımlayıcısına sahip her şeye açık eder.
Asla onunla gelmeyen izinler
Bir VPN'i onaylamak kişileri, SMS'i, fotoğrafları veya medya deposunu onaylamak değildir. Bunlar ayrı çalışma zamanı verilendirmeleridir; her birinin kendi penceresi ve uygulamanın ayarlar sayfasında kendi geri alma yolu vardır. Arama kaydınızı isteyen bir VPN istemcisi, bunu herhangi bir uygulama gibi istemek zorundadır ve siz tüneli koruyarak reddedebilirsiniz.
Dikkat edilmesi gereken şey sertifika kurulumudur, çünkü VPN kurulumunun bir parçası gibi görünür ama değildir. Kimlik bilgileri deposuna bir kullanıcı CA'sı kurmak, Android'in hangi sertifikaları kabul edeceğini değiştirir ve Android 7.0'dan beri API 24 veya daha yenisini hedefleyen bir uygulama, ağ güvenliği yapılandırması bir kullanıcı güven çıpasıyla bunu seçmedikçe kullanıcı tarafından eklenen CA'ları yok sayar. Bir CA'da ısrar eden istemci ya meşru kurumsal müdahale yapıyordur ya da VPN penceresinin hiç bahsetmediği bir şey istiyordur.
Erişilebilirlik erişimi daha da dışarıdadır. Erişilebilirliği etkin bir hizmet, diğer uygulamaların ekran içeriğini okuyabilir; bunu hiçbir paket düzeyi konumu sağlamaz.
Yerel filtre mi uzak geçit mi
Aynı API, farklı güven düzeylerini hak eden iki ürünü kapsar. Cihazdaki bir güvenlik duvarı veya reklam engelleyici, tun tanımlayıcısını alır ve trafiği yerel olarak yanıtlar, asla kendi işlettiği bir sunucuya göndermez. Gerçek bir tünel bu paketleri başka bir yerdeki geçide iletir ve o operatör aynı üst verileri diğer uçtan görür, ayrıca neyin geri döneceğine de karar verir.
Onları ayırmanın pratik bir yolu, VPN açık ve kapalıyken genel adresinizi kontrol etmek ve bildirimin uzak bir uç noktadan söz edip etmediğine bakmaktır. Adres hiç değişmiyorsa trafik muhtemelen cihazın kendi içinde dönüyordur.
Her iki durum da hâlâ bir paket konumudur. Fark, çıkışta başka kimin durduğudur.
Neyi onayladığınızı denetleyin
Ayarlar'ı, ardından Ağ ve internet'i, ardından VPN'i açın ve durum çubuğundaki simgeyi değil kaydı okuyun. Her zaman açık VPN ve VPN olmadan bağlantıları engelle, arayüzü canlı tutan ve sızıntıları kesen cihaz ayarlarıdır; hiçbir şeyi genişletmezler. Aynı ekrandan profili unutabilir ve verilendirmeyi geri alabilirsiniz.
Ardından diğer izinleri gezin. Uygulama bilgileri istemcinin hangi çalışma zamanı verilendirmelerine sahip olduğunu, güvenlik ayarları ise aynı anda bir kullanıcı sertifikası kurulup kurulmadığını gösterir. İkisinden biri bağımsız olarak kaldırılabilir.
Yanıtlanmaya değer soru dardır: bu hizmete hangi paketler giriyor, nereye gidiyorlar ve uygulama neyi saklıyor. Penceredeki diğer her şey gürültüdür. VpnService başvurusu, arayüzün neleri açığa çıkardığının yetkili listesidir.