محققان امنیتی سه حمله کشف کردهاند که به بدافزارها در دستگاههای ویندوزی که از قبل در معرض خطر قرار گرفتهاند، اجازه میدهد تا از کلیدهای رمز همگامسازی شدهی مدیریت رمز عبور گوگل سوءاستفاده کنند تا اکانتها را به دست گرفته، تأیید هویت کاربر را دور زده و کلیدهای خصوصی کلید رمز را استخراج کنند.
کلیدهای رمز، روشی برای احراز هویت بدون رمز عبور هستند که از کلیدهای رمزنگاری ذخیره شده در دستگاه کاربر برای ورود به حسابهای کاربر استفاده میشوند.
آنها از رمزهای عبور ایمنتر به شمار میروند، زیرا نمیتوان به راحتی آنها را حدس زد، دوباره استفاده کرد یا به راحتی از طریق فیشینگ به سرقت برد، ضمن اینکه به کاربران اجازه میدهند با پین یا بیومتریک، مانند اثر انگشت یا تشخیص چهره، احراز هویت کنند.
در اسناد مربوط به رمز عبور گوگل آمده است: «برخلاف رمزهای عبور، کلیدهای عبور را نمیتوان به اشتراک گذاشت، کپی کرد، نوشت یا بهطور تصادفی به شخص دیگری داد. این امر آنها را در برابر فیشینگ ایمنتر میکند.»
با این حال، گزارش جدیدی از Unit 42 شرکت Palo Alto Networks، سه حمله جدید را نشان میدهد که در مجموع «Pass-ta-key» نامیده میشوند و مدیریت رمز عبور گوگل را در کروم روی دستگاههای ویندوزی مجهز به Trusted Platform Mudule (TPM) هدف قرار میدهند.
هر سه حمله نیاز به بدافزاری دارند که از قبل روی رایانه قربانی در حال اجرا باشد و رمزنگاری مورد استفاده توسط کلیدهای عبور را نمیشکند. بلکه آنها از نقاط ضعف در نحوه مدیریت اعتماد دستگاه، ورود به سیستم، بازیابی و اعتبارنامههای همگامسازی شده توسط کروم و تأییدکننده ابری گوگل سوءاستفاده میکنند.
اولین تکنیک، با نام Pass-ta-key، به بدافزار غیرمجاز اجازه میدهد تا یک دستگاه قابل اعتماد را جعل هویت کند و یک پاسخ احراز هویت معتبر برای یکی از کلیدهای عبور قربانی درخواست کند.
این بدافزار از کلید هویت دستگاه پشتیبانیشده توسط TPM کروم برای امضای درخواستی که به تأییدکنندهی ابری گوگل ارسال میشود، سوءاستفاده میکند. این کار میتواند بدون نیاز به دسترسی مدیر، تعامل با کاربر، اطلاعات بیومتریک یا باز کردن قفل دستگاه انجام شود.
سپس تأییدکنندهی ابری گوگل، درخواست را به عنوان درخواستی از رایانهی مورد اعتماد قربانی در نظر میگیرد و یک پاسخ تأیید هویت امضا شده، معروف به Assertion، برمیگرداند که میتواند برای ورود به حساب کاربری مورد نظر استفاده شود.
با این حال، Assertion شامل یک flag تأیید شده توسط کاربر است که نشان میدهد آیا تأیید
بیومتریک یا پین انجام شده است یا خیر. این امر باعث میشود که اگر سرویسی نیاز به تأیید موفقیتآمیز بودن تأیید کاربر داشته باشد و آن را به درستی تأیید کند، حمله با شکست مواجه شود.

در حالی که این حمله علیه GitHub که پرچم تأیید شده کاربر را به درستی بررسی میکرد، شکست خورد، Unit 42 اعلام کرد که حمله علیه eBay را با موفقیت آزمایش کرده است. اگرچه eBay نیاز به تأیید کاربر داشت، اما پرچمی را که نشان میداد آیا این تأیید انجام شده است یا خیر، به درستی تأیید نکرد.
eBay پس از گزارش محققان، این مشکل را برطرف کرد.
روش دوم، به نام Silver Pass-ta-key، با اجازه دادن به مهاجمان برای ثبت کلید تأیید کاربر خود در تأییدکننده ابری گوگل، فراتر میرود.
مهاجم ابتدا از بدافزاری در دستگاه آسیبدیده استفاده میکند تا با نامعتبر کردن کلید تأیید موجود یا حذف فایل محلی حاوی وضعیت کلید عبور، کروم را مجبور به ثبت مجدد آن کند.
در طول فرآیند ثبت مجدد، مهاجم میتواند یک کلید تأیید کاربر را که کنترل میکند ثبت کند، زیرا تأییدکننده ابری تأیید نمیکند که آیا کلید جدید از سختافزار قابل اعتمادی سرچشمه گرفته است یا خیر.
سپس گوگل درخواستهایی را که با کلید مهاجم امضا شدهاند، به عنوان مدرکی مبنی بر اینکه قربانی دستگاه را با استفاده از پین یا بیومتریک باز کرده است، میپذیرد. این به مهاجم اجازه میدهد تا به حسابهایی که به درستی نیاز به تأیید کاربر دارند و آن را تأیید میکنند، دسترسی پیدا کند.
پس از ثبت کلید مخرب، مهاجم میتواند بدون نیاز به دسترسی بیشتر به رایانه قربانی، از سیستم دیگری احراز هویت کند.
سومین و شدیدترین تکنیک، به نام Golden Pass-ta-key، به بدافزار اجازه میدهد تا کلید اصلی مورد استفاده برای رمزگذاری تمام کلیدهای عبور همگامسازی شده از طریق حساب Google Password Manager قربانی را به دست آورد.
این کلید اصلی، که به عنوان security domain secret شناخته میشود، هنگامی که دستگاهی دسترسی به حساب را ثبت یا بازیابی میکند، به طور موقت به کروم ارسال میشود.
محققین امنیتی در ابتدا متوجه شدند که کروم این security domain secret را به صورت متن ساده از طریق گزارشهای داخلی FIDO خود افشا کرده است. گوگل پس از گزارش محققان، این security domain secret را از گزارشها حذف کرد، اما محققین امنیتی میگویند که این security domain secret هنوز به کروم ارسال میشود و به طور موقت در حافظه پردازش مرورگر قابل دسترسی است. اگر مهاجم قربانی را مجبور به ثبت مجدد در تأییدکننده ابری کند و الگوی مورد نظر را بداند، میتواند SDS را مستقیماً از حافظه استخراج کند.
سپس مهاجم میتواند از کلید اصلی سرقت شده برای رمزگشایی سوابق کلید عبور همگامسازی شده قربانی و بازیابی کلیدهای خصوصی آنها استفاده کند. این کلیدهای خصوصی میتوانند به سیستم دیگری منتقل شوند و برای جعل هویت قربانی و ورود به حسابهای او استفاده شوند.
محققین هشدار میدهند که کلید اصلی سرقت شده همچنین میتواند برای رمزگشایی کلیدهای عبور همگامسازی شده در آینده با حساب کاربری نیز استفاده شود. طبق گزارشها، پیادهسازی فعلی گوگل هیچ راهی برای چرخش یا ابطال کلید ارائه نمیدهد، به این معنی که کلیدهای عبور همگامسازی شده فعلی و آینده توسط همان راز محافظت میشوند.
در حالی که محققان میگویند کلیدهای عبور به طور قابل توجهی امنتر از رمزهای عبور سنتی هستند، حملات نشان میدهد که آنها خطرات ناشی از بدافزارهایی را که از قبل روی یک دستگاه آسیبدیده اجرا میشوند، از بین نمیبرند.
توصیه میشود که وبسایتها حتما نیاز به تأیید هویت دور مرحله ای کاربر داشته باشند و آن را به درستی اعتبارسنجی کنند. مدیران اعتبارنامه همچنین باید کلیدهای دستگاه تازه ثبت شده را اعتبارسنجی کنند، فرآیندهای بازیابی و ثبت مجدد دستگاه را سختتر کنند و از دسترسی به کلیدهای اصلی در حافظه مرورگر جلوگیری کنند.
محققان قبل از انتشار یافتههای خود، حملات مدیریت رمز عبور گوگل را به گوگل گزارش دادند و نقصهای مربوط به تأیید کاربر را به سرویسهای آسیبدیده، از جمله eBay، گزارش دادند.
منبع: