تیم آمادگی اضطراری رایانهای آمریکا دربارهی آسیبپذیری موجود در پیادهسازی تصادفیسازی طرحبندی فضای آدرس (ASLR) مایکروسافت که ویندوز ۸ و ویندوز ۸٫۱ و ویندوز ۱۰ را تحت تاثیر قرار داده هشدار میدهد. این آسیبپذیری میتواند به یک مهاجم راه دور اجازه دهد تا کنترل یک سامانهی آسیبپذیر را به دست بگیرد.
مایکروسافت گفت که در حال بررسی این مسأله است.
ASLR به عنوان یک سامانهی سختافزاری پشتیبانی میشود که در اکثر سامانههای عامل تلفن همراه و رایانهها پیادهسازی شده است. ASLR برای جلوگیری از حملات اجرای کد مبتنی بر حافظه استفاده میشود. سامانههای عامل iOS، اندروید، ویندوز، macOS و لینوکس هر کدام از ASLR برای امنیت سامانه استفاده میکنند.
در طول سالها، دور زدن ASLR به نوعی ورزش برای مهاجمان و محققان کلاه سفید تبدیل شده است. با این حال، این مسألهی اخیر ASLR مربوط به اجرای ASLR در ویندوز است.
بنا به گفتهی ویل دورمَن (Will Dormann)، تحلیلگر ارشد آسیبپذیری در CERT، مایکروسافت در سال ۲۰۱۲ با انتشار ویندوز ۸ خطایی در نحوهی پیادهسازی ASLR معرفی کرد. بنا به گفتهی دورمَن، پس از آن، این آسیبپذیری همچنان ادامه داشته است، و ویندوز ۱۰ را نیز تحت تاثیر قرار میدهد.
دورمَن نوشت: « اگر ASLR به صورت اجباری از طریق EMET یا Windows Defender Exploit Guard فعال شود، ویندوز ۸ و نسخههای بعد از آن در تصادفیسازی مناسب برنامهها موفق نمیشود.» تحت این شرایط خاص یک پیادهسازی دارای آسیبپذیری میتواند فرصتی برای مهاجم ایجاد کند تا حملهی مبتنی بر حافظه را انجام دهد.
مایکروسافت این مسأله را تایید میکند
مایکروسافت گفت: «این مسأله که توسط US-CERT توصیف شد یک آسیبپذیری نیست. ASLR همانطور که طراحی شده عمل میکند و مشتریانی که پیکربندیهای پیشفرض ویندوز را اجرا میکنند در معرض خطر نیستند. US-CERT در پیکربندی تنظیمات غیر پیشفرض برای ASLR با استفاده از Windows Defender Exploit Guard و EMET، یک مسأله را کشف کرد و راهحلهایی ارائه داد. مایکروسافت در حال بررسی است و این مسأله پیکربندی را مورد توجه قرار میدهد.»
مشکل به این مسأله مربوط است که چگونه ASLR در برابر حملات محافظت میکند. این کار با تصادفیسازی مکانهایی از حافظه که برنامهها در آنجا اجرا میشوند، صورت میگیرد. به جای اجرا در مکانهای قابل پیشبینی حافظه که یک مهاجم میتواند پیشبینی کند، ASLR این فرآیند را تصادفی میکند.
اما دورمَن متوجه شد که برنامهی آسیبپذیر ASLR مایکروسافت باعث میشود که برنامهها هر بار به آدرسهای قابل پیشبینی تغییر مکان یابند.
دورمَن در یک پست آسیبپذیری US-CERT نوشت: «EMET یا Windows Defender Exploit Guard هر دو ASLR را بدون فعال کردن ASLR از پایین به بالا فعال میکنند. اگرچه Windows Defender Exploit Guard یک گزینه برای ASLR از پایین به بالا دارد، اما مقدار GUI پیشفرض، مقدار رجیستری پایه را نشان نمیدهد. این امر باعث میشود که برنامهها به صورت غیرپویا تغییرمکان یابند اما این کار بدون آنتروپی انجام شود. در نتیجه چنین برنامههایی تغییر مکان خواهند یافت، اما هر بار بعد از راهاندازی مجدد و حتی در سامانههای مختلف به همان آدرس تغییر مکان مییابند.»
دورمَن گفت زمانی که ASLR را در ویندوز ۸ فعال کرد این آسیبپذیری را کشف کرد. این محقق در توییتر به این صورت توضیح داد: «با آغاز ویندوز ۸، ASLR اجباری (که از طریق EMET فعال شده است) دارای آنتروپی صفر است و اساساً آن را بی اهمیت میکند.»
EMET مخفف جعبه ابزار پیشرفتهی کاهش تجربه حمله است و ابزاری است که از بهرهبرداری از آسیبپذیریهای نرمافزار جلوگیری میکند.
دورمَن گفت تاثیر این نوع پیکربندی اشتباه ASLR این است که: «ویندوز ۸ و سامانههای جدیدتر که در آنها ASLR از طریق EMET یا Windows Defender Exploit Guard فعال شده است، برنامههای غیرپویا دارد که به یک مکان قابل پیشبینی تغییر مکان مییابند، در نتیجه از مزایای ASLR اجباری محروم است. این مسأله میتواند بهرهبرداری از برخی کلاسهای آسیبپذیری را آسانتر کند.»
US-CERT گفت هنوز هیچ وصلهای برای این آسیبپذیری وجود ندارد. با این حال، راهحلی که ارائه میشود با فعال کردن ASLR از پایین به بالا در سامانههایی که ASLR اجباری دارند آغاز میشود.
منبع: