سایت ترند میکرو اخیراً متوجه وجود نقایص امنیتی مختلفی در نرمافزار محبوب ShareIt شده که تا امروز بیش از 1 میلیارد بار از پلی استور دانلود شده و به گفته App Annie از نظر تعداد دفعات دانلود در سال 2019 یکی از 10 اپلیکیشن برتر جهان محسوب میشود. این اپلیکیشن ابتدا توسط شرکت لنوو طراحی شده بود و برای مدتی روی گوشیهای این شرکت به صورت از پیش نصب شده وجود داشت.
بر اساس این گزارش جدید امکان سوء استفاده از آسیب پذیریهای ShareIt برای افشای دادههای حساس کاربران و اجرای کدهای مخرب با مجوزهای ShareIt وجود دارد و مجوزهای دسترسی ShareIt به عنوان یک اپلیکیشن به اشتراک گذاری فایل به صورت محلی بیش از حد زیاد هستند. طبق اطلاعات مجوزهای دسترسی در پلی استور، ShareIt مجوز دسترسی به کل فایلها و حافظه گوشی، دوربین و میکروفون و موقعیت جغرافیایی کاربر را درخواست میکند. ShareIt میتواند اپلیکیشنها را حذف کند، هنگام روشن شدن گوشی اجرا شود، اکانت بسازد، پسورد تنظیم کند و کارهای مختلف دیگری انجام دهد. بعلاوه ShareIt امکان دسترسی کامل به شبکه را هم دارد. به گفته سایت ترند میکرو، به خطر افتادن این اپ میتواند منجر به اجرای کد از راه دور شود. این شرکت امنیتی اعلام کرده که این آسیب پذیریها را حدود 3 ماه پیش به ShareIt اعلام کرده اما هنوز این کمپانی پچی برای رفع این آسیب پذیریها منتشر نکرده است.
موفقیت بسیار چشمگیر ShareIt و دانلود آن توسط 1 میلیارد کاربر اندرویدی و 1.8 میلیارد کاربر (مک، ویندوز و iOS) در سطح جهان باعث شده این اپلیکیشن به یک «نفخ افزار» تبدیل شود. ShareIt یکی از بهترین اپلیکیشنها برای به اشتراک گذاری فایل به صورت محلی محسوب میشود اما حالا اطلاعات این اپلیکیشن در پلی استور نشان میدهد که این اپلیکیشن حاوی “ویدیوهای آنلاین بی پایان”، “دهها میلیون موزیک باکیفیت”، “گیف، استیکر و والپیپر” و یک رسانه محبوب است که شبیه به یک شبکه اجتماعی به نظر میرسد. فروشگاه بازی، بخش مخصوص دانلود فیلم، قابلیت بررسی فعالیتها برای تشخیص کووید 19 و آمار مبتلایان و قربانیان این بیماری همگی جزء امکانات پلتفرم ShareIt هستند. وبسایت ShareIt (که این سایت هم مثل خود اپلیکیشن ShareIt در حالت پیش فرض از پروتکل امن HTTPS استفاده نمیکند) تبدیل به یک پلتفرم توزیع محتوا شده که در آسیای جنوبی و جنوب شرقی، خاورمیانه، آفریقا و روسیه محبوبیت زیادی دارد.
وقتی حافظه خصوصی دستگاه دیگر خصوصی نیست!
در گزارش سایت ترند میکرو فهرستی از تصمیم گیریهای بد در طراحی ShareIt تهیه شده که میتوانند آسیب پذیری این اپلیکیشن در برابر کدهای مخرب را بیشتر کنند. یکی از مشکلات ShareIt جزء یکی از آسیب پذیریهای متداول در اپلیکیشنهای اندروید است و وقتی ایجاد میشود که طراح اپلیکیشن «ارائه دهنده محتوا» را نادرست تنظیم میکند. حامیان اندروید این اکوسیستم را یک ابزار ارتباطی بین اپلیکیشنی میدانند چون هر اپلیکیشنی میتواند یک “ارائه دهنده محتوا” ایجاد کند و سرویسها و محتوای خودش را در اختیار سایر اپلیکیشنها قرار دهد. اگر جیمیل، قصد پیوست کردن فایلی به یک ایمیل را داشته باشد، میتواند این کار را با نمایش فهرست ارائه دهندگان محتوای فایل روی گوشی نمایش دهد (که در اصل یک دیالوگ باکس از نوع Open with است) و کاربر میتواند فایل منیجر مورد نظرش را انتخاب کند، سپس حافظه گوشی را بررسی کرده و فایل مورد نظر را برای جیمیل ارسال کند. پاکسازی و حفظ امنیت این قابلیتهای بین اپلیکیشنی وظیفه توسعه دهندگان است و باید فقط قابلیتهای لازم را برای مدیریت فایل در اختیار جیمیل و سایر اپلیکیشنها قرار دهند.
به نظر نمیرسد که ShareIt برای حفظ امنیت این قابلیتها کار زیادی انجام داده باشد. طبق این گزارش: “توسعه دهنده این اپلیکیشن صفت exported را با فرمان android:exported=”false” غیرفعال کرده اما صفت android:grantUriPermissions=”true” را فعال کرده. این نشان میدهد که هر موجودیت واسطی امکان دسترسی خواندن/نوشتن موقت به دادههای ارائه کننده محتوا را دارد.” واگذاری بعضی از مجوزها کار عادی است اما ترندمیکرو متوجه شده که ShareIt به هیچ وجه سعی نمیکند مجوزهای دسترسی خودش را محدود کند و همه فایلهای خودش را در اختیار اپلیکیشنهایی قرار میدهد که آنها را درخواست کنند. کافیست یک برنامه نویس مخرب ارائه دهنده محتوای فایل در ShareIt را فراخوانی کند و مسیر فایل دلخواهش را به آن ارسال کند تا به همه فایلهایی که در دایرکتوری “private” این اپلیکیشن وجود دارند دسترسی پیدا کند.
مسیرهای فایلی که ShareIt ایجاد میکند به فایلهای خود این اپلیکیشن محدود هستند اما این تنظیمات باعث میشوند که اپلیکیشنها بتوانند دادههای مورد استفاده ShareIt برای اجرا را ویرایش کنند از جمله کش اپلیکیشن که حین فرایند نصب و در حال اجرا ایجاد میشود. طبق این گزارش “مهاجم میتواند یک فایل [کش اپلیکیشن] جعلی بسازد سپس این فایلها را با روش ذکر شده جابجا کند تا کدهای دلخواهش را اجرا کند.” معمولاً چنین فایلهایی در حافظه خصوصی گوشی ذخیره میشوند اما حافظه خصوصی ShareIt در اختیار همه قرار دهد.
ShareIt یک فایل نصب مخصوص اندروید هم دارد که با توجه به خصوصی نبودن حافظه این اپلیکیشن، در این فایل هم همان اشتباهات فایل نصب Fornite مشاهده میشود. این فایل، فایلهای نصب اپلیکیشن را روی حافظهای قرار میدهد که امکان دسترسی به آن توسط همه وجود دارد در نتیجه میتوان بر علیه آن حمله مرد میانی اجرا کرد. فایلهای نصب اپلیکیشنها پیش از نصب باید در حافظه خصوصی قرار گرفته و به خوبی از آنها محافظت شود اما در حافظه عمومی، امکان جابجایی پکیج نصب به محض دانلود آن و پیش از نصب وجود دارد. در این حالت کاربر تصور میکند که فایل نصب درست و معمولی را دانلود کرده اما در اصل یک اپلیکیشن مخرب به جای آن نصب میشود.
مهاجم میتواند دادههای حساس کاربران را سرقت کند
یکی از مشکلات مهم دیگر ShareIt این است که فروشگاه بازی این اپلیکیشن میتواند بازیها را از طریق پروتکل HTTP دانلود کند که امکان اجرای حملههای مرد میانی از این طریق وجود دارد. ShareIt، خودش را به عنوان هندلر لینکهایی که به دامنه خودش ختم میشوند مثل wshareit.com یا gshare.cdn.shareitgames.com معرفی کرده و وقتی کاربری روی یک لینک دانلود کلیک کند، به صورت خودکار باز میشود. بیشتر اپلیکیشنها فقط ترافیک HTTPS را مجاز میدانند اما ShareIt اینطور نیست. کروم ترافیک دانلود HTTP را تعطیل کرده بنابراین این کار باید با اینترفیسی غیر از مرورگر اصلی انجام شود.
ترند میکرو در پایان صحبتهای خودش مینویسد: “ما این آسیب پذیریها را به اطلاع فروشنده این نرمافزار رساندیم اما هنوز پاسخی نگرفتیم. ما تصمیم گرفتیم نتایج تحقیقات خودمان را سه ماه بعد از گزارش نتایج به ShareIt منتشر کنیم چون خیلی از کاربران تحت تأثیر این آسیب پذیری قرار گرفته و مهاجمان میتوانند اطلاعات حساس آنها را سرقت کنند و با مجوزهای دسترسی اپلیکیشنها هر کاری انجام دهند.” کاربران باید در اسرع وقت این اپلیکیشن را حذف کنند. اگر به دنبال یک راهکار جایگزین امن تر هستید، فایل منیجر گوگل میتواند کار به اشتراک گذاری فایل از طریق وای فای را برای شما انجام دهد و بر پایه روشهای امن تری نوشته شده است.