رفتن به محتوای اصلی

دوکو هیچ ربطی به استاکسنت ندارد!

محققان لابراتوار کسپرسکی روز دوشنبه ۱۹ مارس اعلام کردند هویت “کد مرموز” استفاده شده در تروجان دوکو را کشف کرده اند.چند هفته پس از اعلام اینکه که کد کامپیوتر منشاء ناشناخته تروجان دوکو را کشف کرده اند،کسپرسکی اعلام کرد که این کد مرموز به زبان C نوشته و با Microsoft Visual Studio 2008 کامپایل شده است. اگرچه، سازندگان دوکو تغییراتی در کد C ایجاد کردند که این کد ترکیبی از برنامه نویسی شیء گرا و زبان C باشد (OOC).
 
این موضوع در اوایل ماه مارس آغاز شد. هنگامی که محققان کسپرسکی به طور علنی این چالش را پیش کشیدند که بخش کلیدی تروجان دوکو چگونه ساخته شده است. پس از موشکافی های فراوان، محققان دریافتند که بخش هایی از ماژول کلیدی که نقش کنترل دستورات تروجان دوکو را دارند به یک زبان ناشناخته برنامه نویسی شده است. موضوعی که یکی از متخصصان کسپرسکی به نام Igor Soumenkov نیز بیان کرده این است که این کد هیچ برگشتی به زبانC++ یا هرگونه زبان برنامه نویسی سطح بالا ندارد.
 
گسترش این مطلب جنجال برانگیز گفتگوهای بسیاری را بین کارشناسان بدافزار و برنامه نویسان در سراسر جهان پدید آورد که در پی آن بیش از ۲۰۰ دیدگاه و پیشنهادهای گوناگون در سایت securelist.com ارائه شد. این بگومگوها به فروم هایی مانند Slashdot و Reddit هم کشیده شد.
پس از یک هفته، محققان اعلام کردند که با همکاری محققان دیگر توانسته اند به کد مذکور وارد شوند و دریابند که این کد به زبان C نوشته و با Microsoft Visual Studio 2008 کامپایل شده است و تنظیمات خاصی برای بهینه سازی حجم کد روی آن انجام شده است.
 
شایان پرسش است که چرا باید درک و موشکافی یک کد که به زبان ساده C تا این حد دشوار باشد؟ در پاسخ به این پرسش یکی از کارشناسان کسپرسکی به نام Vitaly Kamluk می گوید برنامه هایی که با زبان C و C++ کامپایل می شود نمی تواند به کد اصلی برگردانده شود و این یک انتقال یک سویه است. این مسئله باعث سردرگمی تحلیل گران در یافتن زبان اصلی و برنامه اسمبل کننده این کد شد. تقریباً همیشه این کار تا این حد دشوار نیست چراکه بیشتر برنامه نویسان از یک زبان و کامپایلر معمول به این منظور استفاده می کنند و هرکدام نشان خاصی از خود در کد اسمبلر بجای میگذارند که مانند یک اثر انگشت عمل می کند . این در حالی است که کد نامبرده هیچ نشان بارزی از این دست نداشت.
 
نویسنده مطلبی در سایت ReverseEngineering.com دریافت که تکه کد دوکو بسیار همانند کد های نوشته شده با CSOO ( Simple Object Oriented for C ) می باشد. از آنجا که بکار بردن این زیر ساخت (Framework) در بین برنامه نویسان خیلی معمول نیست خروجی هیچ یک از زیر ساخت های دیگر به اندازه این زیر ساخت با کد دوکو همخوانی ندارد. همچنین Kamluk اضافه کرد که استفاده از OOCبه جای زبان های معمول مانند C++ نمایانگر این است برنامه نویسان کد دوکو برنامه نویسان قدیمی هستند که بیشتر با زبان Cآشنایی دارند.
 
دلیل دیگر این مسئله به گفته Soumenkov می تواند عدم اطمینان برنامه نویسان به کامپایلر C++ در مقایسه با برنامه C است که تبدیل به یک استاندارد گردیده است. همانطور که بسیاری از دیگر برنامه نویسان با ظهور C++ به علت عدم اطمینان به نحوه تخصیص حافظه در این برنامه و زبان مبهم آن که باعث اجرای کدهای نا خواسته می شوند همچنان بیشتر دوست دارند که زبان C را برای برنامه نویسی بکار ببرند. همچنین زبان C روی پلتفرم های مختلف قابل اجرا می باشد که برای نویسندگان کرم های اینترنتی گزینه بسیار دلپذیری است.
 
اگرچه هویت واقعی افرادی که کد دوکو را نوشته اند هنوز فاش نشده و مثلاً کسی نمی داند که ریشه آن از کدام کشور است، کارشناسان کسپرسکی بیان داشته اند که تیم برنامه نویسی این بدافزار کد بسیار پیچیده ای را نوشته اند که در اندازه برنامه های بسیار سطح بالا و حرفه ای برآورد می شود.
دست آوردهای تازه دید نوینی از کدنویسی ویروس دوکو را آشکار ساخته است که مهمترین آن این است که ایده ارتباط دوکو به Stuxnet کاملاً رد میشود. روی هم رفته با این که هردوی اینها در سطحی مشابه و بسیار پیچیده هستند، تجزیه و تحلیل درباره کد دوکو روشن می سازد که دوکو و Stuxnet بسیار متفاوتند. Kamluk امیدوار است که این تحقیقات عموم را پس از درک ماهیت نوع تروجان، به سمت شناسایی سازندگان آن سوق دهد و این افراد را به دست قانون بسپارد.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

کد امنیتی *

برگشت به بالا