RKNHardering Help

اتصال برقرارشدهٔ TCP به درگاه معمول VPN

شناسه: ESTABLISHED_VPN_SOCKET دسته: آثار VPN و سوکت‌ها وضعیت در RKNHardering 2.10.0: بررسی فعال نقش در حکم نهایی: متوسط

این صفحه پیاده‌سازی واقعی RKNHardering 2.10.0 را توضیح می‌دهد. در آن مشخص شده است چه اقدام‌هایی بدون روت ممکن‌اند، چه چیزهایی به روت نیاز دارند و کدام راهکار فقط یک سیگنال را کاهش می‌دهد، بی‌آن‌که VPN را به‌طور کامل پنهان کند.

چه چیزی بررسی می‌شود و چرا

detectEstablishedVpn() فایل /proc/net/tcp را می‌خواند و وضعیت 01 (ESTABLISHED) را با درگاه راه‌دور 51820، 1194، 1195، 443 یا 8443 انتخاب می‌کند. established_vpn تولید می‌شود و سیاست قدیمی یافتهٔ بازبینی با اطمینان متوسط می‌دهد.

شرط دقیق فعال‌شدن

یک سوکت برقرارشدهٔ IPv4 TCP از یکی از پنج درگاه راه‌دور استفاده کند.

معنای نتیجه

درگاه‌های 1194 و 1195 شبیه OpenVPN هستند، اما 443 و 8443 به‌طور گسترده برای HTTPS عادی استفاده می‌شوند و WireGuard نیز معمولاً UDP روی 51820 است. به همین دلیل سیگنال عمداً اطمینان بالا ندارد.

تأثیر این خط بر گزارش: این خط به‌تنهایی حکم نهایی صادر نمی‌کند، اما needsReview=true را تنظیم و شاهدی با اطمینان متوسط اضافه می‌کند.

محدودیت‌ها و مثبت‌های کاذب احتمالی

بررسی سوکت را به فرایند یا برنامهٔ VPN مرتبط نمی‌کند، tcp6 را نمی‌خواند و ممکن است SELinux مانعش شود. طبقه‌بندی مبتنی بر درگاه مثبت کاذب زیادی دارد.

این خط باید همراه با سیگنال‌های مجاور ارزیابی شود. پاک‌بودن نتیجهٔ یک API به‌تنهایی Java Binder، libc، netlink خام/فراخوانی مستقیم سامانه، procfs/sysfs، سوکت‌های محلی و نشانه‌های سمت سرور را هم‌زمان پوشش نمی‌دهد.

توصیه‌ها برای این بردار

بدون روت

پیش از تغییر، IP راه‌دور و مالک اتصال را بررسی کنید. VPN یا فرایند API غیرضروری را متوقف کنید، اما درگاه 443 را نبندید. دروازهٔ خارجی سوکت سرور را از تلفن خارج می‌کند.

با روت

کل /proc/net/tcp را فیلتر یا درگاه 443 را مسدود نکنید. پنهان‌سازی به‌ازای UID به policy درست سوکت/proc نیاز دارد، اما به‌آسانی با inet_diag ناسازگاری می‌سازد. حذف سوکت واقعی VPN محلی بهتر است.

روش راستی‌آزمایی نتیجه

adb shell cat /proc/net/tcp 2>&1 | head -80
adb shell ss -tn 2>/dev/null | grep -E ':(51820|1194|1195|443|8443) '

تجزیه‌گر hexadecimal برنامه از درگاه راه‌دور استفاده می‌کند.

پس از هر تغییر، RKNHardering و سرویس‌گیرندهٔ VPN را به‌اجبار متوقف کنید، هر دو را دوباره اجرا کنید و اسکن کامل را تکرار کنید. Zygisk، Xposed و ماژول‌های هسته معمولاً به راه‌اندازی مجدد دستگاه نیاز دارند. فقط همین خط را مقایسه نکنید؛ سیگنال‌های مجاور را نیز بررسی کنید، زیرا یک هوک ناقص اغلب میان APIها ناسازگاری ایجاد می‌کند.

مجوزهای لازم و خطرها

خود پروب با مجوزهای معمول برنامه اجرا می‌شود و روت درخواست نمی‌کند. دستورهای ADB زیر فقط برای جهت‌یابی تشخیصی‌اند: adb shell با UID دیگری اجرا می‌شود و ممکن است نسبت به فرایند برنامه اطلاعات بیشتر یا کمتری ببیند. آزمون تعیین‌کننده، اجرای دوبارهٔ بررسی درون برنامه پس از توقف اجباری است.

خطرها

مسدودکردن درگاه 443 بیشتر ترافیک HTTPS را خراب می‌کند. پیش از انتشار جدول سوکت، نشانی‌های IP را بپوشانید.

بازگردانی

قاعدهٔ فایروال مشخص را حذف و برنامه یا اتصال را دوباره راه‌اندازی کنید.

سطح شواهد

متوسط. شرط وضعیت و isVpnPort() راستی‌آزمایی شده‌اند؛ بازبینی با اطمینان متوسط.

وضعیت یک راهکار شخص ثالث خودبه‌خود به این دستگاه تعمیم پیدا نمی‌کند. ادعای سازندهٔ ماژول فقط فرضیهٔ آغازین است؛ تأیید واقعی به نتیجه‌ای تکرارپذیر از RKNHardering روی همان نسخهٔ Android، میان‌افزار و هسته نیاز دارد.

منابع و تاریخ آخرین راستی‌آزمایی

سیگنال‌های مرتبط: tcp-vpn-port, inet-diag-denied, host-route.

بازگشت به مرجع بررسی‌های بومی