NETLINK_SOCK_DIAG برای برنامهشناسه:
INET_DIAG_DENIEDدسته: آثار VPN و سوکتها وضعیت در RKNHardering 2.10.0: بررسی فعال نقش در حکم نهایی: متوسط
این صفحه پیادهسازی واقعی RKNHardering 2.10.0 را توضیح میدهد. در آن مشخص شده است چه اقدامهایی بدون روت ممکناند، چه چیزهایی به روت نیاز دارند و کدام راهکار فقط یک سیگنال را کاهش میدهد، بیآنکه VPN را بهطور کامل پنهان کند.
پروب فقط socket(AF_NETLINK, SOCK_RAW|SOCK_CLOEXEC, NETLINK_SOCK_DIAG) را فراخوانی میکند. اگر ساخت سوکت EACCES یا EPERM برگرداند، inet_diag_denied تولید میشود؛ سوکت موفق بلافاصله و بدون dump بسته میشود. این نوع یافتهٔ بازبینی با اطمینان متوسط میسازد.
هسته یا SELinux از ساخت سوکت NETLINK_SOCK_DIAG جلوگیری کند.
این وضعیت sandbox یا ROM را توصیف میکند. رد دسترسی VPN را ثابت نمیکند؛ بلکه مانع خواندن تشخیص سوکتها میشود. از خط برای توضیح پوشش دردسترسنبوده استفاده کنید.
تأثیر این خط بر گزارش: این خط بهتنهایی حکم نهایی صادر نمیکند، اما needsReview=true را تنظیم و شاهدی با اطمینان متوسط اضافه میکند.
پروب بررسی نمیکند پس از ساخت سوکت امکان ارسال درخواست SOCK_DIAG وجود دارد یا نه و سیاستها را بر اساس خانوادهٔ پروتکل جدا نمیکند. رد دسترسی ممکن است روی Android اصلی انتظار برود.
این خط باید همراه با سیگنالهای مجاور ارزیابی شود. پاکبودن نتیجهٔ یک API بهتنهایی Java Binder، libc، netlink خام/فراخوانی مستقیم سامانه، procfs/sysfs، سوکتهای محلی و نشانههای سمت سرور را همزمان پوشش نمیدهد.
برای دورزدن محدودیت تلاش نکنید. با خط مبنای همان میانافزار مقایسه کنید و به یاد داشته باشید سایر بررسیهای سوکت مستقل عمل میکنند.
NET_ADMIN یا NET_RAW ندهید و sepolicy مربوط به RKNHardering را گسترش ندهید. هنگام توسعهٔ ROM، policy حداقلی را در دامنهٔ آزمایشی اختصاصی بیازمایید، نه در دامنهٔ تولیدی untrusted_app.
adb shell 'cat /proc/net/netlink 2>/dev/null | head'
adb logcat -d | grep -Ei 'avc: denied.*sock_diag|NETLINK_SOCK_DIAG' | tail -30
نتیجهٔ دقیق فقط از دامنهٔ برنامه قابل مشاهده است.
پس از هر تغییر، RKNHardering و سرویسگیرندهٔ VPN را بهاجبار متوقف کنید، هر دو را دوباره اجرا کنید و اسکن کامل را تکرار کنید. Zygisk، Xposed و ماژولهای هسته معمولاً به راهاندازی مجدد دستگاه نیاز دارند. فقط همین خط را مقایسه نکنید؛ سیگنالهای مجاور را نیز بررسی کنید، زیرا یک هوک ناقص اغلب میان APIها ناسازگاری ایجاد میکند.
خود پروب با مجوزهای معمول برنامه اجرا میشود و روت درخواست نمیکند. دستورهای ADB زیر فقط برای جهتیابی تشخیصیاند: adb shell با UID دیگری اجرا میشود و ممکن است نسبت به فرایند برنامه اطلاعات بیشتر یا کمتری ببیند. آزمون تعیینکننده، اجرای دوبارهٔ بررسی درون برنامه پس از توقف اجباری است.
اجازهدادن inet_diag به برنامههای عادی میتواند سوکتهای UIDهای دیگر را افشا و حریم خصوصی را تضعیف کند.
تغییر capability یا sepolicy را حذف و دستگاه را ریبوت کنید. تأیید کنید SELinux در حالت enforcing است.
متوسط. تنها شاخهٔ EACCES/EPERM و مسیر اطمینان متوسط در بررسیکننده راستیآزمایی شدهاند.
وضعیت یک راهکار شخص ثالث خودبهخود به این دستگاه تعمیم پیدا نمیکند. ادعای سازندهٔ ماژول فقط فرضیهٔ آغازین است؛ تأیید واقعی به نتیجهای تکرارپذیر از RKNHardering روی همان نسخهٔ Android، میانافزار و هسته نیاز دارد.
native_signs_probe.cpp — پیادهسازی پروب بومی.VpnNativeDetectorChecker.kt — حکم و اطمینان بررسی عمیق VPN.NativeSignalId.kt — رجیستری کامل شناسهها.NativeSignalCatalog.kt — نگاشت دسته، slug و خط خروجی.سیگنالهای مرتبط: established-vpn-socket, syscall-unavailable, fib-trie-denied.