## Anubis: Automatisches Deaktivieren von Apps bei aktivem VPN
Beliebte Apps in Russland scannen Geräte auf VPN-Nutzung und melden ausgehende IP-Adressen, um sie blockieren zu lassen. Die Lösung? Automatisches Deaktivieren von Apps, sobald das VPN läuft. Anubis, ein Open-Source-Tool, blockiert die Hintergrundaktivitäten von Apps und macht sie für Erkennungssysteme unsichtbar.
Warum Work Profiles das Problem nicht lösen
Android-Work-Profile (Island, Insular) verbergen das VPN vor dem ConnectivityManager, verhindern aber keine Netzwerklecks. Apps im Work-Profil können immer noch sehen:
- Die
tun0-Schnittstelle überNetworkInterface.getNetworkInterfaces() - Routen über
/proc/net/route - SOCKS5-Proxy auf localhost (Port 1080 und andere)
Diese Überprüfungen funktionieren ohne Berechtigungen und entsprechen den Richtlinien des Ministeriums für Digitale Entwicklung von 2026. Selbst mit Profil-Isolierung kann die App die ausgehende IP-Adresse des VPN-Servers erkennen und an Roskomnadzor melden. Der folgende Code zeigt, wie die Standard-ConnectivityManager-Überprüfung zwischen Profilen gefiltert wird:
// Code in rabochem profile not obnaruzhit VPN osnovnogo profilya
val cm = getSystemService<ConnectivityManager>()
val vpnActive = cm.allNetworks.any {
cm.getNetworkCapabilities(it)
?.hasTransport(NetworkCapabilities.TRANSPORT_VPN) == true
}
// Result: vpnActive == false
Kritische Schwachstelle in VLESS-Clients (ungeschützter SOCKS5-Proxy) verschlimmert die Sache. Die App kann nicht nur das VPN erkennen, sondern es auch nutzen, um die ausgehende IP präzise zu ermitteln. Techniken wie Triple-Cascade-VPNs verschieben das Problem nur – sie eliminieren es nicht, da der Spion immer noch die ausgehende IP des ersten Knotens abgreift.
Architektonische Einschränkungen von Android
Android verwendet keine Network-Namespaces für Profile, im Gegensatz zu Desktop-Betriebssystemen. Virtualisierung (VirtualBox, QEMU) auf PCs isoliert den Netzwerkstapel vollständig, aber auf Android:
- Der Netzwerkstapel ist über alle Profile hinweg geteilt
- Hintergrundaktivitäten sind über
BroadcastReceiver,JobScheduler, FCM erlaubt - Doze-Modus und App Standby garantieren keinen vollständigen Stopp
Selbst bei perfekter Netzwerkisolierung laufen Hintergrundprozesse weiter. Apps mit Berechtigungen für Hintergrundaktivitäten (Banken, Messenger) prüfen regelmäßig:
- Netzwerkstatus über System-APIs
- Offene Ports auf localhost
- Verfügbarkeit blockierter Ressourcen
Work Profile blockieren diese Überprüfungen nicht. Die einzige zuverlässige Methode ist das vollständige Deaktivieren der App über den Systembefehl pm disable-user.
So funktioniert Anubis
Anubis überwacht den VPN-Status über VpnService und deaktiviert Ziel-Apps automatisch. Wichtige Komponenten:
- Systemüberwachung: Nachverfolgung von
CONNECTIVITY_ACTION-Ereignissen undVpnService-Status - Paketverwaltung: Aufruf von
PackageManager.setApplicationEnabledSetting()mit derDONT_KILL_APP-Flagge - Ziel-Liste: Filterung nach Paketnamen (z. B. ru.max.messenger, ru.tbank)
Aktivierungsprozess:
- Nutzer schaltet VPN ein
- Anubis empfängt das Ereignis über
BroadcastReceiver - Für jede App in der Whitelist wird
pm disable-userausgeführt - App-Icons verschwinden aus dem Launcher, Hintergrundprozesse stoppen
Beim Ausschalten des VPN stellt das System die Apps automatisch wieder her. Es erfordert die Berechtigung CHANGE_NETWORK_STATE und die Berechtigung zum Ändern von App-Zuständen (über ADB oder Root):
# Akaktywatsiya komandy otklyucheniya for user-installed prilozheniy
adb shell pm enable-user --user 0 ru.target.app
Technische Umsetzungsdetails
Anubis umgeht die Android-Einschränkung beim Deaktivieren nutzerinstallierter Apps durch zwei Ansätze:
- ADB-Modus: Einrichtung über Computer für Geräte mit aktiviertem Debugging
- Root-Zugriff: Direkter Aufruf von
pm disable-userüber su
Für die ADB-Nutzung ist eine einmalige Einrichtung erforderlich:
adb shell pm set-install-location 2
adb shell pm grant com.anubis.control android.permission.CHANGE_NETWORK_STATE
Wichtig: Nach dem Deaktivieren ist die App vollständig vom System isoliert. Sie erhält keine Broadcast-Ereignisse, hat keinen Netzwerkzugriff und kann keine Prozesse starten. Das garantiert, dass selbst fortschrittliche Erkennungsmethoden (Port-Scanning, Routenanalyse) unmöglich werden.
Wichtige Erkenntnisse
- Work Profile verbergen VPN nur vor
ConnectivityManager, nicht vor Low-Level-Netzwerkprüfungen - Hintergrundaktivitäten von Apps bleiben auch in isolierten Profilen aktiv
- Vollständiges Deaktivieren über
pm disable-userist der einzige Weg, Lecks zu verhindern - Anubis automatisiert den Prozess und verknüpft App-Zustände mit dem VPN-Status
- Erfordert ADB oder Root für nutzerinstallierte Apps
— Editorial Team
Noch keine Kommentare.