یک اکسپلویت ساده جاوااسکریپتی، سیستم حفاظتی ASLR در 22 معماری مختلف cpu را دور می زند!

یک اکسپلویت ساده جاوااسکریپتی، سیستم حفاظتی ASLR در 22 معماری مختلف cpu را دور می زند!

تاریخ ایجاد

محققین امنیتی یکی از مکانیزم‏های امنیتی را مستقل از نوع سیستم عامل یا نرم‏افزارهای در حال اجرا دور زدند. علاوه بر آن، این نقص نمی‌تواند به طور کامل توسط به روز رسانی های نرم افزاری رفع شود! این آسیب‌پذیری در «واحد مدیریت حافظه» (MMU) قرار دارد که یکی از اجزاء اصلی cpu است و برای جلوگیری از دور زدن سیستم «چیدمان تصادفی لایه ی فضای آدرس» (ASLR) به کار می‏رود.
مکانیزم امنیتی ASLRl توسط همه سیستم‌ عامل‏های مدرن پشتیبانی می‏شود. از جمله این آنها می‏توان ویندوز، مک، لینوکس، اندروید، iOS و BSDرا نام برد. مکانیزم امنیتی ASLR جای برنامه‌های در حال اجرا را در حافظه به صورت تصادفی چینش می‏کند که باعث می‏شود اجرای کدهای مخرب در حمله سرریز بافر (Buffer Overflow) یا حملات مشابه برای هکر سخت شود.
این حمله، که ASLR Cache یا AnC نام گرفته، کاملا جدی است چون از یک کد ساده جاوااسکریپت (JavaScript) برای شناسایی آدرس پایه برنامه‏های در حال اجرا در حافظه استفاده می‏کند. بنابراین، فقط مشاهده یک سایت مخرب می‌تواند اجرای این حمله را امکان‏پذیر کند، حمله‏ای که به مهاجم اجازه می‌دهد تا حملات بیشتری را به همان قسمت از حافظه برای سرقت اطلاعات حساس ذخیره شده در حافظه کامپیوتر هدایت کند.
واحد MMU در سیستم‏های شخصی، موبایل و سرورها وجود دارد و کارش آدرس‏دهی به مکان‏هایی از حافظه است که داده ذخیره می‏شود. این واحد به طور مداوم دایرکتوری که جدول صفحه (Page Table) را صدا می‌زند را بررسی می‌کند تا آدرس‌های آن دایرکتوری را پیگیری و دنبال کند. برنامه‏ها معمولاً جدول صفحه را در کش پردازنده ذخیره می‌کنند که این کار تراشه را سریع‌تر و کارآمد تر می‌کند. اما مشکل از آنجایی شروع می‏شود که این مولفه بعضی از اطلاعات کش را با نرم‏افزارهای نامطمئنی مانند مرورگرها به اشتراک می‏گذارد. بنابراین، یک کد کوچک جاوااسکریپت که در حال اجرا روی یک وب سایت مخرب است هم می‌تواند در آن کش داده بنویسد و مهاجم را قادر سازد تا محل اجرای نرم‌افزارها را کشف کند، مانند کتابخانه‌ها و فایل‌های داخل RAM که در حافظه مجازی قرار دارند. مهاجم با دسترسی به این داده‌های مکانی می‌تواند بخش‌هایی از حافظه کامپیوتر را بخواند و بعداً برای اجرای حملات پیچیده‌تر و کامل‌تر استفاده کند.
قابل توجه است که محققین توانستند تنها در 90 ثانیه! با موفقیت حملات جاوااسکریپت AnC را با نسخه های به روز مرورگر Chrome و Firefox بر روی 22 معماری مختلف CPU اجرا کنند. در حمله‏ی آنها، حمله‏ی جاوااسکریپت با یک کد حمله که آسیب‌پذیری CVE-2013-0753 را اکسپلویت می‌کند، ترکیب شده است.
بر اساس گزارش‏های منتشر شده از این محققین، تنهای راهی که شما می‌توانید خودتان را علیه حملات AnC محافظت کنید، فعال کردن پلاگین‏هایی مانند NoScript برای Firefox یا ScriptSafe برای Chroem است تا کد های جاوااسکریپت نامطمئن را روی صفحات وب بلاک کند و اجازه اجرا ندهد

برچسب‌ها