Als Autor von NetGuard habe ich Erfahrung aus erster Hand auf diesem Gebiet.
Ein Nachteil einer Firewall, die auf einem lokalen VPN basiert, ist, dass nicht alle Datenverkehrstypen verarbeitet werden können, da der (Android-) Linux-Kernel nicht alle Datenverkehrstypen über eine Socket-basierte Verbindung weiterleiten kann. Ein Beispiel ist IPsec, das von einigen Herstellern für IP-Anrufe verwendet wird. Eine Teillösung (nicht für IPsec) hierfür wäre die Verwendung eines Remote-VPN-Servers zur Weiterleitung des Datenverkehrs. Dies ist jedoch aus Datenschutzgründen für viele Menschen nicht akzeptabel und mit zusätzlicher Komplexität und wahrscheinlich auch mit einem zusätzlichen Batterieverbrauch verbunden. In der Praxis scheint der Umgang mit TCP- und UDP-Verkehr für 99,9% der NetGuard-Benutzer ausreichend zu sein. Seit Android 5 ist es möglich, Anwendungen von der Weiterleitung in das VPN auszuschließen (die VPN-implementierende Anwendung entscheidet, ob dies obligatorisch oder optional ist). Hiermit können Probleme behoben werden, die dadurch entstehen, dass nicht der gesamte Datenverkehr weitergeleitet werden kann. Eine andere Option ist das Ausschließen von Adressen (Bereichen), mit denen NetGuard IP-Anrufe für einige Hersteller korrigiert.
Ein weiterer Nachteil ist, dass das Weiterleiten von Datenverkehr den Akkuverbrauch auf Mobilgeräten erhöht, da einige Verarbeitungsschritte erforderlich sind, da Pakete überprüft und weitergeleitet werden müssen. Die Verwendung von iptables, das in den Linux-Kernel integriert ist, ist effizienter und damit batteriefreundlicher.
Generell hat sich herausgestellt, dass Android den gesamten Datenverkehr in das VPN weiterleitet, auch den Datenverkehr von Systemanwendungen und -komponenten. Ein Hersteller könnte jedoch bestimmte Datenverkehrstypen ausschließen, um die Sicherheit einer VPN-basierten Firewall zu verringern.
NetGuard analysiert die Daten selbst nicht, mit Ausnahme von DNS-Anfragen zur Anzeigenblockierung. Andernfalls kann dies jedoch zu Datenschutzproblemen führen. Technisch gesehen ist dies jedoch ein Vorteil einer VPN-basierten Firewall (wenn Sie sie immer noch so nennen möchten), da sie eine vollständige Prüfung von Datenströmen ermöglicht, die über das hinausgeht, was mit iptables möglich ist. Dies würde wahrscheinlich auf Kosten des Batterieverbrauchs aufgrund der damit verbundenen Verarbeitung gehen. Beachten Sie, dass zum Überprüfen von SSL-Streams ein lokaler MiT-Angriff erforderlich ist.
Ein weiterer Nachteil ist, dass Android die Verkettung von VPNs nicht zulässt. Wenn Sie also ein lokales VPN zum Implementieren einer Firewall verwenden, können Sie keinen echten VPN-Dienst verwenden, es sei denn, die Firewall stellt einen solchen Dienst selbst oder alternativ einen Weiterleitungs- oder Proxy-Mechanismus für ein anderes VPN bereit Anwendung.
Schließlich hängt eine VPN-basierte Firewall von der Anwendung ab, die den auszuführenden Firewall-VPN-Dienst bereitstellt. Dies scheint trivial zu sein, ist es aber nicht, da einige Hersteller-Android-Versionen / -Varianten Prozesse bei wenig Arbeitsspeicher zu aggressiv beenden (IMHO ist es ein Fehler, wenn Android Anwendungen beendet, die einen VPN-Dienst bereitstellen).
Schließlich wird das Rooten von Android-Geräten immer schwieriger, sodass eine VPN-basierte Firewall für viele Menschen die einzige Wahl ist. Ich erwarte nicht, dass Google in Kürze eine systembasierte Firewall einführt, da dies die Werbeeinnahmen erheblich beeinträchtigen könnte. iOS hat eine systembasierte Firewall.
Lassen Sie mich wissen, wenn es irgendwelche Fragen gibt und ich werde versuchen, sie zu beantworten.