بهعنوان یک دولوپر یا یک کاربر اپهای مختلف اندرویدی، شاید هیچوقت فکر نمیکردید که معروفترین و پرکاربرترین اپها، بزرگترین طعمههای هکرها باشند؛ اما در کمال تعجب بایستی بگوییم که این واقعیت دارد!
تحقیقی که اخیراً انجام شده است، 956 مورد امکان اکسپلویت اپلیکیشنهای اندرویدی را نشان میدهد که بهسادگی میتواند منجر به استخراج دیتا از اپلیکیشن، نصب بدافزار بر روی دیوایس مورد حمله، و دستیابی به کنترل دیوایس شود و خبر بد اینکه، بر روی بعضی از اپلیکیشنهایی که مورد حمله قرار گرفته اند، بارهاوبارها بدافزار نصب شده است!
نتیجۀ تحقیقی که اخیراً در دانشگاه میشیگان انجام شده است، گویای این واقعیت است که 410 اپلیکیشن اندرویدی در گوگل پلی استور، حاوی پورتهای باز (Open Port) هستند و هکرها از این 410 اپلیکیشن، به 956 شکل مختلف میتوانند دیتا استخراج کنند.
ممکن است در نگاه اول، این اپلیکیشنها شبیه به نرمافزارهای درمعرض تهدید بهنظر نیایند، اما حجم دانلودها گویای واقعیت دیگری است. بهعبارت دیگر، بعضی از این اپلیکیشنها، اپهای بسیار معروفی با 10 الی 50 میلیون دانلود هستند. حتی بعضی از این اپها بر روی دیوایسهای مختلف، پیشنصب میشوند.
متخصصین امنیت نتورک با پورتهای باز و انواع استفادۀ قانونی و غیرقانونی آن آشنا هستند؛ باز گذاشتن پورتها به نرمافزار این امکان را میدهد که به فراتر از حد فایروال خود دسترسی پیدا کند. اما با باز گذاشتن پورت، این دسترسی بهصورت برعکس هم امکانپذیر میشود؛ یعنی دسترسی به نرمافزار از بیرون که بهلحاظ امنیتی اصلاً خوب نیست و بستری کاملاً مناسب برای سوءاستفاده از نرمافزار ایجاد میکند. افرادی که درصدد سوءاستفاده از دیتا هستند و در این زمینه مهارت دارند، بهراحتی میتوانند از پورتهای باز برای تخریب و ایجاد آسیب در یک نتورک استفاده کنند.
تیم تحقیقاتی دانشگاه میشیگان برنامهای تحت عنوان OPAnalyzer طراحی کرده است که آنرا برای پیدا کردن پورتهای باز مورد استفاده قرار میدهد؛ تیم تحقیقاتی میشیگان این نرمافزار را به این شکل توصیف میکند که ابزاری آنالیزکننده است که میتواند به شکلی موثر، سوءاستفاده از پورتهای باز را در اپلیکیشنهای اندرویدی تشخیص دهد.
لازم بهذکر است که محققان 57 اپ را مورد آزمایش قرار دادند تا صحت آسیبپذیریای که نسبت به آن مشکوک بودند ثابت شود و درنهایت نتیجه این شد که این پورتها همچون کابوس و معضلی بزرگ برای امنیت کاربران هستند.
۵ راه برای حمله به اپلیکیشنهای اندرویدی دارای پورت باز
آگاهی از همۀ اپنپورتها، بدون آگاهی از اینکه هرکدام از آنها به چه منظوری مورد استفاده قرار میگیرند و چهطور آن استفادۀ خاص میتواند توسط هکر مورد بهرهبرداری قرار بگیرد فایدهای نخواهد داشت؛ این تیم تحقیقاتی به این نتیجه رسید که 99 درصد از ترافیک اپلیکیشنهای اندرویدی دارای پورتهای باز، برای یک یا بیشتر از یک مورد از این ۵ نوع مورد استفاده قرار میگیرد:
1. بهاشتراکگذاری دیتا
این پورتها برای خواندن دیتا از طریق یک دیوایس لوکال و انتقال آن به یک ریموت هاست -مثل گوگل درایو- مورد استفاده قرار میگیرند؛ حدود 60 درصد از پورتهایی که برای اشتراکگذاری دیتا مورد استفاده قرار میگیرند، نیازی به احراز هویت کاربر ندارند.
2. پروکسی
این پورتها برای فوروارد کردن ریکوئستهای ورودی که برای مقصدهای دیگر از راه دور صادر میشود، بهکار میروند؛ پورتهای پروکسی را همچنین میتوان برای انجام حملات DDoS و سرقت دیتای ذخیرهشدۀ وب -مثل پسووردها- مورد استفاده قرار داد (برای آشنایی بیشتر با حملات DDoS، به مقالهٔ DDoS به زبان آدمیزاد! مراجعه نموده و جهت آشنایی با راهکارهای خنثی کردن این نوع حملات، به مقالهٔ چگونه از سازمان خود در برابر حملات DDoS محافظت کنید؟ مراجعه نمایید).
3. اجرای ریموت دستورات
اجرای ریموت (از راه دور) دستورات، برای ارسال دستور به دیوایس مورد استفاده قرار میگیرد؛ بهعنوان مثال، ارسال پوش نوتیفیکیشن و لاگین به کامپیوتر از طریق گوشی هوشمند. بسیاری از اینگونه پورتها نسبت به اجرای دستورات بهصورت ریموت که در خارج از محدودۀ اپ هستند حساس میباشند.
4. VoIP
پاسخ دادن به تماسهای VoIP نیازمند وجود پورتی باز برای دریافت SIP است؛ این پورتها را میتوان برای دستیابی به کالر آیدی، و انجام حملات فیشینگ مورد استفاده قرار داد.
5. فونگپ
Adobe PhoneGap یک پلتفرم درحال توسعه با کدهای جمعوجور و مختصر است که از پورتهای باز برای هندل کردن درخواستهای APIها و ریکوئستهای جاوااسکریپت استفاده میکند و بنابراین بهعنوان یک راه تخریب کمریسک درنظر گرفته میشود (چراکه روشهای استفاده از PhoneGap امن هستند).
اکسپلویتها به چیزی بیش از یک پورت باز نیاز دارند!
پورتهای باز لزوماً بهعنوان راه ورود به نتورک در نظر گرفته نمیشوند؛ دلیل وجود پورتهای باز، اساساً ایجاد امکانی برای نرمافزار بهمنظور دستیابی به اهدافی خاص است. بنابراین پورتهای باز در حالت عادی، مشکل تلقی نمیشود مگر اینکه مشکلی در اپ بروز کند که گویای سوءاستفاد باشد.
جالب اینکه حتی با درنظر گرفتن خطر سوءاستفاده از پورتهای باز، ریسک استفاده از آن چندان زیاد و قابلملاحظه نیست؛ به نقل از سایت TheHackerNews.com:
گوشیهای هوشمندی که از طریق نتورک وایرلس و تحت حفاظت یک روتر به اینترنت وصل میشوند، کمتر درمعرض این خطر هستند چراکه در این حالت، هکر میبایست از طریق همان نتورک وایرلس به اینترنت وصل شده باشد و بنابراین خود او هم میتواند قربانی این آسیبپذیری شود.
در مقیاس کوچک و درمورد شبکههای بیزنسی جمعوجور، این تهدید جدی نیست اما وقتی که از شبکۀ وایفای عمومی یا تعداد بالای کاربرانی که از یک وایفای استفاده میکنند صحبت میکنیم، ریسک حمله بسیار بالا و جدی خواهد بود. تیم محققان هنگامی متوجه این ریسک شدند که یک سابنت از نتورک لوکال خود را اسکن کردند. فقط درعرض ۲ دقیقه، تعداد 40 هاست شناسایی شد که دیوایس آنها، موبایل با پورتی باز بود.
اگر تنها یک بخش از نتورک بهطور کامل بسته و قفل نشده باشد، وجود یک دیوایس اندرویدی معمولی کافی است تا هکر به وسیلۀ آن به نتورک نفوذ کند و به سیستم امنیتی کل شبکه، آسیبهای جدی وارد کند.
اما چه باید کرد؟
در گزارشی که این تیم تحقیقاتی منتشر کرده است، از اپهای آسیبپذیر نامی برده نشده است؛ این گزارش فقط اشاره میکند که 50 درصد از اپهایی که درمعرض خطر هک قرار دارند، بیش از 500,000 بار دانلود شدهاند. چه خوشمان بیاید چه نیاید، حداکثر ۱ یا ۲ نفر -یا دیوایس- در کل شبکۀ اینترنت یک شرکت با سایز متوسط، ممکن درمعرض چنین تهدیدی قرار داشته باشند.
اگر شما دولوپر اندروید هستید، یا به هر شکلی در این زمینه فعالیت دارید، الان زمان بسیار مناسبی برای نوشتن و اجرای کدهای خوب است؛ بهعلاوه، عالی خواهد بود اگر کدهای خود را با کمک همکاران برنامهنویس خود بازبینی کنید تا مطمئن شوید چیزی را از قلم نیانداختهاید.
متخصصین امنیت اطلاعات لیستی از مشکلاتی را ارائه میدهند که بعد از نصب، برای اپهای آسیبپذیر پیش میآید اما این در حالی است که شما با انجام این اقدامات، میتوانید از نتورک خود محافظت کنید:
1. جدیت به خرج دادن در مورد سیاستهای BYOD
BYOD مخفف واژگان Bring Your Own Device است و به این معنا میباشد کارمندان یک شرکت میتوانند برای کار در شرکت از دیوایسهای شخصی خود -مثل لپتاپ، موبایل و غیره- استفاده کنند؛ اگر اپ بهخصوصی را مشکلدار تشخیص دادید، برای دیوایسهایی که این اپ را نصب کردهاند، برای اتصال به نتورک محدودیت ایجاد کنید (بهعبارت دیگر، این دیوایسها را بلاک کنید).
2. نسبت به فایروال خود مطمئن شوید
همیشه این امکان فراهم نیست که نرمافزار دیوایسهایی که از نتورک شما استفاده میکنند را بهطور دقیق کنترل کنید؛ در زمانی که این امکان را ندارید، پورتها را بر روی فایروال خود ببندید تا از ایجاد ارتباط میان اپها از طریق نتورک شما جلوگیری شود.
3. رویۀ کار کردن امن را بین کاربران تقویت کنید
به کاربران شبکۀ خود نسبت به ریسکی که دیوایسهای آنها را تهدید میکند هشدار دهید؛ همچنین درصورت ارائۀ راهکارهای امنیتی جدید از طرف آنها، از آن راهکارها حمایت کنید. این کار باعث میشود تعداد اپهایی که بر روی دیوایسهای موردتأیید و امن شرکت نصب میشود، کاهش یابد.
نهایتاً اینکه توجه داشته باشید که خطر هک همیشه وجود دارد و چارهای نیست جز اینکه برای به حداقل رساندن خسارات ناشی از هک، اقداماتی پیشگیرانه صورت دهیم.