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