PDA

View Full Version : مقابله Anti-Virus ها با Rootkit ها و Virus ها



saeedIRHA
جمعه 20 مرداد 1385, 21:03 عصر
سلام دوستان،
منظور از AV ها چی هست ؟!
و ممکنه یک مقدار در مورده پنهان شدن و فرار کردن بعضی از
Virus ها یا Rootkit ها از Anti-Virus ها توضیح بدین؟!؟
با تشکر.

Inprise
سه شنبه 24 مرداد 1385, 03:16 صبح
AV که همان آنتی ویروس است ؛
آنتی ویروسها اصولا" سه جور با کدهای مخرب برخورد میکنن .

1. بر اساس امضا
2. بر اساس رفتار
3. حدس و تشخیص

اولی توضیح نمیخواد . دومی رو بیشتر و پیشتر از AV ها ، HIDS ها استفاده میکنن و False Positive زیادی داره ، تلاش بیشتر کمپانیهای AV این روزها روی مورد سوم هست . AV باید بتونه متدی که کد مخرب باهاش Pack شده تشخیص بده ، یا روی دیسک یا در زمان اجرا و بتونه بازش کنه و با روش اول یا دوم ، مخرب بودن یا نبودنش رو تشخیص بده ( هیوریستیک )

آنتی ویروسهای امروزی مثل کسپراسکی و Nod32 به اندازه کافی خوب هستند که اغلب پکرهای متداول رو شناسائی کنند و کدهای مشکوک رو Unpack کنن و ... ؛ و برای افرادی که هدفشون AV Evasion هست استفاده از متدهای دستی یا پکرهای شخصی و غیر عمومی برای فرار از دست AV یک ضرورت هست . Worm ها و تروجانهای User Mode رو میشه با کمی تلاش از دید آنتی ویروس مخفی کرد اما برای کدهای Kernel Mode خصوصا روتکیتهای جدی ، امید چندانی وجود نداره ، چون نگه داشتن این کدها در حالت عادی و در یک وضعیت Stable به اندازه کافی دشوار هست و شوخی کردن با AV ها فایدهء چندانی نداره ، مگر با استفاده از متدی که با علم به نقیصهء آنتی ویروس تدوین شده . به عنوان مثال اگر موتور سطح کرنل کسپراسکی نتونه تابع به خصوصی رو به نحو مناسب Hook کنه ، شاید روتکیت بتونه ازش استفاده کنه ، یا وقتی Nod32 نمیتونه Inline Patch ها رو بعد از 20 بایت از اول توابع اکسپورت شده تشخیص بده ، میشه از این فرصت استفاده کرد ، اما بصورت عمومی و کلی راه حلی وجود نداره . علتش هم واضحه . نوشتن کد مفصل و واقعی Kernel-Mode واقعا دشواره و اغلب کسانی که هدف به خصوصی دارن ، از کدهای موجود استفاده میکنن ، با کمی تغییر و اصلاح و غیره ، که بسادگی هم توسط انتی ویروسها شناسائی میشن . افرادی که میتونن کدهای خودشون رو بنویسن و از متدهای شخصی استفاده بکنن اونقدر زیاد نیستن که بازار کسب و کار AV Company ها رو تهدید کنن . توضیح بیشتری نمیخواد .

saeedIRHA
سه شنبه 24 مرداد 1385, 11:25 صبح
سلام،
ممنون دوسته من.مثله همیشه واضح و عالی بود!
فقط یک سؤال برام پیش امد،شما خودتون یک بار یک تابع با
دلفی نوشته بودن که با استفاده از اون تونسته بودین KAspersky رو پرسش رو
Terminate کنید!من هرچقدر سعی کردم نتونستم توابع به کار رفته رو در C پیدا
و پیاده کنم!
میشه محبت کنید و بگیند چطور میتونم با C این تابع رو بنویسم یا اینکه باید از چه
Header های استفاده کنم که توابع مربوط رو شامل بشه؟؟!
با تشکر

Inprise
چهارشنبه 25 مرداد 1385, 00:17 صبح
Native API رو تو این بخش جستجو کن .

روتینی که اون بار نوشته بودم از ZwTerminateProcess استفاده میکرد و روی نسخه جدید کسپراسکی کار نمیکنه .