مشکل پروتکل CredSSP و اختلال در ریموت دسکتاپ

CredSSP از خانواده پروتوکل های Authentication است که درخواست‌های احراز هویت سرویس هایی همچون Remote Desktop را در سیستم‌ عامل های خانواده‌ ویندوز پردازش و مدیریت می کند . آسیب‌پذیری بحرانی جدید کشف شده با کد CVE-2018-0886 مربوط به این پروتکل، امکان اجرای دستورات از راه دور در سیستم‌های هدف را با تکیه بر مجوزهای دسترسی کاربران فراهم می‌کند. برنامه‌هایی که برای احراز هویت به این پروتکل وابسته هستند، ممکن است در برابر این نوع از حملات آسیب‌پذیر باشند ؛ بدین شکل که مهاجم جهت سوء استفاده از این آسیب‌پذیری نیازمند دسترسی به موقعیت فرد میانی (MITM)  بین سیستم عامل سرویس‌دهنده پروتکل RDP و کلاینت است. با اجرای یک حمله موفق، مهاجم قادر خواهد بود برنامه‌های مورد نظر خود را اجرا کرده ، داده‌ها را تغییر داده و یا حذف کند و یا حساب‌های کاربری جدیدی برای داشتن اختیارات و سطح دسترسی کامل در سیستم ایجاد نماید. در مقاله پیش رو به بررسی نحوه کارکرد و رفع مشکل فوق خواهیم پرداخت. با ما همراه باشید.

حملات فرد میانی می‌تواند در زمان استفاده از شبکه‌های بی‌سیم عمومی یا در زمانی که شبکه محلی به صورت مستقیم یا با واسطه در دسترس مهاجم قرار گرفته است یا حتی در زمانی که از طریق آلودگی به یک بدافزار، ترافیک رایانه مورد استفاده توسط قربانی در اختیار مهاجم قرار گرفته، اتفاق بیافتد.
آسیب‌پذیری مذکور در تمامی نسخه‌های ویندوز وجود دارد اما خوشبختانه وصله‌های امنیتی مورد نیاز آن در آخرین بروزرسانی مایکروسافت در تاریخ ۱۳ مارچ ارائه شده است.
بنا بر توصیه ‌‌ی مایکروسافت، برای پیشگیری از حملات با استفاده از آسیب‌پذیری این پروتکل باید علاوه بر اطمینان از بروزرسانی و نصب وصله امنیتی ارائه شده بر روی تمامی سرورها و کلاینت‌ها، نسبت به تنظیم  Group Policy در همه سیستم‌ها جهت جلوگیری از برقراری ارتباط با سیستم‌های وصله نشده اقدام نمود.
از این رو پس از بروزرسانی یکی از سیستمها (چه از نوع کلاینت و چه سرور) ، برخی اختلالات در ریموت به سرورهای ویندوزی (خصوصاً 2012 و 2016) مشاهده خواهد شد که به خاطر این بروزرسانی امنیتی بوده است. این بروزرسانی با بالا بردن تنظیمات پیشفرض سرویس ریموت به بالاترین سطح (CredSSP Updates for CVE-2018-0886) باعث بروز این اختلال و دریافت خطای زیر شده است.

نمونه خطای دریافتی پس از نصب بروزرسانی :

An authentication error has occurred.
The function requested is not supported

Remote computer: <computer name>
This could be due to CredSSP encryption oracle remediation.
For more information, see https:/go.microsoft.com/fwlink/?linkid=866660

این خطا از دو روش قابل رفع می باشد. یکی اینکه بر روی هر دو دستگاه کلاینت و سرور این بروزرسانی حذف شده و در تنظیمات ریموت سرور سطح امنیتی با برداشتن تیک Allow connection only ….  پایین آورده شود.

باید در نظر داشت که این راه حل موقتی بوده و می بایست جهت حفظ امنیت سرور، بروزرسانی های امنیتی بطور کامل نصب گردد.
روش دوم بروزرسانی هر دو ویندوز سرور و کلاینت به بسته های زیر بوده که همگی Optional هستند و تنها در صورت انتخاب check box در لیست بروزرسانی های Windows Update دریافت و نصب می گردند. به صورت کلی، نام این بروزرسانی ها در زیر فهرست شده و می توان با بررسی Windows update موارد مربوط به آنها را یافته و جهت نصب ، انتخاب نمود . همچنین لازم به ذکر است تاریخ ارائه این بسته ها 13 مارچ 2018 است.

Preview of Monthly Quality Rollup for Windows X for x64-based Systems
Preview of Quality Rollup for .NET Framework 3.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1 on Windows X for x64

بر روی سرور های 2008 و Windows 7 علاوه بر این بروزرسانی ها، می بایست وصله های امنیتی زیر نیز نصب شده و سرویس ریموت دسکتاپ به نسخه 8.1 ارتقاء یابد.

KB3102429
KB4103472
KB4103713
KB2592687
KB3080079
KB2830477

پس از نصب این موارد، بر روی ویندوزهای 7 و Server 2008 می توایم به وسیله لینک زیر اقدام به بروزرسانی سرویس RDC در کلاینت نموده و این مورد را با بروزرسانی به نسخه 8.1 مرتفع نمائیم.

https://support.microsoft.com/en-us/help/2592687/remote-desktop-protocol-rdp-8-0-update-for-windows-7-and-windows-serve