هشدار برای دارندگان گوشی‌های هوشمند! ۴۰% برنامه‌های اندروید و iOS در مقابل هک آسیب‌پذیر هستند

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

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


بله کاملاً درست شنیدید!
برنامه‌هایی که ما استفاده می‌کنیم خیلی بیشتر از آنچه که تصور می‌کنیم خطرناک هستند. بیش از یک سوم برنامه‎های اندروید و iOS دارای آسیب‌پذیری‌های خطرناک بوده و احتمالاً تعدادی از آن‌ها داده‌های شخصی ما را در معرض خطر افشاء قرار می‌دهند.
اگر این اطلاعات تنها اطلاعات مربوط به پروفایل ما باشد مشکلی نیست، اما اگر این برنامه‌ها داده‌های شخصی ما _مانند عکس‌ها و فیلم‌های شخصی_ را افشاء کنند دیگر به سادگی نمی‌توان از کنار آن‌ها عبور کرد.
فکر نمی‌کنم هیچ‌کس دوست داشته باشد اطلاعات شخصی خود را با دیگران به اشتراک بگذارد.


بیایید بررسی مختصری در این زمینه داشته باشیم:
آخرین آسیب‌پذیری‌های موجود در برنامه‌های تلفن همراه
سال گذشته، بیش از ۲۰۵ میلیارد برنامه تلفن همراه دانلود شدند، از آنجا که ما حدود ۵۷% زمان خود را صرف کار با تلفن همراه و تبلت و ... می‌کنیم، پیش‌بینی می‌شود این تعداد تا سال ۲۰۲۲ به بیش از ۲۵۰ میلیارد برسد.
آیا می‌توانید آنچه را دیروز در PDA خود مرور کردید به خاطر آورید؟
این برنامه‌ها می‌توانند اپلیکیشن‌های پیام‌رسان، بانکداری آنلاین، مدیریت حساب موبایل، عملیات تجاری، یا حساب‌های کاربری مربوط به رسانه‌های اجتماعی باشند.
به گفته‌ی محققی از شرکت Juniper، تعداد کاربرانی که از برنامه‌های بانکی استفاده می‌کنند به دو میلیارد رسیده‌اند_ حدود ۴۰% از جمعیت بزرگسال جهان!
ما می‌دانیم که چگونه توسعه‌دهندگان با زحمت به طراحی یک نرم‌افزار توجه می‌کنند تا یک برنامه‌ی خوب را در اختیار ما قرار دهند، ما نیز با خوشحالی برنامه را نصب کرده و اطلاعات شخصی خود را در اختیار برنامه قرار می‌دهیم، اما به ندرت به پیامدهای امنیتی آن فکر می‌کنیم.
کارشناسان امنیتی مرتباً برنامه‌های مختلف موبایل را مورد تجزیه و تحلیل قرار می‌دهند (معمولاً پرکاربردترین برنامه‌ها)، در اینجا به برخی از آخرین یافته‌های ارزیابی امنیتی محققان در برنامه‌های اندروید و iOS اشاره می‌کنیم.
طبق یافته‌ها، ۳۸ درصد از برنامه‌های iOS و ۴۳ درصد از برنامه‌های اندروید دارای آسیب‌پذیری‌های با شدت High هستند.
در اکثر موارد، ضعف در مکانیزم‌های امنیتی موجب ایجاد آسیب‌پذیری می‌گردند (۷۴% در برنامه‌های iOS، 57% در برنامه‌های اندروید و ۴۲% در مؤلفه‌های سمت سرور)، مانند آسیب‌پذیری‌هایی که در طراحی، رفع باگ و یا در مرحله کدگذاری وجود دارند.
مهم‌ترین مسئله در اینجا، ذخیره ناامن داده‌هاست _که در ۷۶ درصد از اپلیکیشن‌های موبایل یافت شده است. اطلاعات مالی، گذرواژه‌ها، داده‎‌های شخصی و مکاتبات در معرض خطر هستند.
هکرها به ندرت به دسترسی فیزیکی برای دستیابی به داده‌های شما نیاز دارند، حدود ۸۹ درصد از آسیب‌پذیری‌ها توسط بدافزار و از راه دور قابل اکسپلویت هستند.
بسیاری از حملات به خاطر بی توجهی ما رخ می‌دهند. ارتقاء سطح دسترسی یا نرم‌افزار sideloaded به آن‌ها کمک می‌کند تا راه صحیح را برای حمله پیدا کنند.
باید بدانید که هم برای کاربران و هم برای توسعه‌دهندگان تهدیدات سایبری به یک اندازه خطرساز هستند، یعنی برای برقراری امنیت اپلیکیشن‌های iOS و اندروید، حفاظت سمت سرور و سمت کلاینت هر دو لازم است.
بنابراین برای جلوگیری از حملات چه کاری می‌توان انجام داد؟ چگونه می‌توان هر دو سمت (کلاینت و سرور) را محافظت نمود؟
باید بگوییم که این خطرات با افزایش آگاهی، آموزش و اقدامات پیشگیرانه کاهش می‌یابد.


توصیه‌هایی جهت جلوگیری از حملات سایبری مبتنی بر اپلیکیشن، برای اندورید و iOS
توصیه برای توسعه‌دهندگان اندروید
•    از LocalBroadcastManager برای ارسال و دریافت پیام‌ها استفاده کنید.
م    اگر برنامه داده‌های حساسی مانند اطلاعات مالی را دریافت می‌کند یا یک صفحه کلید سفارشی را پیاده‌سازی می‌کند، اطمینان حاصل کنید که برنامه به اندازه کافی ایمن باشد تا از حملاتی که صفحه کلید سیستم را دستکاری می‌کنند جلوگیری شود.
•    غیرفعال نمودن قابلیت پشتیبان‌گیری برنامه، با قرار دادن مقدار false برای “android:allowBackup”

توصیه برای توسعه‌دهندگان iOS
•    اگر برای تعامل بین مؤلفه‌ها باید از لینک استفاده کنید، به سمت لینک‌های جهانی بروید.
•    به منظور غیرفعال نمودن صفحه کلیدهای شخص ثالث در داخل برنامهف متد “shouldAllowExtensionPointIdentifier” را در UIApplicationDelegate برنامه پیاده کنید.


اقداماتی برای هر دو پلتفرم (اندروید و iOS)
•    دستگاه‌های مدرن از بیومرتیک (Touch یا Face ID) در برنامه‌ها استفاده می‎‌کنند. در این موارد پین کد در دستگاه ذخیره می‌شود. حافظه داخلی (داده‌های حساس) فقط باید در دایرکتوری‌های خاص و با رمزگذاری وجود داشته باشند. iOS دارای Keychain و اندروید دارای Keystore می‌باشد.
•    از یک تصویر پس‌زمینه خاص برای پوشش داده‌های حساس روی صفحه استفاده کنید.
•    TRACE با استفاده از فلگ httpOnly می‌تواند برای دور زدن محافظت کوکی مورد استفاده قرار گرفته و مدیریت درخواست‌های TRACE را غیرفعال نماید.
•    محدودیت در تلاش برای احراز هویت باید هم بر روی سرور اعمال گردد و هم سمت کلاینت.
•    داده‌های ورودی توسط کاربر را بر روی سرور فیلتر نمایید. برای مقابله با کاراکترهای ویژه از کدگذاری HTML استفاده نمایید.
•    مدت زمان Session باید محدود باشد. Session ID باید هم از سمت سرور و هم از سمت کلاینت پاک شود. سرور باید برای هر بار احراز هویت یک Session جدید ایجاد نماید.
•    کارشناسان توصیه می‌کنند که برای برقراری ارتباط امن میان سرور و کلاینت از گواهینامه استفاده شود. این گواهینامه مستقیماً در کد برنامه قرار داده شده و می‌تواند مانع حملات MITM ‪(Man-In-The-Middle)‬ شود.


توصیه‌هایی برای کاربران
•    به فروشگاه‌های برنامه ناشناس اعتماد نکنید. برنامه‌های مشکوک (مانند نسخه‌های کرک شده یا رایگان برنامه‌های پولی) اغلب حاوی کدهای مخرب هستند.
•    تلفن همراه خود را برای شارژ به ایستگاه‌های شارژ نامعتبر و یا رایانه‌های شخصی افراد ناشناس متصل نکنید.
•    نسخه‌های مدرن سیستم‌عامل‌های موبایل از کاربر برای تأیید اعتبار سؤال می‌کنند. اگر از امنیت سیستمی که می‌خواهید به آن متصل شوید مطمئن نیستید هرگز آن را تأیید نکنید.
•    از باز کردن لینک موجود در پیام‌ها و چت‌های افراد ناشناس اجتناب کنید. حتی اگر شخصی را که به شما برنامه‌ای را پیشنهاد می‌دهد می‌شناسید باز هم هوشیارانه عمل کنید.
•    سیستم‌عامل و برنامه‌های خود را به محض انتشار بروزرسانی برای آن‌ها، به روز نمایید.
•    از ارتقاء سطح دسترسی اجتناب کنید، فراموش نکنید که روت کردن یا jailbreaking نمودن دستگاه مکانیزم‌های امنیتی را غیرفعال نموده و دسترسی به سیستم‌فایل‌های دستگاه را باز می‌کند.
•    پین کد شما باید یک عدد تصادفی باشد (یک عبارت نه یک کلمه). از تاریخ تولد، شماره تلفن و یا شماره شناسایی استفاده نکنید. اگر دستگاه شما بیومتریک را پشتیبانی می‌کند (اثرانگشت، تشخیص چهره یا تشخیص صدا) بهتر است از آن استفاده کنید.
•    موقع نصب برنامه‌ها هوشیار باشید، اگر تقاضای دسترسی به چیزی دارند که به نظر شما غیرمنطقی است هرگز این دسترسی‌ها را اعطا نکنید.


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

منبع خبر: https://gbhackers.com/ios-android-apps-vulnerable/‎