راهنمای تست امنیت موبایل

در این مقاله به تشریح عناوین زیر می پردازیم.

  1. انگیزه ایجاد راهنمای کاربری تست امنیت موبایل
  2. چشم انداز تهدیدات فعلی تلفن همراه

    چالش ها

  3. راهنمای تست امنیت موبایل (MSTG)
  4. بررسی اجمالی

    جمع آوری اطلاعات، مدلسازی تهدید و تجزیه و تحلیل آسیب پذیری در موارد خاص

    ابزارها و نمونه ها

  5. خلاصه

چشم انداز تهدید برنامه موبایل

راهنمای تست امنیت موبایل

مستقل از موقعیت مکانی (تلفن همراه).

"همیشه آنلاین" و قابل ردیابی است.

مورد استفاده - دستگاه ها برای استفاده شخصی ساخته شده اند .

تمرکز بر عملکرد و طراحی به جای امنیت.

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

افزایش چشمگیر نرم افزارهای مخرب تلفن همراه

موارد پنهانی برای برنامه های رایگان.

وضعیت تست امنیت موبایل

برنامه های موبایل برخی از ویژگی های خاص را در مورد تست نفوذ دارند.

دستورالعمل های سفارشی شده در دسترس نیست.

سیستم پیام، تصمیم به توسعه دستورالعمل (MSTG) با دانشگاه علوم کاربردی مونیخ را گرفتند.

دستورالعمل های مشابه منتشر شده توسط: OWASP تست امنیت موبایل OWASP

چالش ها تست امنیت موبایل

شناسایی تفاوت ها با تست نفوذ معمول

پیش شرط های انعطاف پذیر

امنیت برنامه به امنیت دستگاه (jailbreak ، پلت فرم های مختلف، نسخه ها، رابط ها، MDM، و غیره) بستگی دارد.

مهاجمان مختلف (دسترسی داخلی، خارجی، دسترسی به شبکه یا دستگاه، جعبه سفید/ سیاه، و غیره)

نتیجه: فرایند کلی (اجباری) و حمایت از ابزارها و شیوه ها (اختیاری)

نمای تست امنیت موبایل

راهنمای تست امنیت موبایل

جمع آوری اطلاعات

سعی کنید تا آنجا که ممکن است، اطلاعات مربوط به برنامه را دریافت کنید.

این امر شامل دو نوع تجزیه و تحلیل است

راهنمای تست امنیت موبایل

تفاوت با فرایند عادی تست

تمرکز عمده برروی بخش معماری / فنی

بدون در نظر گرفتن شرایط خاص تلفن همراه

تحلیل محیط

تمرکز برروی شرکت تولید کننده‌ی برنامه و کسب و کارشان و سهامداران مربوطه

تجزیه و تحلیل فرآیندهای داخلی و ساختارها

تجزیه و تحلیل معماری

برنامه (رابط های شبکه، داده های مورد استفاده، ارتباط با سایر منابع، مدیریت session ، تشخیص jailbreak/ rooting، ...)

محیط زمان اجرا (MDM، jailbreak/ rooting ، نسخه os )

خدمات Backend (سرور برنامه، پایگاه داده، فایروال، ...)

مثالی از جمع آوری اطلاعات در تست امنیت موبایل

نمونه هایی از جمع آوری اطلاعات از تحلیل معماری برای برنامه CRM

برنامه

Session کاربر تا زمانی که بصورت دستی log offکند، باقی می ماند.

شامل معاملات مالی نمی شود.

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

عملیات را برروی اطلاعات سمت سرور CRM جهت ایجاد، خواندن، به روز رسانی، حذف مخاطبین، تماس ها و غیره فراهم سازد.

تجزیه و تحلیل محتوا در زمان اجرا مناسب نیست چراکه برنامه توسط تستر بر روی یک دستگاه درحال اجرا می باشد.

سرویس های پشتیبان

جزئیات در مورد نسخه سرویس در حال اجرای CRM

مدل سازی تهدید

شناسایی تهدید ها برای برنامه - تهدیدات خاص یا امکان وجود آن مانند OWASP top 10

باید در مرحله توسعه انجام شود

نرخ ریسک برای مثال با نرخ ریسک OWASP

توسعه اقدامات متقابل برای مثال توسط تجربه و راهنمایی توسعه دهندگان

تفاوت‌های فرآیندی

بیشتر فرآیندهای تست نرم افزاری شامل مدل سازی تهدید نیستند

مدل سازی تهدید فرآیند را بطور قابل ردیابی و کارآمد برای همه کامل می‌کند

راهنمای تست امنیت موبایل

مثالی از مدل سازی تهدید

مثال مدل سازی تهدید برای برنامه CRM

اطلاعات حاصل از جمع آوری

برنامه انجام عملیات در اطلاعات CRM در سمت سرور را فراهم می کند

تهدید خاص

خواندن غیر مجاز از داده های CRM در ترافیک شبکه در هنگام برقراری ارتباط با backend CRM

در رابطه با اقدامات متقابل

اجرای حفاظت از لایه transport امن (مانند SSL، TLS)

مربوط به مورد آزمون

سعی کنید ترافیک شبکه را بین نرم افزار CRM و backend گرفته و بخوانید

تجزیه و تحلیل آسیب پذیری

شناسایی آسیب پذیری ها در برنامه با موارد آزمون قبلی

اجرای موارد آزمون با تکنیک های سه دسته مختلف

راهنمای تست امنیت موبایل

تفاوت با فرایند عادی تست

اکثر فرایندهای تست نرم افزار شامل روشهای تست نیست

روش های استاتیک

مهندسی معکوس

تجزیه و تحلیل کد منبع به صورت خودکار و دستی

گشت و گذار: ابزار برای روش های استاتیک

مهندسی معکوس

اندروید: dex2jar, JD-GUI

iOS: otool, class-dump-z

تجزیه و تحلیل کد منبع اتوماتیک و دستی

اندروید: Androwarn, Andrubis, ApkAnalyser

iOS: Flawfinder, Clang Static Analyzer

روش های پویا

نظارت و تجزیه و تحلیل شبکه passive

تجزیه و تحلیل ترافیک شبکه در مکان های مختلف شبکه (در دستگاه، دروازه و یا در VPN خود)

ضبط کردن و دستکاری شبکه فعال (وای فای و تلفن همراه)

مسائل

برنامه های بومی همیشه از تنظیمات پروکسی دستگاه استفاده نمی کنند.

اتصالات SSL رمزگذاری شده.

راه حل‌ها

برنامه های ویژه ای که از تنظیمات پروکسی دستگاه استفاده می کنند یا اتصالات رمزگذاری شده SSL را قطع می کنند (عمدتا برای دستگاه‌های jailbroken یا rooted )

تجزیه و تحلیل زمان اجرا

با تجزیه و تحلیل روند ارتباطات برای اجزای داخلی( اندروید: Intents و: iOS=objc_msg ارسال تماس)

دستکاری زمان اجرا

فراخوانی یا دستکاری توابع خاص

خواندن و نوشتن مقادیر متغیر

تجزیه و تحلیل فعالیت فایل(file activity)

تحلیل تغییرات سیستم فایل در طول زمان اجرا

مثالی از روش های پویا (مثال برنامه CRM)

تجزیه و تحلیل ترافیک شبکه، استفاده از HTTP و ارسال داده های کاربر حساس بدون رمزگذاری (شناسه session، نام کاربری و رمز عبور) را نشان می دهد.

ابزارها: Wireshark, BurpSuite, …

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

ابزارهای iOS: اشکال زدایی GNU، Snoop-it، Cycript، ...

ابزار آندروید: Mercury، Intent Sniffer، Intent Fuzzer، ...

تجزیه و تحلیل فعالیت نشان می دهد که اعتبار کاربری (نام کاربری و رمز عبور) در Keychain iOS ذخیره می شود و از آن استفاده می شود.

ابزارهایfilemon.iOS: iOS ، Snoop-it

ابزارهای android Audit Tools : Android

روش های قانونی

تجزیه و تحلیل TimeLine

تجزیه و تحلیل timestamps ایجاد شده از سیستم فایل

تجزیه و تحلیل انواع فایل های مختلف

پایگاههای SQLite

فایل های log

cookie ها

تصاویر صفحه نمایش (iOS)

حافظه صفحه کلید (iOS)

تنظیمات اشتراکی (آندروید)

Keychain (iOS)

روش های قانونی - مثال برنامه CRM

تجزیه و تحلیل Time Line نشان می دهد که برنامه در طول زمان اجرا چندین فایل را به روز رسانی می‌کند (فایل plist* و پایگاه داده)

ابزارها: mac-robber، mactime

تجزیه و تحلیل فایل های شناسایی و انواع فایل های استاندارد نشان می دهد که اعتبار کاربر بصورت متن ساده در keychain iOS ذخیره می شود.

ابزارها: Keychain Dumper، viewer Keychain، ...

خلاصه:

راهنمای تست امنیتی موبایل:

ویژگی های تلفن همراه را در نظر می گیرد، اما مستقل از فناوری است.

به بهبود چابکی و تکرارپذیری تست نفوذ موبایل کمک می کند.

یک رویکرد جامع با انعطاف پذیری کافی است.

و در نهایت به بهبود امنیت برنامه تلفن همراه کمک می کند.




شرکت مهندس پیشگان آزمون افزار یاس، ابزارهای پیشرفته زیر را در حوزه تست امنیت موبایل ارائه می دهد:

Jtest

Checkmarx

WebInspect


نویسنده : شرکت مهندس پیشگان آزمون افزار یاس


مراجع

[1]-Security Testing Guidelines for mobile Apps, Florian Stahl and Johannes Ströher

نوشتن دیدگاه

تصویر امنیتی
تصویر امنیتی جدید