ارزیابی امنیت iOS (MSTG)

ارزیابی امنیت اپلیکیشن iOS بر اساس OWASP MSTG

درباره این سرویس

ارزیابی امنیت iOS، یک اپلیکیشن iOS را در برابر استاندارد OWASP MASVS و راهنمای آزمون آن، MASTG (نام پیشین: MSTG)، می‌سنجد. گروه‌های کنترلی MASVS را دنبال می‌کنیم — ذخیره‌سازی، رمزنگاری، احراز هویت، شبکه، تعامل با پلتفرم، کیفیت کد و تاب‌آوری — با همان وزنِ خاصِ iOS که اهمیت دارد: Keychain و Data Protection، Secure Enclave و Face ID/Touch ID، App Transport Security و سنجاق‌کردن گواهی، ارتباط بین‌فرایندی از راه URL scheme و universal link، و تاب‌آوری در برابر jailbreak و دستکاری. تحلیل ایستای اپلیکیشن را با تحلیل پویا روی دستگاه ترکیب می‌کنیم، هر یافته را تا اثبات عملی دنبال می‌کنیم و شدت آن را با CVSS در کنار اثر واقعی بر کسب‌وکار تعیین می‌کنیم.

چه چیزی شامل می‌شود

ذخیره‌سازی محلی: Keychain، کلاس‌های Data Protection و نشت راز به plist، لاگ، pasteboard یا پشتیبان

رمزنگاری: استفاده از Secure Enclave، مدیریت کلید و نبود کلید ثابت یا الگوریتم ضعیف

احراز هویت و بیومتریک: Face ID/Touch ID گره‌خورده به Secure Enclave و اعمالِ محلی در برابر سمت سرور

شبکه: App Transport Security، پیکربندی TLS و سنجاق‌کردن گواهی

تعامل با پلتفرم: URL scheme، universal link، ارتباط بین‌فرایندی، WebView و افشای pasteboard

کیفیت کد: کتابخانه‌های شخص ثالث قدیمی و مؤلفه‌های دارای آسیب‌پذیری شناخته‌شده

تاب‌آوری: تشخیص jailbreak، ضدِ دستکاری و ضدِ اشکال‌زدایی و این‌که واقعاً چقدر دوام می‌آورند

تحلیل ایستای IPA و تحلیل پویا روی دستگاه (ابزارگذاری زمان اجرا)

سطحِ backend و APIِ موردنیاز اپلیکیشن، با توافق در دامنه

چگونه کار می‌کند

1
دامنه‌گذاری و کشف اپلیکیشن
محدوده و معیار موفقیت را توافق می‌کنیم، سپس اپلیکیشن را نقشه‌برداری می‌کنیم: معماری، داده‌ای که ذخیره می‌کند، ویژگی‌های پلتفرمی که به کار می‌برد و backendی که با آن گفت‌وگو می‌کند. IPA (یا دسترسی TestFlight) و حساب‌های آزمایشی برای نقش‌های مختلف را می‌خواهیم.
2
تحلیل ایستا
IPA و منابع آن را برای رازهای ثابت، ذخیره‌سازی ناامن، رمزنگاری ضعیف، App Transport Securityِ نادرست، URL schemeهای درمعرض و کتابخانه‌های شخص ثالث آسیب‌پذیر بررسی می‌کنیم — گروه‌های ذخیره‌سازی، رمزنگاری، شبکه و کدِ MASVS.
3
تست پویا و زمان اجرا
روی دستگاه، اپلیکیشن را در حال اجرا می‌بینیم: چه چیزی در حافظه، pasteboard و لاگ می‌نویسد؛ بیومتریک و نشست را چگونه اعمال می‌کند؛ آیا TLS و سنجاق‌کردن دوام می‌آورند؛ و تاب‌آوریِ jailbreak و ضدِ دستکاری و ضدِ اشکال‌زدایی‌اش در برابر ابزارگذاری زمان اجرا چقدر مقاومت می‌کند.
4
اعتبارسنجی و تحلیل اثر
هر یافته با یک اثبات مفهوم تکرارپذیر تأیید می‌شود، به کنترل MASVS خود نگاشت می‌شود و با CVSS و اثر واقعی کسب‌وکار رتبه می‌گیرد؛ تا یک شکاف سخت‌سازی با نقصی که داده‌ی کاربر را افشا می‌کند اشتباه گرفته نشود.
5
گزارش‌دهی و تست مجدد
گزارشی دریافت می‌کنید که هم مدیر و هم مهندس می‌توانند بر اساس آن اقدام کنند، با نگاشت به MASVS و مسیر رفع اولویت‌دار. پس از رفع، یافته‌ها را دوباره تست می‌کنیم تا مطمئن شویم رفع‌ها پابرجا هستند و چیز تازه‌ای باز نکرده‌اند.
خروجی‌ها
  • خلاصه‌ی اجرایی با نمای کلی ریسک برای تصمیم‌گیرندگان
  • گزارش فنی تفصیلی، هر یافته با اثبات مفهوم تکرارپذیر
  • نگاشت یافته‌ها به گروه‌های کنترلی OWASP MASVS
  • شدت CVSS و اثر کسب‌وکار برای هر یافته
  • خلاصه‌ی پوشش در برابر سطوح تأیید MASVS
  • راهنمای سخت‌سازی iOS در حوزه‌های ذخیره‌سازی، رمزنگاری، شبکه و پلتفرم
  • نقشه‌ی راه رفع با اولویت و گام‌های مشخص
  • تست مجدد پس از رفع

چرا وادی ایمن حافظ

متدولوژی MASVS/MASTG
تست ساختاریافته بر پایه‌ی گروه‌های کنترلی OWASP MASVS و راهنمای آزمون آن، تا پوشش هر حوزه‌ی امنیت iOS روشن و قابل بررسی باشد، نه فرض‌شده.
عمق پلتفرم iOS
درک عمیق و به‌روز از امنیت iOS: Keychain و Data Protection، Secure Enclave و بیومتریک، و تعامل‌های پلتفرمی که اسکنرهای عمومی آن‌ها را مدل نمی‌کنند.
ایستا و پویا
تحلیل ایستای IPA را با تست پویا روی دستگاه ترکیب می‌کنیم، چون ضعف‌های ذخیره‌سازی، بیومتریک و تاب‌آوری تنها هنگام اجرای اپلیکیشن آشکار می‌شوند.
یافته‌های قابل اجرا و اولویت‌دار
راهنمایی روشن و اولویت‌بندی‌شده بر پایه‌ی ریسک، با اثبات مفهوم تکرارپذیر و گام‌های عملی رفع برای هر یافته.

سوالات متداول

ارزیابی امنیت iOS چیست؟

ارزیابی امنیت iOS، یک اپلیکیشن iOS را برای ضعف‌های امنیتی می‌سنجد: ذخیره‌سازی ناامن، رمزنگاری ضعیف، احراز هویت و بیومتریک معیوب، حفاظت ضعیف شبکه، تعامل‌های ناایمن پلتفرم و تاب‌آوری کم؛ در برابر OWASP MASVS و راهنمای آزمون آن، MASTG، و هر یافته اثبات و رتبه‌بندی می‌شود.

تفاوت MASVS، MASTG و MSTGِ قدیمی چیست؟

MASVS استانداردِ OWASP درباره‌ی آن است که یک اپلیکیشن موبایل امن باید چه کند، دسته‌بندی‌شده در حوزه‌های کنترلی و سطوح تأیید. MASTG راهنمای آزمونی است که نشان می‌دهد چگونه آن کنترل‌ها را تأیید کنیم؛ همان چیزی است که پیش‌تر MSTG نامیده می‌شد. ما در برابر MASVS ارزیابی می‌کنیم و با MASTG تست می‌کنیم.

داده روی iOS چگونه محافظت می‌شود و شما چه چیزی را بررسی می‌کنید؟

iOS برای رازها Keychain و کلاس‌های Data Protection را دارد که رمزگذاری فایل را به بازبودنِ قفل دستگاه گره می‌زنند. بررسی می‌کنیم که داده‌ی حساس درست از آن‌ها استفاده کند و جای دیگری نشت نکند — در plist، لاگ، pasteboard، تصویر صفحه یا پشتیبانِ رمزنشده — که همان جایی است که افشای داده‌ی موبایل بیشتر رخ می‌دهد.

Face ID و Touch ID را چگونه تست می‌کنید؟

پرسش این است که آیا بیومتریک چیز واقعی‌ای را کنترل می‌کند یا فقط یک بررسی در رابط کاربری است. اگر درست انجام شود، بیومتریکِ موفق کلیدی را که در Secure Enclave نگه داشته شده باز می‌کند؛ اگر بد انجام شود، اپلیکیشن فقط یک اعلان نشان می‌دهد و با بازگشتِ موفقیت ادامه می‌دهد، که ابزارگذاری زمان اجرا می‌تواند آن را دور بزند. می‌سنجیم کدام‌یک است و آیا کنش‌های حساس روی سرور هم اعمال می‌شوند.

آیا تشخیص jailbreak یک کنترل امنیتی واقعی است؟

این دفاع در عمق است، نه جایگزین کنترل‌های دیگر. تشخیص jailbreak، ضدِ دستکاری و ضدِ اشکال‌زدایی تلاشِ لازم برای مهاجم را بالا می‌برند، اما مهاجم مصمم می‌تواند دورشان بزند؛ پس باید روی ذخیره‌سازی، رمزنگاری و مجوزدهی سمت سرورِ درست بنشینند، نه جایگزینشان شوند. می‌سنجیم که تاب‌آوری چقدر دوام می‌آورد و مهم‌تر، پس از دور زدن آن چه چیزی در معرض قرار می‌گیرد.

برای شروع چه چیزی از ما لازم داریم؟

اپلیکیشن به شکل IPA یا نسخه‌ی TestFlight، حساب‌های آزمایشی برای هر نقش، و توافق بر این‌که آیا backend و APIها در دامنه هستند. دسترسی به کد منبع (کار جعبه‌سفید یا جعبه‌خاکستری) بازبینی را عمیق‌تر و سریع‌تر می‌کند، اما می‌توانیم از خودِ اپلیکیشن کامپایل‌شده هم تست کنیم. پیش از شروع، دامنه را توافق می‌کنیم.

شدت یافته‌ها چگونه تعیین می‌شود؟

هر یافته یک امتیاز CVSS برای یک مبنای مشترک می‌گیرد که با اثر واقعی در بافت شما تعدیل می‌شود: چه داده یا کنشی را افشا می‌کند و آیا به دستگاه jailbreakشده یا دسترسی فیزیکی نیاز دارد. به همین دلیل یک شکاف سخت‌سازی و یک نقصِ افشای داده با CVSS یکسان ممکن است اولویت متفاوت بگیرند.

آیا تست مجدد پس از رفع انجام می‌شود؟

بله. پس از رفع، یافته‌های گزارش‌شده را دوباره تست می‌کنیم تا مطمئن شویم هر رفع پابرجاست و مسئله‌ی تازه‌ای ایجاد نکرده، و وضعیت آن‌ها را در گزارش به‌روز می‌کنیم.

ارزیابی امنیت iOS چقدر طول می‌کشد؟

به اندازه‌ی اپلیکیشن، ویژگی‌هایی که به کار می‌برد و این‌که آیا backend در دامنه است بستگی دارد؛ یک ارزیابی معمول حدود دو تا چهار هفته طول می‌کشد. پس از دامنه‌گذاری برآورد دقیق می‌دهیم.

آماده شروع هستید؟
با تیم ما تماس بگیرید تا در مورد نیازهای ارزیابی امنیتی شما صحبت کنیم