تبلیغات
BahramG07 | بازیهای کامپیوتری ، اندروید ، بادا
    RSS
دانلود جدیدترین بازیهای کامپیوتری و گوشی اندروید

ضدویروس‌های اولیه
در قسمت گذشته به روند و مراحل تکامل ویروس‌های کامپیوتری پرداختیم و دیدم چگونه ویروس نویسان با روش‌ها و تکنیک‌های گوناگونی سعی در پیشی گرفتن از سازندگان ضدویروس‌ها داشته‌اند. مشخصاً‌ طرف دیگر ماجرا یعنی سازندگان ضدویروس‌ها و بطور کلی صنعت امنیت IT هم بیکار ننشسته است و روز به روز با خلق فنون جدید سعی در مقابله با بدافزارها دارد.

نسل اولیه ضدویروس‌ها
در اولین سال‌های شکل‌گیری ضدویروس‌ها، تکنیک‌های بسیار ساده‌ شناسایی ایستا (Static Detection) بر مبنای شناسه ویروس (Virus Signature) بکار گرفته می‌شد. بدین ترتیب که سازندگان ضدویروس‌ها با جمع‌آوری ویروس‌ها و بررسی و آنالیز هر یک از آنها،‌ پایگاه داده‌ای ایجاد می‌کردند. رکوردهای موجود در این پایگاه‌ها، شناسه ویروس‌ها نام داشتند. بدین ترتیب که شمایلی از کد و ساختار ویروس و روش پاک‌سازی، به عنوان یک رکورد ثبت می‌شد. در آن روز‌ها تنها مبنای قدرت ضدویروس‌ها تعداد رکوردهایی بود که آنها در پایگاه‌داده‌ای محصول‌شان داشتند.

نقص‌ها و مشکلات
مشکل اصلی و عمده ضدویروس‌های اولیه عدم بگارگیری حفافظت همزمان بحساب می‌آمد. به بیان دیگر ضدویروس تنها یک نرم‌افزاری بود که با اجرا شدن‌شان کاربران می‌توانستند پارتیشن و یا فولدرهای خاصی را اسکن کرده و از وجود و عدم وجود ویروس در سیستم مطلع شوند. حال آن‌که هیچ گارد و محافظی وجود نداشت که در صورت اجرا شدن فایل حامل ویروس،‌ جلوی دستیابی آن‌را بصورت اتوماتیک، به سیستم مسدود کند.
مشکل بعدی که روش‌های سنتی برای کاربران ایجاد می‌کردند، عدم به‌روزرسانی پایگاه‌داده‌ای ضدویروس‌ها بود. این مشکل باعث می‌شد سیستم در مقابل ویروس‌های تازه منتشر شده، هیچ دفاعی نداشته باشد و میزان احتمال آلوده شدن سیستم‌ها بشدت افزایش یابد.

اولین و موثرترین اقدام
در اوسط دهه 90 میلادی سازندگان ضدویروس در گامی بسیار موثر ساختار نرم‌افزاری برنامه‌های‌شان را دگرگون کردند. بدین ترتیب که ضدویروس‌ها دیگر فقط یک اسکنر بحساب نمی‌آمدند. بلکه از این بعد نرم‌افزاری بودند که می‌توانستند روی سیستم نصب شده و با استفاده از تکنکیک‌های شناسایی On-Access بر تمامی فعالیت‌های سیستم اعم از خواندن، نوشتن و کپی داده‌ها کنترل داشته باشند. از طرفی دیگر همانطور که ویروس‌ها با همه‌گیر شدن اینترنت سرعت شیوع بالاتری پیدا کرده بوند، سازندگان ضدویروس‌ها هم راه سریع‌تری برای رساندن جدیدترین شناسه‌ها به پایگاه داده‌ای محصول‌شان یافته بوند. از این‌رو هر دو مشکل قبل با این ابتکار عمل بر طرف شد.


عملکرد ضدویروس‌ها
بطور کلی ضدویروس‌ها از همان ابتدای وجود تا به امروز، سه مکانیزم اصلی را برای مقابله با ویروس‌ها دارند:
شناسایی: اصول و پایه‌ای‌ترین گام برای مقابله با بدافزارها، شناسایی آنها است. زیرا هر فرآیندی زمانی قابل استفاده خواهد بود که کد آلوده شناسایی شود.
تعیین نوع: گام بعدی پس از شناسایی کد، تعیین نوع آن است. بدین ترتیب که هر زمان عملیات تطبیق سازی کد با شناسه‌ای انجام پذیرد،‌ نوع شناسه با نوع ویروس (و دیگر بدافزارها) هم تطبیق خواهد یافت و در نتیجه نوع کد‌آلوده تعیین خواهد شد.
آلوده‌زدایی: آخرین مرحله در این سیکل، پاک‌سازی و یا همان آلوده‌زدایی ویروس است. مشخصاً این مرحله وابسته به دو گام گذشته است. زیرا اول باید کدآلوده شناسایی شود، سپس نوع آن تعیین شده و در مرحله آخر با توجه به دستورالعمل‌ها، پاک‌سازی شود.
با بیان این مقدمه، تکنیک‌های شناسایی ویروس‌ها را بررسی خواهیم کرد.

شناسایی ایستا (Static Detection)
همانطور که از نام آن پیدا است اصول و مبنای این روش استفاده از تکنیک‌های ایستا است. به این‌ ترتیب که کدها بدون اجرا شدن، بررسی شده و با شناسه‌ها موجود مقایسه خواهند شد. در صورت تطبیق کد با شناسه‌های مورد نظر، مکانیزم عملکرد ضدویروس فعال خواهد شد (شناسایی/تعیین نوع/آلوده‌زدایی)

اسکنرها
همانطور که گفته شد در روش‌های مبنتنی بر شناسایی ایستا، اساس کار را بررسی کننده‌‌ها انجام می‌دهند. این بررسی کننده‌ها در اصطلاح اسکنرها
 (Scanners) نام دارند که در دو حالت گوناگون کدها را مورد ارزیابی قرار می‌دهند.

اسکنر بمحض نیاز (On-Demand Scanner): در این حالت اسکنر با دستور کاربر و بنا به نیاز وی فعال می‌شود. نوع و دامنه این اسکن کاملاً بستگی به شرایط تعیین شده توسط کاربر خواهد داشت. بطور مثال اسکن کامل هارددیسک، اسکن بخشی از هارددیسک و ...
اسکنر همزمان (On-Access Scanner): این اسکنر بوسیله سیستم‌های محافظتی همزمان (Real time Protection) روی سیستم فعال می‌شود و در هنگام فعالیت‌های سیستم تمامی کدهای در حال اجرا و انتقال را مورد ارزیابی قرار می‌دهد.

روش‌های تکاملی اسکنرها
مشحضاً‌ در ابتدای دوران استفاده از اسکنرها، روش‌ها و تکنیک‌های بسیار ساده‌ای بکار گرفته می‌شد. بطور مثال پایگاه‌داده ضدویروس‌هایِ اولیه عددی حدود 100 رکورد را در خود جای می‌دادند (یعنی قابلیت شناسایی 100 ویروس را داشتند). به همین دلیل عملیات شناسایی و تطبیق‌سازی بدون استفاده از تکنیک‌های خاص قابل استفاده بود. اما با گذشت زمان و افزایش حجم داده‌ها، دیگر این روش‌های سنتی جوابگو نبودند. بطور مثال فرض آنکه هزاران رکورد با یک ورودی بطور همزمان بررسی شوند تقریباً غیرممکن بنظر می‌رسید. به همین دلیل الگوریتم‌های اسکن برای حل این مشکل مورد استفاده قرار گرفتند.

الگوریتم‌های اسکنر
ورورد الگوریتم در مکانیزم اسکن یکی از مهم‌ترین پارامترهای بهینه‌سازی به حساب می‌آمد. زیرا اولاً عملیات اسکن، مجموعه‌‌ای از شناسه‌ها بطور همزمان روی یک ورودی امکان پذیر می‌شد و از طرف دیگر سرعت این عملیات بسیار بالاتر از روش‌های سنتی بود. سه الگوریتم معروف عبارتند از:

آهوـ کورسیک (Aho-Corasick)
این الگوریتم برای اولین بار در سال 1975 ایجاد شد. در حقیقت در این روش اسكنر به دنبال شناسه‌هایی می‌گردد كه از تركیب چندین بایت متفاوت باشند. بطور کلی در این روش شناسه‌ها در یک سیستم درختی چیدمان می‌شوند و با قرار گیری هر ورودی، مسیرهای این درخت از گره‌ اولیه تا انتهای برگ‌های مورد نظر (یا آخرین گره‌ها از الگوریتم) طی خواهد شد. این سیستم باعث می‌شد یک ورودی بطور مجزا و موازی در چند مسیر حرکت کرده و تا زمانی که عمل عدم تطبیق و یا تطبیق‌سازی صورت پذیرد سیکل ادامه یابد.

ولدومان (Veldman)
در این روش سیستم جستجوی خطی (Liner search) روی مجموعه شناسه‌ها صورت می‌پذیرد. یعنی تمامی ورودی‌ها بصورت لایه به لایه مورد بررسی قرار می‌گیرند. اصول كلی این الگوریتم به این ترتیب است كه مجموعه‌ای از شناسه‌ها آنقدر بصورت مرحله‌ای مورد جستجو قرار می‌گیرند تا عملیات شناسایی به سطح قابل كنترلی برسد. بطوریکه وردوی‌ها یا با شناسه‌ای منطبق شوند و یا این عمل صورت نپذیرد.
نکته: در این مدل، از حركت موازی (كه از عملكردهای آهوـ كورسیك است) استفاده نخواهد شد.

وئو ـ مَن‌بِر (Wu-Manber)
اصول اولیه و پایه‌ای این الگوریتم با ولدمان یكی است، یعنی هردوی این الگوریتم‌ها از روش جستجوی خطی روی مجموعه محدودی از شناسه‌ها بهره می‌برد. اما تفاوت میان این دو روش، جلوگیری وئوـ من‌بر از ورود بایت‌هایی است كه ممکن است فقط در ظاهر شباهت با شناسه‌ها داشته باشند. با این روش امکان بروز خطا در شناسایی یا همان False Positive کاهش می‌یابد. ضمناً یکی دیگر از امتیازات این روش، سربار کمتر آن روی سیستم، نسبت به دو حالت قبل به دلیل فیلترینگ اولیه قبل از ورود به چرخه تطبیق سازی است.

اکنون که با روش‌های شناسایی اولیه و الگوریتم‌ها آشنا شده‌اید توصیه می‌کنیم مطلب شماره آینده را هم مطالعه فرمایید تا با تکنیک‌های جدید شناسایی ضدویروس‌ها نیز آشنا شوید.




دسته بندی :

نظرسنجی

به نظر شما مطالب وبلاگ چطور است ؟

 
آمار بازید
    کل بازدید ها :
    بازدید امروز :
    بازدید دیروز :
    بازدید این ماه :
    بازدید ماه قبل :
    تعداد نویسندگان :
    تعداد کل مطالب :
    آخرین بروز رسانی :
 
درباره ما


    ایجاد کننده وبلاگ : بهرام قدس قره جه