ارزیابی امنیتی و آزمون نفوذ برنامه کاربردی موبایل
ما با استفاده از متدولوژیهای OWASP MASTG و MASVS، آسیبپذیریهای امنیتی اپلیکیشنهای Android و iOS شامل ذخیرهسازی ناامن داده، رمزنگاری ضعیف، ریسکهای مهندسی معکوس و نقصهای امنیتی خاص پلتفرم را شناسایی و ارزیابی میکنیم.
خدمات ارزیابی امنیتی و آزمون نفوذ برنامه کاربردی موبایل
انتخاب سرویس متناسب با نیاز و پلتفرم سازمان شما
پوشش کامل OWASP Mobile Top 10 (2024)
تستهای ما تمام ده ریسک امنیتی برتر OWASP برای اپلیکیشنهای موبایل را پوشش میدهد
استفاده نادرست از اعتبارنامه
زنجیره تأمین ناکافی
احراز هویت ناامن
ورودی/خروجی ناکافی
ارتباطات ناامن
کنترلهای حریم نامناسب
محافظت باینری ناکافی
پیکربندی نادرست امنیتی
ذخیرهسازی داده ناامن
رمزنگاری ناکافی
چرا امنیت اپلیکیشن موبایل مهم است؟
اپلیکیشنهای موبایل دسترسی مستقیم به دادههای حساس و قابلیتهای دستگاه دارند
اپلیکیشنهای موبایل به دادههای حساس، دوربین، میکروفون و سرویسهای موقعیت دسترسی دارند. یک آسیبپذیری میتواند تمام دادههای کاربر و قابلیتهای دستگاه را افشا کند.
اپلیکیشنهای موبایل میتوانند دیکامپایل شوند تا کلیدهای API، اعتبارنامههای هاردکد و منطق تجاری استخراج شود. مهاجمان میتوانند نسخههای تغییریافته بسازند یا از آسیبپذیریها سوءاستفاده کنند.
کاربران دادههای شخصی و مالی حساس را به اپلیکیشنهای موبایل میسپارند. نقض امنیتی به اعتبار آسیب میزند و مقررات حریم خصوصی مانند GDPR را نقض میکند.
استورها بهطور فزاینده استانداردهای امنیتی را اعمال میکنند. آسیبپذیریهای امنیتی میتوانند منجر به حذف اپلیکیشن شده و بر تداوم کسبوکار تأثیر بگذارند.
پوشش پلتفرمهای موبایل
تستهای تخصصی برای هر دو پلتفرم اصلی موبایل
- تحلیل APK و DEX
- بررسی Root Detection
- تست Certificate Pinning
- ارزیابی Permission System
- تحلیل Shared Preferences
- بررسی Content Provider
- تست Intent Security
- ارزیابی ProGuard/R8
- تحلیل IPA و Mach-O
- بررسی Jailbreak Detection
- تست SSL Pinning
- ارزیابی Keychain Security
- تحلیل Plist و Core Data
- بررسی URL Schemes
- تست App Transport Security
- ارزیابی Code Signing
متدولوژیهای تخصصی موبایل
ما از چارچوبهای معتبر جهانی OWASP برای ارزیابی امنیت اپلیکیشن موبایل استفاده میکنیم
راهنمای جامع تست امنیت اپلیکیشن موبایل (MAS Testing Guide)
برای تست جامع موبایلاستاندارد اعتبارسنجی امنیت اپلیکیشن موبایل (MAS Verification Standard)
برای اعتبارسنجی امنیتیده ریسک برتر امنیتی اپلیکیشن موبایل (۲۰۲۴)
برای شناسایی ریسکهای برترده ریسک برتر API برای ارتباطات موبایل-سرور
برای امنیت API موبایلچه چیزهایی را تست میکنیم؟
پوشش جامع تمام جنبههای امنیتی اپلیکیشن موبایل بر اساس OWASP MASTG
- ذخیرهسازی در SQLite
- Shared Preferences/Keychain
- فایلهای موقت و کش
- بکآپهای اپلیکیشن
- کلیپبورد و لاگها
- الگوریتمهای رمزنگاری
- مدیریت کلید
- Random Number Generation
- Certificate Validation
- TLS Implementation
- Biometric Authentication
- Session Management
- Token Security
- OAuth Implementation
- Access Control
- TLS/SSL Configuration
- Certificate Pinning
- API Security
- WebSocket Security
- Network Traffic Analysis
- IPC Mechanisms
- Deep Links/URL Schemes
- WebView Security
- Custom Permissions
- Broadcast Receivers
- Obfuscation Assessment
- Tampering Detection
- Debugging Protection
- Emulator Detection
- Runtime Integrity
تست روی کدام نسخه و کدام دستگاه انجام شود؟
انتخاب میان اینها تعیین میکند که چه بخشی از برنامه اصلاً دیده شود.
نزدیکترین تصویر به وضعیت واقعی، و تنها راه دیدن اینکه نسخهی منتشرشده چه چیزی لو میدهد. مبهمسازی و pinning سر راهاند، و همین هدف است.
pinning جلوی پراکسی را میگیرد، پس جلوی آزمون هر چیزی را هم که پشت آن است میگیرد. نسخهای با pinning آزاد برای بخشی از کار یعنی ترافیک و API سنجیده میشوند نه خود pinning.
برای اطمینان از اینکه اصلاً بررسیای وجود دارد یا نه، و برای کلیدها و نشانیهایی که بدون قصد کسی سر از نسخهی نهایی درمیآورند.
دامنهی ارزیابی و آنچه از شما لازم است
کیفیت نتیجه بیش از هر چیز به آمادهبودن این چند مورد بستگی دارد.
یک فایل APK یا IPA، با راهی برای نصب بیرون از فروشگاه. برای iOS این یعنی شناسههای دستگاه از پیش، که معمولاً بیشتر از آنچه تیمها تصور میکنند طول میکشد.
جدیترین یافتههای یک برنامهی موبایل معمولاً در API پشت آن است، و کنترل دسترسی میان دو کاربر با یک حساب قابل آزمون نیست.
این را صریح مشخص کنید. ارزیابیای که در مرز خود برنامه متوقف شود، نیمهی کوچکتر مسئله را آزمون کرده است، چون تصمیمهایی که اهمیت دارند روی سرور گرفته میشوند.
آزمون ذخیرهسازی، تابآوری و تعامل با پلتفرم به دستگاه روت یا جیلبریکشده نیاز دارد. شبیهساز بخشی از آن را پوشش میدهد، نه همهاش.
در هر دو طرف یک نفر مسئول ارتباط. کلیدی که داخل نسخهی منتشرشده نوشته شده باشد همان روزی که پیدا شود گزارش میشود، نه در گزارش نهایی.
شدت هر یافته چطور تعیین میشود
عددی که پشتش روشی نباشد، به تصمیمگیری دربارهی ترتیب رفع کمکی نمیکند.
هر یافته با CVSS v3.1 امتیاز میگیرد تا زبان مشترکی با تیم فنی شما و ابزارهایی که از پیش دارید وجود داشته باشد.
ضعفی که به دسترسی فیزیکی به دستگاه قفلنشده نیاز دارد با ضعفی که از راه شبکه کار میکند یکی نیست. هر دو گزارش میشوند، اما در یک رتبه نمینشینند.
هر یافته با مراحل، وضعیت دستگاه و نسخهای که روی آن پیدا شده همراه است. چیزی که بازتولید نشود، بهعنوان یافتهی قطعی گزارش نمیشود.
گزارش ترتیب کار را پیشنهاد میدهد و مشخص میکند کدام موارد به انتشار نسخهی جدید نیاز دارند و کدامها را میتوان روی سرور و بدون انتشار بهروزرسانی رفع کرد.
فرآیند کار ما
رویکرد ساختاریافته ما برای ارزیابی امنیت اپلیکیشن موبایل
ما باینری اپلیکیشن را تحلیل کرده، کد را دیکامپایل میکنیم، اسرار هاردکد را بررسی کرده و آسیبپذیریهای بالقوه را بدون اجرای اپ شناسایی میکنیم.
تحلیل زمان اجرا شامل شنود ترافیک، تست مبتنی بر hook و مانیتورینگ رفتار اپ در زمان واقعی روی دستگاههای واقعی.
تست جامع endpointهای API موبایل برای دور زدن احراز هویت، IDOR، آسیبپذیریهای تزریق و نقصهای منطق تجاری.
گزارش دقیق با امتیازات CVSS، رفع خاص پلتفرم، نمونه کد و تست مجدد رایگان پس از اعمال اصلاحات.
تحویلدادنیهای پروژه
گزارشهای جامع و عملیاتی برای تیمهای فنی و مدیریتی
خلاصه مدیریتی
اینکه چه چیزی تست شد، چه یافته شد، و این یافتهها برای کسبوکار چه معنایی دارد، به زبانی که خوانندهی غیرفنی بتواند بر اساس آن تصمیم بگیرد.
گزارش فنی
هر یافته با امتیاز CVSS v3.1، مراحلی که آن را بازتولید میکند، و نسخه و وضعیت دستگاهی که روی آن دیده شده است.
راهنمای رفع
برای هر یافته یک راهحل مشخص برای همان پلتفرم، و تفکیک اینکه کدام موارد به انتشار نسخهی جدید نیاز دارند و کدامها روی سرور رفع میشوند.
تست مجدد رایگان
پس از رفع، هر یافته دوباره تست میشود و یا بستهشدن آن تأیید میشود یا با توضیح اینکه چه چیزی هنوز کار میکند دوباره باز میشود.
سوالات متداول
برای ارزیابی استاندارد خیر. کار را از روی نسخهی منتشرشده پیش میبریم، چون مهاجم هم همین را دارد. کد منبع وقتی به کار میآید که بخواهیم مطمئن شویم اصلاً بررسیای وجود دارد یا نه، بهجای استنتاج از رفتار، و برای یافتن کلیدها و نشانیهایی که بدون قصد کسی سر از نسخهی نهایی درآوردهاند.
وقتی pinning جلوی پراکسی ما را میگیرد، یعنی کارش را درست انجام میدهد و ما همین را هم آزمون میکنیم. اما تا وقتی برقرار است، هیچ چیزِ پشت آن قابل بررسی نیست: ترافیک، API و تصمیمهای مجوزدهی. پس بخشی از کار روی نسخهای با pinning آزاد انجام میشود و نسخهی منتشرشده جداگانه برای خود pinning آزمون میشود.
تا حدی. شبیهساز برای ترافیک و بخش زیادی از منطق مناسب است. برای رفتار پلتفرم، ذخیرهسازی کلید مبتنی بر سختافزار، و اینکه برنامه روی دستگاه روت یا جیلبریکشده چه میکند کافی نیست، و دقیقاً همین حالت است که کنترلهای تابآوری برای آن وجود دارند.
بهعنوان بخشی از برنامهی شما داخل دامنهاند، چون کاربر شما تفاوتی میانشان نمیبیند. بررسی میکنیم چه چیزی جمع میکنند، به کجا میفرستند، چه مجوزهایی را با خود میآورند، و آیا نسخهشان آنقدر قدیمی هست که مشکلات شناختهشده داشته باشد. آنچه انجام نمیدهیم، آزمون خودِ محصول آن شرکت است.
ما تمام انواع اپلیکیشنهای موبایل را تست میکنیم شامل اپهای نیتیو اندروید (Java/Kotlin)، اپهای نیتیو iOS (Swift/Objective-C)، اپهای کراسپلتفرم (React Native، Flutter، Xamarin)، اپهای هیبرید (Cordova، Ionic) و اپلیکیشنهای وب پیشرونده (PWA). همچنین APIهای بکاند مرتبط و یکپارچهسازیهای خاص موبایل را تست میکنیم.
OWASP Mobile Application Security Testing Guide (MASTG) یک متدولوژی جامع تست امنیت برای اپلیکیشنهای موبایل است. این راهنما موارد تست دقیق برای ذخیرهسازی داده، رمزنگاری، احراز هویت، ارتباطات شبکه، تعامل با پلتفرم و کیفیت کد ارائه میدهد. ما بهصورت سیستماتیک از MASTG پیروی میکنیم تا پوشش کامل تمام جنبههای امنیت موبایل را تضمین کنیم.
MASTG (Mobile Application Security Testing Guide) راهنمای "چگونه تست کنیم" با روشها و تکنیکهای تست دقیق است. MASVS (Mobile Application Security Verification Standard) استاندارد "چه چیزی را اعتبارسنجی کنیم" است که الزامات امنیتی را در سطوح مختلف (L1، L2) تعریف میکند. ما از MASTG برای متدولوژی تست و از MASVS برای اعتبارسنجی امنیتی و انطباق استفاده میکنیم.
بله، ما تیمهای اختصاصی برای تست امنیت هر دو پلتفرم اندروید و iOS داریم. هر پلتفرم ملاحظات امنیتی منحصربهفردی دارد - تست اندروید شامل تحلیل APK، دور زدن تشخیص روت، امنیت Content Provider است، در حالی که تست iOS شامل تحلیل IPA، دور زدن تشخیص جیلبریک، امنیت Keychain و App Transport Security میشود.
زمانبندی به پیچیدگی و دامنه اپلیکیشن بستگی دارد. ارزیابی تکپلتفرم معمولاً ۱-۲ هفته طول میکشد. ارزیابی دو پلتفرم (اندروید + iOS) ۲-۳ هفته نیاز دارد. اپلیکیشنهای پیچیده با APIهای بکاند گسترده ممکن است ۳-۴ هفته نیاز داشته باشند. ما تخمین دامنه و زمانبندی دقیق را در مشاوره اولیه ارائه میدهیم.
ما از ابزارهای پیشرو صنعت استفاده میکنیم شامل Frida برای ابزاربندی دینامیک، Objection برای دستکاری زمان اجرا، MobSF برای تحلیل استاتیک، Burp Suite برای تست API، jadx/Hopper برای دیکامپایل و ابزارهای خاص پلتفرم مانند drozer (اندروید) و class-dump/cycript (iOS). تیم ما همچنین اسکریپتهای سفارشی برای سناریوهای تست خاص توسعه میدهد.
بله، تیم ما در دور زدن مکانیزمهای مختلف ضد دستکاری و تشخیص روت/جیلبریک تجربه دارد. ما اثربخشی این محافظتها را ارزیابی کرده و سعی در دور زدن آنها با تکنیکهایی مانند Frida hooking، patching کد و اسکریپتهای سفارشی داریم. همچنین قدرت obfuscation و اقدامات ضد دیباگ را ارزیابی میکنیم.
شما دریافت میکنید: خلاصه مدیریتی، گزارش فنی با جزئیات آسیبپذیری و امتیازات CVSS، مستندات PoC خاص پلتفرم، راهنمای رفع با نمونه کد خاص پلتفرم، ماتریس ریسک اولویتبندی شده، و نقشهبرداری انطباقی MASVS. به علاوه جلسه توضیح گزارش و تست مجدد رایگان.
بله، ما پکیجهای ارزیابی ترکیبی موبایل + API ارائه میدهیم. اپلیکیشنهای موبایل به شدت به APIهای بکاند وابسته هستند و بسیاری از آسیبپذیریهای بحرانی در لایه API وجود دارند. تست ما احراز هویت، مجوزدهی، IDOR، حملات تزریق، محدودسازی نرخ و نقصهای منطق تجاری در API سرویسدهنده اپ موبایل را پوشش میدهد.
هزینه به عوامل مختلفی بستگی دارد: پلتفرمهای تست شده (اندروید، iOS یا هر دو)، پیچیدگی اپلیکیشن، نیاز به تست API بکاند، سطح تحلیل obfuscation/محافظت و الزامات انطباقی. ارزیابی پایه تکپلتفرم قیمت متفاوتی با تست جامع دو پلتفرم + API دارد. برای مشاوره رایگان و قیمت دقیق با ما تماس بگیرید.