مقالات امنیت سایبری

آیا با تست نفوذ می توان از امنیت برنامه‌های کاربردی مطمئن شد؟

امروزه بیش از 80 درصد از کسب‌وکارها برای اجرای کارهای روزمره و برقراری ارتباطات فوری به برنامه‌های کاربردی که قابلیت نصب بر روی گوشی‌های تلفن همراه هوشمند دارند، متکی هستند. اجرای سخنرانی‌ها به صورت آنلاین و انجام کارهای بانکی از جمله اقداماتی هستند که امکان انجام آنها از طریق برنامه‌های کاربردی وجود دارد.

اگرچه برنامه‌های کاربردی تلفن همراه، بسیار کاربرپسند بوده و کار با آنها راحت است اما معمولاً ناامن بوده و ممکن است سازمان شما را در معرض مخاطرات امنیتی متعددی قرار دهند. بنابراین شما به عنوان مدیر یا کارشناس امنیت سازمان، پیش از استفاده از یک برنامه کاربردی باید بررسی نمایید که آیا آن برنامه مراحل امن‌سازی را سپری کرده است یا خیر؟

بر اساس مطالعات انجام شده، وجود ضعف امنیتی در برنامه‌های کاربردی (که در بیش از 70 درصد از برنامه ها وجود دارد)، مشکلی اساسی برای ذخیره داده‌ها، اطلاعات ورودی، داده‌های شخصی و مالی کارمندان سازمان‌ها محسوب می شود. برنامه‌های کاربردی تلفن همراه برخلاف وب سایت ها و برنامه‌های کاربردی تحت وب، چالش‌های امنیتی متفاوتی دارند که از طریق «تست نفوذ» یا «هک اخلاقی» می توان آنها را شناسایی کرد. با این وجود بسیاری از کارشناسان توجه لازم را به این موضوع ندارند.

در این مطلب از فراست، مواردی را به شما معرفی می‌کنیم که به فرایند تست نفوذ برنامه‌های کاربردی، آن هم به روشی سازمان دهی شده کمک می‌کنند.

 

تست نفوذ: روش، فرایندها و ابزارها

1. تعیین هدف

قبل از انجام تست نفوذ بر روی برنامه‌های کاربردی ابتدا باید نوع آن برنامه، API و سروری که میزبان API است را مشخص کنید. سپس باید ارتباطات شبکه و تناقض‌هایی را که در رابطه با بحث صدور مجوزهای دسترسی وجود دارند، بررسی نمایید. مثلاً شما باید مشخص کنید آیا برنامه کاربردی مورد نظر، درخواست مجوزهای دسترسی اضافه‌ای دارد که امکان سوءاستفاده از آنها برای اهداف مخرب وجود داشته باشد یا خیر؟

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

 

2. تحلیل تهدید

هنگامی که مشکلات مرسوم را شناسایی کرده و مقدمات لازم را برای اجرای تست نفوذ فراهم کردید باید به دنبال یک تحلیل جامع‌تر از تهدیدات باشید. این تحلیل شامل بررسی معماری برنامه کاربردی، بررسی منابع برنامه کاربردی، تحلیل تعامل‌های شخص ثالث و غیره است. برای انجام این کار باید از یک نرم‌افزار تست نفوذ مخصوص یک پلتفرم یا مناسب برای تمامی پلتفرم‌ها استفاده کنید.

“Appie” یا “Android Tamer” از جمله ابزارهای تست نفوذ برای سیستم عامل اندروید هستند. “MobSF” نیز یکی از ابزارهای تست نفوذ است که هم برای اندروید و هم iOS از آن استفاده می شود. Quick Android Review Kit (QARK) نیز یک ابزار خیلی خوب دیگر است که توسط شبکه اجتماعی لینکداین طراحی شده و به صورت پیوسته مورد بررسی و اصلاح قرار می‌گیرد.

 

3. ارزیابی آسیب پذیری

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

 

4. تست شبکه

یکی از متداول‌ترین تهدیدات در دنیای امنیت برنامه‌های کاربردی تلفن‌های همراه، حملات شبکه هستند که باید به صورت کامل مورد بررسی قرار گیرند. این حملات زمانی اجرا می‌شوند که داده‌ها بین سرور و کلاینت در جریان باشند زیرا امکان از دست رفتن یا شنود آنها وجود دارد.

شما می‌توانید با استفاده از پروکسی حمله روز صفر (ZAP[1]) که یکی از ابزارهای تست نفوذ کد منبع باز است، چنین مشکلاتی را بررسی کنید. هنگام انجام این کار مطمئن شوید احراز هویت از طریق پروتکل SSL انجام می‌شود و نه HTTP که امکان تحلیل و تفسیر آن به راحتی توسط نفوذگران وجود دارد.

 

5. استفاده از آسیب‌پذیری‌های مرتبط با سرور

سروری که برنامه کاربردی تلفن همراه بر روی آن میزبانی می‌شود احتمال دارد دارای آسیب‌پذیری‌هایی باشد که ابزار تست نفوذ می بایست آنها را شناسایی نماید. اگر این آسیب‌پذیری‌ها کشف و برطرف نشوند ممکن است داده های تبادلی بین سرور و کلاینت ها افشا شود. با استفاده از ابزارهای نقشه برداری از شبکه مثل Nmap، Angry IP Scanner، SolarWinds Port Scanner، Wireless Network Watcher و غیره می توانید آسیب پذیری ها را شناسایی کنید.

این ابزارها به شما امکان می‌دهند دستگاه‌های متصل به شبکه، پورت‌های باز و سایر اطلاعات آنها را شناسایی نمایید. در نتیجه خواهید توانست حملاتی مثل حمله مرد میانی، بررسی بسته‌های شبکه و غیره را اجرا کنید.

 

6. حمله به کد منبع برنامه

مهاجمان معمولاً برای سرقت داده‌ها یا دسترسی غیرمجاز به آنها کد منبع برنامه‌های کاربردی تلفن همراه را دستکاری می‌کنند. تزریق SQL یکی از متداول‌ترین حملاتی است که شامل جایگذاری بدافزار در داده‌های ورودی به پایگاه داده می‌باشد. در این حمله، داده‌های مخرب توسط مهاجم به پایگاه های اطلاعاتی تزریق شده و در نهایت به کد اجرایی تبدیل می‌شوند. بنابراین یک ابزار تست نفوذ باید بررسی کند که در کدهای باینری برنامه‌های کاربردی تغییری ایجاد نشده باشد.

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

 

7. بررسی رمزنگاری

برنامه‌های کاربردی تلفن همراه معمولاً از الگوریتم‌های رمزنگاری قدیمی یا الگوریتم‌هایی که چندان قوی نیستند برای رمزنگاری داده‌ها استفاده می‌کنند. باید مطمئن شوید که برنامه‌های کاربردی تلفن همراه از الگوریتم‌هایی مثل MD4، MD5، SHA-1، BLOWFISH، DES، 3DES، RC2 و RC4 که کارایی زیادی ندارند، استفاده نمی‌کنند. این الگوریتم‌ها نمی توانند امنیت داده‌های در حال تبادل را بین کلاینت و سرور فراهم کنند.

کارشناسان امنیتی توصیه می‌کنند برای رمزنگاری داده‌های برنامه‌های کاربردی تلفن‌های همراه از الگوریتم‌هایی مثل SHA-2 یا استاندارد رمزنگاری پیشرفته (AES[1]) 256 بیتی استفاده شود. لازم به ذکر است این الگوریتم‌ها باید به شیوه اصولی، نصب و پیکربندی شوند تا بالاترین اثربخشی را داشته باشند.

 

8. گزارش دهی

در مرحله آخر، حملات اجرا شده و آسیب‌پذیری‌هایی که شناسایی کرده اید باید ثبت شوند. این مرحله شامل خلاصه‌ای از فرایند شناسایی، ابزارهای مورد استفاده، اکسپلویت‌های مورد استفاده و همچنین نتایج یافته‌های شما است. در نهایت نیز باید راهکارهایی برای حل مشکلات امنیتی پیشنهاد شوند که امنیت برنامه کاربردی را افزایش دهند.

 

نکات نهایی

امکان وجود آسیب‌پذیری حتی در برنامه‌های کاربردی گوشی‌های هوشمند که در فروشگاه های محبوبی مثل پلی استور[2] میزبانی می‌شوند هم وجود دارد. این موضوع فقط مختص برنامه‌های کاربردی مخصوص سرگرمی و بازی نیست. تقریباً همه برنامه‌های کاربردی از جمله بانکداری، برنامه‌های مالی، برنامه‌های خرید آنلاین و برنامه‌های کاربردی ویژه خرید و بازی نیز ممکن است دارای آسیب‌پذیری‌هایی باشند که کاربران تلفن‌های همراه باید به آنها دقت کافی را داشته باشند.

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

 

[1] Advanced Encryption Standard

[2] Play Store

[1] Zed Attack Proxy

نوشته های مشابه

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

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا
سبد خرید
  • هیچ محصولی در سبدخرید نیست.
ورود | ثبت نام
شماره موبایل یا پست الکترونیک خود را وارد کنید
برگشت
کد تایید را وارد کنید
کد تایید برای شماره موبایل شما ارسال گردید
ارسال مجدد کد تا دیگر
برگشت
رمز عبور را وارد کنید
رمز عبور حساب کاربری خود را وارد کنید
برگشت
رمز عبور را وارد کنید
رمز عبور حساب کاربری خود را وارد کنید
برگشت
درخواست بازیابی رمز عبور
لطفاً پست الکترونیک یا موبایل خود را وارد نمایید
برگشت
کد تایید را وارد کنید
کد تایید برای شماره موبایل شما ارسال گردید
ارسال مجدد کد تا دیگر
ایمیل بازیابی ارسال شد!
لطفاً به صندوق الکترونیکی خود مراجعه کرده و بر روی لینک ارسال شده کلیک نمایید.
تغییر رمز عبور
یک رمز عبور برای اکانت خود تنظیم کنید
تغییر رمز با موفقیت انجام شد
0