آسیبپذیری اندروید به نفوذگران اجازه میدهد تا بدون تغییر امضاها در داخل برنامهها بدافزار تزریق کنند.
به گزارش افتانا (پایگاه خبری امنیت فناوری اطلاعات)، میلیونها دستگاه اندرویدی در معرض خطر جدی یک آسیبپذیری بحرانی جدید قرار دارند که این به مهاجمان اجازه میدهد که برنامههای قانونی نصبشده در تلفن همراه هوشمند شما را بهطور مخفیانه با نسخه مخرب خود بازنویسی کنند.
این آسیبپذیری به نام Janus به مهاجمان این امکان را میدهد که کد برنامههای اندرویدی را بدون تحتتاثیر قرار دادن گواهینامههای تایید امضا تغییر دهند و درنهایت به آنها اجازه میدهد تا بهروزرسانی مخرب برنامههای قانونی را توزیع کنند که همانند برنامههای اصلی به نظر میرسند و کار میکنند.
این آسیبپذیری (CVE-۲۰۱۷-۱۳۱۵۶) توسط پژوهشگران امنیتی شرکت امنیتی تلفن همراه GuardSquare در تابستان امسال کشف شد و به گوگل گزارش شد و بهعنوان بخشی از بولتن امنیتی ماه دسامبر اندروید توسط گوگل وصله شد.
با این حال، مسئله نگرانکننده این است که بیشتر کاربران اندروید طی چندماه آینده تا زمانی که سازندگان دستگاه آنها بهروزرسانی سفارشی برای آنها منتشر کنند، این وصلهها را دریافت نخواهندکرد، ظاهراً تعداد بسیاری از کاربران تلفنهمراه هوشمند در مقابل حملات نفوذگران آسیبپذیر هستند.
این آسیبپذیری، برنامههایی را که از امضا APK v۱ نصبشده در دستگاههایی با سیستمعامل اندروید نسخه ۵ و ۶ استفاده میکنند، تحتتاثیر قرار میدهد.
این آسیبپذیری به روشی که اندروید نصب APK برخی برنامهها را مدیریت میکند، مقیم میشود و بدون تحت تاثیر قرار دادن امضای برنامه، امکان اضافه کردن کدهای اضافی در یک پرونده APK را میدهد.
قبل از ارائه توضیحات بیشتر باید برخی از اصول اولیه در مورد یک پرونده APK توضیح دادهشود.
یک پرونده APK یک نوع پرونده آرشیو است، درست مانند پرونده زیپ که شامل کد برنامه، منابع، داراییها، امضاها، گواهینامهها و پرونده manifest است.
نسخههای قبلتر سیستمعامل نسخه ۵ و ۶ اندروید نیز از یک ماشین مجازی فرایند پشتیبانی میکنند که به اجرای آرشیوهای APK حاوی یک نسخه کامپایلشده کد برنامه و پروندهها که با قالب پرونده DEX (Dalvik EXecutable) فشرده شدهاند، کمک میکند.
زمانی که یک برنامه اندروید یا بهروزرسانی آن نصب میشود، دستگاه شما اطلاعات سرآیند APK را بررسی میکند تا درصورتیکه آرشیو حاوی کد پروندههای فشردهشده DEX باشد، مشخص شود.
اگر سرآیند مشخص کند که آرشیو APK حاوی پروندههای DEX است، ماشین مجازی فرآیند کد را تجزیه میکند و آن را اجرا میکند. در غیر اینصورت، کد را مانند یک پرونده APK معمولی اجرا میکند.
به نظر میرسد که یک آرشیو APK بدون اینکه اعتبار و امضاها را تحتتاثیر قرار دهد، میتواند حاوی پروندههای DEX باشد و همزمان کد برنامه معمولی را نیز داشتهباشد.
پژوهشگران متوجه شدند که این قابلیت اضافه کردن کدهای اضافی که بهدلیل عدم وجود بررسی یکپارچگی پرونده است، میتواند به مهاجمان اجازه دهد که کد مخرب کامپایلشده در فرمت DEX را به یک آرشیو APK حاوی کد قانونی با امضاهای معتبر اضافه کند و درنهایت فرایند نصب برنامه را فریب دهد تا بدون اینکه شناسایی شود، کد را در دستگاه هدف اجرا کند.
به عبارت دیگر، نفوذگران نیازی به تغییر کد برنامههای قانونی (که امضاءها را نامعتبر میسازد) ندارند و به جای آن، این آسیبپذیری به نویسندگان بدافزار اجازه میدهد که فقط برخی خطوط کد مخرب اضافی را به برنامه اصلی اضافه کنند.
پس از ایجاد نسخههای مخرب، اما معتبر برنامههای قانونی، نفوذگران میتوانند با استفاده از حاملهای مختلف حمله ازجمله هرزنامهها، فروشگاههای برنامه شخص ثالث که برنامهها و بهروزرسانیهای جعلی ارائه میدهند، مهندسی اجتماعی و حتی حملات مرد میانی آنها را توزیع کنند.
بنا به گفته پژوهشگران «ممکن است برخی کاربران به راحتی فریب بخورند، زیرا این برنامه میتواند دقیقاً مانند برنامه اصلی به نظر برسد و امضای درست و مناسبی داشتهباشد.»
حمله مرد میانی بسیار جالب است، زیرا میتواند به مهاجمان اجازه دهد که برنامههایی را که برای دریافت بهروزرسانیهای آن از طریق یک اتصال رمزنگارینشده HTTP طراحی شدهاند به زور نصب کنند.
شرکت GuardSquare تشریح کرد: «هنگامی که کاربر بهروزرسانی یک برنامه را بارگیری میکند، زمان اجرای اندروید امضای آن را با امضای نسخه اصلی مقایسه میکند. اگر امضاها مطابقت داشتهباشند، زمان اجرای اندروید بهروزرسانی را نصب میکند. برنامه بهروزرسانیشده مجوزهای برنامه اصلی را به ارث میبرد. بنابراین مهاجمان میتوانند از آسیبپذیری Janus برای گمراه کردن فرایند بهروزرسانی استفاده کنند و یک کد تاییدنشده با مجوزهای قدرتمند نصبشده در دستگاه کاربران ناآگاه را دریافت کنند.»
این شرکت امنیتی افزود: «ابزارهای مهندسی معکوس معمولی کد تزریقشده را برای متخصصان نمایش نمیدهند. کاربران همیشه هنگام بارگیری برنامهها و بهروزرسانیها باید مراقب باشند.»
از آنجا که این آسیبپذیری اندروید ۷ و آخرین نسخه را که از امضای ۲v APK پشتیبانی میکند، تحتتاثیر قرار نمیدهد به کاربرانی که نسخههای قدیمیتر اندروید را اجرا میکنند بهشدت توصیه میشود که سیستمعامل دستگاه خود را ارتقا دهند.
بسیار تاسفبار است، اما درصورتیکه سازنده دستگاه شما وصلههای امنیتی و یا آخرین نسخه اندروید را ارائه ندهد برای اینکه خطر نفوذ به دستگاه شما به حداقل برسد، نباید برنامهها و بهروزرسانیها را از منبعی جز فروشگاه گوگلپلی بارگیری و نصب کنید.
پژوهشگران همچنین به توسعهدهندگان اندروید توصیه میکنند که همیشه امضای نسخه v۲ را اعمال کنند تا اطمینان یابند که برنامههای آنها نمیتوانند اعمال نفوذ و دستکاری کنند.