تام لیزموس، دانشجوی مقطع دکتری الکترونیک و کامپیوتر، اولین کسی است در جهان که نرم افزارای را طراحی کرده است که قادر است حملات ویروس رایانهیی ناشناس را کشف کند.
به گزارش بخش خبر شبکه فن آوری اطلاعات ایران، از ایسنا، تام لیزموس میگوید: مشکل اصلی نرم افزارهای ضد ویروسی فعلی این است که نرم افزارها از رایانه تنها در برابر ویروسهای شناخته شده حمایت میکنند و درمقابل ویروسهای ناشناس کاری از پیش نخواهند برد.
تعداد قابل ملاحظهای ویروس رایانهیی وجود دارد، بعضی از این ویروسها برای فعال شدن و آلوده ساختن سیستم، نیازمند دخالت و لمس خود از سوی کاربر هستند، مانند آن دسته از هرزنامههایی که از طریق پست الکترونی ارسال میشوند لازمهی شروع حملهی آنها باز کردن پست الکترونیک از سوی کاربر است.
ویروسهای دیگری هستند که موزیانهتر عمل میکنند و بدون آن که کاربر متوجه یک اشتباه کوچک خود شود، به نرم افزارها حمله کرده و کنترل رایانه را در اختیار خود میگیرد، برای مثال تمامیdocumentها را حذف میکند.
وی میگوید: دلیل این که چگونه چنین حملات مخربی به راحتی کاربران را تحت الشعاع قرار میدهد این است که بسیاری از برنامههای رایانهیی به صورت نادرست برنامه نویسی شده است و رایج ترین اشتباه برنامه نویسی به Buffer Orerflow معروف است .
این اشکالات برنامه نویسی از سوی برنامه نویسان نرم افزارهای آنتی ویروس نیز تکرار میشود، اما چنین اشتباهات برنامه نویسی در میان تمام برنامه نویسانی که در C یکی از رایج ترین زبانهای برنامه نویسی، مینویسند متداول است .
گشایشگر وب اینترنت الکسپلورر نمونهی یکی از این موارد است، اشتباهات برنامه نویسی در سیستم IP-technology شرکت Skype و نرم افزار پایگاه د ادههای مایکروسافت، موسوم به سرور SQL، به خوبی مشهود است .
وی میگوید: برنامههای رایانهیی در سال 2003 دارای مشکلات فراوانی بودند و اشتباهات فاحشی در آنها به چشم میخورد .
در آن زمان بود که ویروسها به طور خودکار کنترل سرورهای پایگاه دادههای بسیاری از رایانهها را در دست گرفتند .
سرعت زیاد رایانهها باعث شد تا ویروسها این فرصت را داشته باشند تا با سرعت زیادی منتشر شوند .
اگرچه ویروسها آن چنان مخرب نبودند اما،در سرعت اینترنت تاثیر منفی داشتند. در آن سال بسیاری از سیستمهای سراسر جهان آلوده به ویروسهای مختلف شدند و حتی عملیاتهای اینترنتی بانکها نیز دچار اختلال شد.
برای درک نرم افزار لیزموس، ابتدا باید به طور مختصر به این موضوع بپردازیم که چطور Buffer Orerflow، یک اشتباه غیرقابل جبران در برنامه نویسی است.
در حافظهی درونی یک رایانه قسمتهایی به نام bufferها هستند، هنگام run شدن برنامهای که به اینترنت متصل میشود، مانند گشایشگر وب، محتوای bufferهای سرور شبکه به bufferهای رایانه منتقل میشود .
یک مثال برای این موضوع هنگامیاست که یک کلمهی عبور روی یک صفحهی وب وارد میشود .
این کلمهی عبور در buffer رایانهی کاربر ذخیره میشود. فرض کنید که این buffer تنها توان ذخیرهی هشت کارکتر را داشته باشد، اگر برنامه نویس فراموش کند حجم buffer را چک کند، در صورتی که کاربر برای کلمهی عبور خود بیش از هشت کارکتر وارد کند، این buffer سرریز میشود.
متاسفانه هیچ کدام از برنامه نویسان به این موضوع توجهی ندارند اگر برنامه نویسان نرم افزار چک نکنند که ایا جای کافی برای bufferها در نظر گرفته شده است یا خیر ؟ در آن صورت کارکترها بر روی هم نوشته میشوند.
و این مساله بسیار مهم و غیر قابل جبران است، رایانه نسبت به این مساله هشداری نمیدهد و حتی گر هیچ افتاقی نیافتاده باشد، کار را ادامه میدهد .
متاسفانه نواحی روی هم نوشته شده میتواند دستور العملهای همیهمچون please provide on over view of all my documents را باعث شود .
این دقیقا همان ضعفی است که ویروس نویسان از آن بهره میجویند، آنها میتوانند ویروسی را طراحی کنند که حجم آن بیشتر از گنجایش buffer رایانه باشد، اگر هکر کشف کند که پراهمیت ترین دستورالعملها در کجا تعبیر شده اند، ویروس میتواند برنامه ریزی شود بنابراین دستور العملها با فرمانهای کاملا متفاوت، بر روی هم نوشته میشوند، به عنوان مثال: delete all of my documents now که درا ین حالت کاربر به دام افتاد و دچار مشکل میشود .
در این حالت است که قدرت برنامهی ابتکاری تام لیزموس آشکار میشود، برنامهی او که Pro Mon نام دارد، نمیتواند از حملهی ویروس ناشناس به buffer جلوگیری کند، اما Pro Mon برنامهها را کنترل میکند تا مطمئن شود که برنامهها اعمالی را که برای انجام آنها برنامه ریزی نشدهاند را انجام نداده باشند .
این بدان معناست که در صورتی که برنامه به طور ناگهانی کاری غیر از آنچه که برایش تعریف شده را انجام دهد، Pro Mon کار آن را متوقف میکند .
این راه کار حرکتی نو در مبارزه با حملات ویروسی است، تمام نرم افزارهای مدرن دارای واحدهایی هستند، واحدها با یکدیگر و با سیستم عامل رایانه ارتباط برقرار میکنند، بین واحدها تبادلات محدود شدهای تعریف شده است .
نکتهی قابل توجه این است که Per Mon در برنامه ایی مانند گشایشگر وب اینترنت اکسپلورر کنترل کنندهی تبادلات میان واحدها است. مادامیکه برنامه، تبادلات میان واحدهایشان به صورت صحیح انجام دهند، Per Mon عکس العملی از خود نشان نمیدهد، اما اگر یک تبادل غیر معمول رخ دهد، Per Mon با فرض این که ویروسی حمله کرده است، برنامه را متوقف میکند.
تام لیزموس تاکید کرد که نرم افزارش میتواند هر برنامه را کنترل کند.البتهی برنامههای مشابه دیگری نیز در بازار موجود است اما آزمایشاتی که تام لیزموس انجام داده نشان میدهد که برنامهی او 30 برابر سریعتر از برنامهی رقیب وی یعنی "موسسه فناوری ماساچوست " است .