ویروس چیست؟ یک کد رایانه ای مخرب که میتواند به یک برنامه دیگر متصل شود و در زمان اجرای آن برنامه، ویروس هم اجرا شود. در مفهوم کلی ویروس، کرم (worm) تروجان و … به عنوان malware (نرمافزار مخرب Malicious Software) شناخته میشوند. ویروس با استفاده از تماسی که افراد با هم دارند منتقل میشود ویروس رایانه ای نیز از طریق کول دیسک، سیستم های File sharingو … منتقل میشود. هدف کرم ها نیز انتشار است و از آسیب پذیری یک سیستم برای رخنه در آن استفاده میکند و بعد خود را منتشر میکند (سبک های مختلف انتشار وجود دارند). بدافزارها به اهداف مختلف نوشته میشوند. یک هدف ، جمعآوری اطلاعات است (که بعداً بر روی آن ها آنالیز انجام شود). از این اطلاعات برای کاربردهایی مثل: اینکه تبلیغات خود را در کجا قرار دهند میتوانند مورد استفاده قرار گیرند. یک هدف دیگر میتواند این باشد که یک سیستم از کار انداخته شود. به این بدافزارها که در لحظه خاص و در شرایط خاص فعال میشوند بمب می گویند. هدف دیگر میتواند تشویش اذهان عمومی باشد. مثلا امریکا قبل از حمله به عراق یک ویروس با نام صدام ساخت که این ویروس باعث میشد که سیستم reset شود، کند شود و …. که این ویروس باعث ایجاد یک جو منفی میشد. ویروس های ساده مثل folder.exe, Autorun.inf و … هستند و ویروس های پیشرفته مثل flame, stuxnet، دوکو و …. که به طور هدفمند قصد آسیب رسانی به سیستم های اسکادا (سیستم های مدیریت و کنترل صنعتی) را داشتند. ویروس استاکس نت (stuxnet) ویروسی نبوده است که کار یک نفر باشد و یا مثل ویروسهای عادی دیگر باشد. این ویروس از آسیب پذیرهای zero day نیز استفاده می کرده است (آسیب پذیری هایی که public نشده و اصطلاحاٌ private است و حتی شرکت سازنده محصول نیز از آن آسیب پذیری، ناآگاه است و کسانی که آن آسیب پذیری را کشف کرده اند از آن خبر دارند و با آن کار میکنند). در برخی از این ویروس ها نیز تکنیک هایی به کار برده میشود که نتوان آن را reverse کرد و نتوان به source آن رسید.
راه کار در امان ماندن از ویروس ها و کرم ها (worm) چیست؟ config درست سیستم (مثل اینکه ftp باز نباشد (و یا برای login نام کاربری و کلمه عبور بخواهد)، update نگه داشتن سیستم (patch کردن سیستم). با این کارها تا درصد بالایی جلوی بدافزارها گرفته میشود. همچنین با defense in depth میتوانیم اثرات حملات zero day را هم کم یا بی اثر کنیم. مثلا میتوان از آنتی ویروس استفاده کرد. در سرورها می توان (وب سرور، دیتابیس سرور) یک آنتی ویروس نصب کرد در clientها آنتی ویروسی دیگر. در نودهای حساس شبکه (مثلا نودی که routing را انجام میدهد) آنتی ویروس نصب کنید.