معماری شفافیت و امنیت فنی
چرا و چگونه پیامکهای شما هرگز حتی یک بایت از گوشی شما خارج نمیشوند؟
آخرین بازبینی امنیتی: ۱۴۰۴/۰۸/۰۱ — سازگار با استانداردهای MASVS و سندباکس رسمی اندروید
خلاصه در یک نگاه (Zero-Knowledge Architecture)
نو ادز بر پایه اصل «دانشصفر» (Zero-Knowledge) و پردازش تماماً روی دستگاه (On-Device Processing) مهندسی شده است. بر خلاف سرویسهای متکی به پردازش ابری، سیستم دستهبندی پیامکها هیچ وابستگی یا جریانی به سمت سرور برای متن پیامک ندارد:
- عدم خروج محتوا: متن پیامک، فرستنده و متادیتای پیامها هرگز از حافظه گوشی خارج نمیشود.
- جریان داده تکمسیره به سمت کلاینت: سرور تنها قوانین فیلتر (Rules) و الگوهای عبارات باقاعده (Regex Patterns) را به کلاینت تزریق میکند.
- سندباکس رسمی اندروید: نیازمندی به نقش پیشفرض (
ROLE_SMS) برای جداسازی پیامها در سطح سیستمعامل اندروید. - رمزنگاری در حالت سکون: پایگاه داده محلی با بهرهگیری از Room و لایه رمزنگاری SQLCipher (AES-256) ایمن شده است.
- راستیآزمایی آزاد: مهندسان و کاربران فنی میتوانند در هر لحظه ترافیک خروجی برنامه را شنود و مانیتور کنند.
۱. پردازش دروندستگاهی (On-Device Machine Intelligence)
موتور دستهبندی نو ادز که با زبان Kotlin پیادهسازی شده، به عنوان بخشی از ماژول کلاینت روی دستگاه اجرا میشود. الگوریتم ارزیابی پیامها (دستهبندی پیامکها به تبهای امن، تبلیغاتی و مشکوک/فیشینگ) به طور کامل آفلاین انجام میگیرد.
پایگاه داده محلی از طریق کتابخانه استاندارد Android Room مدیریت شده و در زمان دریافت پیامک (از طریق BroadcastReceiver سیستم پیامک اندروید)، تحلیل متن بدون برقراری حتی یک درخواست سوکت شبکه انجام میپذیرد.
۲. چرا اندروید به نقش برنامه پیشفرض پیامک (ROLE_SMS) نیاز دارد؟
بر اساس معماری امنیتی اندروید از نسخه ۴.۴ (KitKat) و به ویژه اندروید ۱۰ به بعد، تنها برنامهای که نقش Default SMS App (یا مجوز سیستمی android.app.role.SMS) را در اختیار داشته باشد مجاز به خواندن لحظهای پیامها، کنترل اعلانها و ممانعت از ایجاد مزاحمت برای کاربر است.
هدف از این الزام در نو ادز، امکان قرار دادن پیامکهای فیشینگ و تبلیغاتی در سطل زباله و جلوگیری از به صدا درآمدن زنگ هشدار برای لینکهای کلاهبرداری است. نو ادز از این مجوز منحصراً برای انجام وظایف فیلترینگ محلی استفاده مینماید و هیچ پردازش ثانویهای روی آن انجام نمیدهد.
۳. رمزنگاری پایگاه داده محلی (SQLCipher & Android Keystore)
اطلاعات ذخیره شده در حافظه داخلی گوشی (از جمله حافظه موقت پیامها و تنظیمات کاربر) در فایلهای متنی ساده نگهداری نمیشوند. دیتابیس برنامه با استفاده از لایه رمزنگاری SQLCipher بر پایه استاندارد صنعتی AES-256 محافظت میشود.
کلیدهای مشتقشده در محیط امن سختافزاری Android Keystore / TEE محافظت میشوند؛ به این معنی که حتی در صورت دسترسی فیزیکی یا تلاش برای استخراج فایل پایگاه داده، اطلاعات بدون کلید سختافزاری دستگاه خوانا نخواهد بود. همچنین ویژگی android:allowBackup="false" در مانیفست اپلیکیشن فعال است تا نسخههای پشتیبان ابری ناخواسته ایجاد نشوند.
۴. مصونیت ۱۰۰٪ پیامکهای بانکی و شاپرک (White-listing Engine)
موتور تشخیص نو ادز دارای یک لایه مقدماتی Hard Whitelist برای کلیه سرشمارههای رسمی بانکی، سامانه شاپرک، کدهای یکبارمصرف ورود (OTP)، اسنپ و سامانههای حاکمیتی است. این لایه قبل از هرگونه تحلیل محتوایی اعمال میشود و تضمین میکند که تراکنشهای بانکی و کدهای ورود تحت هیچ شرایطی مسدود نشده یا تاخیر دریافت نکنند.
۵. راهنمای راستیآزمایی ترافیک برای کاربران فنی و مهندسان شبکه
شفافیت یک ادعا نیست؛ بلکه یک ویژگی قابل آزمایش است. ما از تمامی متخصصان امنیت، توسعهدهندگان اندروید و مهندسان شبکه دعوت میکنیم امنیت و عملکرد نو ادز را شخصاً بررسی نمایند:
مراحل راستیآزمایی با Wireshark و mitmproxy:
- یک پروکسی محلی (مانند mitmproxy یا Charles Proxy) را روی شبکه Wi-Fi مشترک با گوشی تنظیم کنید.
- گواهی پروکسی را روی دستگاه خود نصب نمایید یا ترافیک را از طریق یک اکسسپوینت با Wireshark پکتکپچر (PCAP) کنید.
- پیامکهای حاوی متنهای مختلف (شخصی، محرمانه و تبلیغاتی) به گوشی ارسال نمایید.
- ترافیک HTTP/HTTPS خروجی از پکیج اپلیکیشن را بررسی کنید: مشاهده خواهید کرد که تنها فراخوانیها مربوط به مسیرهای
/api/v1/sync(دریافت قوانین فیلتر)، بررسی لایسنس و گزارش نسخه بوده و طول Payload درخواستها ثابت و فاقد هرگونه محتوای پیامک است.
۶. مکانیزم بهروزرسانی قوانین (Delta Rule Sync)
همگامسازی اپلیکیشن نو ادز با سرورهای مرکزی به صورت یکطرفه (Pull-only) عمل میکند:
- اپلیکیشن آخرین شناسه نسخه قوانین محلی خود را به سرور اعلام میکند.
- سرور تغییرات الگوهای جدید کلاهبرداری را در قالب یک فایل JSON فشرده به دستگاه ارسال مینماید.
- تمام الگوها و قوانین سرور از طریق کانال امن HTTPS با TLS 1.3 رد و بدل میشوند.
۷. مشارکت و گزارشهای امنیتی
چنانچه سوال فنی، آسیبپذیری احتمالی یا پیشنهادی در خصوص معماری امنیتی نو ادز دارید، مستقیماً از طریق بخش پشتیبانی یا ایمیل اختصاصی امنیت security@noads.ir با تیم فنی ما در تماس باشید.