عملیات تبلیغات مخرب (Malvertising) جدیدی با نام «SourTrade» مرورگرهای کاربران قربانی را وادار میکند تا فایل اجرایی مخرب ویندوز را بهصورت قطعهبهقطعه و در خود سیستم قربانی اسمبل کنند. این روش هوشمندانه به جای ارسال یک فایل مخرب کامل از یک آدرس ثابت، از زمان اجرای قانونی و متنباز Bun بهعنوان پایه ساخت بدافزار استفاده میکند.
شرکت Confiant در ۲۳ ژوئیه ۲۰۲۶ جزئیات این کمپین را منتشر کرد و اعلام کرد این عملیات از اواخر سال ۲۰۲۴ فعال بوده است. مهاجمان با جعل هویت پلتفرمهای معاملاتی معروفی چون TradingView، Solana و Luno، معاملهگران خرد و سرمایهگذاران ارزهای دیجیتال را در ۱۲ کشور و به ۲۵ زبان مختلف هدف قرار دادهاند.
شناسایی قربانیان و دور زدن رباتها
صفحات فرود (Landing Pages) این کمپین، بازدیدکنندگان را پیش از هر اقدامی شناسایی (Fingerprint) میکنند. اگر کاربر به یک پژوهشگر امنیتی یا ربات شبیهسازیشده مشکوک باشد، یک صفحه خالی به نمایش درمیآید. اما اهداف منتخب، یک کپی کاملاً متقاعدکننده از سرویس جعلشده را مشاهده میکنند. سادهترین راهکار دفاعی در برابر این حمله، دانلود نرمافزارهای معاملاتی و کیف پول دیجیتال صرفاً از وبسایت رسمی توسعهدهنده و اجتناب از کلیک روی تبلیغات است.

تکنیک اسمبل کردن بدافزار در مرورگر
زنجیره حمله مستندشده به هیچ آسیبپذیری روز صفر در مرورگر تکیه نمیکند و نشان اینترنتی فایلهای دانلودی (MotW) را نیز حذف نمیکند. تحلیلهای Confiant صرفاً به روند تحویل فایل میپردازد و مشخص نیست که دانلود نهایی بهصورت خودکار آغاز میشود یا نیازمند کلیک کاربر است.
صفحه فرود بدون انتظار برای تایید کاربر، آمادهسازی مسیر تحویل را آغاز میکند. این صفحه ابتدا یک ServiceWorker با دامنه محدود به صفحه در مسیر /sw.js ثبت میکند. سپس یک SharedWorker را از کدهای جاوااسکریپتی که از قبل در صفحه جاسازی شدهاند میسازد؛ به این ترتیب، کدهای منبع این Worker هرگز بهعنوان یک درخواست مجزا در شبکه ظاهر نمیشوند.
SharedWorker درخواستی به مسیر /config ارسال میکند که در پاسخ، یک الگو (Template)، یک آدرس اینترنتی برای زمان اجرای ثانویه و مقادیر تصادفیِ مربوط به هر نشست (Session) را برمیگرداند. مرورگر سپس یک زمان اجرای تمیز (Clean) از نوع Bun را از آن دامنه دوم دانلود و از حالت فشرده خارج میکند.
ترکیب قطعات با کدهای Base64
قطعههای کد Base64 موجود در پیکربندی، هدر فایل اجرایی قابل حمل (PE Header)، جدول بخشها (Section Table) و یک بخش .bun که حاوی کدهای بایت مخرب JavaScriptCore برای فایل app.js است را تامین میکنند. زمان اجرای Bun روی موتور JavaScriptCore اپل اجرا میشود و بهطور قانونی از کامپایل برنامهها و بایتکدها برای ساخت فایلهای اجرایی مستقل ویندوز پشتیبانی میکند.
سپس، این Worker با استفاده از الگوریتم AES در حالت شمارنده (AES-CTR)، یک جریان بزرگ از بایتهای شبهتصادفی تولید میکند. پس از آن، از الگوی ارائهشده بهعنوان یک دستورالعمل کپیبرداری بایت استفاده کرده و بخشهای انتخابشدهای از زمان اجرای Bun، جریان تولیدشده و مواد فایل اجرایی که توسط مهاجم کنترل میشوند را با یکدیگر ترکیب میکند.
هر قربانی میتواند یک فایل اسمبلشده کاملاً متفاوت دریافت کند. چرخش دادن بذر (Seed) و اندازه در هر پاسخ /config باعث تغییر مقدار هش (Hash) فایل نهایی میشود، در حالی که کدهای مخربِ بارگذاریشده در آن ثابت میمانند. مایکل استیل از تیم هوش تهدیدات Confiant مینویسد: «هیچ بدافزار کاملی هرگز روی شبکه وجود ندارد.» هیچ باینری کاملی در شبکه منتقل نمیشود و تنها ساختارهای PE و بایتکدها بهصورت Base64 در پاسخ /config جابجا میشوند.
تحویل نهایی و ردپای دیجیتال
پس از اسمبل شدن، صفحه، فایل اجرایی را بهعنوان یک جریان قابل خواندن (Readable Stream) به ServiceWorker تحویل میدهد. یک iframe مخفی به یک آدرس هممبدأ (Same-origin URL) میرود و Worker بایتهای تولید شده را همراه با هدر پیوست (Content-Disposition attachment) برمیگرداند. در نتیجه، رکورد MotW، صفحه فرود را بهعنوان منبع دانلود شناسایی میکند، نه دامنه مجزایی که زمان اجرای Bun را تامین کرده است.

این روش از فعالیتهایی تکامل یافته است که شرکت Confiant تا ۳۰ آوریل ۲۰۲۶ ردیابی کرده بود. در آن زمان، صفحات از کتابخانه متنباز دانلود جریانی به نام StreamSaver.js از طریق آدرس GitHub Pages سازنده آن استفاده میکردند که این امر باعث میشد مسیر دانلود ثبتشده به آدرس URL گیتهابِ آن کتابخانه اشاره کند. صفحات فعلی همچنان از معماری جریانی خود از جمله نام پیامهای streamsaver: پشتیبانی میکنند، اما دیگر آن را از گیتهاب دریافت نمیکنند.
اتصال به بدافزارهای قبلی
شرکت Bitdefender در سپتامبر ۲۰۲۵ جزئیات این خوشه تبلیغات مخربِ مرتبط با TradingView را مستند کرد و بارگذاری نهایی آن را به سرقتدهندهای (Stealer) تشخیص داد که Check Point با نام JSCEAL و WithSecure با نام WeevilProxy ردیابی میکنند. با این حال، Confiant ویژگیهای مشترکی را در کمپین و فایل اجرایی شناسایی کرده، اما ثابت نمیکند که سه نمونه منتشرشده حتما حاوی همان بدافزار هستند. گزارشها نشان میدهند بیتدیفندر یک فایل اجرایی تغییریافته از Bun را در این خوشه شناسایی کرده است.
با توجه به ترکیب زمان اجرای قانونی و فایلهای اسمبلشده محلی، تشخیص این نوع بدافزارها با سیستمهای امنیتی سنتی بسیار دشوار خواهد بود. آیا شکلگیری فایلهای مخرب در سمت کاربر، دور جدیدی از تنش میان مهاجمان و تولیدکنندگان آنتیویروسها را رقم خواهد زد؟ زمان پاسخ به این سوال را میتوان با ارتقای آگاهی معاملهگران در تایید منابع دانلود نرمافزار shortened.





