بررسیها نشان میدهد توسعهدهندگان بدافزار در ساخت ابزارهای خود به طور فزایندهای از زبانهای برنامهنویسی غیرمعمول همچون Go، Rust، Nim و Dlang باهدف دشوار کردن تحلیل عملکرد و ماهیت مخرب آنها بهره میگیرند.
به گزارش مرکز مدیریت راهبردی افتا، به نقل از گزارش شرکت BlackBerry، تعداد بدافزارهایی که در برنامهنویسی آنها از چنین زبانهایی استفاده شده به نحو چشمگیری افزایشیافته است.
این زبانهای برنامهنویسی غیرمعمول، برخلاف گذشته مورد استقبال قرار گرفتهاند و مهاجمان از آنها برای بازنویسی بدافزارهای متداول و شناختهشده یا ایجاد بدافزارهای جدید استفاده میکنند.
این محققان آن دسته از فایلهای Loader یا Dropper بدافزارها که به زبانهای برنامهنویسی غیرمعمول نوشته شدهاند مورد رصد قرار دادهاند. این تکه کدهای مخرب در مراحل اول فرایند آلودهسازی دستگاه، وظیفه دریافت، رمزگشایی و استقرار بدافزارهایی نظیر NanoCore RAT و ابزارهای بالقوه مخربی همچون Cobalt Strike را بر عهده دارند.
این فایلها نقش کلیدی در مخفی کردن عملیات آلوده شدن دستگاه از دید محصولات امنیتی نصب شده بر روی آن دارند. از نگاه نویسندگان بدافزار، بهکارگیری این نوع زبانها و فناوریهای جدید، آنها را یکقدم جلوتر از محصولات امنیتی قرار میدهد.
از سویی دیگر برنامهنویسان بدافزار مانند سایر برنامهنویسان به عدم آسیبپذیر بودن برنامههای خود حساس هستند. برای مثال، حدود یک سال پیش فاش شد که بدافزار Emotet حاوی باگی از نوع Buffer Overflow است که امکان ازکارانداختن این بدافزار را ممکن میکند. موضوعی که زبان برنامهنویسی اهمیت خاصی در پیشگیری از بروز آن دارد.
وقتی صحبت از زبانهای غیرمعمول میشود، زبان Go بیش از سایرین جلبتوجه میکند. یک زبان همهمنظوره که بسیار شبیه به C++ است. کامپایلر آن در ابتدا به زبان C نوشته شده بود اما مدتی بعد از همان زبان Go استفاده شد.
به گفته محققان بلکبری، Go در حال حاضر یکی از زبانهای موردعلاقه مهاجمان است که هم در توسعه تهدیدات موسوم به APT (Advanced Persistent Threat) و هم در برنامهنویسی بدافزارهای عمومی نقش ایفا میکند.
هرچند محققان معتقدند زبان C همچنان متداولترین زبان برنامهنویسی است اما مهاجمان و نویسندگان بدافزاری که به زبانهای برنامهنویسی جدید روی آوردهاند کم نیستند. برای مثال، میتوان به دو گروه منتسب به هکرهای روسی به نامهای APT۲۸ و APT۲۹، اشاره کرد. از APT۲۸، با عناوینی نظیر Fancy Bear و Strontium و از APT۲۹، با نامهای Nobelium، Cozy Bear و Dukes نیز یاد میشود.
در APT۲۸ که برخی معتقدند با نفوذ به دستگاههای کمیته ملی دموکرات ایالات متحده در انتخابات ریاستجمهوری ۲۰۱۶ این کشور دخالت داشته، با مجموعه گستردهای از حملات و بدافزارها در ارتباط بوده است.
بدافزار Zebrocy، بهعنوان یکی از بدافزارهای این گروه به طور خاص از چندین زبان برنامهنویسی (بهویژه در ماژول Kill Chain) آن استفاده شده است. وظیفه Zebrocy، دریافت فایلهای مخرب بیشتر بر روی دستگاه آلوده و سرقت دادههای قربانی است.
نخستین نمونه از بدافزار Zebrocy که در سال ۲۰۱۵ مشاهده شد، دارای سه بخش بودند؛ یک downloader مبتنی بر Delphi، یک downloader مبتنی بر AutoIT و یک Backdoor که به زبان Delphi نوشته شده بود.
صرفنظر از زبان برنامهنویسی آن، Zebrocy از طریق فیشینگ که انتقالدهنده فایل مخرب اولیه است منتشر میشود. فایل مذکور با برقراری ارتباط با C&C، یک downloader را اجرا کرده و payload بدافزار را از طریق Backdoor موجود بر روی دستگاه، نصب میکند. هرچند Zebrocy بارها توسط برنامهنویسان آن بازنویسی شده، اما روال و روش کار تقریباً بدون تغییر باقیمانده است.
نمونههایی از بازنویسی کدها به زبان Go توسط گروه APT۲۸ به شرح زیر است:
APT۲۹ نیز دیگر گروهی است که کدنویسی بدافزارها به زبانهای غیرمعمول را در کارنامه دارد. این گروه که اجرای حمله زنجیره تأمین SolarWinds آن را بیش از هر زمانی معروف کرد در سال ۲۰۱۸ دستگاههای Windows و Linux را با WellMess هدف قرارداد. WellMess یک تروجان از نوع RAT است و در برنامهنویسی آن از Go و .NET بهره گرفته شده است. پر انتشارترین نوع WellMess نسخه Go است که در هر دو نسخه ۳۲ و ۶۴ بیتی بهصورت فایلهای PE و ELF ارائه شده و امکان اجرا بر روی انواع سیستمهای عامل را داراست.
APT۲۹ معمولاً با پویش آدرس IP های سازمانی، اقدام به کشف آسیبپذیریهای سامانههای تحت دسترس و سوءاستفاده از آنها بهمنظور نفوذ به شبکه قربانی میکند. این گروه به طور روزافزون از زبان برنامهنویسی Go در توسعه انواع بدافزارهای خود استفاده میکند. به عنوان مثال، در سال ۲۰۲۰ این گروه از نسخ پیشرفتهتر WellMess در حمله سایبری به مؤسسات تحقیقاتی دانشگاهی و دارویی در کشورهای مختلف همچون امریکا، انگلیس و کانادا باهدف سرقت اسناد تحقیقاتی در زمینه واکسن کووید -۱۹ استفاده کرد. این نسخ جدید که به زبان Go نوشته شده بودند به دلیل پشتیبانی از پروتکلهای شبکهای بیشتر و توانایی اجرای اسکریپتهای PowerShell بهمراتب پیشرفتهتر و مخربتر از نسخ قبلی بودند.
هر دو گروه APT همچنان فعال هستند و برخی از تأثیرگذارترین حملات سایبری به نام آنها ثبت شده است؛ همچنان که ذکر شد، از زبانهای برنامهنویسی غیرمعمول ذکر شده در این گزارش برای افزایش قابلیتها، فراهم ساختن امکان اجرا بر روی انواع سیستمهای عامل و بیاثر کردن ابزارهای امنیتی استفاده میکنند.
بهجز Go و صرفنظر از APT۲۸ و APT۲۹ بهعنوان دو گروه علاقهمند به Go، زبانهای غیرمتعارف دیگری نیز در دهه گذشته به طور فزاینده توسط برخی دیگر از مهاجمان استفاده شده است.
در نمودار زمانی زیر، روند استفاده از این زبانها نمایشدادهشده است. با این توضیح که موارد اشاره شده در این نمودار تنها نمونههایی معدود از انبوه بدافزارهای نوشته شده به این زبانها هستند.
هرچند به نظر میرسد DLang در مقایسه با سه زبان دیگر از مقبولیت کمتری برخوردار بوده است، اما از سال ۲۰۲۰ روند استفاده از آن تا حدودی افزایشیافته و میتوان انتظار داشت که در سالهای آینده نیز بیش از قبل موردتوجه نویسندگان بدافزار قرار گیرد.
بلکبری، موارد زیر را اصلیترین دلایل استفاده مهاجمان از زبانهای نامتعارف میداند:
بلکبری به مهندسان بدافزار و محققان تهدید توصیه کرده است از الگوریتمهای پویا و رفتارشناسی از طریق سندباکس یا سازوکارهای EDR یا لاگ دادهها برای شناسایی بدافزارهای چندزبانی استفاده کنند.
به گفته محققان، باتوجهبه اینکه بدافزارها اغلب به یکشکل رفتار میکنند، بهویژه هنگامی که بدافزار مجدداً کدنویسی میشود، به منظور شناسایی رفتار بدافزار، در صورت ناموفق بودن امضای ایستا، استفاده از قواعد تشخیصی برای شناسایی رفتارهای پویا میتواند کمککننده باشد؛ به عنوان مثال، اجراکنندگان Shellcode که اغلب از طریق فراخوانی برخی توابع API در Windows در پروسهها تزریق میشوند، میتوان فراخوانی این توابع را بهعنوان نشانه آلودگی در نظر گرفت.
همچنین به گفته محققان، در یک فایل دودویی اغلب میتوان از کتابخانههای امضاشده استفاده کرد. زبانهای مورد بررسی در این گزارش دارای این قابلیت هستند که به آنها امکان استفاده از API Win۳۲ و فراخوانهای API را میدهد. در اصل، آنها میتوانند از یک روش تقریباً مشابه از زبانهای سنتیتر مانند C++ استفاده کنند. البته این همیشه صادق نیست، زیرا زبانهای خاصی هستند که از توابع API خود بهجای توابع Win۳۲ API استفاده میکنند.
پشتیبانی ابزارهای تحلیل بدافزار از کدهای نوشته به این زبانها زمانبر خواهد بود؛ blackberryهشدار میدهد که جامعه امنیت در مقابله با بهرهجوییهای مخرب از فناوریها و تکنیکهای نوظهور بهصورت فعال عمل کنند.
مشروح گزارش بلکبری در لینک زیر قابلمطالعه است:
https://www.blackberry.com/us/en/forms/enterprise/report-old-dogs-new-tricks
منبع:
https://threatpost.com/malware-makers-using-exotic-programming-languages/۱۶۸۱۱۷/
دیدگاه شما