روابط عمومی شرکت ایدکو (توزیع کننده محصولات کسپرسکی در ایران)؛ سری ششم فیلم مأموریت غیرممکن را ندیدهام و فکر نکنم هم ببینم. فقط یادم است یکبار سری پنجش را دیدم –با حال خسته و نزار بعد از کلی پرواز کاری به خانه برگشته بودم- و تنها دلیل تماشایم این بود که یک سکانس از آن در دفتر جدید و مدرن ما در لندن فیلمبرداری شده بود (عجب سکانس طولانیای هم بود). خوب چرا دروغ! این فیلم را دوست ندارم. همهاش زد و خورد، تصادف و سر و صدا. بیشتر ترجیح میدهم چیزی را ببینم که کمی چالشبرانگیزتر باشد، فکر آدم را اندکی به کار بیاندازد و یکجورهایی نظرم را به خود جلب کند. از اینها گذشته آدم وقتش را که از سر راه نیاورده است بخواهد صرف این جور چیزها بکند!
میتوانم کلی ایراد از تام کروز و دستاندکاران این فیلم بگیرم. خیلی بدجنس شدم نه؟ اما صبر کنید؛ زود قضاوت نکنید. در ادامه قصد دارم دست کم برای یکی از سکانسهای این فیلم تحسینشان کنم (از همانهایی که فکر آدم را کار میاندازد و بسیار جذاب است!). همان سکانس که آدم خوبها باید یک آدم بدهای را گیر بیاورند تا همدستهای خود را لو دهد یا چیزی شبیه به این. تیم سازنده محیطی ساختگی از یک بیمارستان را درست میکنند که در آن شبکهی CNN دارد خبری از آرماگدون اتمی پخش میکند. یکی از آدم بدهها همانطور که روی تخت بستری است همدستانش را لو میدهد (نمیدانم شاید هم کد لاگینی چیزی را افشا میکند) و بدینترتیب اعلانیهی آخرالزمانیاش به گوش کل جهان میرسد. این افشا در ازای معاملهایست که بازجویانش با او میکنند. کلیپش را در این بخش تماشا کنید.
میپرسید چرا این سکانس را خیلی دوست دارم؟ خوب چون راستش را بخواهید به وضوح دارد یکی از روشهای شناساییِ تهدیدهای سایبری را (که قبلاً کشف نشده بود) نشان میدهد! در حقیقت روشهای بسیاری در این بخش به تصویر کشیده میشود- که هر یک بسته به حوزهی کاربردی، میزان اثربخشی، استفاده از منابع و سایر پارامترها با همدیگر فرق دارند. اما همیشه یک روش است که از سایر روشهای متمایز عمل میکند: امولاسیون.
در فیلم مأموریت غیرممکن، امولاتور پروژهی بررسی یک شیء در محیط مصنوعی و ایزوله را راه میاندازد و همین آن را به افشای آلودگی آن شیء ترغیب میکند.
اما ایراد بزرگی به چنین رویکردی وارد است- اینکه محیط مذکور مصنوعی است. امولاتور تمام سعی خود را میکند تا محیط مصنوعی را شبیه به سیستم عاملی واقعی کند. از طرفی نیز، گزینهی دیگری برای ردیابی تحلیل رفتاریِ چنین اشیاء مشکوکی وجود دارد: تحلیل ماشین مجازی (روی یک سیستمعامل واقعی). چرا... چراکه نه؟ اگر امولاتور هیچگاه نتوانست آنطور که باید مؤثر واقع شود پس بگذارید ماشین واقعی (البته مجازی) این کار را انجام دهد! یک «بازجوییِ» ایدهآل آن هم در فضایی کاملاً واقعی و نه مصنوعی- اما این را هم به یاد داشته باشید که هیچ پیامد منفی واقعی نیز وجود نخواهد داشت.
برخی با مطلع شدن از این مفهوم سریعاً میخواهند موضع بگیرند و بپرسند آخر چرا زودتر کسی عقلش به این ایده نرسید. تازه از اینها هم بگذریم، مجازیسازی از سال 1992 مسیر اصلی خود را در حوزه فناوری پیدا کرده است. خوب همینطور که شاید خیلیها تا به حال متوجه شده باشند، انجام این کار ابداً آسان نیست.
نخست اینکه، تحلیل اشیاء مشکوک در ماشین مجازی فرآیندی است که به شدت منبعمحور بوده و تنها مناسب راهحلهای امنیتی سنگین آن هم در سطوح سازمانی است؛ جایی که بررسیها باید به شدت موشکافانه باشد و در طول فرآیند دفاع، میزان آلودگی تقریباً به صفر برسد. افسوس که این فناوری برای کامپیوترهای خانگی مناسب نیست، چه برسد به اسمارتفونها (البته شاید در آینده این امکان ایجاد شود).
دوم اینکه، چنین اشیاءای در واقع وجود دارند. ما همین الانش هم داریم از این فناوری استفاده میکنیم- برای تحقیقات داخلی خودمان. اما اگر بخواهیم ماجرا را از منظر محصولات آمادهی عرضه به بازار نگاه کنیم، هنوز این فناوری جا نیافتاده است. رقبا محصولاتی مشابه عرضه کردهاند اما میزان اثربخشی این محصولات از محدودهی استاندارد کاملاً به دور است. قانون حکم میکند چنین محصولاتی تنها به جمعآوری لاگها و تحلیلهای بنیادی محدود باشند.
سوم اینکه، راهاندازی پروندهای در ماشین مجازی تازه شروع فرآیندی بسیار پیچیده و طول و دراز است. از اینها گذشته، هدف چنین کاری این است که آلودگیِ شیء خودش را لو دهد و برای رسیدن به این هدف باید مهارت بالایی داشت و رفتار لاگها و الگوهای خطرناک عملیاتی را تحلیل کرده و مدام آنها را سازماندهی نمود تا بدینترتیب از ترفندهای ضد امولاسیون محافظت شده و بهینهسازی و خیلی مؤلفههای دیگر صورت گیرد.
در ادامه میخواهم حقیقتی را بگویم که ذرهای نشان از خودستایی ندارد: ما در این بخش یک سر و گردن از رقبای کل این کرهی خاکی سرتریم.
اخیراً پتنت آمریکایی (US10339301) که ایجاد محیطی مناسب برای ماشین مجازی جهت انجام تحلیلهای عمیق و سریع اشیاء مشکوک را پوشش میدهد به ما اعطا شده است. این پتنت چنین عمل میکند:
- ماشینهای مجازی با تنظیماتی ساخته میشوند که هم اجرای بهینه و هم سطح بالای نرخ شناسایی خود را تضمین دهند (برای انواع مختلفی از اشیاء).
- متخصص مسئولِ بخش ماشین مجازی (به کمک پایگاههای اطلاعاتی قابل آپدیت از الگوی رفتارهای مشکوک، بحی اکتشافی[1] و منطق واکنشها به این اقدامات و خیلی موارد دیگر) پیوسته رفتار شیء را سیستملاگین کرده و سیستمِ وابسته به آن را تحلیل مینماید.
- اگر اقداماتی مشکوک شناسایی شد، این سیستم تحلیل به صورت در لحظه تغییرات را در فرآیند اِعمالِ شیء در ماشین مجازی وارد میکند (تا مقاصد مخرب آن را نشان دهد). برای مثال، این سیستم میتواند فایلهایی بسازد، رجیستری را اصلاح کند، سرعت را بالا برده و کلی موارد دیگر.
مورد سوم، خاصترین و گیراترین بخش فناوری ما به حساب میآید. بگذارید برای نشان دادن نحوهی عملکرد آن مثالی برایتان بزنم:
این فایل سیستمِ لانچشده (که به خواب رفته است و از خود هیچ فعالیتی نشان نمیدهد) را شناسایی میکند. دلیلش هم این است که شیء میتواند طوری برنامهریزی شود که برای چندین دقیقه (یا شاید چندین ساعت) هیچ کاری انجام ندهد تا فعالیت آلوده کار خود را شروع کند. وقتی فایل سیستم خودش را به خواب زده، ما زمان جریانگرفته در ماشین مجازی را سرعت میبخشیم تا سرعتش به ازای هر ثانیه یک، سه، پنج و N بار بیشتر شود. عملکرد فایلِ مورد تحلیل تغییر نمیکند، و این درحالیست که زمان انتظار صدها (یا هزاران) بار کمتر میشود. و اگر این بدافزار بعد از «خواب زمستانیاش» تصمیم بگیرد ساعت سیستم را چک کند (آیا تیک تاک میکند؟) به اشتباه گمان خواهد کرد ساعت دارد کار میکند و بدینترتیب مأموریت مخرب خود را ادامه میدهد- و اینگونه است که خود را در طول فرآیند لو میدهد.
این شیء از آسیبپذیریِ داخل کتابخانهای خاص استفاده میکند و یا سعی میکند محتوای فایل یا رجیستری را دستکاری کند. ابتدا، با کمک قابلیت fopen() سعی میکند این کتابخانه (یا فایل یا رجیستری) را باز کند و اگر نتواند این کار را با موفقیت انجام دهد (اگر هیچ کتابخانهای در کار نباشد و یا حقوق دسترسی به فایل را نداشته باشد) آنوقت است که تسلیم میشود و همهچیز را رها میکند. در چنین سناریویی ما ارزش بازگشتیِ[2] قابلیت fopen() را (در همان طول فرآیند) از file absent به file exists تغییر میدهیم (یا اگر لازم باشد خود فایل را میسازیم و آن را با محتوای مناسب پر میکنیم). سپس، براحتی اقدامات شیء را رصد میکنیم.
چنین رویکردی همچنین برای تحلیل سلسله رفتارهای شیء نیز بسیار مناسب است. برای مثال: اگر فایل A و فایل B وجود داشته باشند و بعد فایل C این وسط دستکاری شود و کار تمام شود. با این حال، هنوز معلوم نیست اگر تنها یکی از فایلهای A یا B وجود داشته باشد کدام برنامهی مورد بررسی به کار خواهد آید. بنابراین، ما این کار را به موازات تکرار میکنیم و به برنامهی مشکوک میگوییم فایل A وجود دارد اما B نه. بعد سلسله رفتارهای آن را مورد ردیابی قرار میدهیم.
این را هم بگوییم که قوانین واکنش به اجرای این فایل کارِ پایگاههای اطلاعاتی قابلآپدیتِ خارجی است. دیگر نیازی نیست کل موتور را برای اضافه کردن منطق جدید بازسازی کنید؛ تنها کافیست بدرستی تعداد سناریوهای محتمل رفتارهای مخرب را شرح داده و آپدیتی یک کلیکه انجام دهید.
خیلی خلاصه تلاش داشتیم عملکرد این فناوری را به شما علاقمندان توضیح دهیم. این تکنولوژی بزودی به KATA اضافه و همچنین به عنوان راهحل سازمانیِ مُجَزای Kaspersky Sandbox به بازار عرضه خواهد شد.
[1] به روشهای حل مسئله، آموزش و اکتشاف مبتنی بر تجربه اشاره میکنند که منجر به راه حلی میشود که تضمینی نیست که مطلوب باشد.
[2] return value
منبع: کسپرسکی آنلاین (ایدکو)
کسپرسکی اسم یکی از بزرگترین شرکتهای امنیتی و سازنده آنتی ویروس است که برخی از کاربران اشتباهاً این شرکت و محصولات آنتی ویروس آن را با عناوینی نظیر کسپرسکای،کاسپرسکی، کسپراسکای، کسپراسکای، و یا کاسپراسکای نیز میشناسد. همچنین لازم به ذکر است مدیرعامل این شرکت نیز یوجین کسپرسکي نام دارد.