یک کابوس امنیتی: مهاجمان میتوانند با گذرواژههای قدیمی و لغو شده به سیستم دسترسی داشته باشند و وارد آن شوند. مایکروسافت برنامهای برای ایجاد تغییر در این زمینه ندارد.
پس از یک حمله یا زمانی که مشخص شود اطلاعات ورود کاربران به خطر افتادهاند، مدیران سیستم معمولاً گذرواژهها را لغو کرده و کاربران را وادار به تغییر آنها میکنند تا هکرها نتوانند با استفاده از اطلاعات بهدستآمده وارد سیستم شوند. اما اگر پروتکل ریموت دسکتاپ (RDP) فعال باشد، این اقدامات بینتیجه خواهند بود: زیرا گذرواژههای قدیمی همچنان در این حالت معتبر باقی میمانند.
وبسایت Arstechnica از این رفتار غیرمنتظره گزارش داده است. به گفته این گزارش، پژوهشگر امنیت سایبری “دنیل وید” این مشکل را به مرکز پاسخگویی امنیتی مایکروسافت (MSRC) اطلاع داده است. به گفته او، گذرواژههای قدیمی در RDP حتی در سیستمهای کاملاً جدید نیز همچنان کار میکنند. گذرواژههای جدید ممکن است نادیده گرفته شوند، در حالی که نسخههای قدیمی همچنان پذیرفته میشوند. هیچگونه هشدار امنیتی از سوی Windows Defender، Entra ID یا Azure داده نمیشود. همچنین هیچ روش مشخصی برای کاربران وجود ندارد تا این مشکل را کشف و برطرف کنند. مایکروسافت نیز چنین سناریویی را مستند نکرده است.
مایکروسافت: «این یک تصمیم طراحی است، نه یک ضعف امنیتی»
مایکروسافت اعلام کرده که این مسئله یک «تصمیم طراحی» است تا اطمینان حاصل شود حداقل یک حساب کاربری بتواند وارد سیستم شود، حتی اگر سیستم برای مدت طولانی آفلاین بوده باشد. به همین دلیل، این موضوع بهعنوان یک ضعف امنیتی شناخته نمیشود و مایکروسافت برنامهای برای تغییر آن ندارد.
پروتکل RDP به کاربران اجازه میدهد از راه دور به یک سیستم ویندوزی متصل شوند و همانند دسترسی لوکال، با آن کار کنند. این پروتکل خروجی دسکتاپ را به دستگاه راه دور منتقل میکند. اگر سیستمی دسترسی از راه دور را فعال کرده باشد و با حساب مایکروسافت یا Azure لاگین شده باشد، کاربران میتوانند از طریق RDP با وارد کردن گذرواژه وارد شوند. این گذرواژه با دادههای محلی ذخیرهشده مقایسه میشود. همچنین میتوان با همان حساب آنلاینی وارد شد که قبلاً برای لاگین محلی استفاده شده است.
اما مسئله اینجاست که حتی اگر کاربر گذرواژهاش را تغییر دهد، نسخه قدیمی گذرواژه برای RDP همچنان معتبر میماند. در نتیجه، در برخی موارد گذرواژههای قدیمی کار میکنند، اما جدیدها نه. این موضوع منجر به یک دسترسی پایدار از طریق RDP میشود که احراز هویت ابری، احراز هویت چندمرحلهای (MFA) و سیاستهای کنترل دسترسی را دور میزند. وید این موضوع را بهطور صریح چنین توصیف میکند: «این باعث ایجاد یک در پشتی (Backdoor) بیصدا و از راه دور در هر سیستمی میشود که یک بار گذرواژهای در آن کش شده است. حتی اگر مهاجم هیچگاه مستقیماً به سیستم دسترسی نداشته باشد، ویندوز همچنان به آن گذرواژه اعتماد میکند.»
دلیل مشکل: «ذخیرهسازی کششده اطلاعات ورود» (Credential Caching)
ریشه این مشکل، کش شدن اطلاعات ورود (Credential Caching) است. در اولین ورود با حساب مایکروسافت یا Azure، RDP گذرواژه را بهصورت آنلاین تأیید میکند. ویندوز سپس این اطلاعات را بهصورت رمزنگاریشده بهصورت محلی ذخیره میکند. پس از آن، در نشستهای بعدی RDP، گذرواژهها تنها با نسخه کششده بررسی میشوند و دیگر بررسی آنلاین صورت نمیگیرد. به همین دلیل، حتی گذرواژههای لغو شده نیز میتوانند دسترسی ایجاد کنند.
مایکروسافت با بهروزرسانی مستندات آنلاین خود در مورد سناریوهای ورود به ویندوز به گزارش امنیتی وید پاسخ داده است. در آن آمده: «اگر کاربر ورود محلی انجام دهد، گذرواژهی او ابتدا با نسخهی کششده محلی مقایسه میشود، پیش از آنکه فرآیند تأیید هویت از طریق ارائهدهنده هویت آنلاین صورت گیرد. اگر این تأیید اولیه موفق باشد، کاربر دسترسی مییابد— حتی اگر دستگاه آفلاین باشد. اگر کاربری گذرواژه خود را در فضای ابری تغییر دهد، کش محلی بهروزرسانی نمیشود، که این به معنای امکان ورود با گذرواژه قدیمی به سیستم محلی است.»
اما به گفته پژوهشگر امنیتی ویل دورمن، این بهروزرسانی مستندات به اندازه کافی برای اکثر مدیران قابلتشخیص و روشن نیست. همچنین اشارهای نشده که اگر حساب Azure یا مایکروسافت یک کاربر به خطر افتاد، چگونه میتوان دسترسی RDP را ایمن کرد. ظاهراً وید نخستین نفری نبوده که این مشکل را گزارش داده است. مایکروسافت به او اعلام کرده که یک پژوهشگر امنیتی دیگر نیز در سال ۲۰۲۳ این مسئله را مطرح کرده بود. آن زمان مایکروسافت در حال بررسی ایجاد تغییر در کد بود، اما بعداً به این نتیجه رسید که چنین تغییری میتواند باعث ناسازگاری با برخی قابلیتهای مهم مورد استفاده برنامههای دیگر شود.

