محققان رفتاری غیرعادی را در یک قابلیت ویندوز که قرار است از ریموت از راه دور محافظت کند پیدا کردند که باعث میشود مهاجمان از طریق آن کنترل کامل پیدا کنند. این مشکل توسط جو تاماریلو از مرکز هماهنگی CERT در موسسه مهندسی نرمافزار Carnegie Mellon پیدا شده و به عنوان CVE-2019-9510 به ثبت رسیده است و از Network Level Authentication یا NLA نشات میگیرد که در واقع ویژگی است که شما میتوانید از آن استفاده کنید تا از سرورها یا کلاینتهای ویندوز که در آن Remote Desktop Protocol یا به اختصار (RDP) فعال است، محافظت شود. ویژگی NLA جلوی هرکسی که بخواهد از راه دور وارد کامپیوتر ویندوز شود میگیرد و از وی اول تقاضای مشخص کردن هویت میکند.
با نسخه 1903 ویندوز 10 و ویندوز سرور 2019 که در آوریل 2019 منتشر شد، مایکروسافت طریقه کارکرد NLA را تغییر داد. در حال حاضر این مکانیزم احراز هویت، اطلاعات اعتباری کاربر را در میزبان RDP ذخیره میکند تا در صورت قطعی ارتباط، کاربر را دوباره به سرعت وارد محیط ویندوز کند. موسسهی CERT/CC این موضوع را به عنوان مشاوره بیان نمود که این تغییر به مهاجمان اجازه میدهد که صفحه قفل ویندوز را کاملا دور بزنند.
ورود بدون احراز هویت با قطع RDP
فرض کنید که شما از راه دور توسط RDP وارد یک کامپیوتر ویندوزی شدهاید. سپس شما آن Remote Desktop را قفل میکنید تا مهاجمان هنگامی که شما در اتاق نیستید نتوانند به کامپیوترتان دسترسی پیدا کنند. مهاجمان میتوانند ارتباط شبکه میان ماشین محلی و کامپیوتر ویندوزی راه دور مختل کنند و دوباره آن را وصل کنند. این کار توسط قطع کردن کابل و وصل کردن دوباره آن یا قطع و وصل کردن Wi-Fi صورت میگیرد. اینجا جاییست که رفتار پیشبینی نشده وارد عمل میشود. طبق این آسیبپذیری ویندوز به صورت زیر عمل مینماید:
به خاطر این آسیبپذیری، ریموت به آن کلاینت دوباره وصل شده RDP به جای اینکه تقاضای پسورد کند به دسکتاپ لاگین شده وارد میشود. این به آن معنی است که سیستم راهدور بدون درخواست وارد کردن هر گونه مشخصات اطلاعات اعتباری، قفلش باز میشود.
طبق مشاهدات همچنین اشاره شده است که این رفتار سیستمهای Multi-Factor Authentication یا به اختصار (MFA) که با صفحه لاگین ویندوز ادقام شده است را نیز دور میزند. Duo Security قبول دارد که محصولات MFAش تحت تاثیر این آسیبپذیری هستند ولی اعتقاد دارند که مشکل از سوی آنها نیست و میگویند: با اجباری کردن ذخیرهسازی اطلاعات اعتباری، مایکروسافت اجبار به استفاده مجدد از اطلاعات اعتباری را برای کم کردن بارِکاری کاربران برداشته است تا انعطافپذیری بیشتری به وجود بیاورد.
با این حال شرکت MFA رقیب Silverfort میگوید که آنها تحت تاثیر این مشکل نیستند چرا که آنها به Windows Lock Screen وابستگی ندارند و در ادامه میگویند: به علت روشی که محصولات ما کار میکنند، ما تحت تاثر این آسیبپذیری نیستیم. ما از تکنولوژی خاص استفاده میکنیم که به ما اجازه میدهد MFA را برروی پروتوکل احراز هویت اجباری کنیم (مثل Kerveros،NTLM و LDAP) بدون آنکه به Windows Login Screen وابسته باشیم.
معرفی مشکل ارتباط Remote ویندوز بهعنوان قابلیت آن
مایکروسافت به این موضوع اشاره کرد و گفت که این نوعی قابلیت است و نه یک Bug ویندوزی. آنها به موسسهیCERT گفتند: بعد از بررسی این سناریو ما به این نتیجه رسیدیم که این رفتار شامل شاخص Microsoft Security Servicing برای ویندوز نمیشود. چیزی که شما مشاهده میکنید، ویندوز سرور 2019ی است که Network Level Authentication را قبول میکند. Network Level Authentication احتیاج به اطلاعات اعتباری کاربر دارد تا اجازه دهد در اولین لحظات ارتباط، ارتباط برقرار شود. همان اطلاعات اعتباری برای وارد کردن کاربر به ریموت یا ارتباط مجدد استفاده میشود. تا زمانی که ارتباط برقرار است، کامپیوتر کاربر اطلاعات اعتباری را برای متصل شدن ذخیره سازی میکند و دوباره اگر احتیاج به اتصال مجدد باشد از آنها استفاده میکند تا بتواند NLA را دور بزند. همکار تاماریلو، ویل دورمن که از این بیان قانع نشده است، همچنان فکر میکند که شما باید چارهای بیاندیشید و اضافه میکند که: با توجه به گفته جو تاماریلو، زمانی که از طریق RDP متصل میشوید، ریموت مدرن ویندوز احتیاج به احراز هویت ندارد…
مشاور موسسهیCERT میگوید از آنجا که مایکروسافت قصد درست کردن این مشکل را به زودی ندارد، شما باید از صفحه قفل ماشین محلی استفاده کنید و به قفل Remot Box اعتماد نداشته باشید. شما همچنین میتوانید هنگامی که بیرون میروید جلسات RDP را قطع کنید. در جواب به شکایت یک کاربر، یک مدیر Microsoft Technet همچنین گفت که امکان از کار انداختن اتصال مجدد خودکار بر روی میزبان RDP از طریق Group Policy وجود دارد و همچنین طریقه انجام این کار را ارائه داد.
اگر عبارت Network Level Authentication برای شما آشناییت دارد به این علت است که مایکروسافت آن را برای محافظت از حفره امنیتی با کد CVE-2019-07-08 و نام مستعار BlueKeep پیشنهاد کرده است. این حفره بسیار جدی بوده و دستگاههای قبل از ویندوز 8 را مورد حمله قرار میدهد. NSA و سازمانهای دیگر از مردم خواستند تا دستگاههای خود را به روز نگه دارند.
این مشکل به این معنی نیست که شما نباید از NLA در دستگاههای قبل وینوز 8 خود استفاده کنید. به هر حال این رفتار پیشبینی نشده فقط برروی ویندوز 10 و Windows Server 2019 وجود دارد. BlueKeep این سری از سیستمعاملها را نمیتواند مورد حمله قرار دهد.
جهت مشاهده راهکار این آسیب پذیری می توانید به خبری تحت عنوان ارائه راهکار مقابله با آسیبپذیری جدید Windows 2019 RDP مراجعه نمایید.