راستش رو بخوای، جدیداً یه تحقیق توسط تیم Zimperium انجام شده که نشون میده این روزا مهمترین جایی که هکرها میزنن بهش، همین اپلیکیشنهای موبایل هست، بهخصوص با APIها سر و کار دارن. حالا API چیه؟ مثلاً همون ارتباطهایی که برنامه با سرور یا سرویس دیگه برقرار میکنه تا کار کنه، مثل وقتی یه اپ هواشناسی اطلاعات میگیره، یا وایبر مسیجاتتو میفرسته.
اولین نکته جالب این تحقیق اینجاست که تقریباً از هر ۳ اپ اندروید، یکیش اطلاعات حساس کاربر رو میتونه لو بده. جالبترش اینه که اپهای آیفون (iOS) حتی بیشتر گاف میدن! یعنی نصفشون (یا حتی بیشتر از نصف) این مشکلو دارن و میتونن اطلاعات حساس رو به راحتی در خطر بذارن.
چرا باید مهم باشه؟ خب طبق همین گزارش، از هر هزار تلفن موبایل، سهتاش همین حالا آلوده به بدافزار هست و وحشتناکتر اینکه رو اندروید، از هر ۵ تا گوشی، یکی یه بار با بدافزار واقعی مواجه شده. خب هکرها وقتی دستگاه آلوده باشه، خیلی راحت میتونن از طریق همین باگها اطلاعات حیاتی سازمانها یا حتی اطلاعات شخصی رو بدزدن.
مشکل اصلی اینجاست که بر خلاف برنامههای وب که تو کامپیوتر سرورای امن کار میکنن، اپلیکیشنهای موبایل خودشون کد و ارتباط با API رو در داخل گوشی کاربر نگه میدارن، یعنی جایی که راحت قابل دسترسی و دستکاریه. هکرها خیلی راحت میتونن این ترافیک رو شنود (intercept) کنن، کد برنامه رو تغییر بدن و حتی API رو طوری صدا بزنن که همه چی legit و قانونی به نظر بیاد!
از این بدتر اینکه دژهای دفاعی سنتی – مثلاً فایروال (یعنی دیواره آتیش که جلوی حملات میگیره)، گیتوی و پراکسی – نمیتونن تهدیدات درون برنامهای رو بگیرن. حتی پروسههایی مثل “اعتبارسنجی کلید API” کافی نیست. طبق حرفای مدیر محصول Zimperium، حفاظت جدی وقتی رخ میده که داخل خود اپلیکیشن راهکار امنیتی بذاری، وگرنه بیرونش بیفایدهست.
تا اینجا گفتیم، حالا بدیهای مدیریت داده در اپلیکیشنها: بعضی از اپها اطلاعات حساس (PII) رو رو کنسول لاگینگ (جایی که برنامهنویسا واسه دیباگ خروجی میگیرن) یا حتی حافظه قابل دسترس برای سایر اپها ذخیره میکنن! مثلاً 6٪ از تاپترین 100 اپ اندرویدی اطلاعات شخصی رو تو لاگ مینویسن و ۴ درصدشونم همونو تو حافظهای میریزن که بقیه اپها هم میتونن بهش دسترسی داشته باشن! تازه ذخیرهسازی محلی (local) هم اگه گوشی بیفته دست هکر، عملاً فاجعه میشه.
یکی دیگه از مشکلات اینه که نزدیک به یک سوم کل اپها (و برای تاپترینها حتی بیشتر!) اطلاعات شخصی رو میفرستن رو سرورای بیرون، اونم خیلی وقتا بدون رمزگذاری! یعنی اگه کسی وسط اینترنت باشه، میتونه این اطلاعات رو بخونه.
یه نکته دیگه که باید بدونی اینه که بعضی از اپها، مخصوصاً اونایی که از SDKهای شخص ثالث استفاده میکنن، کارای عجیبی میکنن: زیرپوستی اطلاعاتتو میفرستن، حرکاتتو ضبط میکنن، یا لوکیشن جیپیاستو میفرستن بیرون! بله، حتی اپهایی که از خود اپاستور میگیریم میتونن ریسک داشته باشن.
خب حالا سؤال: چیکار کنیم که گیج نشیم و تا حدی امن بمونیم؟ این کارها رو میشه انجام داد:
- اپها رو چک کن که اطلاعات حساس رو لاگ نکنن یا جای اشتباه ذخیره نکنن.
- مطمئن شو ذخیرهسازی محلی رمزی شده باشه و اپهای دیگه بهش دسترسی نداشته باشن.
- ترافیک شبکه اپ رو زیر نظر داشته باش (مثلاً با برنامههای ابزار امنیتی) تا مبادا اطلاعاتت بیمحافظ بره بیرون.
- اگه اپ مشکوک به استفاده از SDK یا کتابخونههای خاصی هست، اون بخشها رو پاک یا غیر فعال کن.
- دسترسیهایی که اپها میگیرن رو همیشه یه دور بازنگری کن. هر چی اضافه گرفتن یا مشکوک بود، نده!
- رفتار کلی اپ رو هر چند وقت یه بار بررسی کن، مخصوصاً آپدیتهاش که شاید آسیبپذیری بیاره.
- راهکارهایی مثل کد افاسکیت (Obfuscation یعنی گنگ کردن کد جلوی هکر)، محافظت موقع اجرا، و اعتبارسنجی دقیق هر API call به کار ببند.
- همیشه یه برنامه امنیتی خوب نصب کن که بتونه ضدبدافزار و حتی ضد باجافزار (Ransomware همون بدافزاری که اطلاعاتتو قفل میکنه و پول میخواد) هم باشه.
در نهایت، دنیای موبایلها اونقدرا هم امن نیست که فکر میکردیم. حتی اپهای رسمی اپاستور و گوگلپلی هم ممکنه اشکال امنیتی جدی داشته باشن. پس همیشه مراقب باش و اپتو همینطوری نصب و استفاده نکن، یه نگاه بررسی هم بنداز که اطلاعاتت همینطوری لو نره!
اگه دنبال بهترین ابزارای امنیت نقطه پایانی یا بهترین مدیر رمزعبور هم هستی، پیشنهاد میکنم یه سر به لیستی که سایتها توصیه کردن بزنی – اینا واقعاً به کارت میان تا فقط اپلیکیشنها نه، کل موبایلت امنتر بمونه.
منبع: +