نمونه سوالات مصاحبه تست نفوذ برنامه های موبایل

پیشرفت در حوزه امنیت به دانش، تخصص و تجربه نیاز دارد. به طور خاص، آشنایی با ابزارهای امنیتی مختلف در زمینه‌های مختلف از اهمیت ویژه‌ای برخوردار است. به عنوان یک متخصص امنیت، مسلط بودن به عملکرد و کاربرد ابزارهای مورد استفاده در پروژه‌های مختلف بسیار ضروری است. لیستی از ابزارهایی که من استفاده می‌کنم به شرح زیر است:

شخصی که روی ابزارها فقط تخصص دارد هکر نیست.

ابزارهای دیگری هستند که ممکن است جایگزین برخی از این ابزارها شوند.

بعضی ابزارها بعد از مدتی دیگر آپدیت نمی شوند و امکان وجود دارد که دیگر کار نکنند و یا حتی False positive بدهند

من به تفکیک ابزارهایی که در پروژه ها از آن استفاده می کنم و همچنین در مصاحبه ها استخدامی سوال می شود جدا کرده ام

 

به صورت کلی تست نفوذ موبایل شامل تست بر روی برنامه های (APK(Android Application Package و

(IPA(iOS App Store Package می باشد. فرآیند تست نفوذ برنامه های APK و IPA تقریبا شبیه هم هستند ولی تفاوت هایی ما بین آن ها وجود دارد.

مراحل تست نفوذ در برنامه های موبایل شامل 9 مرحله می باشد.

 

  1. Information Gathering
  2. Threat Modeling
  3. Static Analysis
  4. Dynamic Analysis
  5. Reverse Engineering
  6. Security Assessment
  7. Code Review
  8. Vulnerability Exploitation
  9. Reporting

 

برخی از ابزارهای تست نفوذ اپلیکیشن های موبایل Android & iOS

  1. Frida
  2. APKTool
  3. MobSF
  4. Mobexler
  5. AndroBugs Framework
  6. QARK
  7. Drozer
  8. Objection
  9. Xposed
  10. Cydia Substrate
  11. Needle
  12. MobileIron Analyzer
  13. iNalyzer
  14. MobSFuzz
  15. ObiWan
  16.  AppMon
  17. Cycript
  18. Dex2Jar

دسترسی به جواب ها :

https://github.com/soheilsec/mobile-App-Pentest-Interview

سوالات تست نفوذ موبایل سطح متوسط:

  1. تست نفوذ اپلیکیشن موبایل تعریف کنید.
  2. محدوده در تست نفوذ برنامه های موبایل به چه صورت است؟
  3. تفاوت اصلی بین تست نفوذ اپلیکیشن اندروید و iOS چیست؟
  4. فرآیند تحلیل استاتیک در تست امنیت اپلیکیشن موبایل را توضیح دهید.
  5. مراحل مربوط به تجزیه و تحلیل پویا برای برنامه های تلفن همراه را شرح دهید.

    6.حمله مردی در میان یا MITM چیست و چگونه می توانید از آن در برنامه های تلفن همراه جلوگیری کنید؟

  1. چگونه آسیب پذیری های امنیتی در اپلیکیشن های موبایل را شناسایی و ارزیابی می کنید؟
  2. OWASP Mobile Top 10 چیست و چرا برای امنیت اپلیکیشن موبایل مهم است؟
  3. مکانیسم های احراز هویت و مجوز یک برنامه موبایل چیست ؟
  4. تحلیل باینری  binary analysis در فرآیند تست نفوذ  توضیح دهید.
  5. اهمیت ssl pinning  در امنیت برنامه های موبایل چیست؟
  6. چگونه ذخیره ناامن داده  یا insecure data storage را در برنامه های موبایل آزمایش می کنید؟
  7. مراحلی که برای روش های جلوگیری مهندسی معکوس یا Reverse engineering تست می کنید را نام ببرید.
  8. چالش های امنیتی رایج در API های اپلیکیشن موبایل چیست و چگونه آنها را آزمایش می کنید؟
  9. چگونه می توانید حملات دستکاری یا manipulation  زمان اجرا را در برنامه های موبایل شناسایی و از آن جلوگیری کنید؟
  10. معمولا از چه ابزارهایی برای تست نفوذ اپلیکیشن موبایل استفاده می کنید؟
  11. آیا می توانید سناریویی را توضیح دهید که در آن با یک مشکل امنیتی چالش برانگیز برنامه تلفن همراه مواجه شده اید و چگونه آن را حل کرده اید؟
  12. بهترین روش ها برای کدنویسی امن برنامه های موبایل چیست؟
  13. مشکل های امنیتی مرتبط با کتابخانه های شخص ثالث  یا third party در برنامه های موبایل را چگونه ارزیابی می کنید؟
  14. آیا می توانید روند گزارش نویسی  برنامه های موبایل را شرح دهید.

سوالات تست نفوذ موبایل سطح حرفه ای:

 

  1. به‌عنوان یک سنیور تست نفوذ موبایل روش تست نفوذ برنامه های پیچیده موبایل را چگونه مدیریت می کنید؟
  2. آیا می توانید یک سناریوی واقعی را توضیح دهید که در آن با یک مشکل امنیتی منحصر به فرد یا غیر معمول در یک برنامه تلفن همراه مواجه شده اید، و چگونه با آن مقابله کرده اید؟
  3. چگونه از آخرین روند ها، ابزارها و تکنیک‌ها تست نفوذ برنامه‌های موبایل مطلع می‌شوید؟
  4. تجربه خود را در انجام ارزیابی‌های امنیتی برای برنامه‌های تلفن همراه که بر اساس فناوری‌های جدید ساخته شده‌اند، مانند اینترنت اشیا یا بلاک چین، شرح دهید.
  5. شرایطی را که در آن یک تیم توسعه از رفع آسیب پذیری امنیتی مهم به دلیل محدودیت زمانی امتناع می ورزد، چگونه مدیریت می کنید؟
  6. آیا می‌توانید چالش‌های مرتبط با انجام تست نفوذ در یک برنامه موبایل را که شامل API توضیح دهید؟
  7. برای ارزیابی امنیت اپلیکیشن موبایلی که داده های حساس را در فضای ابری ذخیره می کند چه اقداماتی انجام می دهید؟
  8. به عنوان یک کارشناس ارشد امنیت اپلیکیشن موبایل، چگونه بین استفاده از ابزار و تست دستی تعادل برقرار می کنید؟
  9. مراحلی را که برای انجام بازبینی امنیتی کد منبع یک برنامه موبایل در مقیاس بزرگ انجام می دهید، شرح دهید.
  10. چگونه آسیب پذیری هایی که کشف کردید در طول پروژه برای مدیران پرزنت می کنید؟
  11. طبق تجربه شما، رایج ترین مشکل  هنگام توسعه برنامه های موبایل در محیط DevOps چیست و چگونه آنها را برطرف می کنید؟
  12. آیا می توانید در مورد تجربه خود در انجام Red Team برای یک برنامه تلفن همراه، از جمله استراتژی ها و تکنیک هایی که به کار گرفته اید صحبت کنید؟
  13. چگونه می‌توانید Threat modeling را در رویکرد تست نفوذ اپلیکیشن موبایل خود بگنجانید؟
  14. فرایندی را که برای اطمینان از انطباق با مقررات مربوط به حفاظت از داده ها در طول ارزیابی امنیتی برنامه تلفن همراه دنبال می کنید، شرح دهید.
  15. آیا می توانید توضیح دهید که چگونه امنیت برنامه های موبایل  را که از روش های احراز هویت بیومتریک استفاده می کنند، ارزیابی می کنید؟
  16. به نظر شما، بیشترین جنبه های امنیتی که در طول توسعه اپلیکیشن موبایل نادیده گرفته شده اند، چیست و چگونه در ارزیابی های خود بر آنها تاکید می کنید؟
  17. موقعیتی را توصیف کنید که در آن با یک تکنیک obfuscation بسیار پیچیده در طول ارزیابی برنامه تلفن همراه مواجه شده اید و چگونه با موفقیت آن را دور زده اید.
  18. خطرات امنیتی مرتبط با SDK ها و کتابخانه های third party مورد استفاده در برنامه های تلفن همراه را چگونه ارزیابی می کنید؟
  19. آیا می‌توانید تجربه خود را در آزمایش امنیت برنامه‌های تلفن همراه در چندین پلتفرم (مانند Android، iOS، cross platform frameworks) به اشتراک بگذارید؟
  20. به عنوان یک کارشناس ارشد، چه توصیه ای به تسترهای امنیتی اپلیکیشن موبایل می دهید تا مهارت های خود را بهبود بخشند و در نقش خود موثرتر شوند؟