حمله تئوریک به اندروید

دنیای اقتصاد: پس از کش‌و‌قوس‌های فراوان، بالاخره موضوع بازکردن قفل آی‌فون فرد تروریست حاضر در واقعه سن‌برناردینو با عقب‌نشینی اف‌بی‌آی خاتمه یافت. طی ماه‌های اخیر FBI مرتبا به اپل فشار آورد تا در بازکردن قفل این دستگاه و دیگر دستگاه‌هایی از این دست با این نهاد همکاری کند؛ موضوعی که اپل نپذیرفت چون معتقد بود نمی‌خواهد امنیت کاربرانش را با کاهش ضریب امنیتی گوشی‌هایش -ولو به خاطر بازکردن گوشی یک تروریست- به خطر بیندازد. سرانجام این دعوای تکنولوژی به دادگاه و حتی کنگره آمریکا کشیده شد تا اینکه چند روز قبل FBI اعلام کرد با همکاری یک شرکت دیگر موفق به شکستن قفل آی‌فون مورد نظر شده است.

هر چند این اقدام FBI باعث بروز تردیدهایی در امنیت گوشی‌های آی‌فون شده (اگر آن را یک ترفند FBI به حساب نیاوریم) اما پرسش مهم‌تری که مطرح می‌شود این است که اگر به جای آی‌فون شرکت اپل، یک دستگاه اندرویدی نقش اصلی را در این رویداد ایفا می‌کرد آیا همچنان امکان استفاده از چنین راهکاری وجود داشت؟ به این منظور، بررسی اهداف مورد نظر FBI به‌منظور استخراج داده‌ها توسط متخصصان این وب‌سایت در اولویت قرار گرفته است. در این راستا، جدا از اینکه اکوسیستم اندروید، بسته به برند تولیدکننده دستگاه همراه، تفاوت‌های فنی را به همراه خواهد داشت، استفاده از راهکارهایی مانند به‌روزرسانی از راه دور به‌منظور بازکردن قفل رمزگذاری داده‌ها (موردی که FBI از انجام آن روی آی‌فون تروریست مورد نظر ناتوان بود) نیز مدنظر قرار گرفته است.

راهکار‌های ساده

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

- نصب یک برنامه شخصی‌سازی شده به‌منظور استخراج داده‌های مورد نظر از گوشی هدف یکی از راهکارهای موجود در این زمینه است. در مارس سال ۲۰۱۱ شرکت گوگل اقدام به نصب برنامه‌ای روی گوشی‌های اندرویدی از راه دور کرد که امکان پاکسازی گوشی‌های آلوده به بدافزارها را فراهم می‌کرد. با وجود این هنوز مشخص نیست که آیا این راهکار همچنان قابل استفاده خواهد بود یا خیر؟!

- برنامه‌های زیادی وجود دارند که از سیستم Backup API اندروید استفاده می‌کنند. اطلاعات پشتیبانی شده در قالب این سیستم به‌طور مستقیم از طریق دسترسی به قسمت مشخصی از وب‌سایت میزبان قابل دسترسی هستند.

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

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

- برخی از گوشی‌های اندرویدی از سیستم‌های تشخیص اثرانگشتی استفاده می‌کنند که امکان بازکردن قفل را از طریق استفاده از تصویر اثرانگشت مالک گوشی فراهم می‌کنند.

- برخی از کاربران با ایجاد تغییرات در سیستم‌عامل اندروید گوشی خود، دسترسی روت را برای آن فراهم می‌کنند که این امر نیز به نوبه خود امنیت گوشی‌های اندرویدی را کاهش می‌دهد. با وجود این، در صورتی که این گزینه‌ها در دسترس نیستند، شکستن کد، تنها راه باقی‌مانده خواهد بود. با استفاده از روشی کهBrute Force نامیده می‌شود می‌توان فرآیند بازکردن قفل گوشی را با امتحان کردن هر ترکیب ممکن از کلیدهای رمزگذاری (تمامی ترکیب‌های کاراکتری ممکن) انجام داد تا نهایتا به ترکیب درست رسیده و قفل دستگاه باز شود.

آغاز حمله

دو نوع حمله Brute Force وجود دارد که یکی آفلاین و دیگری آنلاین است. از برخی جهات، حمله آفلاین تا حدودی مزایای بیشتری دارد. با کپی‌کردن داده‌های موجود در دستگاه و انتقال آنها به رایانه‌ای به مراتب قدرتمندتر، نرم‌افزارهای ویژه و راهکارهای دیگر را می‌توان به‌منظور آزمایش ترکیب‌های ممکن رمزگشایی به کار بست. با وجود این از آنجا که این راهکار به امتحان کردن تمامی کلیدهای ممکن رمزگذاری نیاز دارد، این روند می‌تواند زمانبر و طاقت‌فرسا باشد.به‌منظور امتحان کردن تمامی کلیدهای ۱۲۸ بیتی AES، نیاز به امتحان کردن ۱۰ به توان ۳۸ ترکیب متفاوت خواهد بود که به میلیاردها سال صرف زمان با استفاده از ابررایانه‌ها نیاز خواهد داشت. حدس زدن پین‌کد ۶ رقمی که تنها از اعداد تشکیل شده به‌تنهایی، میلیون‌ها گزینه را پیش روی شما قرار خواهد داد. این در حالی است که ترکیب این اعداد با نمایه‌های خاص مانند $ یا # صدها میلیارد گزینه را پیش روی شما قرار خواهد داد. در قالب حمله آنلاین که به‌طور مستقیم روی گوشی اتفاق می‌افتد، کلید ویژه دستگاه برای سیستم‌عامل قابل خواندن بوده و همین امر، گزینه‌های موجود را تا حد زیادی محدود خواهد کرد. با این وجود این امکان وجود دارد که گوشی به‌نحوی پیکربندی شده باشد که در مقابل حملات آنلاین مقاومت کند. به‌عنوان مثال، گوشی می‌تواند با وارد کردن وقفه‌های زمانی میان کدهای عبور اشتباه و فراهم کردن امکانی برای وارد کردن مجدد رمز یا حتی حذف داده‌ها پس از تعداد مشخصی آزمون و خطا، راهکاری دفاعی را ایجاد کند. سیستم‌عامل iOS اپل از هر دو توانایی استفاده کرده تا به‌طور خودکار وقفه‌های طولانی را ایجاد و به انتخاب کاربر، امکان پاک‌کردن داده‌های موجود روی دستگاه را پس از ۱۰ بار حدس اشتباه گذرواژه فراهم کند.

حمله به یک دستگاه اندرویدی

وقتی نفوذگری تصمیم به حمله به یک گوشی اندرویدی قفل شده می‌گیرد چه اتفاقی می‌افتد؟ پیش از هر چیز باید درنظر داشت که شرکت‌های مختلف از ترکیب‌های متفاوتی در دستگاه‌های اندرویدی استفاده می‌کنند. گوشی‌های سری نکسوس از تنظیمات استاندارد اندروید شرکت گوگل بهره می‌برند. در این بررسی از نکسوس ۴ مجهز به اندروید ۵.۱.۱ که قابلیت رمزگذاری کامل فضای ذخیره‌سازی در آن فعال شده استفاده شد.اندروید امکان استفاده از پین، گذرواژه و الگوهای ایجاد قفل را در کنار راهکارهای دیگر به‌منظور حفاظت از محتویات گوشی، به کاربر پیشنهاد می‌کند. با فعال‌کردن کد عبور، ما به‌طور تصادفی پنج بار رمز عبور را وارد کردیم. پس از این، اندروید پیغامی را مبنی بر لزوم ایجاد وقفه ۳۰ ثانیه‌ای برای استفاده از تکرارهای بعدی پیش روی ما قرار داد. بر خلاف آی‌فون، این وقفه با تکرارهای ناموفق بعدی، افزایش نیافت و پس از ۴۰ تکرار ناموفق، همچنان شاهد نمایش پیغام ۳۰ ثانیه وقفه، پس از هر پنج بار تکرار بودیم. این روند بارها و بارها ادامه یافت اما در نهایت پاک کردن داده‌ها انجام شد (گوشی‌های اندرویدی دیگر شرکت‌های سازنده ممکن است بازه زمانی این وقفه‌ها را مشابه با آنچه در iOS مشاهده می‌کنیم، افزایش دهند).این تاخیر زمانی، تاثیر زیادی در کاستن از سرعت حمله نفوذگران خواهد داشت.

Brute Force در زمینه پین ۶ رقمی (یک میلیون ترکیب)، در بدترین حالت، تاخیر ۶۹ روزه را به دنبال خواهد داشت. این در حالی است که اگر رمز عبور ۶ حرفی مورد استفاده قرارگرفته باشد، در بدترین حالت، تاخیر ۵۸ ساله را شاهد خواهیم بود. وقتی فرآیند بالا را روی گوشی که خاموش شده و مجددا روشن شده بود تکرار کردیم، پیغامی برای راه‌اندازی مجدد گوشی پس از ۱۰ بار تلاش ناموفق صادر شد. پس از ۲۰ بار تلاش ناموفق و دو بار راه‌اندازی مجدد، اندروید شمارش معکوسی را برای به پایان رسیدن تلاش‌های نافرجام و در نهایت پاک کردن اطلاعات شروع کرد. با ادامه دادن به تلاش‌ها، پس از ۳۰ تلاش ناموفق هشداری روی صفحه ظاهر و بازگشت به تنظیمات کارخانه و پاک شدن تمامی اطلاعات به وقوع پیوست. برخلاف حملات آفلاین، درخصوص حملات آنلاین تفاوت مشهودی میان اندروید و iOS وجود دارد. در iOS پس از استفاده از شانس‌های مشخص به‌منظور وارد کردن رمز، چه از قفل صفحه‌نمایش و چه در زمان راه‌اندازی، فرآیند پاک شدن اطلاعات کاربر در صورتی که کاربر صراحتا این قابلیت را فعال کرده باشد انجام خواهد شد اما در اندروید، فرآیند بوت همواره پس از تعداد مشخص تلاش ناموفق، اطلاعات کاربر را پاک می‌کند (اگرچه در نکسوس ۴ امکان مشخص کردن محدودیت برای تعداد وارد کردن ناموفق رمز وجود ندارد). در هر دو سیستم‌عامل، گزینه‌هایی برای مدیریت از راه دور دستگاه به‌منظور پاک کردن اطلاعات پس از تعداد نامشخص تلاش ناموفق وجود دارد.

جمع‌بندی نهایی

روی هم رفته، دستگاه‌های مجهز به دستگاه‌های اندروید یا iOS که از نسخه‌های جدید بهره می‌برند، در صورت پیکربندی مناسب از سوی شرکت سازنده و کاربر، در مقابل حملات آفلاین ایمنی بالایی دارند اما نسخه‌های قدیمی‌تر ممکن است ضعف‌هایی در این زمینه داشته باشند. در زمینه حملات آنلاین، با درنظر گرفتن پیکربندی مدیریت از راه دور، اندروید تنظیمات پیش‌فرض ایمن‌تری در حالت راه‌اندازی داشته اما دستگاه‌هایی مانند نکسوس ۴ امکان تنظیم بیشینه تعداد خطا در ورود گذرواژه را فراهم نمی‌کنند. دستگاه‌هایی که از iOS بهره می‌برند نیز چنین قابلیت‌هایی را دارند اما کاربر باید آنها را به‌طور دستی فعال کند. امنیت اندروید ممکن است به‌واسطه استفاده از نرم‌افزارهای کنترل از راه دور به چالش کشیده شود که این تا حد زیادی به نرم‌افزار مورد استفاده به‌منظور حمله به دستگاه اندرویدی بستگی دارد. این در حالی است که FBI در پیاده‌سازی دسترسی به آی‌فون ۵c با استفاده از روش بازنشانی گذرواژه به این روش ناموفق بوده است.