روابط عمومی شرکت ایدکو (توزیعکنندهی محصولات کسپرسکی در ایران)؛ مارس 2020 در بحبوحهی دورکار شدن افراد، آسیبپذیری در نصبگر Zoom–این ابزار ارتباط از راه دور برتر جهان-کشف شد. طی این آسیبپذیری روی کامپیوترهای اپل اجرای کد دلخواه انجام میشد. زوم این آسیبپذیر را رفع کرد اما نه کامل! برویم به آگست 2022 که حفره امنیتی مشابهی (از حیث هم لوکیشن و هم پیامدهای اکسپلویت) کشف شد. در این مقاله قرار است مورد دوم را بررسی کنیم و هدفمان این است که توضیح دهیم چرا حفرههای امنیتی در نرمافزاراها گاهاً در یک مکان ثابت مدام اتفاق میافتند و تکرار میشوند. در انتهای مقاله نیز بر حسب عادت همیشگی راهکارهای امنیتی خدمتتان ارائه دادهایم. با ما همراه بمانید.
این جدیدترین آسیبپذیری به چه شکل است؟
مشکل جدید در کلاینت کنفرانس ویدئویی Zoom توسط محقق مشهور Patrick Wardle در DEF CON 30 در اوایل ماه آگست سال جاری برجسته شد. به طور خلاصه، تعدادی از اشکالات در سیستم آپدیت خودکار برای مشتری Apple Zoom یافت شد. این اشکالات، در تئوری، به دست آوردن به اصطلاح حقوق ابرکاربر را ممکن میکند، که به مهاجم احتمالی اجازه میدهد هر کاری را که میخواهد در کامپیوتر میزبان انجام دهد. با این حال، برای سوء استفاده از این آسیبپذیری، مهاجم باید قبلاً به کامپیوتر دسترسی فیزیکی داشته باشد، البته بدون حقوق ویژه. اما این یک سناریوی کاملاً غیر واقعی نیست: برای مثال، کاربر ممکن است برای ناهار برود و فراموش کند کامپیوتر خود را قفل کند. از نظر تئوری، این آسیبپذیری میتواند توسط بدافزار نیز مورد سوء استفاده قرار گیرد، که در غیر این صورت آسیب جدی به کاربر وارد نمیکند.
جزئیات بیشتر در این باره
تحویل به موقع و نصب آسان آپدیتها از الزامات مهم هر قطعه نرمافزار مدرن محسوب میشود. در حالت ایدهآل، فیکس باگها باید بدون اینکه حتی کاربر متوجه شود انجام گیرد اما این همیشه هم امکانپذیر نیست. برای تکمیل آپدیت باید برنامه ریستارت شود، ریلاگین شود یا حتی ریبوت شود. همه ما از دست پیامهای مزاحم که مدام پاپآپ میشوند خسته میشویم؛ نوتیفیکیشنهایی که مدام گوشزد میکنند باید برنامهای، سیستم عاملی، اسمارتفون، تبلت یا سفتافزاری را به روز کنیم. اما این کار حیاتی است: آپدیتها حفرههای امنیتی را که میتوانند خسارت ایجاد کنند میبندند. در برخی موارد حاد و جدی حتی نیاز است فوری نرمافزارهای آسیبپذیر را از گزند حملات سایبری مصون دارید. روش استاندارد آپدیت یک اپ مکااس با نصب اولیهاش فرقی ندارد: دانلود نسخه جدید، اجرای فایل و وارد کردن پسورد کاربری. زوم سعی داشت این روند را آسان سازد:
کلاینت به سرور دسترسی پیدا میکند، نسخه جدید را دانلود و سپس آن، بدون نیاز به وارد کردن رمز عبور توسط کاربر، به تنهایی نصب میشود. متاسفانه این فرآیند برقراری ارتباط با سرور و سپس دانلود و نصب آپدیت همیشه به درستی اجرا نمیشود. ده سال پیش، دسترسی به سرورها بدون رمزگذاری دادهها یک روش معمول بود که به مهاجم بالقوه اجازه میداد فایل آپدیت را براحتی با بدافزار جایگزین کند. رمزگذاری پیادهسازی شد و این کار را پیچیدهتر کرد، اما همچنان میتوان فایل را پس از دانلود، زمانی که قبلاً روی دیسک ذخیره شده اما هنوز نصب نشده است، جایگزین کرد. در آخرین (در اواخر سال گذشته، زمانی که پاتریک تحقیقات خود را آغاز کرد) نسخه زوم، به نظر میرسید همه چیز خوب است. مشتری از طریق یک کانال امن به سرور به روز رسانی ویژه دسترسی پیدا میکند، فایل را دانلود نموده صحت آن را تأیید می کند (بررسی میکند که توسط گواهی فروشنده امضا شده است) و آن را نصب میکند. برای نصب، SW از سیستم، حقوق ابرکاربر موقت را درخواست می کند، اما به گونهای که کاربر نیازی به وارد کردن رمز عبور نداشته باشد.
امضای دیجیتال بسیار مهم است. از اینها گذشته، این برنامه در کامپیوتر کاربر از گوشهای از جهان اینترنت دانلود شده و با بالاترین مزیتها اجرا میگردد. بنابراین باید مطمئن شوید برنامه برنامهای درست باشد. اسپوف یا جع ساده فایل دانلود شده کار نخواهد کرد: همانطور که در اسلاید بالای ارائهی پاتریک مشاهده میکنید، -جایگزینی نتایج فایل در پیام خطا- آپدیت جعلی امضای دیجیتال ندارد و برای همین خیلی سخت میشود آن را اسپوف کرد. افسوس، پروسه اعتبارسنجی امضای دیجیتال نیز ناقص پیش رفت. این کار با اجرای ابزار سیستم اجرا شد. این نشان دهنده پارامترهای امضای دیجیتال آپدیت دانلودشده از جمله خطی که نشانگر این باشد شرکت گواهی را دریافت کرده است:
Zoom Video Communications, Inc. Developer ID Certification Authority Apple Root CA
خروجی این ابزار پردازش شد و اگر این خط وجود داشت، نصب کلید میخورد. مشکل این بود که نام فایل هم در خروجی نمایش داده شده بود. پس به لحاظ تئوری مهاجم میتوانست یک آپدیت مخرب با همین نام درست کند (به جای استاندارد ZoomUpdate.pkg از Zoom Video Communications, Inc. Developer ID Certification Authority Apple Root CA.pkg استفاده کند). و همین کافی میبود برای فریب رویه اعتبارسنجی: خط لازمه که حضور دارد پس فایل باید قانونی باشد! از این رو، حمله میتوانست بدین شکل باشد: رویه اعتبارسنجی آپدیت آغاز میشود (انجامش چندان هم سخت نیست)، سپس آپدیت قانونی دانلود و با ابدافزار جایش عوض میشود؛ سپس برای فریب پروسه اعتبارسنجی گواهی از نو نامگذاری میشود. فایل مخرب با مزایای سیستم اجرا شده و حالا کامپیوتر هک شده است! اما در 20 دسامبر 2021 آپدیت زوم منتشر شد که به این بردار حمله پایان داد. تغییر، ساده بود: نامگذاری مجدد فایل بعد از دانلود اجباری شد. اما پاتریک واردل توانسته بود حمله را نیز اصلاح کند: آپگرید کلاینت به نسخهای قدیمیتر! و جالب است این راهکار جواب هم داد: آپدیت قدیمی گواهی دیجیتال قانونی داشت و این نسخه در طول نصب چک نشده بود.
اهمیت کار در کجاست؟
این پژوهش پاتریک واردل نشان میدهد چقدر مهم است که تحویل نصب آپدیتها با امنیت کامل انجام شود. افزون بر این، داستان این باگ واضحاً نشان میدهد چطور توسعهدهندگان نرمافزار اغلب سعی دارند با تغییرات ساده مشکلی را حل و فصل کنند بدون آنکه آن مشکل را با جزئیات درک کنند. ابتدا (حتی پیش از اینکه واردل مشکل را به زوم گزارش دهد) –در دسامبر 2021- آنها سادهترین نسخه حمله را با استفاده از جایگزینی جزئی فایل و دور زدن اعتبارسنجی گواهی شکست دادند. بعد از گزارش آسیبپذیری، در آوریل 2022 آنها گزینه downgrade را بستند –منظورمان همان نصب نسخه قدیمیتر است. این نسخه در بخش مکانیزم تحویل آپدیت نسخهی آسیبپذیرتری از زوم محسوب میشد.
نبرد بین هکرها و توسعهدهندگان
وقتی کسی گزارش پاتریک واردل را بخواند میماند که چرا اصلاً باید ماجرا چنین باشد. چطور چنین آسیبپذیریهای بچهگانهای باید در بخشهای مهم یک نرمافزار وجود داشته باشند؟ و چرا حتی بعد از گزارش مشکل آنها هشت ماه بعد آسیبپذیری را رفع کردند (درست طی سومین تلاششان)! اینکه فقط توسعهدهندگان را به باد انتقاد بگیریم روا نیست. در همه برنامهها، باگها و خطا گاهاً سر وکلهشان پیدا میشود. اگر همه برنامهنویسها اشتباه میکنند پس بدگویی ازشان کاری را پیش نمیبرد: آنها تنها توسعهدهندگان روی زمین هستند. شاید دلیل این است که هکرهای کلاه سفید (که یافتههای خود را به بردار گزارش میدهند) و مجرمان سایبری (که برای حمله به کاربران و سود بردن دست به اکسپلویت حفرههای امنیتی میزنند) در مقایسه با توسعهدهندگان نرمافزار اولویتهای متفاوتی داشته باشند.
وقتی شما برنامهای را توسعه میدهید مهم است که صدها کار مختلف را درست انجام دهد. پس اولویت شما میشود راحت کردن کار کاربر که این یعنی –در مورد زوم- کیفیت ارتباطگیری بالا و سازگاری با سیستم عاملهای مختلف و نیز هزاران دستگاه جدید و قدیمی. این درحالیست که همه آنچه یک هکر نیاز دارد یافتن باگی است که بشود از آن برای مقاصد شرورانه استفاده کرد. حال تصور کنید کسی به شما در مورد یک آسیبپذیر اطلاع داده باشد: بله شما باید آن را پچ کنید اما بدون خراب شدن سیستم ظرافتکاریشدهی نرمافزار کلاین-سرور. باید با هزاران تنظیمات مختلف آن را تست کنید. طبیعتاً توسعهدهنده میخواهد با کمترین میزان دستکاری و تغییر دست به حل مشکل بزند و اینها اغلب تازه کافی هم نخواهد بود:
برنامهها با هر بار پچ به طور فزایندهای ایمنتر میشوند. نمیشود همه مشکلات را حل کرد و اپی ساخت تماماً ایدهآل مگر اینکه بخواهیم از ابتدا اپی را بسازیم. اما برخی عناصر حیاتی را باید به بهترین روش حفاظت کرد و آپدیت سیستم دلیوری قطعاً یکی از همانهاست. ما کاربران باید بتوانیم به برنامهای که روی کامپیوتر خود نصب میکنیم اعتماد داشته باشیم. داستان آسیبپذیری زوم نمونه مثبتی است از همکاری یک توسعهدهنده و یک محقق مستقل برای حل یک مشکل. این آشکارا نشان میدهد توسعهدهندگان مسئولیتپذیرند. مطلب را چنین جمعبندی کنیم که: بدافزارها اغلب در طول اولین نصب نرمافزار به کامپیوتر ما رخنه میکنند. از این رو، مهم است که چک کنید ببینید آیا ابزارها از منابع رسمی دانلود میشود یا نه. همینطور پیشنهاد میدهیم حتیالامکان از فروشگاههای اپ استفاده کنید و به هیچوجه از وبسایتهای مشکوک آنها را دریافت نکنید. در غیر این صورت احتمال این وجود خواهد داشت که دادههایتان از طریق متودهای هک بسیار ساده سرقت شود- بدون اینکه حتی نیاز باشد آسیبپذیریهای پیچیده در نرمافزارهای رسمی اکسپلویت شود.
منبع: کسپرسکی آنلاین (ایدکو)
کسپرسکی اسم یکی از بزرگترین شرکتهای امنیتی و سازنده آنتی ویروس است که برخی از کاربران اشتباهاً این شرکت و محصولات آنتی ویروس آن را با عناوینی نظیر کسپرسکای،کاسپرسکی، کسپراسکای، کسپراسکای، و یا کاسپراسکای نیز میشناسد. همچنین لازم به ذکر است مدیرعامل این شرکت نیز یوجین کسپرسکی نام دارد.