Man-in-the-Disk روشی جدید برای هک اندروید


این حمله چگونه عمل می کند؟

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

بعضی از برنامه‌های توسعه داده‌شده به دلایل مختلفی از قبیل کم بودن فضای حافظه داخلی و عدم تمایل سازنده برنامه به نمایش استفاده از فضای زیاد، از فضای حافظه داخلی کمتر استفاده می‌کنند.

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

حملات Man-in-the-disk به دو دلیل رخ می‌دهند: هر برنامه‌ای می‌تواند فایل‌های سایر برنامه‌ها در حافظه خارجی را دستکاری کند و تقریبا تمامی برنامه‌ها دسترسی به حافظه خارجی را از کاربر درخواست می‌کنند و کاربران نیز بدون توجه به خطرهای امنیتی، این دسترسی را تایید می‌کنند.

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

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

وجود این آسیب‌پذیری به دلیل عدم رعایت دستورالعمل‌های امنیتی گوگل برای برنامه نویسان است. در این دستورالعمل‌ها موارد زیر ذکر شده‌اند:

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

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

چگونه می توان مقابل این حمله محافظت شد؟

برنامه های خود را تنها از فروشگاه های رسمی همانند Google Play دانلود کنید.
نصب برنامه های کاربردی از منابع ناشناس را در تنظیمات دستگاه های هوشمندی یا تبلت های خود غیر فعال کنید. برای انجام این کار به تنظیمات دستگاه خود مراجعه کنید و در بخش Security گزینه ی Unknown Sources را غیر فعال کنید.

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

می توانید ویدئوهای مربوط به Slava Makkaveev در Defcon 26 را در این صفحه ببینید.

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

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