Эта страница — контроль полноты для текущего исходного дерева RKNHardering 2.10.0. Она не заменяет тематические объяснения. Колонки «без root» и «с root» описывают изменение наблюдаемого состояния, а не гарантированный pass. Внешние проекты могут покрывать только часть строки на конкретном ядре/ROM. Конкретные загрузки и пошаговая установка собраны на странице VPNHide/VPNHide Next и root-стек, а первоисточники — в списке источников.
EvidenceSource — 65| ID | Область | Что даёт источник | Без root | С root | Ограничение |
|---|---|---|---|---|---|
GEO_IP |
Серверный путь | Страна, ASN/ISP, hosting/datacenter и proxy/VPN признаки внешнего IP. | Выбрать согласованный egress нужной страны/типа сети; внешний роутер не меняет GeoIP сам по себе. | Root не исправляет удалённые базы; менять routing/exit. | Базы GeoIP расходятся и запаздывают; один чистый провайдер не гарантирует итог. |
DIRECT_NETWORK_CAPABILITIES |
Framework | TRANSPORT_VPN, IS_VPN, VpnTransportInfo активной сети. |
Локально не скрывается в общем случае; убрать VpnService с телефона через внешний шлюз. |
VPNHide/Next в system_server, scope только System Framework. |
Native backend без framework не меняет Binder-модель. |
INDIRECT_NETWORK_CAPABILITIES |
Framework | Отсутствие NOT_VPN, несогласованные capabilities и косвенная VPN-модель. |
Внешний шлюз; per-app bypass может оставить противоречие. | Системная фильтрация NetworkCapabilities и связанных Parcel. |
Нужно согласовать активную сеть, capabilities, callbacks и LinkProperties. |
ICMP_SPOOFING |
Серверный путь | Ответы ICMP от адресов/доменов, которые оператор должен блокировать, и возможная подмена. | Не подделывать локально; тестировать на реальной операторской сети и повторять. | Root обычно не нужен; firewall может исказить результат и создать ложный сигнал. | ICMP зависит от оператора, NAT и rate limit; чаще review. |
RTT_TRIANGULATION |
Серверный путь | Сравнение задержек до RU и foreign хостов (SNITCH β/диагностика). | Использовать реальный согласованный маршрут; не считать единичный RTT доказательством. | Root не убирает физическую задержку; локальная delay-инъекция ненадёжна. | Мобильная сеть, congestion и Wi‑Fi дают большой шум. |
SYSTEM_PROXY |
Proxy | Java properties, Proxy, default/per-network proxy, PAC, exclusions и валидность. |
Отключить системный proxy/PAC; использовать TUN или внешний шлюз. | Системный hook возможен, но правильнее убрать proxy; VPNHide Zygisk может фильтровать часть properties. | Приложения могут игнорировать proxy, но его наличие остаётся отдельным сигналом. |
INSTALLED_APP |
Пакеты | Известные VPN/proxy пакеты и name heuristic. | Не устанавливать клиент в том же профиле; внешний роутер или отдельный профиль. | VPNHide Apps/PackageManager filtering для observer UID. | Package visibility зависит от Android/OEM и разрешений; установка не равна активности. |
VPN_SERVICE_DECLARATION |
Пакеты | Сервисы с intent android.net.VpnService. |
Держать VPN-клиент вне профиля цели или на другом устройстве. | Фильтрация PackageManager query/resolve/direct lookup. | Системные/privileged callers и self-lookups должны оставаться рабочими. |
ACTIVE_VPN |
Framework | Активная VPN-сеть по Android connectivity API. | Только убрать локальный VpnService или принять видимость. |
System-server фильтрация активной сети и списка сетей. | Нужно одновременно закрыть native TUN/routes. |
LOCAL_PROXY |
Localhost | SOCKS5/HTTP CONNECT на loopback и сравнение proxy/direct IP. | Выключить listener/API; не полагаться на смену порта. | UID firewall/portshide или kernel security_socket_connect filtering. |
Timeout и refused отличаются; shell UID не эквивалентен UID приложения. |
XRAY_API |
Localhost | Xray gRPC control API и список outbounds. | Отключить API/listener или вынести control plane с телефона. | Блокировать loopback для UID цели; secret сам порт не скрывает. | Другой порт обнаруживается полным сканированием. |
CLASH_API |
Localhost | Clash/mihomo/sing-box REST endpoints /configs, /connections, /proxies. |
Отключить controller, Unix socket или недоступный namespace. | UID firewall/portshide/kernel block. | Сильный secret защищает управление, но не факт listener/protocol. |
SPLIT_TUNNEL_BYPASS |
Bypass | Явный прямой путь приложения при существующем VPN/TUN. | Per-app direct исправляет egress, но детектируется; лучший non-root — внешний шлюз. | Скрыть TUN/Binder локально и согласовать direct egress. | Если server IP и local model противоречат, обход остаётся сильным. |
PROXY_AUTH_BYPASS |
Localhost | Слабая/отсутствующая auth у локального SOCKS/HTTP proxy. | Сильная auth и выключенный ненужный listener. | Блокировать UID даже при auth. | Сканер может увидеть proxy до проверки credentials. |
NETWORK_INTERFACE |
Интерфейсы | Java NetworkInterface, имена tun/wg/ppp/ipsec и MTU. |
Внешний шлюз; переименование/MTU не закрывают остальные каналы. | Kernel backend; framework-only недостаточен. | Raw netlink/ioctl и тип интерфейса должны быть согласованы. |
ROUTING |
Маршруты | LinkProperties, /proc/net/route, default/split routes и policy routing. |
Внешний шлюз; локальный split route остаётся видимым. | Kernel route/netlink filtering + system-server LinkProperties filtering. |
Single lookup/host route/parity зависят от backend. |
DNS |
DNS | Loopback/private/replaced DNS и расхождение VPN/direct resolution. | Согласовать DNS с HTTP/UDP outbound; убрать системный proxy. | Root не заменяет routing; framework может скрыть LinkProperties DNS, но серверный DNS остаётся. |
DoH/DoT и IPv6 могут идти иным путём. |
PROXY_TECHNICAL_SIGNAL |
Proxy | Известные порты, множественные high ports и proc socket артефакты. | Отключить daemon/listeners; внешний gateway. | UID loopback block и при необходимости proc/socket filtering. | Закрытый control port не устраняет сам VPN interface. |
DUMPSYS |
Framework | dumpsys vpn_management и активные VpnService при доступности. |
На stock доступ часто ограничен; локально скрыть системную службу нельзя. | System/framework hardening; не выдавать shell/Shizuku/privileged доступ цели. | ROM и privilege определяют доступ; denial не доказывает отсутствие VPN. |
LOCATION_SIGNALS |
Местоположение | MCC/MNC, SIM, cell, Wi‑Fi/BeaconDB и Россия/не Россия. | Использовать реальное согласованное местоположение/egress; не строить стратегию на fake GPS. | Root-подмена рискованна и создаёт несогласованность; лучше правильный egress. | Разрешения и отсутствие данных обычно снижают уверенность, но не очищают другие каналы. |
HOME_ROUTED_ROAMING |
Местоположение | Легитимный roaming: visited network и выход через домашнюю страну. | Не ломать; убедиться, что SIM/roaming контекст объясняет foreign egress. | Root не нужен. | Контекст снижает ложные выводы, но не скрывает VPN автоматически. |
VPN_GATEWAY_LEAK |
Bypass | Обнаружение VPN gateway/underlying path, который раскрывает отдельную сеть. | Убрать неоднозначный multi-path; внешний gateway. | Скрыть local routes/socket identity и согласовать routing. | Фактический gateway может оставаться серверно наблюдаемым. |
VPN_NETWORK_BINDING |
Bypass | Привязка сокета к VPN/underlying Network даёт другой путь/IP. |
Не оставлять разрешённый bypass или сделать пути согласованными. | Framework/native hide не меняет фактический bind; править policy/route. | Внутреннее и внешнее наблюдение должны совпадать. |
TUN_ACTIVE_PROBE |
Bypass | TUN существует, но приложение не считает активную сеть VPN; DNS/path mismatch. | Не использовать локальный per-app bypass как единственную меру; внешний роутер. | Kernel+framework hide плюс согласованный direct/inside-tunnel путь. | Проба специально ловит комбинацию split tunnel + локальный TUN. |
TELEGRAM_CALL_TRANSPORT |
UDP/звонки | Транспортные пробы Telegram/MTProto/UDP и возможный leak. | Согласовать UDP route; не блокировать без понимания влияния на звонки. | Root firewall может направить/запретить, но способен сломать сервис. | Часто experimental/review; повторять. |
WHATSAPP_CALL_TRANSPORT |
UDP/звонки | STUN/UDP путь WhatsApp и возможный отдельный egress. | Согласовать UDP; проверить fallback. | Root firewall/routing только осознанно. | Блокировка ответа не всегда clean. |
STUN_PROBE |
UDP/звонки | Mapped address по RU/global STUN. | UDP должен следовать выбранному outbound; внешний шлюз. | Root не подменяет серверный mapped IP; менять routing/NAT. | NAT, IPv6 и блокировки дают разные состояния. |
NATIVE_INTERFACE |
Native | Нативные имена/типы/адреса интерфейсов. | Внешний шлюз. | Kernel backend предпочтительно; Zygisk fallback. | Raw syscall обходит userspace hooks. |
NATIVE_ROUTE |
Native | Нативные route dumps, policy и proc routes. | Внешний шлюз. | Kernel backend. | Проверить IPv4/IPv6, dump/single lookup и ifindex. |
NATIVE_HOST_ROUTE |
Native | Публичный /32//128 host route к VPN server через physical iface. |
Обычно отсутствует у VpnService; если есть — изменить VPN routing. |
Kernel backend upstream заявляет shape filtering. | Server route через physical iface не скрывается простым name filter. |
NATIVE_SOCKET |
Native | Socket address, bind-to-device, UDP port conflict, MSS/PMTU и другие socket признаки. | Внешний gateway или нормализация клиента, где возможно. | Kernel backend/Next Medium-Max по конкретному сигналу. | Часть сигналов эвристическая и зависит от ядра. |
NATIVE_HOOK_MARKERS |
Integrity | maps, hook libraries, RWX и известные маркеры. |
Не репаковать/не инъецировать target. | Kernel+system_server архитектура; убрать target из Xposed/Zygisk scope. | Переименование модуля не устраняет структурные следы. |
NATIVE_JVM_MISMATCH |
Integrity | Java и native API показывают разные интерфейсы/маршруты. | Не применять частичный hook; внешний gateway. | Включить оба слоя одной версии и проверить UID. | Частичное сокрытие хуже отсутствия сокрытия. |
NATIVE_LIBRARY_INTEGRITY |
Integrity | dlsym/ELF/linker и библиотечная целостность. |
Не репаковать и не использовать rootless injection. | Не инъецировать target; kernel backend. | Zygisk/inline hooks могут оставаться видимыми. |
NATIVE_ROOT_DETECTION |
Root | su, /data/adb, props, mounts, SELinux, UID 0. |
Стоковое устройство без root. | No root grant; unmount/deny; enforcing; system RO; минимальный стек. | Недетектируемый root не гарантируется. |
NATIVE_EMULATOR |
Устройство | QEMU/goldfish/BlueStacks/build признаки. | Физическое устройство. | Root spoof не делает эмулятор физическим; не рекомендуется. | Аппаратные/драйверные несогласованности остаются. |
SANDBOX_ISOLATION |
Профиль | Secondary/work/clone/profile identity. | Запуск в owner user; профиль не является скрытием. | Root не должен ломать UserManager; можно лишь корректно таргетировать UID. | Правдивый isolation сигнал останется. |
BETA_VPN_BINDER |
β Framework | Скрытый Binder/VPN service probe. | Внешний gateway. | System-server filtering, проверять повторно. | Один из двух β hard-authority путей при стабильном повторе. |
BETA_USER_PROFILE |
β Профиль | User/profile/foreground-user context. | Owner user. | Не скрывать глобально; корректный UID targeting. | Профиль плюс сеть может дать кворум. |
BETA_CONNECTIVITY_BINDER |
β Framework | Binder connectivity state против публичного API. | Внешний gateway. | System-server hook должен быть непротиворечивым. | Частичный Java hook виден как mismatch. |
BETA_NETD_NETID |
β Kernel | netd/netId и extended rtnetlink контекст. | Внешний gateway. | Kernel/system filtering; VPNHide Next заявляет расширенное покрытие. | Backend parity зависит от ROM/kernel. |
BETA_SOCKET_MARK |
β Socket | Socket mark/netId/identity. | Внешний gateway или единый path. | Kernel-level socket filtering/route policy. | Userspace hook может не видеть raw socket metadata. |
BETA_SOCKET_DIAG |
β Socket | INET_DIAG cookie/identity. | Внешний gateway. | Kernel filtering; не ослаблять SELinux ради hide. | Denial нейтрален; доступ зависит от ядра. |
BETA_WIREGUARD_GENL |
β Kernel VPN | WireGuard generic-netlink control plane. | Не использовать kernel WG на телефоне; внешний gateway. | Kernel filtering/hiding по совместимому backend. | Привилегированный probe opt-in; denial neutral. |
BETA_OVPN_GENL |
β Kernel VPN | OpenVPN DCO/generic-netlink состояние. | Внешний gateway/без DCO локально. | Kernel filtering. | Привилегированный opt-in. |
BETA_XFRM |
β IPsec | XFRM states/policies. | Внешний gateway/не локальный IPsec. | Kernel filtering. | IPsec может быть легитимным enterprise контекстом. |
BETA_UNIX_DIAG |
β Localhost | Unix sockets и peer identity local control plane. | Отключить/вынести daemon. | Namespace/UID filtering. | Скрытие TCP-порта не закрывает Unix socket. |
BETA_BPF_NETFILTER |
β Policy | BPF/netd/cgroup/netfilter/original destination. | Внешний gateway, минимум local redirect. | Kernel-level policy hiding; Next Max заявляет BPF coverage. | Сложно переносимо между ядрами; обычно review. |
BETA_NAMESPACE |
β Integrity | Mount/network namespace identity. | Не использовать virtualization/profile wrappers. | Корректный unmount namespace; не ломать системные namespaces. | Root manager сам создаёт namespace отличия. |
BETA_SANDBOX_IDENTITY |
β Integrity | Process/filesystem/fscrypt identity виртуализации. | Оригинальный APK в обычном owner sandbox. | Не репаковать/не запускать через virtual container. | Root не делает virtualized APK обычным. |
BETA_HOOK_CONSISTENCY |
β Integrity | Direct syscall, io_uring, FD и linker consistency. | Без injection/repack. | Kernel backend, target вне Zygisk/Xposed. | Задетые alternative paths выявляют частичный hook. |
BETA_TUN_FD |
β Kernel VPN | Kernel query на TUN file descriptor. | Убрать локальный VpnService/внешний gateway. |
Kernel filtering; проверять конкретный backend. | Второй β hard-authority путь при стабильном повторе. |
BETA_DNS_NETID |
β DNS | DNS netId и native resolver путь. | Согласовать DNS/egress. | Framework/kernel hide не заменяет DNS routing. | DoH/native resolver могут расходиться. |
BETA_ROUTE_LOOKUP |
β Route | Single route lookup к целям. | Внешний gateway. | Kernel backend; upstream single-lookup gap учитывать. | Route dump clean не гарантирует single lookup clean. |
BETA_POLICY_RULE |
β Route | Policy rules по UID/netId. | Внешний gateway. | Kernel backend with RTM_GETRULE coverage. | ROM/netd формируют сложные легитимные rules. |
BETA_RTNL_ADDRESS |
β Interface | RTNL address dump. | Внешний gateway. | Kernel netlink filtering. | IPv4/IPv6 оба нужны. |
BETA_LINK_DRIVER |
β Interface | Driver/kind/details интерфейса. | Внешний gateway. | Kernel filtering; Next claims sysfs/driver coverage. | Переименование iface не меняет driver/kind. |
BETA_INTERFACE_TRAFFIC |
β Path | Traffic counters показывают активный egress. | Внешний gateway или единый route. | Next Max заявляет BPF/stat hiding. | Counters и timing должны быть непротиворечивыми. |
BETA_PROXY_SELECTOR |
β Proxy | Java ProxySelector и системная proxy-модель. |
Отключить proxy/PAC. | System hook лишь при необходимости; лучше убрать setting. | Приложение и native path могут расходиться. |
BETA_TRANSPORT_MATRIX |
β Server | HTTP/DNS/UDP transport matrix к canary. | Согласовать все протоколы. | Root не подменяет server observation; менять route. | Сеть/epoch должны быть стабильны. |
BETA_TLS_INTERCEPTION |
β TLS | Сертификат/handshake признаки TLS interception. | Не ставить MITM CA/proxy для цели; прямой TLS. | Исключить target из MITM, убрать injected trust/hook. | Enterprise CA может быть легитимным, обычно review. |
BETA_PKTINFO |
β Socket | IP_PKTINFO/IPv6 pktinfo и incoming iface identity. | Внешний gateway. | Kernel socket filtering. | Должно совпадать с route/interface моделью. |
BETA_NETWORK_TRANSITION |
β Timeline | Netlink transitions и временная последовательность сетей. | Не запускать тест во время handover; внешний gateway. | System/kernel filtering должно быть атомарным. | Гонки подавляются policy, но повтор важен. |
BETA_TRACEROUTE |
β Path | Traceroute/path observation. | Реальный согласованный маршрут. | Root firewall может только ограничить; server path остаётся. | Обычно system context, не hard VPN evidence. |
BETA_SERVER_FINGERPRINT |
β Server | Canary/server fingerprint активного пути. | Выбрать ожидаемый egress. | Root не исправляет server fingerprint. | System-network-context исключён из β hard quorum сам по себе. |
NativeSignalId — 85Каждая строка ссылается на существующую статью native-справочника, где описана интерпретация сигнала. Здесь добавлен практический inverse-path.
| ID | Что проверяется | Без root | С root | Что может остаться |
|---|---|---|---|---|
NATIVE_LIBRARY |
Загрузка и доступность нативной библиотеки проверок. | Не «лечить» denial/unavailable; повторить на контрольном устройстве. | Root нужен только для диагностики; не ослаблять SELinux. | Обычно informational/availability, интерпретировать вместе с другими строками. |
INTERFACE_ENUMERATION |
Перечисление интерфейсов через нативные API. | Вынести VPN с телефона на внешний шлюз; переименование одной сущности недостаточно. | Kernel backend предпочтительно; framework добавлять для Binder; один native backend. | Проверить IPv4/IPv6, raw syscall, proc/sysfs и socket пути. |
TUNTAP_TYPE |
Тип интерфейса TUN/TAP (например ARPHRD_NONE/65534), а не только имя. | Вынести VPN с телефона на внешний шлюз; переименование одной сущности недостаточно. | Kernel backend предпочтительно; framework добавлять для Binder; один native backend. | Проверить IPv4/IPv6, raw syscall, proc/sysfs и socket пути. |
IPSEC_INTERFACE |
Интерфейсы IPsec/XFRM/VTI и связанные имена/типы. | Вынести VPN с телефона на внешний шлюз; переименование одной сущности недостаточно. | Kernel backend предпочтительно; framework добавлять для Binder; один native backend. | Проверить IPv4/IPv6, raw syscall, proc/sysfs и socket пути. |
JVM_NATIVE_MISMATCH |
Java и native представления сети не совпадают. | Внешний gateway или отсутствие частичных hooks. | Включить framework+kernel слои одной версии; target вне scope/injection. | Любой незакрытый канал снова создаёт mismatch. |
ROUTE_TABLE |
Нативная таблица маршрутизации и VPN-маршруты. | Вынести VPN с телефона на внешний шлюз; переименование одной сущности недостаточно. | Kernel backend предпочтительно; framework добавлять для Binder; один native backend. | Проверить IPv4/IPv6, raw syscall, proc/sysfs и socket пути. |
HOST_ROUTE |
Публичный host route /32 или /128 к VPN-серверу. |
Вынести VPN с телефона на внешний шлюз; переименование одной сущности недостаточно. | Kernel backend предпочтительно; framework добавлять для Binder; один native backend. | Проверить IPv4/IPv6, raw syscall, proc/sysfs и socket пути. |
HOOK_MARKERS |
Известные hook/инъекционные библиотеки и маркеры в процессе. | Не репаковать APK и не внедрять rootless/Xposed hooks. | Kernel backend + system_server scope; убрать target из Zygisk/Xposed. | Process-local Zygisk и сторонние hide-модули могут быть видимы. |
RWX_MEMORY_REGIONS |
Исполняемые+writable регионы памяти. | Не репаковать APK и не внедрять rootless/Xposed hooks. | Kernel backend + system_server scope; убрать target из Zygisk/Xposed. | Process-local Zygisk и сторонние hide-модули могут быть видимы. |
LIBRARY_INTEGRITY |
Целостность libc/linker/символов и dlsym путей. |
Не репаковать APK и не внедрять rootless/Xposed hooks. | Kernel backend + system_server scope; убрать target из Zygisk/Xposed. | Process-local Zygisk и сторонние hide-модули могут быть видимы. |
ROOT_INDICATORS |
Сводный root-сигнал. | Сток без root — единственный надёжный non-root baseline. | Не выдавать root цели; unmount/deny; SELinux enforcing; system RO; минимальный manager/module stack. | Отдельные kernel/prop/mount следы могут сохраниться; гарантии нет. |
ROOT_SU_BINARY |
Доступный su по типовым путям. |
Сток без root — единственный надёжный non-root baseline. | Не выдавать root цели; unmount/deny; SELinux enforcing; system RO; минимальный manager/module stack. | Отдельные kernel/prop/mount следы могут сохраниться; гарантии нет. |
ROOT_PROPERTY |
Небезопасные root/debug свойства системы. | Сток без root — единственный надёжный non-root baseline. | Не выдавать root цели; unmount/deny; SELinux enforcing; system RO; минимальный manager/module stack. | Отдельные kernel/prop/mount следы могут сохраниться; гарантии нет. |
ROOT_MANAGEMENT |
Каталоги/файлы Magisk, KernelSU, APatch и модулей. | Сток без root — единственный надёжный non-root baseline. | Не выдавать root цели; unmount/deny; SELinux enforcing; system RO; минимальный manager/module stack. | Отдельные kernel/prop/mount следы могут сохраниться; гарантии нет. |
ROOT_SYSTEM_RW |
Системные разделы доступны на запись. | Сток без root — единственный надёжный non-root baseline. | Не выдавать root цели; unmount/deny; SELinux enforcing; system RO; минимальный manager/module stack. | Отдельные kernel/prop/mount следы могут сохраниться; гарантии нет. |
ROOT_SUSPICIOUS_MOUNT |
Необычные bind/magic mounts. | Сток без root — единственный надёжный non-root baseline. | Не выдавать root цели; unmount/deny; SELinux enforcing; system RO; минимальный manager/module stack. | Отдельные kernel/prop/mount следы могут сохраниться; гарантии нет. |
ROOT_OVERLAY_MOUNT |
OverlayFS/overlay mounts, характерные для module systems. | Сток без root — единственный надёжный non-root baseline. | Не выдавать root цели; unmount/deny; SELinux enforcing; system RO; минимальный manager/module stack. | Отдельные kernel/prop/mount следы могут сохраниться; гарантии нет. |
ROOT_SELINUX |
SELinux permissive/disabled или несогласованное состояние. | Сток без root — единственный надёжный non-root baseline. | Не выдавать root цели; unmount/deny; SELinux enforcing; system RO; минимальный manager/module stack. | Отдельные kernel/prop/mount следы могут сохраниться; гарантии нет. |
ROOT_UID |
Процесс/помощник получил UID/GID 0. | Сток без root — единственный надёжный non-root baseline. | Не выдавать root цели; unmount/deny; SELinux enforcing; system RO; минимальный manager/module stack. | Отдельные kernel/prop/mount следы могут сохраниться; гарантии нет. |
ROOT_MAGISK_PROPERTY |
Свойства сервисов/настроек Magisk. | Сток без root — единственный надёжный non-root baseline. | Не выдавать root цели; unmount/deny; SELinux enforcing; system RO; минимальный manager/module stack. | Отдельные kernel/prop/mount следы могут сохраниться; гарантии нет. |
EMULATOR_INDICATORS |
Сводный сигнал эмулятора. | Использовать физическое устройство. | Не подменять эмулятор частично; root-spoof создаёт несогласованность. | Аппаратные, driver и build признаки остаются. |
EMULATOR_QEMU_PROPERTY |
QEMU/system properties. | Использовать физическое устройство. | Не подменять эмулятор частично; root-spoof создаёт несогласованность. | Аппаратные, driver и build признаки остаются. |
EMULATOR_QEMU_PIPE |
QEMU pipes/devices. | Использовать физическое устройство. | Не подменять эмулятор частично; root-spoof создаёт несогласованность. | Аппаратные, driver и build признаки остаются. |
EMULATOR_GOLDFISH |
Goldfish/ranchu артефакты. | Использовать физическое устройство. | Не подменять эмулятор частично; root-spoof создаёт несогласованность. | Аппаратные, driver и build признаки остаются. |
EMULATOR_QEMU_DRIVER |
QEMU drivers/kernel markers. | Использовать физическое устройство. | Не подменять эмулятор частично; root-spoof создаёт несогласованность. | Аппаратные, driver и build признаки остаются. |
EMULATOR_BLUESTACKS |
BlueStacks файлы/свойства. | Использовать физическое устройство. | Не подменять эмулятор частично; root-spoof создаёт несогласованность. | Аппаратные, driver и build признаки остаются. |
EMULATOR_BUILD |
Build fingerprint/model/tags эмулятора. | Использовать физическое устройство. | Не подменять эмулятор частично; root-spoof создаёт несогласованность. | Аппаратные, driver и build признаки остаются. |
ISOLATION_PROFILE |
Сводный профиль/изоляция. | Запускать в owner user; профиль — только осознанный тест. | Корректно добавить полный UID в hide-конфиг; не ломать UserManager. |
Сам факт user/profile остаётся правдивым. |
ISOLATION_CLONE |
Clone/Dual Apps user ranges и OEM-контекст. | Запускать в owner user; профиль — только осознанный тест. | Корректно добавить полный UID в hide-конфиг; не ломать UserManager. |
Сам факт user/profile остаётся правдивым. |
ISOLATION_SECONDARY_USER |
Запуск с userId > 0. |
Запускать в owner user; профиль — только осознанный тест. | Корректно добавить полный UID в hide-конфиг; не ломать UserManager. |
Сам факт user/profile остаётся правдивым. |
ISOLATION_WORK_PROFILE |
Managed/work profile и profile owner. | Запускать в owner user; профиль — только осознанный тест. | Корректно добавить полный UID в hide-конфиг; не ломать UserManager. |
Сам факт user/profile остаётся правдивым. |
VPN_PROPERTY |
VPN-похожие system properties. | Вынести VPN с телефона на внешний шлюз; переименование одной сущности недостаточно. | Kernel backend предпочтительно; framework добавлять для Binder; один native backend. | Проверить IPv4/IPv6, raw syscall, proc/sysfs и socket пути. |
DNS_PROPERTY |
DNS properties, указывающие на изменённый путь. | Нормализовать реальный VPN/route/socket параметр либо внешний gateway. | VPNHide Next Medium/Max заявляет часть покрытия; проверять конкретно. | Эвристики зависят от ядра/сети; ложные срабатывания возможны. |
VPN_FILE |
Файлы/пути VPN-артефактов. | Вынести VPN с телефона на внешний шлюз; переименование одной сущности недостаточно. | Kernel backend предпочтительно; framework добавлять для Binder; один native backend. | Проверить IPv4/IPv6, raw syscall, proc/sysfs и socket пути. |
VPNHIDE |
Регрессионные оракулы/маркеры VPNHide и чистые/нечистые состояния. | Вынести VPN с телефона на внешний шлюз; переименование одной сущности недостаточно. | Kernel backend предпочтительно; framework добавлять для Binder; один native backend. | Проверить IPv4/IPv6, raw syscall, proc/sysfs и socket пути. |
LSPOSED |
LSPosed/Vector/Xposed признаки. | Не репаковать APK и не внедрять rootless/Xposed hooks. | Kernel backend + system_server scope; убрать target из Zygisk/Xposed. | Process-local Zygisk и сторонние hide-модули могут быть видимы. |
HOOK_PROPERTY |
Properties, связанные с hooks/framework. | Не репаковать APK и не внедрять rootless/Xposed hooks. | Kernel backend + system_server scope; убрать target из Zygisk/Xposed. | Process-local Zygisk и сторонние hide-модули могут быть видимы. |
TCP_VPN_PORT |
TCP listener/соединение на характерном VPN/proxy порту. | Отключить listener/control API или вынести daemon на шлюз. | UID firewall/portshide/kernel loopback block. | Shell и target UID могут видеть разные правила; смена порта не достаточна. |
UDP_VPN_PORT |
UDP listener/соединение на характерном VPN/proxy порту. | Отключить listener/control API или вынести daemon на шлюз. | UID firewall/portshide/kernel loopback block. | Shell и target UID могут видеть разные правила; смена порта не достаточна. |
INET6_VPN_INTERFACE |
VPN-подобный интерфейс в /proc/net/if_inet6. |
Вынести VPN с телефона на внешний шлюз; переименование одной сущности недостаточно. | Kernel backend предпочтительно; framework добавлять для Binder; один native backend. | Проверить IPv4/IPv6, raw syscall, proc/sysfs и socket пути. |
ROUTE_VPN_INTERFACE |
VPN-интерфейс в /proc/net/route/route output. |
Вынести VPN с телефона на внешний шлюз; переименование одной сущности недостаточно. | Kernel backend предпочтительно; framework добавлять для Binder; один native backend. | Проверить IPv4/IPv6, raw syscall, proc/sysfs и socket пути. |
ARP_VPN_INTERFACE |
VPN-подобный интерфейс/сосед в ARP. | Вынести VPN с телефона на внешний шлюз; переименование одной сущности недостаточно. | Kernel backend предпочтительно; framework добавлять для Binder; один native backend. | Проверить IPv4/IPv6, raw syscall, proc/sysfs и socket пути. |
SYSCTL_FORWARDING |
Необычное IP forwarding состояние. | Нормализовать реальный VPN/route/socket параметр либо внешний gateway. | VPNHide Next Medium/Max заявляет часть покрытия; проверять конкретно. | Эвристики зависят от ядра/сети; ложные срабатывания возможны. |
SYSCTL_RP_FILTER |
Необычный reverse-path filter. | Нормализовать реальный VPN/route/socket параметр либо внешний gateway. | VPNHide Next Medium/Max заявляет часть покрытия; проверять конкретно. | Эвристики зависят от ядра/сети; ложные срабатывания возможны. |
ESTABLISHED_VPN_SOCKET |
Established socket, связанный с VPN адресом/портом. | Отключить listener/control API или вынести daemon на шлюз. | UID firewall/portshide/kernel loopback block. | Shell и target UID могут видеть разные правила; смена порта не достаточна. |
VPN_POLICY_RULES |
Policy rules, характерные для VPN/per-UID routing. | Вынести VPN с телефона на внешний шлюз; переименование одной сущности недостаточно. | Kernel backend предпочтительно; framework добавлять для Binder; один native backend. | Проверить IPv4/IPv6, raw syscall, proc/sysfs и socket пути. |
VPN_QDISC |
Qdisc/queue discipline на VPN-пути. | Внешний gateway; локально без root обычно не фильтруется. | Kernel backend; для BPF/qdisc/timing — Next Max как эксперимент. | Backend parity и kernel ABI различаются; повторная проверка обязательна. |
HIDDEN_MAC_NEIGHBORS |
Несогласованные MAC/neighbour данные. | Внешний gateway; локально без root обычно не фильтруется. | Kernel backend; для BPF/qdisc/timing — Next Max как эксперимент. | Backend parity и kernel ABI различаются; повторная проверка обязательна. |
TCP_MSS_LOW |
Пониженный TCP MSS как косвенный туннельный признак. | Нормализовать реальный VPN/route/socket параметр либо внешний gateway. | VPNHide Next Medium/Max заявляет часть покрытия; проверять конкретно. | Эвристики зависят от ядра/сети; ложные срабатывания возможны. |
SO_BINDTODEVICE |
Поведение SO_BINDTODEVICE и доступность интерфейса. |
Внешний gateway; локально без root обычно не фильтруется. | Kernel backend; для BPF/qdisc/timing — Next Max как эксперимент. | Backend parity и kernel ABI различаются; повторная проверка обязательна. |
LOOPBACK_PORT_CONFLICT |
Конфликт/занятость loopback-порта между путями. | Отключить listener/control API или вынести daemon на шлюз. | UID firewall/portshide/kernel loopback block. | Shell и target UID могут видеть разные правила; смена порта не достаточна. |
BPF_MAP_ACCESSIBLE |
Доступность BPF map/статистики netd. | Внешний gateway; локально без root обычно не фильтруется. | Kernel backend; для BPF/qdisc/timing — Next Max как эксперимент. | Backend parity и kernel ABI различаются; повторная проверка обязательна. |
IP_RECVERR |
Поведение error queue/IP_RECVERR и PMTU. |
Нормализовать реальный VPN/route/socket параметр либо внешний gateway. | VPNHide Next Medium/Max заявляет часть покрытия; проверять конкретно. | Эвристики зависят от ядра/сети; ложные срабатывания возможны. |
SYSCALL_UNAVAILABLE |
Нативная syscall-проба недоступна/не поддержана. | Не «лечить» denial/unavailable; повторить на контрольном устройстве. | Root нужен только для диагностики; не ослаблять SELinux. | Обычно informational/availability, интерпретировать вместе с другими строками. |
SYSFS_VPN_LEAK |
VPN-интерфейс раскрывается через sysfs. | Вынести VPN с телефона на внешний шлюз; переименование одной сущности недостаточно. | Kernel backend предпочтительно; framework добавлять для Binder; один native backend. | Проверить IPv4/IPv6, raw syscall, proc/sysfs и socket пути. |
GETIFADDRS_VPN |
VPN-интерфейс/адрес в getifaddrs(). |
Вынести VPN с телефона на внешний шлюз; переименование одной сущности недостаточно. | Kernel backend предпочтительно; framework добавлять для Binder; один native backend. | Проверить IPv4/IPv6, raw syscall, proc/sysfs и socket пути. |
SYSCLASSNET_VPN |
VPN-интерфейс в /sys/class/net. |
Вынести VPN с телефона на внешний шлюз; переименование одной сущности недостаточно. | Kernel backend предпочтительно; framework добавлять для Binder; один native backend. | Проверить IPv4/IPv6, raw syscall, proc/sysfs и socket пути. |
RTM_GETLINK_VPN |
VPN-интерфейс в netlink RTM_GETLINK. |
Вынести VPN с телефона на внешний шлюз; переименование одной сущности недостаточно. | Kernel backend предпочтительно; framework добавлять для Binder; один native backend. | Проверить IPv4/IPv6, raw syscall, proc/sysfs и socket пути. |
PROC_IF_INET6_VPN |
VPN IPv6 запись в /proc/net/if_inet6. |
Вынести VPN с телефона на внешний шлюз; переименование одной сущности недостаточно. | Kernel backend предпочтительно; framework добавлять для Binder; один native backend. | Проверить IPv4/IPv6, raw syscall, proc/sysfs и socket пути. |
PROC_IPV6_ROUTE_VPN |
VPN маршрут в /proc/net/ipv6_route. |
Вынести VPN с телефона на внешний шлюз; переименование одной сущности недостаточно. | Kernel backend предпочтительно; framework добавлять для Binder; один native backend. | Проверить IPv4/IPv6, raw syscall, proc/sysfs и socket пути. |
PROC_NET_DEV_VPN |
VPN-интерфейс/counters в /proc/net/dev. |
Вынести VPN с телефона на внешний шлюз; переименование одной сущности недостаточно. | Kernel backend предпочтительно; framework добавлять для Binder; один native backend. | Проверить IPv4/IPv6, raw syscall, proc/sysfs и socket пути. |
IFINDEXNAME_VPN |
Разрешение ifindex→VPN name или synthetic if<N>. |
Вынести VPN с телефона на внешний шлюз; переименование одной сущности недостаточно. | Kernel backend предпочтительно; framework добавлять для Binder; один native backend. | Проверить IPv4/IPv6, raw syscall, proc/sysfs и socket пути. |
VPN_POLICY_RULES_NETLINK |
VPN policy rules через netlink RTM_GETRULE. |
Вынести VPN с телефона на внешний шлюз; переименование одной сущности недостаточно. | Kernel backend предпочтительно; framework добавлять для Binder; один native backend. | Проверить IPv4/IPv6, raw syscall, proc/sysfs и socket пути. |
FIB_TRIE_DENIED |
Доступ к /proc/net/fib_trie закрыт/особое поведение. |
Не «лечить» denial/unavailable; повторить на контрольном устройстве. | Root нужен только для диагностики; не ослаблять SELinux. | Обычно informational/availability, интерпретировать вместе с другими строками. |
INET_DIAG_DENIED |
INET_DIAG доступ закрыт/особое поведение. | Не «лечить» denial/unavailable; повторить на контрольном устройстве. | Root нужен только для диагностики; не ослаблять SELinux. | Обычно informational/availability, интерпретировать вместе с другими строками. |
BINDTODEVICE_LEAK |
Bind к физическому/VPN интерфейсу раскрывает path. | Внешний gateway; локально без root обычно не фильтруется. | Kernel backend; для BPF/qdisc/timing — Next Max как эксперимент. | Backend parity и kernel ABI различаются; повторная проверка обязательна. |
GETSOCKNAME_LEAK |
getsockname() раскрывает адрес/интерфейс пути. |
Внешний gateway; локально без root обычно не фильтруется. | Kernel backend; для BPF/qdisc/timing — Next Max как эксперимент. | Backend parity и kernel ABI различаются; повторная проверка обязательна. |
UDP_PORT_CONFLICT_PHYSICAL |
UDP bind/port конфликт различается на physical/VPN path. | Внешний gateway; локально без root обычно не фильтруется. | Kernel backend; для BPF/qdisc/timing — Next Max как эксперимент. | Backend parity и kernel ABI различаются; повторная проверка обязательна. |
DEEP_VPN_QDISC |
Расширенная qdisc-проверка. | Внешний gateway; локально без root обычно не фильтруется. | Kernel backend; для BPF/qdisc/timing — Next Max как эксперимент. | Backend parity и kernel ABI различаются; повторная проверка обязательна. |
DEEP_BPF_MAP_ACCESSIBLE |
Расширенная BPF/netd статистика. | Внешний gateway; локально без root обычно не фильтруется. | Kernel backend; для BPF/qdisc/timing — Next Max как эксперимент. | Backend parity и kernel ABI различаются; повторная проверка обязательна. |
ROUTE_COUNT |
Количество маршрутов как косвенный оракул. | Внешний gateway; локально без root обычно не фильтруется. | Kernel backend; для BPF/qdisc/timing — Next Max как эксперимент. | Backend parity и kernel ABI различаются; повторная проверка обязательна. |
TRIM_ORACLE |
Размер/trim netlink dump выдаёт скрытую запись. | Внешний gateway; локально без root обычно не фильтруется. | Kernel backend; для BPF/qdisc/timing — Next Max как эксперимент. | Backend parity и kernel ABI различаются; повторная проверка обязательна. |
PMTU_MSS_COMBINED |
Совместный PMTU/MSS fingerprint. | Нормализовать реальный VPN/route/socket параметр либо внешний gateway. | VPNHide Next Medium/Max заявляет часть покрытия; проверять конкретно. | Эвристики зависят от ядра/сети; ложные срабатывания возможны. |
UDP_PMTU_OK |
UDP PMTU probe успешно проходит при характерном размере. | Нормализовать реальный VPN/route/socket параметр либо внешний gateway. | VPNHide Next Medium/Max заявляет часть покрытия; проверять конкретно. | Эвристики зависят от ядра/сети; ложные срабатывания возможны. |
UDP_PMTU_FAIL |
UDP PMTU probe падает характерным образом. | Нормализовать реальный VPN/route/socket параметр либо внешний gateway. | VPNHide Next Medium/Max заявляет часть покрытия; проверять конкретно. | Эвристики зависят от ядра/сети; ложные срабатывания возможны. |
NORMAL_PMTU |
Нормальный/базовый PMTU контроль. | Нормализовать реальный VPN/route/socket параметр либо внешний gateway. | VPNHide Next Medium/Max заявляет часть покрытия; проверять конкретно. | Эвристики зависят от ядра/сети; ложные срабатывания возможны. |
TIMING_ORACLE |
Временная разница между физическим и скрытым путём. | Нормализовать реальный VPN/route/socket параметр либо внешний gateway. | VPNHide Next Medium/Max заявляет часть покрытия; проверять конкретно. | Эвристики зависят от ядра/сети; ложные срабатывания возможны. |
BACKPRESSURE |
Socket backpressure/буферизация как косвенный fingerprint. | Нормализовать реальный VPN/route/socket параметр либо внешний gateway. | VPNHide Next Medium/Max заявляет часть покрытия; проверять конкретно. | Эвристики зависят от ядра/сети; ложные срабатывания возможны. |
GSO_FAILED |
GSO option/probe не поддержан или отклонён. | Нормализовать реальный VPN/route/socket параметр либо внешний gateway. | VPNHide Next Medium/Max заявляет часть покрытия; проверять конкретно. | Эвристики зависят от ядра/сети; ложные срабатывания возможны. |
GSO_SEND_FAILED |
Отправка GSO datagram завершилась ошибкой. | Нормализовать реальный VPN/route/socket параметр либо внешний gateway. | VPNHide Next Medium/Max заявляет часть покрытия; проверять конкретно. | Эвристики зависят от ядра/сети; ложные срабатывания возможны. |
GSO_OK |
GSO контроль успешно прошёл. | Нормализовать реальный VPN/route/socket параметр либо внешний gateway. | VPNHide Next Medium/Max заявляет часть покрытия; проверять конкретно. | Эвристики зависят от ядра/сети; ложные срабатывания возможны. |
HW_TIMESTAMP |
Hardware/software timestamping поведение. | Нормализовать реальный VPN/route/socket параметр либо внешний gateway. | VPNHide Next Medium/Max заявляет часть покрытия; проверять конкретно. | Эвристики зависят от ядра/сети; ложные срабатывания возможны. |
TRACEROUTE_DENIED |
Traceroute/path probe недоступен или заблокирован. | Не «лечить» denial/unavailable; повторить на контрольном устройстве. | Root нужен только для диагностики; не ослаблять SELinux. | Обычно informational/availability, интерпретировать вместе с другими строками. |
GENERAL_DIAGNOSTICS |
Общие native-диагностические строки. | Не «лечить» denial/unavailable; повторить на контрольном устройстве. | Root нужен только для диагностики; не ослаблять SELinux. | Обычно informational/availability, интерпретировать вместе с другими строками. |
UNKNOWN |
Неизвестный/не сопоставленный native kind. | Не «лечить» denial/unavailable; повторить на контрольном устройстве. | Root нужен только для диагностики; не ослаблять SELinux. | Обычно informational/availability, интерпретировать вместе с другими строками. |
| ID | Source | Домен / группа | Что проверяется | Без root | С root | Остаток |
|---|---|---|---|---|---|---|
beta.vpn_binder |
BETA_VPN_BINDER |
VPN_OR_PROXY / android_vpn_service; hard-authority |
Binder-запрос к Android VPN service/состоянию. | Внешний gateway. | System-server framework filtering; target вне Xposed scope. | Binder и native модель должны совпасть. |
beta.user_profile |
BETA_USER_PROFILE |
ISOLATED_PROFILE / android_user_manager |
Текущий user/profile через Android user APIs. | Owner user. | Только правильное UID targeting; не ломать UserManager. | Правдивый профильный сигнал остаётся. |
beta.foreground_user |
BETA_USER_PROFILE |
ISOLATED_PROFILE / android_user_manager |
Foreground user и соответствие контексту процесса. | Owner user. | Только правильное UID targeting; не ломать UserManager. | Правдивый профильный сигнал остаётся. |
beta.connectivity_binder |
BETA_CONNECTIVITY_BINDER |
NETWORK_PATH_DIVERGENCE / android_connectivity |
Connectivity Binder ответы против публичной модели. | Внешний gateway. | System-server framework filtering; target вне Xposed scope. | Binder и native модель должны совпасть. |
beta.netd_netid |
BETA_NETD_NETID |
NETWORK_PATH_DIVERGENCE / netd |
netd/network ID активного пути. | Внешний gateway или отсутствие локального VPN. | Kernel-level filtering по конкретному каналу; Next advanced — эксперимент. | Denial часто neutral; kernel/ROM parity различается. |
beta.socket_identity |
BETA_SOCKET_MARK |
NETWORK_PATH_DIVERGENCE / kernel_socket |
Socket mark/netId/identity. | Внешний gateway или отсутствие локального VPN. | Kernel-level filtering по конкретному каналу; Next advanced — эксперимент. | Denial часто neutral; kernel/ROM parity различается. |
beta.inet_diag_cookie |
BETA_SOCKET_DIAG |
NETWORK_PATH_DIVERGENCE / socket_diag |
INET_DIAG cookie и socket identity. | Внешний gateway или отсутствие локального VPN. | Kernel-level filtering по конкретному каналу; Next advanced — эксперимент. | Denial часто neutral; kernel/ROM parity различается. |
beta.route_lookup |
BETA_ROUTE_LOOKUP |
NETWORK_PATH_DIVERGENCE / kernel_route |
Single route lookup к контрольной цели. | Внешний gateway или отсутствие локального VPN. | Kernel-level filtering по конкретному каналу; Next advanced — эксперимент. | Denial часто neutral; kernel/ROM parity различается. |
beta.policy_rules |
BETA_POLICY_RULE |
NETWORK_PATH_DIVERGENCE / kernel_route |
Policy routing rules для UID/netId. | Внешний gateway или отсутствие локального VPN. | Kernel-level filtering по конкретному каналу; Next advanced — эксперимент. | Denial часто neutral; kernel/ROM parity различается. |
beta.rtnl_address |
BETA_RTNL_ADDRESS |
NETWORK_PATH_DIVERGENCE / kernel_link |
RTNL address dump IPv4/IPv6. | Внешний gateway или отсутствие локального VPN. | Kernel-level filtering по конкретному каналу; Next advanced — эксперимент. | Denial часто neutral; kernel/ROM parity различается. |
beta.extended_rtnetlink |
BETA_NETD_NETID |
NETWORK_PATH_DIVERGENCE / kernel_routing |
Расширенный rtnetlink/netd routing контекст. | Внешний gateway или отсутствие локального VPN. | Kernel-level filtering по конкретному каналу; Next advanced — эксперимент. | Denial часто neutral; kernel/ROM parity различается. |
beta.interface_driver |
BETA_LINK_DRIVER |
VPN_OR_PROXY / kernel_link |
Driver/kind/details сетевого интерфейса. | Внешний gateway или отсутствие локального VPN. | Kernel-level filtering по конкретному каналу; Next advanced — эксперимент. | Denial часто neutral; kernel/ROM parity различается. |
beta.interface_traffic |
BETA_INTERFACE_TRAFFIC |
NETWORK_PATH_DIVERGENCE / active_egress |
Счётчики интерфейсов и фактический egress. | Внешний gateway или отсутствие локального VPN. | Kernel-level filtering по конкретному каналу; Next advanced — эксперимент. | Denial часто neutral; kernel/ROM parity различается. |
beta.wireguard_genl |
BETA_WIREGUARD_GENL |
VPN_OR_PROXY / kernel_vpn |
WireGuard generic-netlink state. | Внешний gateway или отсутствие локального VPN. | Kernel-level filtering по конкретному каналу; Next advanced — эксперимент. | Denial часто neutral; kernel/ROM parity различается. |
beta.ovpn_genl |
BETA_OVPN_GENL |
VPN_OR_PROXY / kernel_vpn |
OpenVPN DCO/generic-netlink state. | Внешний gateway или отсутствие локального VPN. | Kernel-level filtering по конкретному каналу; Next advanced — эксперимент. | Denial часто neutral; kernel/ROM parity различается. |
beta.xfrm |
BETA_XFRM |
VPN_OR_PROXY / kernel_ipsec |
XFRM/IPsec states и policies. | Внешний gateway или отсутствие локального VPN. | Kernel-level filtering по конкретному каналу; Next advanced — эксперимент. | Denial часто neutral; kernel/ROM parity различается. |
beta.unix_diag |
BETA_UNIX_DIAG |
VPN_OR_PROXY / local_control_plane |
Unix-domain sockets локального control plane. | Выключить proxy/control daemon. | UID/namespace block. | Listener/Unix socket может остаться видимым. |
beta.unix_peer_identity |
BETA_UNIX_DIAG |
VPN_OR_PROXY / local_control_plane |
Peer credentials/identity Unix socket. | Выключить proxy/control daemon. | UID/namespace block. | Listener/Unix socket может остаться видимым. |
beta.tun_fd |
BETA_TUN_FD |
VPN_OR_PROXY / process_fd; hard-authority |
Kernel query TUN file descriptor. | Убрать локальный VpnService через внешний gateway. | Kernel filtering; userspace hook недостаточен. | Hard только при ≥2 стабильных совпадающих выборках. |
beta.bpf_netd |
BETA_BPF_NETFILTER |
NETWORK_PATH_DIVERGENCE / packet_policy |
BPF/netd maps и traffic policy. | Внешний gateway или отсутствие локального VPN. | Kernel-level filtering по конкретному каналу; Next advanced — эксперимент. | Denial часто neutral; kernel/ROM parity различается. |
beta.cgroup_bpf |
BETA_BPF_NETFILTER |
NETWORK_PATH_DIVERGENCE / packet_policy |
Cgroup BPF attachment/policy. | Внешний gateway или отсутствие локального VPN. | Kernel-level filtering по конкретному каналу; Next advanced — эксперимент. | Denial часто neutral; kernel/ROM parity различается. |
beta.netfilter_path |
BETA_BPF_NETFILTER |
NETWORK_PATH_DIVERGENCE / packet_policy |
Netfilter path/redirect state. | Внешний gateway или отсутствие локального VPN. | Kernel-level filtering по конкретному каналу; Next advanced — эксперимент. | Denial часто neutral; kernel/ROM parity различается. |
beta.original_destination |
BETA_BPF_NETFILTER |
NETWORK_PATH_DIVERGENCE / packet_policy |
Original destination после transparent redirect. | Внешний gateway или отсутствие локального VPN. | Kernel-level filtering по конкретному каналу; Next advanced — эксперимент. | Denial часто neutral; kernel/ROM parity различается. |
beta.direct_syscall_consistency |
BETA_HOOK_CONSISTENCY |
HOOK_OR_TAMPERING / hook_consistency |
Сравнение libc API с direct syscall. | Без process injection. | Kernel backend, target вне Zygisk/Xposed. | Частичный hook раскрывается альтернативным путём. |
beta.io_uring_consistency |
BETA_HOOK_CONSISTENCY |
HOOK_OR_TAMPERING / alternate_syscall_path |
Альтернативный io_uring путь против hooked API. | Без process injection. | Kernel backend, target вне Zygisk/Xposed. | Частичный hook раскрывается альтернативным путём. |
beta.fd_identity |
BETA_HOOK_CONSISTENCY |
HOOK_OR_TAMPERING / process_fd |
Тип/identity file descriptors процесса. | Без process injection. | Kernel backend, target вне Zygisk/Xposed. | Частичный hook раскрывается альтернативным путём. |
beta.sandbox_identity.process |
BETA_SANDBOX_IDENTITY |
APP_VIRTUALIZATION / process_identity |
Process identity виртуального контейнера. | Оригинальный APK в обычном sandbox. | Не использовать virtual container/repack. | Root не делает контейнер обычным профилем. |
beta.sandbox_identity.filesystem |
BETA_SANDBOX_IDENTITY |
APP_VIRTUALIZATION / filesystem_identity |
Filesystem layout/identity sandbox. | Оригинальный APK в обычном sandbox. | Не использовать virtual container/repack. | Root не делает контейнер обычным профилем. |
beta.sandbox_identity.namespace |
BETA_NAMESPACE |
APP_VIRTUALIZATION / namespace_identity |
Namespace identity sandbox/virtualization. | Оригинальный APK в обычном sandbox. | Не использовать virtual container/repack. | Root не делает контейнер обычным профилем. |
beta.fscrypt_identity |
BETA_SANDBOX_IDENTITY |
APP_VIRTUALIZATION / filesystem_identity |
fscrypt/user storage identity. | Оригинальный APK в обычном sandbox. | Не использовать virtual container/repack. | Root не делает контейнер обычным профилем. |
beta.linker_integrity |
BETA_HOOK_CONSISTENCY |
HOOK_OR_TAMPERING / loader_integrity |
Linker/loader integrity и hooks. | Без process injection. | Kernel backend, target вне Zygisk/Xposed. | Частичный hook раскрывается альтернативным путём. |
beta.dns_netid |
BETA_DNS_NETID |
NETWORK_PATH_DIVERGENCE / dns_path |
DNS resolver netId/path. | Согласовать реальный route/DNS/TLS; внешний gateway. | Root не подменяет серверный путь; исключить MITM. | Network epoch и шум; server context сам по себе не всегда hard. |
beta.native_dns_resolver |
BETA_DNS_NETID |
NETWORK_PATH_DIVERGENCE / dns_path |
Native resolver против framework DNS. | Согласовать реальный route/DNS/TLS; внешний gateway. | Root не подменяет серверный путь; исключить MITM. | Network epoch и шум; server context сам по себе не всегда hard. |
beta.proxy_selector |
BETA_PROXY_SELECTOR |
VPN_OR_PROXY / android_proxy |
Java ProxySelector/system proxy consistency. | Выключить proxy/control daemon. | UID/namespace block. | Listener/Unix socket может остаться видимым. |
beta.transport_matrix |
BETA_TRANSPORT_MATRIX |
NETWORK_PATH_DIVERGENCE / active_egress |
HTTP/DNS/UDP матрица canary endpoints. | Согласовать реальный route/DNS/TLS; внешний gateway. | Root не подменяет серверный путь; исключить MITM. | Network epoch и шум; server context сам по себе не всегда hard. |
beta.tls_interception |
BETA_TLS_INTERCEPTION |
VPN_OR_PROXY / tls_path |
TLS interception/certificate path. | Согласовать реальный route/DNS/TLS; внешний gateway. | Root не подменяет серверный путь; исключить MITM. | Network epoch и шум; server context сам по себе не всегда hard. |
beta.pktinfo |
BETA_PKTINFO |
NETWORK_PATH_DIVERGENCE / kernel_socket |
IP_PKTINFO/IPv6 pktinfo входящего/исходящего пути. | Внешний gateway или отсутствие локального VPN. | Kernel-level filtering по конкретному каналу; Next advanced — эксперимент. | Denial часто neutral; kernel/ROM parity различается. |
beta.netlink_transitions |
BETA_NETWORK_TRANSITION |
NETWORK_PATH_DIVERGENCE / network_timeline |
Временная последовательность netlink network events. | Внешний gateway или отсутствие локального VPN. | Kernel-level filtering по конкретному каналу; Next advanced — эксперимент. | Denial часто neutral; kernel/ROM parity различается. |
beta.traceroute |
BETA_TRACEROUTE |
SYSTEM_NETWORK_CONTEXT / path_observation |
Traceroute/path observation. | Согласовать реальный route/DNS/TLS; внешний gateway. | Root не подменяет серверный путь; исключить MITM. | Network epoch и шум; server context сам по себе не всегда hard. |
beta.server_fingerprint |
BETA_SERVER_FINGERPRINT |
SYSTEM_NETWORK_CONTEXT / server_observation |
Удалённый fingerprint наблюдаемого канала. | Согласовать реальный route/DNS/TLS; внешний gateway. | Root не подменяет серверный путь; исключить MITM. | Network epoch и шум; server context сам по себе не всегда hard. |
beta.root_emulator |
NATIVE_ROOT_DETECTION |
DEVICE_INTEGRITY / device_integrity |
Сводная β-оценка root/emulator/device integrity. | Физический сток без root. | Минимизировать root surface; эмулятор не spoofить частично. | Review/кворум возможен. |
GEO_IP, IP consensus, DNS, CDN/STUN/call transport, underlying binding.Такой порядок минимизирует ложные выводы. Установка root-hiding модуля не имеет смысла, пока приложение видит открытый Clash API и иностранный egress; настройка MTU не имеет смысла, пока TRANSPORT_VPN остаётся прямым сигналом.
Матрица считается полной только если _validate.py подтверждает точное совпадение строк трёх разделов с исходниками и наличие заполненных колонок root/non-root. При добавлении нового EvidenceSource, NativeSignalId или BetaCheckRegistry.definition() локальная проверка должна упасть, пока отдельная строка не добавлена сюда.