روابط عمومی شرکت ایدکو (توزیعکنندهی محصولات کسپرسکی در ایران)؛ محققین پی بردهاند که بدافزاری مخصوص لینوکس دارد با هدف سرقت داده، دستگاهها را بکدر میکند و میتواند روی تمامی فرآیندهایی که دارند روی ماشین خاص اجرا میشوند اثر بگذارد. این بدافزار Orbit نام دارد و برخلاف سایر تهدیدهای لینوکس، اوربیت اطلاعات را از فرمانها و ابزارهای متفاوت سرقت و سپس آنها را در فایلهای مشخص روی دستگاه ذخیره میکند. اینها یافتههای شرکت اتوماسیون امنیت به نام Intezer است. در حقیقت نام این بدافزار از یکی از فایلنیمها میآید. نیکول فیشبیان از Intezer این هفته در مقالهای چنین توضیح داد که Orbit میتواند یا به ماندگاری روی دستگاه برسد و یا در قالب ایمپلنتی سبک نصب گردد. در ادامه با ما همراه شوید تا شما را بیشتر با ساز و کار این بدافزار آشنا سازیم.
آنچه این بدافزار را از سایر تهدیدهای مشابه متمایز میسازد «نحوه تقریباً اسرارآمیز شکار» آرشیوها روی دستگاههای هدفدار است؛ چیزی که به آن اجازه میدهد ماندگاری پیدا کرده و درحالیکه دارد داده سرقت میکند و بکدر SSH راهاندازی مینماید از شناساییها طفره برود. فیشبیان در پستی چنین نوشت، «این بدافزار تکنیکهای طفرهرویِ پیشرفته دارد و با شکار کارکردهای کلیدی خود را روی ماشین ماندگار میکند. همین به مهاجمین و عاملین تهدید دسترسی ریموت به قابلیتها از طریق SSH، توانایی جمعآوری اطلاعات محرمانه و فرمانهای TTY لاگها را میدهد». افزون بر این، به مجردی که اوربیت نصب گردد همهی فرآیندهای روی ماشین را از جمله جدیدها تحتالشعاع قرار میدهد.
جداسازیِ خودش
معمولاً تهدیدهای موجود لینوکسی از جمله Symbiote و HiddenWasp با دستکاری متغیر محیط LD_PRELOAD دست به سرقت آرشیوهای لینوکس اشتراکگذاشتهشده میزنند. با این حال Orbit عملکردی متفاوت دارد: از دو روش مختلف برای لود کردن آرشیو آلوده استفاده میکند. به نقل از فیشبیان: «اولین روش افزودن ابژهی اشتراکگذاشتهشده به فایل تنظیمات است که توسط لودر استفاده شده و دومین روش پچ کردن باینری خود لودر است تا بدینترتیب ابژهی اشتراکگذاشتهشده مخرب را لود کند». Orbit مشخصاً از رشتههای رمزگذاریشدهی XOR استفاده کرده و پسوردها را سرقت میکند؛ ترفندهایی که با سایر بکدرهای موجود لینوکس مشابه هستند اما اینجا جایی است که شباهت نحوه ربودن آرشیوها توسط بکدرها از بین میرود. Orbit نه تنها یک گام فراتر رفته و اطلاعات را از چندین فرمان و ابزار سرقت میکند بلکه همچنین کارکرد گسترده فایلهارا برای ذخیره دادههای سرقتی نیز پیادهسازی میکند (چیزی که محققین قبلاً بدان برنخورده بودند).
نصب و اجرا
اوربیت روی دستگاه یا ماشین لینوکس از طریق دراپری لود میشود که نه تنها پیلود را نصب میکند که همچنین محیط را برای اجرای بدافزار مهیا میسازد. برای نصب پیلود و افزودن آن به آرشیوهای اشتراکگذاشتهشده که توسط لینکر دینامیک در حال لود شدن هستند، دراپر قابلیتی به نام patch_ld و سپس لینک نمادینِ لینکر دینامیک /lib64/ld-linux-x86-64.so.2 را فرامیخواند. دومی انجام میشود تا بررسی شود آیا پیلود مخرب از قبل با سرچ مسیر استفادهشده توسط بدافزار لود شده است یا نه. اگر پیلود پیدا شده باشد، قابلیت میتواند آن را با لوکیشن دیگری عوض کند. در غیر این صورت دراپر به دنبال /etc/ld.so.preload خواهد گشت و آن را با لینک نمادین به لوکیشن آرشیوی مخرب جایگزین میکند: /lib/libntpVnQE6mk/.l or /dev/shm/ldx/. بسته به آرگومان تحویل داده شده به دراپر. در آخر دراپر /etc/ld.so.preload را به فایل موقتی اضافه میکند تا مطمئن شود آرشیو مخرب نخست لود خواهد شد. خود پیلود یک ابژهی اشتراکگذاشتهشده است (.SO file) که میتواند یا در ذخیرهگاه همیشگی جا خشک کند یا در مموری شیم[1]. فیشبیان اینطور مینویسد، «اگر در مسیر اول قرار گیرد، بدافزار پایدار خواهد بود و در غیر این صورت سبک و فرّار». ابژهی اشتراکگذاشتهشده کارکردها را از سه آرشیو libc، libcap و Pluggable Authentication Module (PAM) شکار میکند. وقتی این امر انجام گردد، فرآیندهای موجود که از چنین کارکردهایی استفاده میکردند حالا گونه دستکاریشدهشان را به کار خواهند برد و اینطور میشود که فرآیندهای جدید نیز با آرشیو آلوده شکار خواهند شد. این شکار به بدافزار اجازه میدهد تا کل ماشین را مبتلا کرده، اطلاعات محرمانه را سرقت نموده، شناسایی را دور بزند، ماندگار شود و به مهاجمین دسترسی ریموت دهد.
تاکتیکهای طفرهروی
اوربیت همچنین چندین کارکرد دیگر را نیز به عنوان استراتژی دور زدن شناسایی شکار میکند. از این رو نمیگذارد آنها اطلاعاتی را که ممکن است وجود آرشیو آلودهی اشتراکگذاشتهشده (چه در فرآیندهای در حال اجرا یا فایلهایی که سیستم عامل از آنها استفاده میکند) لو دهند. فیشبیان چنین مینویسد، «این بدافزار از ارزش هاردکدشدهی GID (همانی که دراپر تعیین کرده است) برای شناسایی فایلها و فرآیندهایی استفاده میکند که به بدافزار مرتبطند و بر همین اساس رفتار کارکردهای شکارشده را تغییر میدهد». در لینوکس، یک GID ارزش عددی است که برای نمایش گروهی خاص استفاده میشود. اوربیت بعنوان نمونهای از این قابلیت، readdir را شکار میکند؛ کارکرد لینوکسی که پوینتر به ساختار dirent بازمیگرداند و ورودی دایرکتوری بعدی را در استریم دایرکتوری مرتبط با dirp شرح میدهد. این کار را انجام میدهد تا GID پروسه فراخواندهشده را چک کند. فیشبیان در نهایت چنین گفت، «اگر GID با ارزش هاردکدشده مطابقت نداشت همه دایرکتوریها با ارزش از پیشتعیینشدهی GID از خروجی کارکردها حذف خواهند شد».
[1]Shim memory، در برنامه نویسی کامپیوتری، شیم کتابخانه ای است که به طور شفاف فراخوانی های API را رهگیری می کند و آرگومان های ارسال شده را تغییر می دهد، خود عملیات را مدیریت می کند یا عملیات را به جای دیگری هدایت می کند.
منبع: کسپرسکی آنلاین (ایدکو)
کسپرسکی اسم یکی از بزرگترین شرکتهای امنیتی و سازنده آنتی ویروس است که برخی از کاربران اشتباهاً این شرکت و محصولات آنتی ویروس آن را با عناوینی نظیر کسپرسکای،کاسپرسکی، کسپراسکای، کسپراسکای، و یا کاسپراسکای نیز میشناسد. همچنین لازم به ذکر است مدیرعامل این شرکت نیز یوجین کسپرسکی نام دارد.