هکرها به تدریج اطلاعات گوشی را سرقت می‌کنند/ تهدیدی نگران‌کننده برای حریم خصوصی

سارقان با استفاده از حمله Pixnapping، در مدت زمانی کمتر از ۳۰ ثانیه اقدام به سرقت اطلاعات حساس شامل کدهای تأیید دومرحله‌ای می‌کنند، بدون آنکه نیازی به کسب مجوز خاصی داشته باشند.

غزال زیاری: در حال حاضر، یک حمله جدید تهدیدی جدی برای دستگاه‌های اندرویدی محسوب می‌شود، قابلیت آن به گونه‌ای است که می‌تواند در بازه زمانی کمتر از ۳۰ ثانیه، کدهای تأیید دومرحله‌ای (۲FA)، موقعیت مکانی و سایر اطلاعات خصوصی کاربران را به شکل کاملاً پنهانی سرقت کند.

این حمله، که محققان دانشگاهی آن را “Pixnapping” نامگذاری کرده‌اند، به‌واسطه نصب یک اپلیکیشن مخرب روی گوشی یا تبلت قربانی پیاده‌سازی می‌شود. این نرم‌افزار، بدون نیاز به هیچ‌گونه مجوز سیستمی، قادر است به اطلاعاتی که هر اپلیکیشن دیگر بر روی صفحه‌ نمایش به نمایش درمی‌آورد، دسترسی پیدا کند.

بر اساس اظهارات محققان، حمله Pixnapping به‌ویژه بر روی گوشی‌های گوگل پیکسل و سامسونگ گلکسی S۲۵ به‌کاربرده شده و احتمال دارد در آینده به مدل‌های دیگر نیز گسترش یابد. در ماه گذشته، شرکت گوگل با انتشار یک به‌روزرسانی در تلاش بود تا این مشکل را برطرف نماید، اما پژوهشگران خاطرنشان کردند که نسخه جدید این حمله حتی پس از اعمال این به‌روزرسانی‌ها هنوز بر روی دستگاه‌ها فعالیت می‌کند.

عملی مشابه به تهیه اسکرین‌شات، اما با دقت بیشتر

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

گروهی از محققان در اطلاع‌رسانی‌های بیشتر در این زمینه نوشتند: «هر چیزی که با باز کردن اپلیکیشن هدف قابل نمایش باشد، می‌تواند از طریق این حمله به‌سرقت برود؛ اطلاعاتی چون پیام‌های چت، کدهای تأیید دومرحله‌ای (۲FA)، نامه‌های الکترونیکی و به همین ترتیب همگی در معرض خطر قرار دارند. اما اگر اپلیکیشنی دارای اطلاعات محرمانه‌ای باشد که هرگز بر روی صفحه نشان داده نمی‌شود (مانند کلید مخفی که تنها ذخیره شده است)، آن اطلاعات نمی‌توانند توسط Pixnapping به سرقت روند.»

این نوع جدید از حمله با حملات GPU.zip سال ۲۰۲۳ شباهت دارد که به وب‌سایت‌های مخرب این امکان را می‌داد تا نام کاربری، رمز عبور و دیگر اطلاعات بصری حساس نمایش داده‌شده توسط وب‌سایت‌ها را بخوانند. حمله GPU.zip با استفاده از کانال‌های جانبی در پردازنده‌های گرافیکی (GPU) تمامی تولیدکنندگان اصلی عمل می‌کرد. علی‌رغم اینکه نقاط ضعف و آسیب‌پذیری‌های مورد استفاده در GPU.zip هرگز به‌طور کامل برطرف نشد، مرورگرها توانسته‌اند قابلیت اجرای iframe ها را محدود کنند تا مانع این‌گونه حملات شوند. (iframe به عنصری در HTML اطلاق می‌شود که اجازه می‌دهد یک وب‌سایت محتوای سایت دیگری را در صفحه خود به نمایش بگذارد.)

حملات Pixnapping نیز بر همان کانال جانبی متمرکز است که GPU.zip از آن بهره می‌برد، یعنی زمان دقیق لازم برای رندر هر فریم بر روی صفحه هدف قرار گرفته است.

آلن لینگهاو وانگ، نویسنده ارشد مقاله پژوهشی مرتبط با Pixnapping، بیان کرد: «این به اپلیکیشن مخرب این اجازه را می‌دهد تا به‌صورت پیکسلی اطلاعات حساس نمایش داده شده توسط دیگر اپلیکیشن‌ها یا وب‌سایت‌ها را بدزدد. به معنای واقعی کلمه، همانند این است که اپلیکیشن مخرب در حال گرفتن اسکرین‌شات از محتویاتی باشد که نباید به آن‌ها دسترسی داشته باشد. مهاجمت ما در سطح end-to-end فقط به مدت زمان رندر هر فریم گرافیکی تکیه می‌کند تا مشخص کند آیا پیکسل سفید است یا خیر.»

حمله Pixnapping در سه مرحله مشخص

حمله Pixnapping در سه مرحله اصلی اجرا می‌شود:

مرحله اول:

اپلیکیشن مخرب با استفاده از API های اندروید، اپلیکیشن هدف را به اجرا درمی‌آورد. این اپلیکیشن‌ها امکان اسکن دستگاه آلوده و شناسایی اپلیکیشن‌های مورد نظر را فراهم می‌آورند. این فراخوان‌ها همچنین می‌توانند اپلیکیشن هدف را وادار کنند تا داده‌های خاصی را که به آن دسترسی دارد، نمایان سازد (برای نمونه، یک رشته پیام در یک اپلیکیشن پیام‌رسان خاص یا کدهای تأییددومرحله‌ای برای یک وب‌سایت خاص). این اقدام اطلاعات موردنظر را به «خط لوله رندر اندروید» (سیستم ارائه پیکسل‌ها به نمایش) ارسال می‌کند؛ از جمله فراخوان‌های کاربردی اندروید می‌توان به activities، intents و tasks اشاره کرد.

مرحله دوم:

در این مرحله، Pixnapping روی پیکسل‌های منفردی که اپلیکیشن هدف به خط لوله رندر فرستاده، عملیات گرافیکی را انجام می‌دهد. این فرایند اطلاعات مختصات پیکسل مورد نظر را کرده و بررسی می‌کند که آیا رنگ آن پیکسل سفید یا غیر سفید است؛ یا به‌طور کلی‌تر، آیا رنگ، برابر با رنگ c است یا خیر (برای یک رنگ خاص c).

وانگ در این رابطه توضیح داد: «به‌عنوان مثال، اگر مهاجم بخواهد پیکسل مربوط به قسمتی از صفحه نمایش را که عدد کد دومرحله‌ای در Google Authenticator در آن ترسیم می‌شود بدزدد؛ اگر چیزی در آنجا به نمایش درنیامده باشد، آن پیکسل سفید خواهد بود و اگر بخشی از کد دومرحله‌ای در آنجا وجود داشته باشد، غیرسفید خواهد بود. اگر پیکسل هدف غیرسفید باشد، مهاجم اقدامات گرافیکی را انجام می‌دهد که زمان رندر آن طولانی باشد و اگر سفید باشد، مدت زمان این کار را کوتاه خواهد کرد. اپلیکیشن مخرب این کار را با باز کردن برخی فعالیت‌های مخرب در جلو اپلیکیشن هدفی که در مرحله اول شناسایی شده بود، انجام می‌دهد.

مرحله سوم:

در این مرحله، مدت زمان لازم برای رندر شدن هر مختصات اندازه‌گیری می‌شود و با ترکیب زمان‌ها برای هر مختصات، تصویر حمله ارسال‌شده به خط لوله رندر، پیکسل به پیکسل بازسازی خواهد شد. در واقع، مهاجم چیزی غیرشفاف را در جلوی اپلیکیشن هدف رندر می‌کند و به کمک حمله‌ای زمانی که اساساً سوءاستفاده‌ای از فشرده‌سازی داده‌های گرافیکی GPU محسوب می‌شود، تلاش می‌کند رنگ پیکسل‌ها را معین کند. این درخواست که “به من پیکسل‌های یک اپلیکیشن دیگر را بده” به هیچ وجه ساده نیست و به همین دلیل زمان‌بر خواهد بود و ممکن است به‌قدری کند باشد که نتواند در مدت زمان ۳۰ ثانیه‌ای اپلیکیشن Google Authenticator را در بر بگیرد.

ریکاردو پاکاگنلا، یکی دیگر از نویسنده‌های این مقاله، با ارائه جزئیات بیشتر درباره این حمله، به نکات زیر اشاره کرد:

  • مرحله ۱: اپلیکیشن مخرب، اپلیکیشن هدف را فعال می‌کند تا محتوای تصویری حساس بر روی صفحه رندر شود.
  • مرحله ۲: اپلیکیشن مخرب با استفاده از API های اندروید، بر روی محتوای بصری رندر شده استفاده می‌شود و یک کانال جانبی مشابه GPU.zip را فعال می‌کند تا از رنگ پیکسل‌های رندر شده در مرحله اول به‌منظور ایجاد نشتی اطلاعات استفاده کند (اگر رنگ پیکسل برابر با c باشد، فعال خواهد شد)
  • مرحله ۳: اپلیکیشن مخرب اثرات جانبی مرحله ۲ را رصد می‌کند تا مثلاً تشخیص دهد آیا رنگ آن پیکسل‌ها، c بوده یا خیر و هر بار یک پیکسل را رصد می‌کند.

مراحل ۲ و ۳ بسته به نوع کانال جانبی مورد استفاده مهاجم در هر سناریو به‌شیوه‌های متفاوتی عمل می‌شوند. در نمونه‌سازی‌های ما بر روی گوشی‌های گوگل و سامسونگ، از کانال جانبی GPU.zip استفاده کردیم. در این حالت، اندازه‌گیری زمان رندر به ازای هر فریم، به منظور مشخص کردن اینکه آیا رنگ هر پیکسل برابر c است یا خیر، کافی بود. با این وجود، احتمال دارد که در نمونه‌سازی‌های آینده، از کانال‌های جانبی دیگری که در آن‌ها کنترل مدیریت حافظه و دسترسی به تایمرهای دقیق مورد نیاز است، استفاده شود. در چنین حالتی نیز Pixnapping همچنان امکان‌پذیر خواهد بود و تنها لازم است تا مهاجم، نحوه پیاده‌سازی مراحل ۲ و ۳ را تغییر دهد.

آیا امکان دزدیدن کد دومرحله‌ای در ۳۰ ثانیه وجود دارد؟

مدت زمان لازم برای اجرای چنین حمله‌ای به عوامل مختلفی بستگی دارد، از جمله تعداد مختصاتی که باید اندازه‌گیری شوند. در برخی موارد، برای دستیابی به اطلاعات مورد نظر، زمانی مشخص وجود ندارد. با این حال، در دیگر موارد، مانند سرقت کدهای تأیید دومرحله‌ای، هر ثانیه اهمیت دارد؛ زیرا هر کد تنها به مدت ۳۰ ثانیه معتبر است.

در ادامه، محققان این مقاله ذکر کردند: «برای اینکه بتوان این کار را در ۳۰ ثانیه انجام داد، ما تعداد نمونه‌ها را برای هر پیکسل هدف به ۱۶ کاهش دادیم (در مقایسه با ۳۴ یا ۶۴ نمونه‌ای که در حملات قبلی به کار رفته بود) و زمان بی‌کاری میان نشت پیکسل‌ها را از ۱٫۵ ثانیه به ۷۰ میلی‌ثانیه کاهش دادیم.»

ما از روش End-to-End برای دزدیدن ۱۰۰ کد دومرحله‌ای مختلف از Google Authenticator روی هر یک از گوشی‌های گوگل پیکسل استفاده کردیم. در این حمله، ما موفق به بازیابی کد ۶ رقمی دومرحله‌ای در ۷۳٪، ۵۳٪، ۲۹٪ و ۵۳٪ از آزمایش‌ها به ترتیب بر روی گوشی‌های گوگل پیکسل‌های ۶، ۷، ۸ و ۹ شدیم. میانگین زمان بازیابی هر کد دومرحله‌ای به‌ترتیب ۱۴٫۳، ۲۵٫۸، ۲۴٫۹ و ۲۵٫۳ ثانیه برای گوشی‌های پیکسل ۶، ۷، ۸ و ۹ به‌دست آمد؛ اما به دلیل نویز‌های قابل توجه، نمی‌توانستیم کدهای دومرحله‌ای را روی دستگاه سامسونگ گلکسی S۲۵ در مدت ۳۰ ثانیه به‌دست آوریم و برنامه‌ریزی برای بررسی بیشتر پیرامون نحوه تنظیم حمله روی این دستگاه را به بررسی‌های آینده سپردیم.

واکنش گوگل و اهمیت این تحقیق

یکی از نمایندگان شرکت گوگل نیز در پاسخ به این موضوع اظهار داشت: «ما در بولتن امنیتی اندروید سپتامبر یک پچ برای CVE-۲۰۲۵-۴۸۵۶۱ منتشر کردیم که به شکلی این رفتار را کاهش می‌دهد. همچنین پچ اضافی دیگری در بولتن امنیتی دسامبر برای این آسیب‌پذیری آماده خواهد شد؛ اما هنوز شاهد نشانه‌ای از سوءاستفاده‌های واقعی در دنیای واقعی نبوده‌ایم.»

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

منبع: arstechnica

۵۸۳۲۱

مشاهده بیشتر

نوشته های مشابه

دکمه بازگشت به بالا