محققان لابراتوار كسپرسكي روز دوشنبه 19 مارس اعلام كردند هويت «كد مرموز» استفادهشده در تروجان «دوكو» را كشف كردهاند. اين ويروس كه براي ايرانيان يادآور بدافزار استاكسنت است، از اين ويروس قويتر بوده، ولي به دليل شباهت بسيار آن با استاكسنت، بسياري از برنامههاي امنيتي، قادر به شناسايي مستقل آن نبودند. با اين حال چند هفته پس از اعلام اينكه كد كامپيوتر منشاء ناشناخته تروجان «دوكو» را كشف كردهاند، كسپرسكي اعلام كرد كه اين كد مرموز به زبان C نوشته و با Microsoft Visual Studio 2008 كامپايل شده است.
اگرچه، سازندگان «دوكو» تغييراتي در كد C ايجاد كردند كه اين كد تركيبي از برنامهنويسي شيگرا و زبان C باشد. اين موضوع در اوايل ماه مارس آغاز شد؛ هنگامي كه محققان كسپرسكي به طور علني اين چالش را پيش كشيدند كه بخش كليدي تروجان «دوكو» چگونه ساخته شده است. پس از موشكافيهاي فراوان، محققان دريافتند كه بخشهايي از ماژول كليدي كه نقش كنترل دستورات تروجان «دوكو» را دارند به يك زبان ناشناخته برنامهنويسي شده است. موضوعي كه يكي از متخصصان كسپرسكي به نام Igor Soumenkov نيز بيان كرده اين است كه اين كد هيچ برگشتي به زبان C++ يا هرگونه زبان برنامهنويسي سطح بالا ندارد. گسترش اين مطلب جنجالبرانگيز گفتوگوهاي بسياري را بين كارشناسان بدافزار و برنامهنويسان در سراسر جهان پديد آورد كه در پي آن بيش از 200 ديدگاه و پيشنهادهاي گوناگون در سايت securelist. com ارايه شد. اين بگومگوها به فرومهايي مانند Slashdot و Reddit هم كشيده شد. پس از يك هفته، محققان اعلام كردند كه با همكاري محققان ديگر توانستهاند به كد مذكور وارد شوند و دريابند كه اين كد به زبان C نوشته و با Microsoft Visual Studio 2008 كامپايل _ ترجمه _ شده و تنظيمات خاصي براي بهينهسازي حجم كد روي آن انجام شده است.
به همين دليل اين پرسش مطرح ميشود كه چرا بايد درك و موشكافي يك كد به زبان ساده C تا اين حد دشوار باشد؟ در پاسخ به اين پرسش يكي از كارشناسان كسپرسكي به نام VitalyKamluk ميگويد برنامههايي كه با زبان C و C++ كامپايل ميشود، نميتواند به كد اصلي برگردانده شود و اين يك انتقال يكسويه است. اين مساله باعث سردرگمي تحليلگران در يافتن زبان اصلي و برنامه اسمبلكننده اين كد شد. تقريبا هميشه اين كار تا اين حد دشوار نيست چرا كه بيشتر برنامهنويسان از يك زبان و كامپايلر معمول به اين منظور استفاده ميكنند و هركدام نشان خاصي از خود در كد اسمبل بهجاي ميگذارند كه مانند يك اثر انگشت عمل ميكند. اين در حالي است كه كد نامبرده هيچ نشان بارزي از اين دست نداشت. نويسنده مطلبي در سايت ReverseEngineering. com دريافت كه تكهكد «دوكو» بسيار همانند كدهاي نوشتهشده با CSOO (Simple Object Oriented for C) است. از آنجا كه بهكار بردن اين زيرساخت (Framework) در بين برنامهنويسان خيلي معمول نيست خروجي هيچ يك از زيرساختهاي ديگر به اندازه اين زيرساخت با كد «دوكو» همخواني ندارد. همچنين Kamluk اضافه كرد كه استفاده از OOC به جاي زبانهاي معمول مانند C++ نمايانگر اين است كه برنامهنويسان كد «دوكو» برنامهنويسان قديمي هستند كه بيشتر با زبان C آشنايي دارند. دليل ديگر اين مساله به گفته Soumenkov ميتواند عدم اطمينان برنامهنويسان به كامپايلر C++ در مقايسه با برنامه C باشد كه تبديل به يك استاندارد شده است. همانطور كه بسياري از ديگر برنامهنويسان با ظهور C++ به علت عدم اطمينان به نحوه تخصيص حافظه در اين برنامه و زبان مبهم آن كه باعث اجراي كدهاي ناخواسته ميشوند، همچنان بيشتر دوست دارند كه زبان C را براي برنامهنويسي بهكار ببرند. همچنين زبان C روي پلتفرمهاي مختلف قابل اجراست كه براي نويسندگان كرمهاي اينترنتي گزينه بسيار دلپذيري است. اگرچه هويت واقعي افرادي كه كد «دوكو» را نوشتهاند هنوز فاش نشده و مثلا كسي نميداند كه ريشه آن از كدام كشور است. كارشناسان كسپرسكي بيان داشتهاند كه تيم برنامهنويسي اين بدافزار كد بسيار پيچيدهاي را نوشتهاند كه در اندازه برنامههاي بسيار سطح بالا و حرفهاي برآورد ميشود. دستاوردهاي تازه، ديد نويني از كدنويسي ويروس «دوكو» را آشكار كرده است كه مهمترين آن اين است كه ايده ارتباط «دوكو» به
Stuxnet _ ويروس اكستاكسنت كه به منظور سرقت اطلاعات و دستكاري در فعاليتهاي هستهاي ايران تهيه شده بود_ كاملا رد ميشود. روي هم رفته با اينكه هردو اينها در سطحي مشابه و بسيار پيچيده هستند، تجزيه و تحليل درباره كد «دوكو» روشن ميكند كه «دوكو» و Stuxnet بسيار متفاوتند. Kamluk اميدوار است كه اين تحقيقات عموم را پس از درك ماهيت نوع تروجان، به سمت شناسايي سازندگان آن سوق دهد و اين افراد را به دست قانون بسپارد.
2121
نظر شما