ارزیابی امنیت 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ِ موردنیاز اپلیکیشن، با توافق در دامنه
چگونه کار میکند
- خلاصهی اجرایی با نمای کلی ریسک برای تصمیمگیرندگان
- گزارش فنی تفصیلی، هر یافته با اثبات مفهوم تکرارپذیر
- نگاشت یافتهها به گروههای کنترلی OWASP MASVS
- شدت CVSS و اثر کسبوکار برای هر یافته
- خلاصهی پوشش در برابر سطوح تأیید MASVS
- راهنمای سختسازی iOS در حوزههای ذخیرهسازی، رمزنگاری، شبکه و پلتفرم
- نقشهی راه رفع با اولویت و گامهای مشخص
- تست مجدد پس از رفع
چرا وادی ایمن حافظ
سوالات متداول
ارزیابی امنیت iOS، یک اپلیکیشن iOS را برای ضعفهای امنیتی میسنجد: ذخیرهسازی ناامن، رمزنگاری ضعیف، احراز هویت و بیومتریک معیوب، حفاظت ضعیف شبکه، تعاملهای ناایمن پلتفرم و تابآوری کم؛ در برابر OWASP MASVS و راهنمای آزمون آن، MASTG، و هر یافته اثبات و رتبهبندی میشود.
MASVS استانداردِ OWASP دربارهی آن است که یک اپلیکیشن موبایل امن باید چه کند، دستهبندیشده در حوزههای کنترلی و سطوح تأیید. MASTG راهنمای آزمونی است که نشان میدهد چگونه آن کنترلها را تأیید کنیم؛ همان چیزی است که پیشتر MSTG نامیده میشد. ما در برابر MASVS ارزیابی میکنیم و با MASTG تست میکنیم.
iOS برای رازها Keychain و کلاسهای Data Protection را دارد که رمزگذاری فایل را به بازبودنِ قفل دستگاه گره میزنند. بررسی میکنیم که دادهی حساس درست از آنها استفاده کند و جای دیگری نشت نکند — در plist، لاگ، pasteboard، تصویر صفحه یا پشتیبانِ رمزنشده — که همان جایی است که افشای دادهی موبایل بیشتر رخ میدهد.
پرسش این است که آیا بیومتریک چیز واقعیای را کنترل میکند یا فقط یک بررسی در رابط کاربری است. اگر درست انجام شود، بیومتریکِ موفق کلیدی را که در Secure Enclave نگه داشته شده باز میکند؛ اگر بد انجام شود، اپلیکیشن فقط یک اعلان نشان میدهد و با بازگشتِ موفقیت ادامه میدهد، که ابزارگذاری زمان اجرا میتواند آن را دور بزند. میسنجیم کدامیک است و آیا کنشهای حساس روی سرور هم اعمال میشوند.
این دفاع در عمق است، نه جایگزین کنترلهای دیگر. تشخیص jailbreak، ضدِ دستکاری و ضدِ اشکالزدایی تلاشِ لازم برای مهاجم را بالا میبرند، اما مهاجم مصمم میتواند دورشان بزند؛ پس باید روی ذخیرهسازی، رمزنگاری و مجوزدهی سمت سرورِ درست بنشینند، نه جایگزینشان شوند. میسنجیم که تابآوری چقدر دوام میآورد و مهمتر، پس از دور زدن آن چه چیزی در معرض قرار میگیرد.
اپلیکیشن به شکل IPA یا نسخهی TestFlight، حسابهای آزمایشی برای هر نقش، و توافق بر اینکه آیا backend و APIها در دامنه هستند. دسترسی به کد منبع (کار جعبهسفید یا جعبهخاکستری) بازبینی را عمیقتر و سریعتر میکند، اما میتوانیم از خودِ اپلیکیشن کامپایلشده هم تست کنیم. پیش از شروع، دامنه را توافق میکنیم.
هر یافته یک امتیاز CVSS برای یک مبنای مشترک میگیرد که با اثر واقعی در بافت شما تعدیل میشود: چه داده یا کنشی را افشا میکند و آیا به دستگاه jailbreakشده یا دسترسی فیزیکی نیاز دارد. به همین دلیل یک شکاف سختسازی و یک نقصِ افشای داده با CVSS یکسان ممکن است اولویت متفاوت بگیرند.
بله. پس از رفع، یافتههای گزارششده را دوباره تست میکنیم تا مطمئن شویم هر رفع پابرجاست و مسئلهی تازهای ایجاد نکرده، و وضعیت آنها را در گزارش بهروز میکنیم.
به اندازهی اپلیکیشن، ویژگیهایی که به کار میبرد و اینکه آیا backend در دامنه است بستگی دارد؛ یک ارزیابی معمول حدود دو تا چهار هفته طول میکشد. پس از دامنهگذاری برآورد دقیق میدهیم.
سرویسهای مرتبط
خدمات تکمیلی که ممکن است برای شما مفید باشند