ارزیابی امنیت اندروید (MSTG)
ارزیابی امنیت اپلیکیشن اندروید بر اساس OWASP MSTG
ارزیابی امنیت اپلیکیشن اندروید ما یک بازبینی گستردهی یک اپلیکیشن اندرویدی است که راهنمای OWASP MASVS و همراه آزمونش، یعنی OWASP MASTG، آن را هدایت میکند. اپلیکیشن را از چند زاویه میآزماییم: دادهای که روی دستگاه نگه میدارد (SharedPreferences، پایگاهدادهی SQLite، فایلها و کشها)، شیوهی رمزنگاری داده و نگهداری کلید، اجزایی که در معرض دیگر اپلیکیشنها میگذارد (activityها، serviceها، broadcast receiverها و content providerها) و ارتباط بینفرآیندی که از راه intentها جریان مییابد، امنیت ترافیک شبکه و مدیریت گواهی، و اینکه اپلیکیشن چقدر در برابر مهندسی معکوس و دستکاری مقاومت میکند. یک دستگاه بهآسانی گم، به اشتراک گذاشته یا روت میشود، پس اپلیکیشن باید زمانی هم که پلتفرم پیرامونش قابلاعتماد نیست دوام بیاورد. هر یافته را تا یک اثبات عملی دنبال میکنیم، در کنار اثر واقعیاش با CVSS رتبه میدهیم و همراه با یک رفع مشخص مینویسیم.
چه چیزی شامل میشود
ذخیرهسازی دادهی محلی: SharedPreferences، پایگاهدادهی SQLite، فایلها، حافظهی خارجی، لاگها و کشها
رمزنگاری و مدیریت کلید، از جمله استفاده از Android Keystore
اجزای در معرض بیرون؛ activityها، serviceها، broadcast receiverها و content providerها؛ و مجوزهای آنها
ارتباط بینفرآیندی از راه intentها، deep linkها و pending intentها
احراز هویت، مدیریت session و نگهداری token روی دستگاه
ارتباط شبکه، پیکربندی TLS، و اعتبارسنجی و pinning گواهی
پیکربندی امنیت شبکه، تنظیمات WebView و استفاده از APIهای پلتفرم
مقاومت در برابر مهندسی معکوس و دستکاری: مبهمسازی، تشخیص روت و دیباگر، و بستهبندی مجدد
secretهای سمتکاربر و منطق حساسی که در APK افشا شده است
حریم خصوصی: چه دادهای دستگاه را ترک میکند، بهسوی چه کسی، و با چه رضایتی
چگونه کار میکند
- خلاصهی اجرایی با نمای کلی ریسک برای تصمیمگیرندگان
- گزارش فنی تفصیلی، هر یافته با اثبات مفهوم تکرارپذیر
- یافتهها با نگاشت به دستههای OWASP MASVS
- یافتههای ذخیرهسازی، رمزنگاری و مدیریت کلیدِ ویژهی دستگاه
- یافتههای اجزای در معرض بیرون، ارتباط بینفرآیندی و ارتباط شبکه
- ارزیابی مهندسی معکوس و تابآوری، متناسب با ریسک اپلیکیشن
- شدت CVSS و اثر کسبوکار برای هر یافته
- نقشهی راه رفع با اولویت، و تست مجدد پس از رفع
چرا وادی ایمن حافظ
سوالات متداول
یک بازبینی گستردهی امنیتی از یک اپلیکیشن اندرویدی است که OWASP MASVS و MASTG آن را هدایت میکند. ذخیرهسازی دادهی محلی، رمزنگاری و مدیریت کلید، اجزای در معرض بیرون و ارتباط بینفرآیندی، ارتباط شبکه، استفاده از APIهای پلتفرم، و مقاومت در برابر مهندسی معکوس را پوشش میدهد و هر یافته اثبات و رتبهبندی میشود.
سرویس تأیید MASVS یک اپلیکیشن را در برابر یک سطح اطمینانِ انتخابشدهی MASVS بررسی میکند و پوشش را نسبت به همان استاندارد گزارش میدهد. این ارزیابی، تست عملیِ گستردهی زیرین آن است: اپلیکیشن را در ذخیرهسازی، پلتفرم، شبکه و تابآوری به کار میگیریم تا مسائل واقعی و قابل بهرهبرداری را بیابیم. بسیاری از تیمها نخست این را اجرا میکنند و هنگامی که به گواهی یک سطح نیاز دارند سراغ تأیید میروند.
دستکم یک نسخه از اپلیکیشن که بتوانیم نصب کنیم و حسابهای آزمایشی برای هر نقش کاربری. برای پوشش عمیقتر، کد یا یک نسخهی قابلدیباگ و مستندات بکاند را درخواست میکنیم. پیش از شروع، عمق را (جعبهسیاه، خاکستری یا سفید) توافق میکنیم.
این ارزیابی بر اپلیکیشنِ روی دستگاه و امنیت ارتباط آن تمرکز دارد. اگر میخواهید بکاند API هم در کنار اپلیکیشن بهصورت end-to-end تست شود، ارزیابی ترکیبی موبایل و API ما هر دو و یکپارچگی میانشان را پوشش میدهد.
یک بکاند staging با دادهی نماینده را ترجیح میدهیم تا کاربران و رکوردهای عملیاتی هرگز متأثر نشوند. جایی که تست ناگزیر باید روی محیط عملیاتی اجرا شود، حدود آن را از پیش توافق میکنیم و از هر اقدام مخرب پرهیز میکنیم.
میتواند باشد. یک دستگاه گم، به اشتراک گذاشته، پشتیبانگیری یا روت میشود، و دادهای که رمزنشده نوشته شده (در تنظیمات، پایگاهداده، لاگها یا حافظهی خارجی) برای اپلیکیشنی دیگر یا برای هرکس که دستگاه را در دست دارد خواندنی میشود. بررسی میکنیم چه چیزی ذخیره میشود، آیا لازم است، و آیا محافظت شده است.
هر یافته یک امتیاز CVSS برای یک مبنای مشترک میگیرد که با اثر واقعی در اپلیکیشن شما تعدیل میشود: مهاجم به چه میرسد، چقدر آسان، و چه داده یا حسابی در خطر است. به همین دلیل دو مسئله با CVSS یکسان ممکن است اولویت متفاوت بگیرند.
نه. همان نسخهای را که به ما میدهید تست میکنیم، چه منتشر شده باشد، چه در تست داخلی و چه یک نسخهی نامزد انتشار. تست پیش از انتشار معمولاً زمان بهتری است، چون رفعها پیش از کاربران شما اعمال میشوند.
بله؛ پس از رفع، یافتههای گزارششده را دوباره تست میکنیم تا مطمئن شویم هر رفع پابرجاست. مدت زمان به اندازه و پیچیدگی اپلیکیشن بستگی دارد و پس از دامنهگذاری برآورد دقیق میدهیم.
سرویسهای مرتبط
خدمات تکمیلی که ممکن است برای شما مفید باشند