RKNHardering Help

غیرفعال‌بودن سراسری فیلتر مسیر معکوس

شناسه: SYSCTL_RP_FILTER دسته: مسیرها و پشتهٔ شبکه وضعیت در RKNHardering 2.10.0: بررسی فعال نقش در حکم نهایی: متوسط

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

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

detectSysctl() مقدار /proc/sys/net/ipv4/conf/all/rp_filter را می‌خواند؛ مقدار دقیق 0 نتیجهٔ sysctl_rp_filter|rp_filter=0 را تولید می‌کند. سیاست قدیمی آن را یافتهٔ بازبینی با اطمینان متوسط می‌داند.

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

مقدار سراسری rp_filter == 0 باشد.

معنای نتیجه

فیلتر غیرفعال مسیر معکوس در policy routing پیچیده، VPN، tethering و multihoming دیده می‌شود. روی Android نامعمول نیست و مدرک مستقیم به‌شمار نمی‌رود.

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

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

رفتار واقعی به مقادیر هر رابط و معنای max(all, interface) در هسته بستگی دارد. بررسی فقط all را می‌خواند.

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

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

بدون روت

فقط برای حذف یافتهٔ بازبینی sysctl را تغییر ندهید. آن را با خط مبنای پاک همان میان‌افزار مقایسه کنید؛ ممکن است OEM به‌طور مشروع مقدار 0 را به‌کار ببرد.

با روت

تغییر مقدار به 1 یا 2 می‌تواند مسیریابی نامتقارن و VPNها را مختل کند. پیش از آزمون، مقادیر all، default و هر رابط را ذخیره کنید و سپس اتصال شبکه را بسنجید.

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

adb shell cat /proc/sys/net/ipv4/conf/all/rp_filter
adb shell 'for f in /proc/sys/net/ipv4/conf/*/rp_filter; do printf "%s=" "$f"; cat "$f"; done' 2>/dev/null

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

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

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

خطرها

تنظیم سخت‌گیرانهٔ rp_filter ممکن است ترافیک مشروع split-tunnel یا multi-WAN را دور بیندازد.

بازگردانی

مقادیر ذخیره‌شدهٔ sysctl را بازگردانید؛ اگر تغییر پایدار نبوده است، می‌توانید دستگاه را ریبوت کنید.

سطح شواهد

متوسط. با شرط دقیق rp_filter==0 راستی‌آزمایی شده است؛ بازبینی با اطمینان متوسط.

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

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

سیگنال‌های مرتبط: sysctl-forwarding, vpn-policy-rules-netlink.

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