استفاده گسترده از زبان برنامهنویسی Golang در ساخت بدافزار
به گزارش کارگروه امنیت سایبربان؛ زبان گو (Go) یا همان گولنک (Golang) زبان برنامهنویسی متن باز نسبتاً جدیدی است که توسط رابرت گریسیمر، راب پایک و کِن تامپسون در سال 2007 در شرکت گوگل ارائه شد. در سال 2009، این زبان رسماً برای عموم معرفی شد.
زبان برنامهنویسی جدید بهعنوان جایگزین برای C++ و Java توسعه داده شده است. سازندگان گو قصد داشتند یک زبان برنامهنویسی ارائه کنند که به سادگی خوانده شود و کار را برای توسعهدهندگان راحتتر نماید.
اخیرا توسعهدهندگان برنامههای مخرب بیشازپیش زبان برنامهنویسی گولنگ را برای ساخت بدافزار انتخاب میکنند. طبق گزارش شرکت امنیت سایبری «Intezer»، شمار بدافزارهای مخرب نوشتهشده به گو از سال 2017 تقریباً 2000 درصد افزایش یافته است.
بر طبق پیشبینیهای کارشناسان، طی دو سال آینده شمار حملات با استفاده از این نوع بدافزارها افزایش چشمگیری خواهد داشت. این نگرانی نیز وجود دارد که بدافزارهای چند پلتفرمی با استفاده از یک پایگاه کد گو ساخته شوند.
در حال حاضر هزاران برنامه مخرب وجود دارد که به زبان گولنگ نوشتهشدهاند. گروههای هکری دولتی و غیردولتی از این زبان برای ساخت انواع مختلف بدافزارها ازجمله تروجانهای دسترسی از راه دور (RAT) و سارقان اطلاعات (stealers) و ماینرها و باتنتها استفاده میکنند.
آنچه این نوع بدافزار را قدرتمند میسازد، توانایی حمله به ویندوز، مکاواس و لینوکس با استفاده از کد بیس یکسان است. یک توسعهدهنده بدافزار میتواند یک بار کد بنویسد و سپس از یک پایگاه کد واحد برای کامپایل فایلهای باینری چندین پلتفرم استفاده کند. کدی که توسط توسعهدهنده برای لینوکس نوشته شده به کمک پیوند استاتیک (static linking) با موفقیت روی مک یا ویندوز کار میکند.
برخی ماینرهای ارز دیجیتال نوشتهشده به زبان گو هم روی ویندوز و هم لینوکس کار میکنند. برخی از سارقان ارز دیجیتال و تروجانها نیز روی مک، ویندوز و لینوکس کار میکنند. در این میان شناسایی بدافزارهای نوشتهشده به این زبان نیز بسیار پیچیده است. برنامههای مخرب نوشتهشده به گو به دلیل بزرگ بودن میتوانند برای مدت طولانی ناشناس باقی بمانند. به دلیل پیوند استاتیک، فایلهای باینری گو زبان نسبت به زبانهای دیگر بزرگتر هستند. بسیاری از برنامههای آنتیویروس چنین فایلهای حجیمی را اسکن نمیکنند.
علاوهبراین، یافتن کد مشکوک در کد باینری به زبان گو برای اکثر آنتیویروسها پیچیدهتر است. فایلهای باینری گو زبان با فایلهای مشابه به سایر زبانهای رایج تفاوت قابلتوجهی دارند. برخی از قابلیتهای این زبان که مهندسی معکوس و تجزیهوتحلیل فایلهای باینری را دشوار میسازند نیز مانع از شناسایی بدافزارهای نوشته شده به این زبان میشود.
اگرچه بسیاری از ابزارهای مهندسی معکوس برای تجزیهوتحلیل باینریهای کامپایل شده از C یا C ++ مناسب و سازگار هستند، تجزیهوتحلیل باینریهای گو زبان همچنان مشکلساز است. این مسئله آمار شناسایی برنامههای مخرب نوشته شده به گولنگ را به میزان قابلتوجهی کاهش میدهد.
بدافزارهای نوشته شده به زبان Go
تا سال 2019، شناسایی برنامههای مخرب نوشته شده به زبان گو بهندرت انجام میشد؛ اما اخیرا آمار شناسایی چنین بدافزارهایی افزایش یافته است.
محققان حدود 10،700 بدافزار منحصربهفرد نوشته شده به گو شناسایی کردهاند که رایجترین آنها بدافزارهای دسترسی از راه دور و درهای پشتی و برنامههای باج افزاری مخرب هستند.
ElectroRAT
ازجمله بدافزارهای نوشتهشده به گو میتوان به الکترورت (ElectroRAT) اشاره کرد که بهشدت مخرب بوده و جهت سرقت اطلاعات مورداستفاده قرار میگیرد. قابلیت هدف قرار دادن چندین سیستمعامل بهطور همزمان این بدافزار را از سایر برنامههای مخرب متمایز میسازد.
بدافزار الکترورت که در دسامبر سال 2020 کشف شده، قابلیتهای مخرب بسیار بالایی داشته و برای نسخههای لینوکس، مکاواس و ویندوز بهصورت یکسان مورداستفاده قرار میگیرد.
این بدافزار قادر است بهعنوان کیلاگر عمل کرده و اسکرین شات بگیرد، فایلها را از دیسکها بارگیری و بارگذاری نموده و فرامین را اجرا کند. هدف اصلی این بدافزار تخلیه کیف پول ارزهای رمز پایه است. این بدافزار به مدت یک سال ناشناس باقی مانده است.
مجرمان سایبری از روشهای پیچیدهای برای انتشار این بدافزار استفاده کردهاند. آنها یک وبسایت جعلی و حسابهای کاربری جعلی در شبکههای اجتماعی ایجاد کرده و سه برنامه مرتبط با ارز دیجیتال آلوده به تروجان برای ویندوز، لینوکس و مکاواس ساختهاند. سپس برنامههای آلوده را در فرومهای ارز دیجیتال و بلاکچین همچون Bitcoin Talk تبلیغ کرده و قربانیان را به صفحات وب برنامه آلوده به تروجان سوق دادهاند. پسازاینکه کاربر برنامه را بارگیری و راهاندازی کرده، رابط گرافیکی باز شده و بدافزار به پسزمینه نفوذ کرده است.

Robbinhood
برنامه باج افزاری رابین هود (Robbinhood) از سال 2019 پس از حمله به سیستمهای رایانهای شهر بالتیمور شهرت پیدا کرد. اپراتورهای این بدافزار برای رمزگشایی فایلها 76000 دلار باج طلب کردند. سیستمهای دولتی تقریباً یک ماه غیرفعال شدند و مقامات شهر مذکور 4.6 میلیون دلار صرف بازیابی اطلاعات رایانههای آسیبدیده کردند.
باج افزار رابینهود که به زبان برنامهنویسی گو نوشته شده با رمزگذاری دادههای قربانیان به نام فایلهای آسیب دیده پسوند .Robbinhood اضافه می کند و روی دسک تاپ فایلهای اجرایی و متنی قرار می دهد. فایل متنی حاوی یک یادداشت باج و درخواستهای مهاجمان است.
Zebrocy
در سال 2020، اپراتور بدافزار Sofacy نسخه زبروسی (Zebrocy) را که به زبان گو نوشته شده توسعه داد. این بدافزار در پوشش اسناد مایکروسافت ورد و با بهرهگیری از ترفندهای فیشینگ و اطلاعات مربوط به کووید 19 منتشر شد. زبروسی بهعنوان بارگیرنده عمل کرده و پس از جمعآوری دادهها از سیستم هاست آلوده آنها را در سرور فرماندهی و کنترل بارگذاری میکند.
این بدافزار که در زرادخانه خود دروپر، بکدور و دانلودر را دارد سالهاست از سوی مهاجمان مورداستفاده قرار میگیرد. نسخه نوشته شده به زبان گو زبروسی در سال 2019 شناساییشده و توسط هکرهای دولتی توسعه دادهشده است. این نسخه جهت حمله به شبکههای رایانهای وزارت خارجهها، سفارتخانهها و سایر سازمانهای دولتی به کار میرود.
قابلیت بدافزارهای نوشته شده به زبان گو در حمله همزمان به چندین پلتفرم و ناشناس ماندن برای مدتزمان طولانی آنها را به یک تهدید جدی بدل کرده است. این زبان برنامه نویسی بیشازپیش میان مجرمان سایبری محبوبیت کسب کرده و شمار بدافزارهای نوشته شده به آن در آینده افزایش چشمگیری خواهد داشت.
برای جلوگیری از آلودگی به اینگونه بدافزارها، نباید روی لینکهای مشکوک کلیک کرد یا پیوستها را از طریق ایمیل یا وبسایت بارگیری نمود. نسبت به ایمیلهای آشنایان خود بایستی با احتیاط برخورد کرد، چراکه ممکن است حساب ایمیل آنها هک و سیستمشان به بدافزار آلودهشده باشد.