Du kan inte lita på VPN-uppkopplingar i iOS. Uppkopplingarna böcker data och det skickas information av Apples egna appar, utanför VPN-uppkopplingen, vilket är en säkerhetsrisk, skriver säkerhetsforskaren Michael Horowitz i en rapport och ett inlägg på sin blogg.
Horowitz analys och slutsatser har tidigare konstaterats bland annat av Proton som tillhandahåller olika säkerhetslösningar.
VPN- uppkopplingar på iOS är trasiga. Till en början verkar de fungera bra. iOS-enheten får en ny offentlig IP-adress och nya DNS-servrar. Data skickas till VPN-servern. Men med tiden visar en detaljerad inspektion av data som lämnar iOS-enheten att VPN-tunneln läcker. Data lämnar iOS-enheten utanför VPN-tunneln. Detta är inte en klassisk/legacy DNS-läcka, det är en dataläcka. Jag bekräftade detta med flera typer av VPN och programvara från flera VPN-leverantörer. Den senaste versionen av iOS som jag testade med är 15.6.1. Denna dataläcka publicerades först av ProtonVPN i mars 2020 och iOS v13.
Uppkopplingar
Låt oss ta det elementära först – när du aktiverar en VPN-tjänst så ska alla andra uppkopplingar stängas ned, direkt. Det är hela poängen med Virtual Private Network, VPN, all trafik ska gå via tunneln, via den skyddade uppkopplingen. Alltså – när VPN aktiveras så ska alla nada uppkopplingar slås av. Det görs inte i iOS idag, hävdar Michael Horowitz och förklaringen är att iOS inte tillåter att alla uppkopplingar stängs ned. Felet sitter inte i VPN-tjänsterna och apparna utan i iOS.
Vidare så går Apples egna appar delvis förbi en VPN-tunnel:
- Apple Store
- Clips
- Files
- Find My
- Health
- Maps
- Settings
- Wallet
Kort sagt – de läcker.
We confirm that iOS 16 does communicate with Apple services outside an active VPN tunnel. Worse, it leaks DNS requests. #Apple services that escape the VPN connection include Health, Maps, Wallet.
We used @ProtonVPN and #Wireshark. Details in the video:#CyberSecurity #Privacy pic.twitter.com/ReUmfa67ln— Mysk 🇨🇦🇩🇪 (@mysk_co) October 12, 2022
Googles Android hanterar VPN-uppkopplingar på snarlikt sätt:
Jag vet vad du frågar dig själv och svaret är JA. Android kommunicerar med Googles tjänster utanför en aktiv VPN-anslutning, även med alternativen ”Alltid på” och ”Blockera anslutningar utan VPN.” Jag använde en Pixel-telefon med Android 13.
Fix
Det ser ut som att Apple erbjuder ett sätt för VPN-apputvecklare att fixa detta:
var includeAllNetworks: Bool { get set }
If this value is
trueand the tunnel is unavailable, the system drops all network traffic. The default value isfalse.
Det är högst oklart varför det är satt till false som standard och varför app-utvecklare inte har uppmärksammat detta.
