۶ شهریور ۱۳۹۷

کشتن دوباره: اکسپلویتی دیگر برای مرورگر IE (همه سیستم‌ها در خطرند)

در دنیای امروز تمامی سیستم‌ها در معرض آلودگی و سوء استفاده توسط مجرمان فضای مجازی هستند. تا کنون مجرمان فضای مجازی از تکنیک‌های فراوانی استفاده نموده‌اند و هر روز بر تنوع این تکنیک‌ها افزوده می‌شود. در حال حاضر رایانه به جزء جدانشدنی زندگی بشر بدل شده است. در همین حال بسیاری از برنامه‎ها هستند که از رایانه جدانشدنی گشته‌اند. یکی از این برنامه‌ها، مرورگرها هستند. در دنیای امروزه احتمالاً در هر سیستمی یک یا چند مرورگر وجود دارد. یکی از این مرورگرها که در هر سیستم ویندوزی وجود دارد، IE است. این مرورگر بسیار آسیب‌پذیر است و امکان سوء استفاده از آن بسیار زیاد است. پیش‌تر نیز گزارش‌هایی درباره آلودگی این مرورگر ارائه شده است. اما این بار پای تهدیدی در میان است که نه تنها کاربران این مرورگر بلکه تمامی سیستم‌های که این مرورگر را دارند، تهدید می‌کند.

“کشتن دوباره” (Double Kill) یک اکسپلویت روز صفر برای مرورگر IE است که در وصله ماه می مایکروسافت رفع گردید. این اکسپلویت نخستین بار در ماه آوریل سال جاری توسط آنتی‌ویروس “کسپرسکی” (Kaspersky) کشف گردید. مشکلات ایجاد شده توسط این اکسپلویت بسیار بحرانی بوده و رفع این مشکل مهم‏ترین اقدام در به‏روزرسانی امنیتی ماه می بود. اکسپلویت مذکور از یک آسیب‌پذیری‏ “استفاده پس از آزادسازی” (use-after-free) بهره می‌برد. “استفاده پس از آزادسازی” دسته‌ای از آسیب‌پذیری‌های “انحراف حافظه” (memory corruption) هستند که در دنیای مرورگرها بسیار متداولند. این آسیب‌پذیری به نفوذگران اجازه دسترسی به حافظه را پس از آزادسازی آن می‌دهد. در نتیجه، این قدامات موجب “توقف” (crash) برنامه یا اجرای کد دلخواه نفوذگر می‌شوند.

اکسپلویت “کشتن دوباره” در کتابخانه “vbscript.dll” ایجاد سردرگمی می‌نماید. “vbscript.dll” ماژولی است که حاوی توابع “رابط برنامه‏نویسی کاربر” (API) برای زبان “vbscript” می‌باشد. این سردرگمی به نفوذگر اجازه تغییر آدرس فضای حافظه کاربر را می‏دهد. در نتیجه زمانی که کاربر از طریق مرورگر IE در حال بازدید از یک وب‌سایت آلوده است، نفوذگر می‌تواند کد دلخواه خود را روی سیستم او اجرا نماید. البته برای این کار نفوذگر نیاز به توابعی برای دور زدن “سیستم پیشگیری از اجرای داده” (DEP) دارد. کد اجرا شده دارای سطح اجرایی همان کاربر بازدیدکننده است. همچنین نفوذگر می‏تواند امکان کارهایی از قبیل خواندن و نوشتن را به‌دست آورد. برخی از سایت‌های مخرب جهت افزایش سطح دسترسی اقدام به دریافت یک پی‏لود می‏کنند. این پی‏لود حاوی متد‏هایی برای دور زدن سیستم کنترل حساب کاربری (UAC) افزودن قابلیت بارگذاری انعکاسی DLL (Reflective DLL loading) و نهان‌نگاری است.

تاکنون چندین افزونه برای این اکسپلویت ایجاد شده و مورد بهره‏برداری قرار گرفته است. به‏عنوان مثال نفوذگران می‏توانند با انتشار یک ایمیل فیشینگ که در آن یک سند آلوده آفیس پیوست شده باشد، از این آسیب‏پذیری استفاده نمایند. این کار از طریق سوء استفاده از “شی پیوند و جاسازی” (OLE) انجام می‌شود. “شی پیوند و جاسازی” فناوری جدید مایکروسافت است که اشتراک داده‌ها میان برنامه‌هایی که با زبان‌های مختلف نوشته شده‌اند و دارای فرمت‌های مختلفی هستند را تسهیل می‌کند. اسناد مخرب حاوی این اشیا پس از باز شدن، صفحه مخرب را دریافت و در IE بارگذاری می‌کند.

دلیل مشکل ایجاد شده، مدیریت غلط طول عمر اشیا در متد “Class_Terminate” است. این اکسپلویت برای نخستین بار از “شی پیوند و جاسازی” جهت نیات شوم استفاده نموده است. با توجه به کاهش خطر ابتلا توسط ماکروها به‌نظر می‌رسد استفاده از این شی جایگزین جدیدی برای روش قبل باشد. روند آلوده‌سازی این اکسپلویت در شکل۱ قابل مشاهده
است.

 

شکل 1: روند آلوده‌سازی اکسپلویت

شکل ۱: روند آلوده‌سازی اکسپلویت

 

جهت رفع این اشکال پیشنهاد می‌شود، حتماً به‌روزرسانی ماه می انجام گیرد. زیرا این آسیب‌پذیری بسیار خطرناک است و در تمامی سیستم‌عامل‌ها وجود دارد. همچنین استفاده از این آسیب‌پذیری نیازی به پیش‌فرض بودن مرورگر IE ندارد.

 

منابع

[۱] Fortinet, “An Analysis of the DLL Address Leaking Trick used by the “Double Kill” Internet Explorer Zero-Day exploit (CVE-2018-8174)”, https://www.fortinet.com/blog/threat-research/analysis-of-dll-address-leaking-trick-used-by-double-kill-internet-explorer-0-day-exploit.html, August 2018.

[۲] webopedia, “Use After Free”, https://www.webopedia.com/TERM/U/use-after-free.html.

[۳] processlibrary, “vbscript.dll” , http://www.processlibrary.com/en/directory/files/vbscript/21859/.

[۴] barkly, “Double Kill Exploit May Be Heading for Widespread Abuse”, https://blog.barkly.com/double-kill-vbscript-zero-day-exploit-cve-2018-8174, May 2018.

[۵] the hacker news, “Microsoft Patches Two Zero-Day Flaws Under Active Attack”, https://thehackernews.com/2018/05/microsoft-patch-tuesday.html, May 2018.