بررسی امنیت مارکت اندرویدی کافه بازار

محسن طهماسبی، جواد دادگرمقدمهاندروید یکی از پر استفاده ترین سیستم عامل‌های تلفن های همراه است و در ایران، این موضوع حتی نمود بیشتری دارد. این موضوع و از طرف دیگر عدم وجود بررسی های مستمر و نبود فضای درست توسعه اپلیکیشن های اندرویدی، ایران سالهاست که رتبه اول آلودگی اپلیکیشن های اندرویدی در جهان را دارا می باشد. در ایران این آلودگی علاوه بر انتشار بدافزارها در بسترهای غیررسمی، در مارکت های اندرویدی ایرانی مانند کافه بازار نیز دیده می شود. در این تحقیق سعی کرده ایم امنیت اپلیکیشن های منتشر شده در کافه بازار و بدافزارهای موجود در آن را به صورت مستند و آماری بررسی کنیم.چکیدهدر این تحقیق، ما کلیه اپلیکیشن های موجود و میزبانی شده روی سرویس کافه‌بازار را استخراج و لیست کرده‌ایم و سپس بخش قابل توجهی از آن ها را بصورت خودکار و توسط سرویس هایی مانند ویروس توتال و آنتی ویروس های معتبر دنیا بررسی نموده ایم. همچنین برخی بدافزارهای یافت شده روی این سرویس را به صورت استاتیک و داینامیک بررسی کرده و نمونه هایی از آن ها را در این مطلب شرح خواهیم داد. در نهایت، به بررسی آمار و تعداد بدافزارهای موجود روی سرویس کافه‌بازار خواهیم پرداخت.روش تحقیقاین تحقیق به صورت کاملا قانونی انجام شده و ابتدا ما به صورت مستقیم لیستی از اپلیکیشن های موجود روی سرویس کافه بازار را تهیه کردیم، سپس از این لیست اپلیکیشن‌هایی که رایگان و به صورت قانونی برای همه کاربران در دسترس بودند را دانلود، و در پلتفرم ویروس‌ توتال ثبت کردیم. برخی اپلیکیشن های حجیم به دلیل محدودیت های ویروس توتال بررسی نشده اند.این تحقیق به صورت کاملا passive انجام شده و هیچ گونه فعالیت active مانند اسکن کردن یا استفاده از آسیب‌ پذیری‌های امنیتی انجام نشده است.تاریخچه اتفاقات امنیتی کافه بازاردر آوریل ۲۰۱۹، محمد جرجندی، محقق امنیت سایبری در توییتر اعلام کرد که کافه بازار مورد نفوذ قرار گرفته و اطلاعات مشتریان و سورس کد این سرویس توسط هکرهای روسی منتشر شده است. پس از جنجال ها و تکذیب های فراوان، این موضوع تایید شد و نمونه هایی از سورس کد نشان می داد که این سرویس احتمالا به صورت چندان مناسبی پیاده سازی نشده و احتمال وجود آسیب پذیری امنیتی یا اینکه افراد به هر شکلی بتوانند فرایند های امنیتی آن را دور بزنند بالاست و همین موضوع می تواند موجب دستکاری اپلیکیشن ها شود و یا امکان توزیع بدافزار از طریق کافه بازار را فراهم سازد.مقاله دانشگاه ژاپنیدر سپتامبر سال ۲۰۱۷، مقاله ای درباره بررسی اپلیکیشن های مارکت های اندرویدی توسط گروهی از یک دانشگاه ژاپنی منتشر شد. این مقاله کافه بازار را دومین مارکت امن دنیا نامیده بود. مدتی پس از گزارش محمد جرجندی، مدیرعامل وقت کافه بازار در توییتی به این مقاله اشاره کرد و اعلام کرد کافه بازار به عنوان دومین مارکت امن جهان شناخته شده است. این موضوع سبب آن شد که کافه بازار ادعای امنیت را بیش از پیش مطرح سازد و این در حالی است که گوگل پلی در این بررسی رتبه هشتم را دارد.اما از نظر ما و عده ای از محققین امنیتی، این مقاله بسیار عجیب بود از طرفی در نتیجه گیری مشکلات اساسی داشت. در روش تحقیق این مقاله گفته شده که فقط چیزی حدود ۵۰ هزار اپلیکیشن از کافه بازار بررسی شده و در زمان تحریر مقاله، ۷۵.۶ درصد کافه بازار اسکن نشده است. این در حالی بود که از گوگل پلی بیش از ۳ میلیون اپلیکیشن در نظر گرفته شده بودند.در تصاویر بالا میزان اپلیکیشن های بررسی نشده از هر مارکت را در زمان تحریر این مقاله می بینید و در جدول دیگر، میزان بدافزارهای موجود بر روی هر مارکت طبق ادعای این مقاله را مشاهده می کنید.انواع بدافزارها در فضای ایرانبدافزارهای اندرویدی در فضای ایران یا بدافزارهای ایرانی، فعالیت متفاوتی نسبت به بدافزارهای دیگر دنیا دارند و تقریبا هدف بیشتر بدافزار ها و بدافزار نویس‌های ایرانی درآمد زایی است. به همین جهت، کمتر دیده می شود بدافزاری منتشر شود که دارای پیچیدگی فنی و تکنیکال خاصی باشد در پیچیده ترین حالت، بدافزارهایی رصد شده اند که با گرفتن دسترسی و خواندن پیامک های کاربر، می توانند بدون اجازه او، وی را در سرویس های ارزش افزوده عضو کنند و درآمد زایی داشته باشند.مدل دیگری که میتوان نام برد، تلگرام های غیررسمی هستند. این کلاینت های غیر رسمی بعد از فیلتر شدن تلگرام، به علت داشتن پروکسی روی خود اپلیکیشن و فیلتر نبودن، گسترش پیدا کردند و به شدت میان کاربران محبوب شدند.هدفی این بدافزار ها کنترل حساب قربانیان، نمایش تبلیغات، فروش کاربران به عنوان ممبر تلگرام و یا حتی استفاده از آنها برای ایجاد حملات DDOS بود.اما نکته بسیار مهم درباره این بدافزارها روشی بود که برای دریافت دستورات و لینک‌ها استفاده می کردند. این بدافزارها از سرویس های push notification و قابلیت ارسال custom json استفاده کرده و دستورات و داده های مورد نیاز برای اجرای دستورات را در قالب json object و توسط سرویس دهنده push notification به کلاینت قربانی می رساندند و آنجا، پس از parse کردن این json ها دستورات مورد نظر خود را تکمیل و اجرا می کردند.معمولا این کار به صورت دو مرحله ای انجام می شد. ابتدا داده‌ها و محتوای دستورات را به متغیر هایی اختصاص داده و سپس از آن متغیر ها برای اجرا توابع و دستوراتی آماده، استفاده می کردند.از جمله فعالیت هایی که این بدافزارها می توانستند انجام دهند، می توان به موارد زیر اشاره کرد:بررسی کانالهایی که کاربر عضو می باشدمحدود کردن امکان عضویت کاربر در کانال هایی خاصاضافه کردن کاربر بدون اجازه وی به کانال یا گروهی خاصسلب اجازه خروج از کانال یا گروه خاص (یا عضو شده به روش بالا)مشاهده اپلیکیشن‌های نصب شده بر روی گوشی قربانیبرای اطلاعات بیشتر درباره بدافزارهای انواع کلاینت غیر رسمی تلگرام، می توانید به بخش رفرنس ها مراجعه کنید.دانلودرها و ادورهایکی از مواردی که به صورت گسترده و در ابعاد بسیار زیاد بر روی سرویس کافه‌بازار رصد گردید، بدافزارهایی بودند که قابلیت های زیادی مانند دانلودرها و ادورها را یکجا داشتند. این بدافزارها از روش مشابه push notification به عنوان C2 استفاده می کردند و دستورات را در قالب custom json دریافت کرده و سپس با parse کردن اطلاعات، دستورات را اجرا می کردند.یکی از مهمترین موارد و قابلیت هایی که یک رفتار بدافزار گونه نامیده می شود، دانلود اپلیکیشن خارج از مارکت می باشد. به این شکل بدافزار می تواند فایل یا اپلیکیشن دیگری را بدون اطلاع کاربر از هر لینکی که از طریق سرور C2 خود دریافت می کند دانلود کرده و روی حافظه خارجی دستگاه ذخیره کند و یا حتی آن را برای نصب به عناوین مختلف از جمله بروزرسانی خود، به کاربر نمایش دهد.مواردی که در ادامه بررسی می کنیم مربوط به یک بدافزار می باشد که به تعداد قابل توجهی بر روی سرویس کافه بازار مشاهده شده است. این بدافزارها با نام Downloader تگ و نام گذاری میشوند در عین حال، قابلیت های ADware ها را هم دارند.در تصویر میبینید که در قالب یک mypushlistener اپلیکیشن قابلیت این را دارد که فایلی (که اینجا یک فایل apk می باشد) را از لینکی که توسط json دریافت کرده دانلود کند و روی حافظه خارجی دستگاه ذخیره نماید.معمولا از این طریق، بدافزارها و ADware های دیگری را دانلود و برای نصب به کاربر نمایش می دهند.در صورت روت نبودن دستگاه، نمیتوان بصورت مستقیم و بدون دخالت کاربر اپلیکیشن را نصب کرد.این روش، راهکار مناسبی برای آپدیت نیست و مشخصا یک قابلیت بدافزار گونه می باشد.قابلیت دیگری که به صورت همزمان بر روی این بدافزارها وجود داشت، امکان باز کردن آدرس هایی از طریق اینستاگرام یا تلگرام بود. برای مثال لینک یک کانال تلگرام یا صفحه اینستاگرام را دریافت کرده و آن را اجرا می کردند، در نتیجه از طریق deep linking کاربر مستقیم به کانال و صفحه مشخص شده در اپ مورد نظر هدایت می شد و فقط کافی بود روی join یا follow کلیک کند. در مواردی برای اجرای لینک بر روی کلاینت نصب شده احتمالی، پکیج نیم تعداد قابل توجهی تلگرام غیررسمی داخل سورس کد درج شده و امتحان می شد.قابلیت دیگری که در تصویر بالا میبینید، امکان بررسی نصب بودن یا نبودن یک اپلیکیشن خاص روی گوشی کاربر هدف می باشد که با بررسی نتیجه آن، بدافزار می تواند کار خاصی را انجام دهد. ابتدا بدافزار پکیج نیم را از طریق C2 دریافت کرده و سپس نصب بودن این اپلیکیشن روی تلفن همراه را بررسی می کند.قابلیت دیگری که در تصویر بالا مشاهده می کنید، امکان باز کردن یک url خاص می باشد. از این روش بیشتر برای نمایش تبلیغات و یا اطلاعات شخصی سازی شده استفاده می شود ولی در شرایط خاص و با پیاده سازی خاص، می توان حتی به عنوان یک حمله DDOS از آن استفاده کرد. کافیست همه قربانی ها هم زمان وبسایت هدف را باز کنند و به سمت آن درخواست بفرستند.مورد بعدی که نشان از فعالیت ADware گونه این بدافزار ها نیز هست، امکان نمایش تبلیغات شخصی سازی شده به صورت پاپ آپ و در سایز های غیر معمول می باشد. ابتدا بدافزار لینک تبلیغ را به شکل json دریافت و در اندازه ها و بازه های زمانی دلخواه نمایش می دهد. این موضوع علاوه بر کتابخانه یا sdk تبلیغاتی است که روی اپلیکیشن قرار می گیرد.در برخی موارد نیز از امکان باز کردن لینک های خاص برای بررسی فعال بودن کاربر، گرفتن آمار و رجیستر کردن کاربرانی که اپلیکیشن را نصب کرده اند استفاده می شود.کدهای آمادهطی بررسی چند مورد از اپلیکیشن هایی که به عنوان بدافزار شناسایی شده بودند به این نتیجه رسیدیم که شباهت بسیار زیادی بین این بدافزارها وجود دارد. با بررسی بیشتر مشخص شد که سورس کد این بدافزارها به صورت آماده به فروش می رسد. بعضا سورس کد بخش های مربوط به دریافت دستورات از push notification و موارد مشابه روی برخی فروم‌های برنامه نویسی برای فروش یا به صورت رایگان وجود دارد.تعدادی از این بدافزارها عملا توسعه دهنده نداشته و صرفا حاصل کپی و مونتاژ کدهای آماده بودند که بی هیچ مشکلی روی سرویس کافه بازار ارائه می شدند.نتایج و ساختار اطلاعاتویروس توتال اطلاعات زیادی را برای بررسی هر اپلیکیشن به صورت خودکار تهیه می کند که ما فقط برخی از این اطلاعات مانند هش برنامه ها، موارد شناسایی شده توسط آنتی ویروس ها و تعداد شناسایی ها را جمع آوری کردیم.به علاوه مواردی مانند first submit و last analysis را جهت تخمین مواردی که برای اولین بار در ویروس توتال ثبت می شوند جمع آوری و پردازش کردیم.در این بررسی ما 153451 اپلیکیشن را بر روی سرور های کافه بازار شناسایی کرده و طی ۷ ماه موفق شدیم 99812 اپلیکیشن از آن ها را به صورت موفق بر روی سرویس ویروس توتال ثبت و نتایج گزارش آن ها را جمع آوری کنیم.برخی از تعداد کل اپلیکیشن ها موارد غیررایگان بوده و برخی نیز حجم بالایی داشتند که مناسب تحقیق ما نبوده و امکان بررسی آن ها وجود نداشت. در مجموع فقط 3039 اپلیکیشن از کل اپلیکیشن هایی که امکان ثبت داشتند باقی ماندند.اما آماری که در پایان داشتیم بسیار عجیب بود. آمار حاصله نشان می داد که 26.9 درصد اپلیکیشن ها توسط 1 تا 4 آنتی ویروس، 14.3 درصد از آنها توسط 5 تا 9 آنتی ویروس و 8.7 درصد از این اپلیکیشن ها توسط بیش از 10 آنتی ویروس به عنوان بدافزار شناسایی شده بودند.جمع بندیبه صورت کلی طبق این تحقیق، نزدیک به ۵۰ درصد اپلیکیشن های بررسی شده از کافه بازار، حداقل توسط یک آنتی ویروس به عنوان بدافزار شناسایی شده اند.همینطور طبق بررسی ما بدافزارهای ایرانی عموما با هدف تبلیغات و درآمد زایی تولید می شوند و متاسفانه فرایند صحیح و نظارتی هم بر تولید اپلیکیشن های بی محتوا و کپی وجود ندارد.افراد میتوانند با دستکاری اندک در سورس کد بدافزارهای اماده، آن ها را به عنوان اپلیکیشن جدید ثبت کنند و از طریق نصب گرفتن و تبلیغات به درآمدزایی بپردازند.نهایتا ممکن است به دلیل مدت زمان طولانی این تحقیق برخی از اپلیکیشن ها از روی سرویس کافه بازار حذف شده باشند و برخی اپلیکیشن های جدید مورد بررسی قرار گرفته نشده باشند.همکاری و توسعه تحقیقاطلاعات جمع آوری شده پتانسیل بررسی های بیشتری را دارند که می توان به دریافت گزارشات کامل اپلیکیشن‌های ثبت شده روی ویروس توتال و پیگیری CN ها و ارتباطات به لینک ها برای رسیدن به افراد توسعه دهنده پشت این اپ ها و بدافزارها و یا بررسی دستی اپلیکیشن هایی با detection بالا اشاره کرد.به همین دلیل ما لیست کامل پکیج نیم های به دست آمده از کافه بازار به همراه دیتابیس این تحقیق را به صورت عمومی منتشر می کنیم که از طریق لینک های زیر می توانید آن ها را دانلود کرده و مسیر این تحقیق را ادامه دهید.لیست اپ ها، دیتابیس تحقیق و اسکریپت هاhttps://github.com/moh53n/bazzلیست اپ ها (از دسترس خارج شده، نسخه گیت هاب را باز کنید)https://mega.nz/file/G5Z3zaab#UVBW7KHvDm2s7-4uPHa9Ky3GYaX5rwql6kqkdijbqcsدیتابیس تحقیق (از دسترس خارج شده، نسخه گیت هاب را باز کنید)https://mega.nz/file/T9YigQaQ#xwptxqF-LBGBqsTuY-2F2D4Bfc768_NzR_LcE8RA7oYمنابع[1] Understanding the Security Management of Global Third-PartyAndroid Marketplaceshttps://nsl.cs.waseda.ac.jp/wp-content/uploads/2018/04/submitted_wama2017.pdf[2] virustotal https://virustotal.com[3] JADX[4] webamooz/telescam project https://webamooz.com