پروژه Sauron

شنبه ۰۶ شهریور ۱۳۹۵
sharif-cert, apa, بدافزار, Sauron
مرکز آپا شریف
SUT-APA-LOGO
چکیده:
پروژه‌ی Sauron یک پلت‌فرم سطح بالای جاسوسی سایبری است که از سال ۱۳۹۰ کار خود را آغاز کرده و تاکنون توانسته است ارتباطات رمزشده‌ی دولت‌ها و سازمان‌های مختلف، در چندین کشور را به‌صورت مخفیانه جمع‌آوری کند. این حمله توانسته است پنج سال مخفیانه به کار خود ادامه دهد. از لحاظ پیچیدگی فنی و پایداری می‌توان پروژه‌ی Sauron را در رده‌ی حملات مهمی مانند Equation، Regin، Duqu و Careto قرار داد. سازمان‌های دولتی، مراکز تحقیقات علمی، نظامی، اپراتورهای ارتباطات تلفنی و مالی مختلفی در کشورهایی نظیر روسیه، ایران، روآندا، چین، سوئد و بلژیک مورد هدف این حمله قرار گرفته‌اند. از آن‌جا که این حمله شباهت‌هایی به حمله‌ی Flame دارد می‌توان حدس زد که کشور آمریکا پشتیبانی این حمله را بر عهده داشته است. در حال حاضر چندین آزمایشگاه امنیتی اقدام به ارائه‌ی راه‌حل و پاک‌سازی سیستم‌های آلوده کرده‌اند اما ممکن است سیستم‌هایی آلوده وجود داشته باشند که هم‌چنان شناسایی‌نشده باقی مانده و جاسوس‌افزار به کار خود ادامه دهد.

مقدمه

در سپتامبر ۲۰۱۵ آزمایشگاه کسپرسکی متوجه‌ی ترافیک غیرعادی در شبکه‌ی تحت‌نظارت خود شد و تحلیل بر روی آن را شروع کرد. این رویداد کشف یک کتابخانه‌ی اجرایی عجیب در حافظه را به دنبال داشت. کتابخانه‌ای به عنوان یک فیلتر گذرواژه‌ی ویندوزی در حافظه بارگزاری شده بود و به اطلاعات حساسی مانند گذرواژه‌های مدیران دسترسی داشت. تحقیقات بیشتر این آزمایشگاه نشانه‌هایی از رفتارهای مشکوک و حملاتی برعلیه اشخاص حکومتی را برملا کرد.
همان‌طور که شکل روبرو نشان می‌دهد از آن‌جا که نویسنده‌ی این بدافزار از واژه‌ی Sauron در فایل پیکربندی آن استفاده کرده است، کسپرسکی نیز نام این پروژه را Sauron نامید.

ویژگی‌های Sauron:

  • پروژه‌ی Sauron در یک چارچوب ماژولار طراحی شده است و هدف آن حملات سایبری و جاسوسی طولانی مدت است.
  • در همه‌ی ماژول‌ها و پروتکل‌های شبکه‌ی این پروژه از الگوریتم‌های قوی رمزنگاری مانند RC6، RC5، RC4، AES، Salsa20 و ... استفاده شده است.
  • Sauron علاقه‌ی زیادی به ایجاد یک ارتباط رمزنگاری‌شده با سازمان‌های دولتی دارد و در این ارتباط، اطلاعات حساسی مانند کلیدهای رمزنگاری، فایل‌های پیکربندی، آدرس آی‌پی کارگزارهای زیرساخت و ... را به سرقت می‌برد.
  • Sauron اهداف خود را با استفاده از درایوهای ذخیره‌سازی USB مخصوص که از قبل آماده شده‌اند، پیش می‌برد. جایی که داده‌ها می‌توانند بیرون از دید سیستم‌عامل ذخیره شوند.
  • این چارچوب از پروتکل DNS برای استخراج داده‌ها استفاده می‌کند.
  • روش اولیه‌ی نفوذ به شبکه‌های قربانی در این پروژه، هم‌چنان ناشناخته مانده است.
  • مهاجمان از کانال‌های مجاز توزیع نرم‌افزار برای اهداف خود در شبکه‌های آلوده بهره برده‌اند.

قربانیان

بر اساس تحقیقات انجام‌شده، بیش از ۳۰ سازمان آلوده به Sauron در روسیه، ایران، رواندا و احتمالا تعدادی از کشورهای ایتالیایی زبان شناسایی شده‌اند. اما به طور حتم سازمان‌ها و ناحیه‌های بیشتری تحت‌تاثیر این بدافزار قرار گرفته‌اند. سازمان‌های مورد حمله‌ی این بدافزار در ادامه لیست شده‌اند. حملات بیش‌تر معطوف به افراد کلیدی در سازمان‌های هسته‌ای بوده است.
  • دولت
  • مراکز تحقیقات علمی
  • مراکز نظامی
  • مراکز مالی
  • ارایه‌دهندگان خدمات مخابراتی

گسترش بدافزار

ماژول‌های Sauron از طریق تغییر اسکریپت‌های استفاده‌شده توسط مدیران سیستم، گسترش یافته‌اند. این اسکریپت‌ها به صورت مرکزی برای توسعه‌ی به‌روزرسانی‌های نرم‌افزاری مجاز در درون شبکه استفاده می‌شدند.
در اصل حمله‌کنندگان با تزریق یک فرمان در اسکریپت‌های توسعه‌ی نرم‌افزار موجود، بدافزار را به کار می‌اندازند. بدافزار تزریق‌شده یک ماژول کوچک (۴ یا ۵ کیلوبایت) است که نقش یک دانلودکننده‌ی ساده را دارد. هنگامی که دانلودکننده در کامپیوتر هدف، تحت یک حساب کاربری مدیر شبکه اجرا می‌شود، با اتصال به آدرس‌های آی‌پی داخلی و خارجی بدنه‌ی Sauron را دانلود می‌کند.
Sauron در مواردی که نیاز دارد فایل‌های خود را در قالب EXE بر روی دیسک ذخیره کند، با تغییر نام آن‌ها با فایل‌های نرم‌افزاری مجاز، آن‌ها را پنهان می‌کند. جدول زیر نمونه‌ای از این کار را نشان می‌دهد.
Vendor با نام مشابه نام بدافزار پنهان‌شده
Kaspersky Lab Kavupdate.exe, kavupd.exe
Symantec AssaWrapper.exe, symnet32.dll
Microsoft KB2931368.exe
Hewlett-Packard Hptcpprnt.dll
VmWare VMwareToolsUpgr32.exe

پرش از روی Air-Gap

ابزار Sauron یک ماژول خاص طراحی‌شده، برای جابه‌جایی داده از یک شبکه‌ی Air-Gap به سیستمی که به اینترنت متصل است دارد. برای رسیدن به این هدف Sauron از دستگاه‌های USB قابل‌حمل استفاده می‌کند. به‌طوری‌که اگر سیستم‌های شبکه به خطر بی‌افتد، مهاجمان منتظر می‌مانند که یک درایو USB به سیستم آلوده متصل شود.
Sauron، USBها را به‌منظور کاهش حجم اشغال‌شده در آن‌ها فرمت و فضایی در حدود چند صد مگابایت برای اهداف خراب‌کارانه‌ی خود رزرو می‌کند. این فضای اشغال‌شده برای ایجاد یک پارتیشن رمزنگاری‌شده که توسط سیستم‌عامل‌ها مانند ویندوز قابل شناسایی نباشد، استفاده می‌شود.
در هنگام نفوذ به سیستم‌های ایزوله، ایجاد محیط ذخیره‌سازی رمزنگاری‌شده، به حمله‌کنندگان قابلیت در دست گرفتن کنترل ماشین‌های Air-Gap را نمی‌دهد و برای این‌کار جز دیگری مانند یک اکسپلویت روز صفر در پارتیشن اصلی USB وجود دارد. متاسفانه هنوز اکسپلویت روز صفر جاسازی‌شده‌ای در بدنه‌ی این بدافزار شناسایی نشده است.

شبکه‌ی رمزنگاری‌شده‌ی مجازی

Sauron به‌طور فعالانه به‌دنبال اطلاعاتی در مورد نرم‌افزار رمزنگاری شبکه‌ی سفارشی‌شده می‌گردد. این نرم‌افزار کارخواه/کارگزار برای سازمان‌های بسیاری به‌هدف ارتباطات و مبادلات امن صوت، پست‌الکترونیکی و مستندات توسعه یافته و استفاده می‌شود.
در تعدادی از مواردی که توسط کسپرسکی تحلیل شده است، Sauron ماژول‌های مخربی را مستقر در پوشه‌ی نرم‌افزار VEN تحت فایل‌هایی با نام مشابه برای پنهان‌سازی و دسترسی به داده‌ها، پیاده‌سازی کرده است. اسکریپت‌های Lua رمزگشایی‌شده نشان می‌دهد که حمله‌کنندگان علاقه‌ی زیادی به کامپوننت‌های نصب‌شده‌ی VEN، کلیدهای رمزنگاری، فایل‌های پیکربندی شبکه‌های مجازی و محل کارگزارهایی که پیام‌های رمزنگاری‌شده را در بین گره‌ها پخش می‌کنند، دارند (شکل بالا).
هم‌چنین یکی از پیکربندی‌های اجزای جاسازی‌شده‌ی Sauron یک شناسه‌ی یکتا و خاص برای کارگزار هدف (targetid DWORD) در درون شبکه‌ی VEN دارد.
رفتارهای جالبی در کامپوننت‌هایی که آدرس آی‌پی کارگزارهای VEN را جستجو می‌کنند، مشاهده شده است. این کامپوننت‌ها بعد از به‌دست آوردن آدرس آی‌پی، تلاش می‌کنند که با کارگزار راه‌دور با استفاده از پروتکل خود (Sauron) ارتباط برقرار کنند. این نشان می‌دهد که برخی از کارگزارهای ارتباطی VEN نیز ممکن است با Sauron آلوده شوند. بعد از جمع‌آوری و استخراج داده‌های مربوط به VEN، کامپوننت‌های Sauron، خود را به‌صورت امن حذف می‌کنند (شکل پایین).

خروج اطلاعات از شبکه

Sauron از روش‌های مختلفی برای پنهان کردن داده‌هایی که استخراج می‌کند و هم‌چنین فرمان‌ها و یا ماژول‌هایی که دریافت می‌کند، بهره می‌برد. این روش‌ها، علاوه بر روش‌های معمولی مانند ارتباطات مستقیم یا استفاده از پروکسی‌های میانی در Sauron استفاده می‌شوند، که شامل دو مورد زیر است.
  • ایجاد تونل بر روی DNS
    DEXT، نام یکی از افزونه‌های Sauron است که توسط کسپرسکی تحلیل شده است. این افزونه برای خروج اطلاعات با استفاده از DNS استفاده می‌شود. برای پنهان ماندن تونل DNS در سطح شبکه، مهاجمان آن را در پهنای باند پایین به کار می‌برند. به همین دلیل است که از این روش تنها برای خروج متاداده‌ی سیستم هدف استفاده می‌شود.
    مثال شکل بالا مراحل مربوط به Sauron در اسکریپت Lua را نشان می‌دهد. این مراحل عبارت‌اند از:
    • جمع‌آوری اطلاعات عمومی سیستم با استفاده از ابزاری به نام sinfo.
    • رمزگذاری اطلاعات در قالب BASE64.
    • ایجاد مجموعه‌ای از بسته‌های DNS برای دامنه‌ی a.bikessport[.]com با قطعه‌هایی که ۳۰ بایت در هر بسته را جابه‌جا می‌کنند.
    • ارسال یکی پس از دیگری بسته‌های DNS با استفاده از ابزار nslu.

    راه‌کاری مشابه، توسط اسکریپت دیگری برای خروج اطلاعات مربوط به پیکربندی شبکه استفاده می‌شود (شکل زیر).
    یکی دیگر از ویژگی‌های قابل‌توجه در Sauron که از پروتکل DNS استفاده می‌کند، گزارش‌های بلادرنگ از پیشرفت عملیات، به یک کارگزار راه‌دور است. زمانی که یک نقطه‌ی عطف عملیاتی به‌دست می‌آید، Sauron یک درخواست DNS را برای یک زیردامنه‌ی خاص که برای هر هدف یکتا است، صادر می‌کند. با این‌که قبلا بدافزارهایی دیده شده‌اند که از پست‌الکترونیکی به‌عنوان روشی برای خروج داده‌ها استفاده می‌کردند، اما این کار در Sauron کمی متفاوت انجام می‌شود.
  • پست الکترونیکی
    در ابتدا Sauron یک پست‌الکترونیکی MIME را با استفاده از یک نرم‌افزار کارخواه پست‌الکترونیکی عمومی تولید و اطلاعات برنامه‌ی کاربردی پست‌الکترونیکی (Thunderbird 2.0.0.9 (Windows/20071031) را به آن اضافه می‌کند. بدنه‌ی پست‌الکترونیکی یک پیام کوتاه متنی با عنوانی غیرمشکوک است و یک فایل باینری رمزگذاری‌شده (BASE64) به نام data.bin، به آن پیوست شده است. پیوست ممکن است به صورت داده‌های بی‌خطر در قالبی ناشناخته به‌نظر آید، اما در حقیقت شامل داده‌های به سرقت‌رفته‌ی رمزنگاری‌شده است. آدرس پست‌الکترونیکی، عنوان پیام و بدنه‌ی آن به‌صورت جداگانه برای هر هدف انتخاب شده و هرگز دوباره استفاده نمی‌شوند.
    سپس Sauron به‌صورت مستقیم به یک کارگزار SMTP خارجی با آدرس‌های آی‌پی که در کد آن نوشته‌شده است، برای ارسال پست‌الکترونیکی متصل می‌شود. در مواردی که اجازه‌ی چنین اتصالی فراهم نشود، Sauron به‌دنبال یک کارگزار پست‌الکترونیکی محلی و مجاز در شبکه‌ی مجازی می‌گردد. این جستجو با استفاده از تجزیه‌ی پیکربندی نرم‌افزار VEN انجام می‌شود. در نهایت پست‌الکترونیکی که در ارسال مستقیم با شکست مواجه شد برای این کارگزار ارسال می‌شود.

مترجم Lua

استفاده از مترجم Lua، به حمله‌کنندگان این اجازه را می‌دهد که با انعطاف‌پذیری بیش‌تر و با نوشتن یک اسکریپت ساده بر روی ماشین هدف، کار خود را انجام دهند. قابل ذکر است که مترجم Lua اصلی، توسط حمله‌کنندگان برای پشتیبانی از یونیکد (UTF-16) دست‌کاری شده است. در ادامه یک نمونه از اسکریپتی که برای نصب ماژول‌های Sauron بر روی سیستم استفاده می‌شود را مشاهده می‌کنید (شکل زیر).

ساختار VFS

VFS می‌تواند هم ساختار خطی و هم ساختار دو سطحی داشته باشد. در حالتی که به‌صورت سلسله‌مراتبی و دو سطحی باشد، یک سطح مسئولیت تزریق پردازش‌ها، سرقت داده و ذخیره‌ی آن در کش محلی Sauron را دارد و سطح دیگر شامل داده‌ها برای خروج از شبکه و ارتباطات شبکه‌ی بیرونی است. در ساختار خطی همه‌ی ماژول‌ها در یک سطح قرار دارند. قابل‌توجه است که تعدادی از افزونه‌های مشابه، هم در سطح بالایی و هم در سطح پایینی VFS وجود دارند.
به‌طور معمول یک کش محلی از فایل‌های به سرقت‌رفته، در پوشه‌ی "C:\System Volume Information\_restore{ED650925-A32C-4E9C-8A73-8E6F0509309A}" و نتایج ثبت کلیدها در پوشه‌ی "%WINDIR%\Temp\" تحت نام‌های "bka*.da" و "~*.tmp" ذخیره می‌شود.
VFS تعدادی افزونه‌ی از پیش تعریف‌شده به نام "blobs" دارد. حداقل مجموعه‌ی افزونه‌ها برای تزریق پردازش‌ها و ذخیره‌ی داده‌های خروجی "kblog.blob" نامیده می‌شود که از ماژول‌های زیر تشکیل شده است.
  • detach
  • ilpsend
  • dir
  • skip

جمع‌بندی

بر اساس بررسی‌های انجام شده جاسوس‌افزار سایبری Sauron از سال ۱۳۹۰ آغاز به کار کرده و تا سال ۱۳۹۵ نیز به فعالیت خود ادامه داده است. آزمایشگاه کسپرسکی از طریق فایل HEUR:Trojan.Multi.Remsec.gen این پروژه را شناسایی کرده است. با وجود آن‌که شرکت‌های امنیتی مانند کسپرسکی اقدام به پاک‌سازی سیستم‌های آلوده نموده‌اند، اما هم‌چنان ممکن است سیستم‌هایی وجود داشته باشد که توسط این آزمایشگاه‌ها پشتیبانی نشده و آلودگی روی آن‌ها باقی بماند. این حمله دارای شباهت‌های زیادی به حمله Flame و Animal Farm بوده و می‌توان حدس زد که کشور آمریکا پشتیبانی این حمله را بر عهده داشته است.