سرویس آزمون پذیری نرم افزار های کاربردی موبایل با استفاده از یک رویکرد جامع و مبتنی بر ریسک و به منظور شناسایی آسیب پذیری های نرم افزار کاربردی موبایل در تمامی لایه ها در نظر گرفته شده است. این رویکرد دارای 10 بخش کلی و 54 بخش جزئی جهت ارزیابی و تست نفوذ نرم افزار به صورت ایستا و پویا با پیروی از انواع استاندارد ها و Best Practice ها از جمله OWASP MASTG (نسخه 1.6.0) و MASVS (نسخه 2.0) میباشد.
در این رویکرد جهت شناسایی آسیب پذیری های منطقی و پیچیده از ارزیابی های دستی و همچنین به منظور بهبود بخشیدن به نتایج و تسریع در فرایند ارزیابی از ابزار های خودکار استفاده می شود.
-
تعیین محدوده
پیش از اجرای پروژه در جلسه ای با حضور افراد مطلع از سوی کارفرما تلاش میکنیم تا محدوده ی مورد نظر کارفرما جهت اجرای پروژه تست نفوذ را تعیین کرده و موارد زیر را مشخص نماییم.
1. آدرس نرم افزارهایی که برای اجرای پروژه تست نفوذ آماده بوده و میتوان آنها مورد ارزیابی امنیتی و تست نفوذ قرارداد.
2. توافق بر روی بخش هایی از نرم افزار که در محدوده پروژه تست نفوذ و ارزیابی امنیتی مورد بررسی قرار نخواهند گرفت.
3. توافق بر روی مدت زمان و محل اجرای پروژه. -
جمع آوری اطلاعات
اولین قدم در اجرای آزمون نفوذ پذیری، جمع آوری اطلاعات دقیق از اهداف، مطابق با چهارچوب تعیین شده می باشد. در این مرحله اطلاعات مرتبط با نرم افزار کاربردی همچون زبان برنامه نویسی، کتابخانه ها، چهارچوب های مورد استفاده و ... در راستای آزمون نفوذ پذیری هدفمند بررسی و شناسایی می شود.
-
حفظ محرمانگی و ذخیره سازی اطلاعات
در این بخش اقداماتی متعددی جهت بررسی فرایند و محل ذخیره سازی داده صورت می گیرد. این اقدامات عبارتند از:
• بررسی ذخیره سازی اطلاعات کاربری سیستم (مانند اطلاعات کاربری، کلید های رمز نگاری و ...).
• بررسی محل ذخیره سازی محلی/ خارجی و اعتبارسنجی ورودی کاربر جهت استخراج داده های حساس.
• بررسی ثبت وقایع و نسخه پشتیبان جهت جلوگیری از افشای داده های حساس.
• بررسی داده های به اشتراک گذاشته شده با نرم افزار های شخص ثالث.
• بررسی حافظه موقت به منظور جلوگیری از افشای اطلاعات حساس.
• بررسی سیاست های دسترسی امنیتی دستگاه (مانند الزامی بودن تنظیم رمز عبور توسط کاربر و ...)
• بررسی کتابخانه ها و چهارچوب های مورد استفاده در نرم افزار به منظور جلوگیری از ارسال اطلاعات حساس.
علاوه بر موارد مذکور، پیغام هایی که نرم افزار از کاربر درخواست می نماید، مورد بررسی قرار میگیرند. زمانی که یک نرم افزار به اطلاعات شخصی کاربران، جهت بکارگیری آن ها در فرایندها نیاز دارد، می بایست به صورت شفاف دلیل دریافت این اطلاعات و یا مجوزها را به کاربران ارائه دهد. برای بررسی این موضوع دسترسی ها، مجوز ها و پیغام هایی که جهت آگاه سازی کاربران به نمایش در می آید نیز مورد بررسی قرار می گیرند. -
ارزیابی رمزنگاری
استفاده از الگوریتم های نا امن می تواند منجر به نشت اطلاعات حساس شود برای جلوگیری از این امر در این بخش به بررسی و شناسایی رمزنگاری های نا امن، ارزیابی سیاست رمز نگاری، تست و بررسی پیکربندی الگوریتم های رمزنگاری استاندارد، تولید شماره های تصادفی و مدیریت کلیدهای به کار رفته در نرم افزار کاربردی پرداخته خواهد شد.
-
احراز هویت و مدیریت نشست ها
در این بخش روند احراز هویت از همان ابتدا، هنگامی که کاربر وارد ناحیه کاربری خود در نرم افزار شده، هنگام فعالیت با نرم افزار پس از احراز هویت و تا زمان خروج از نرم افزار، مورد بررسی قرار می گیرد که بر روی هر یک از این فرایند ها بررسی هایی همچون رمز های عبور قابل حدس، زمان منقضی شدن نشست، احراز هویت های بیومتریک (مانند اثر انگشت و تشخیص چهره)، مکانیزم های مورد استفاده در احراز هویت، نقش های کاربران، سطح دسترسی آن ها، تایید اطلاعات کاربری و ... صورت می گیرد.
-
درگاه های ارتباطی نرم افزار
جهت بررسی ارتباطات نرم افزار های کاربردی و اطمینان حاصل نمودن از تبادل اطلاعات در بستر امن، در این بخش اقداماتی در راستای دریافت ترافیک نرم افزار کاربردی و ارزیابی رمزگذاری داده ها در لایه شبکه صورت میگیرد. برای این منظور ابتدا نقاط پایانی جهت آزمون نفوذ پذیری شناسایی می شوند و سپس به مواردی همچون بررسی گواهینامه های سفارشی پرداخته می شود.
-
ارتباطات درون برنامه ای
سطوح دسترسی در اندروید به چهار دسته کلی عادی، خطرناک و امضاء سیستم یا امضاء تقسیم بندی می شوند که در هر دسته تعدادی سطح دسترسی وجود دارد. یکی از مواردی که در این بخش به آن پرداخته می شود تست سطوح دسترسی نرم افزار می باشد. علاوه بر بررسی سطح دسترسی ها، موارد زیر نیز بررسی خواهند شد:
• آزمون نفوذ پذیری حملات تزریق
• بررسی افشای اطلاعات از طریق URL Scheme ها
• بررسی غیر فعال بودن جاوااسکریپت در WebView در موارد غیر ضروری
• بررسی افشای اطلاعات از طریق مکانیزم های IPC
• بررسی آسیب پذیری های شناخته شده بر روی WebView -
کیفیت فایل اجرایی در سمت کاربر
ورود اطلاعات توسط کاربران، بخش اجتناب ناپذیر هر نرم افزار می باشد که باید به درستی کنترل و بررسی شوند. آسیب پذیریهای موجود در این بخش می تواند تبعات جبران ناپذیری را برای نرم افزار و یا حتی دیگر کاربران نرم افزار به دنبال داشته باشد. در این بخش تمامی جوانب پیرامون ورودی کاربر در نظر گرفته می شود و اقدامات لازم در راستای بررسی و ارزیابی ورودی کاربر صورت می پذیرد تا از این قبیل آسیب پذیری ها جلوگیری شود. علاوه بر این موارد، در این بخش به بررسی مواردی همچنون (امضاء صحیح نرم افزار کاربردی، قابلیت Debug، مدیریت خطاها، ضعف امنیتی در کتابخانه ها، کد های مدیریت نشده، اشکالات حافظه موقت و ...) پرداخته خواهد شد.
-
مهندسی معکوس
در آزمون نفوذ پذیری نرم افزار های کاربردی موبایل، این بخش به دلایلی مختلفی همچون مشاهده کدهای نرمافزار، اطلاعات ارزشمند موجود در کدها، دستکاری و تغییر نرم افزار، از اهمیت بالایی برخوردار است. علاوه بر انجام مهندسی معکوس، تلاش می شود تا در این بخش اقدامات و تکنیک هایی همچون جلوگیری از نصب نرمافزار بر روی محیط های ناامن و مخرب، شناسایی Root بودن دستگاه، شناسایی Anti-Debug، بررسی اصالت فایل، ابزارهای شناسایی مهندسی معکوس، شناسایی شبیه ساز و ... که به منظور جلوگیری از مهندسی اجتماعی در نرم افزار پیاده سازی شده اند، مورد بررسی قرار گیرند.
-
جمع بندی و گزارش نویسی
در شرکت راسپیانت پارس، این بخش از اهمیت بسیار بالایی برخوردار است و سعی بر این شده این بخش به صورت جدی و با اهمیت در نظر گرفته شود تا تمامی مراحل انجام کار به همراه تجربیات بدست آمده توسط تیم فنی و همچنین نتایج و یافته های حاصل از انجام سرویس آزمون پذیری در یک گزارش علمی به همراه بیان دلایل و نمایش علمی به صورت صحیح و دقیق، در قالب گزارش هایی بر اساس استاندارد OWASP و با فرمت مورد توافق در اختیار کارفرما قرار گیرد.
به منظور ارائه بهترین خدمات به مشتری، متخصصان راسپینا نت پارس پس از تحویل گزارشات تست نفوذ، سعی می کنند با ارائه راهکارهای کارآمد در رفع مشکلات امنیتی کشف شده به مشتریان خود کمک کنند.
-
بررسی مجدد (اختیاری)
هدف راسپینا نت پارس از ارائه سرویس آزمون نفوذ پذیری نرم افزارهای کاربردی کمک به حل ضعف های امنیتی می باشد. به همین منظور فرایند ارزیابی و تست نفوذ دوباره پس از ارائه گزارشات و رفع آن ها تا 90 روز پس از تحویل گزارش نهایی بدون پرداخت هیچ گونه هزینه اضافی انجام می شود.