ویروس کامپیوتری واقعاً چیست؟
شما این اصطلاح را شنیدهاید، اما معنی واقعی آن چیست؟ از متخصص ما بیاموزید که چگونه این برنامههای خود تکثیر شونده مخفیانه وارد سیستم شما میشوند، گسترش مییابند و سیستم شما را کند میکنند، به علاوه آنچه برای جلوگیری از این اتفاق باید بدانید.
مطمئناً شما تا حدودی میدانید که ویروس کامپیوتری چگونه کار میکند، هرچند ممکن است جزئیات آن را ندانید. به نحوی راه خود را به کامپیوتر شما باز میکند و سپس کامپیوتر کند میشود… یا شروع به اشتباه میکند… یا چیزی شبیه به این. درست است؟ در حقیقت، ویروس نوع بسیار خاصی از برنامه است که توانایی غیرمعمول تکثیر خود را دارد، مانند یک ویروس بیولوژیکی. من نزدیک به ۴۰ سال است که برنامههایی را که با ویروسها (و سایر بدافزارها) مبارزه میکنند، بررسی میکنم و یک یا دو چیز یاد گرفتهام. اجازه دهید نحوه کار این برنامههای مخرب و آنچه میتوانید برای جلوگیری از آنها انجام دهید را با شما به اشتراک بگذارم.
با این حال، قبل از شروع، میخواهم یک منبع سردرگمی را از بین ببرم – برنامه آنتی ویروس شما. وقتی برای اولین بار آنها را بررسی میکردم، برنامههای آنتی ویروس به معنای واقعی کلمه در برابر ویروسها و فقط ویروسها دفاع میکردند. برخی حتی ویروسهایی را که میتوانستند ضدعفونی کنند در دفترچه راهنمای کاربر (چاپی) فهرست کردهاند. تصویر زیر کپی دفترچه راهنمایی است که در یک کنفرانس بدافزار در سال ۲۰۱۰ با آن مواجه شدم. خود دفترچه راهنما به دهه ۸۰ میلادی برمیگردد. امروزه، انواع دیگر نرمافزارهای مخرب تا حد زیادی جایگزین ویروسها شدهاند. ما هنوز این برنامه را یک آنتیویروس مینامیم، اما کارهای بسیار بیشتری انجام میدهد.
ویروس کامپیوتری چیست؟
ویروس کامپیوتری یک برنامه است. مانند سایر برنامهها، با کاری که انجام میدهد تعریف میشود و کار بزرگی که یک ویروس انجام میدهد، تکثیر خود است. ویروس به عنوان مجموعهای از دستورالعملهای کامپیوتری متصل به برنامه دیگری به نام میزبان وجود دارد. وقتی برنامه میزبان اجرا میشود، ابتدا کد ویروس اجرا میشود. دستورالعمل اصلی آن جستجوی برنامههای دیگر و تزریق کد خود، آلوده کردن آنها و تبدیل آنها به میزبانهای جدید است.
اگر تکثیر خود تنها کاری بود که یک ویروس انجام میداد، شاید خیلی بد نبود. مطمئناً، هر بار که کد ویروس اجرا میشود، کمی زمان پردازش اضافی تلف میشود. اما مانند یک ویروس بیولوژیکی، یک ویروس کامپیوتری موفق باید از کشتن میزبان جلوگیری کند. آلوده کردن مکرر یک فایل میتواند باعث شود که آن بینهایت بزرگتر و بزرگتر شود و در نهایت سیستم را از کار بیندازد. اکثر ویروسها بررسی میکنند تا از آلوده کردن مجدد میزبان موجود جلوگیری کنند.
مشکل در چیزی است که ما آن را بار مفید مینامیم، عملی که ویروس علاوه بر تکثیر خود انجام میدهد. ویروسهای آزمایشی اولیه ممکن است فقط یک پیام نمایش دهند یا یک جوک ارسال کنند. اما سایر بار مفیدها مشکلسازتر شدند، تا جایی که دستوراتی ارسال میکردند که به دیسکها آسیب فیزیکی میزدند. اینها معمولاً فقط پس از یک رویداد محرک، مانند رسیدن به یک روز تولد یا تاریخ دیگر، فعال میشدند تا بتوانند قبل از جلب توجه، به طور گسترده پخش شوند.
آیا تلفن هوشمند من میتواند ویروس بگیرد؟
وقتی در دهه ۸۰ شروع به بررسی نرمافزارهای رایانه شخصی کردم، برندهای سازگار با رایانه شخصی بیپایان و انواع بیپایانی در DOS وجود داشت. برای اطمینان از سازگاری، سیستمها باید آزاد میبودند، که به معنای وجود فضاهای فراوان برای نویسندگان ویروس بود. تقریباً در همان زمان، خط تولید رایانه اپل تحت کنترل کامل اپل تکامل یافت. نتیجه، یک سیستم بسیار سختگیرتر بود، نه در برابر حملات بدافزار، اما مطمئناً مقاومتر.
با ظهور آیفون و iOS، اپل امنیت را به سطح دیگری رساند. اساساً، هیچ برنامه iOS نمیتواند برنامه دیگری را روی دیسک یا حافظه لمس کند. این رویکرد باغ محصور، نوشتن بدافزار iOS را اگر غیرممکن نکند، غیرعملی میکند. وقتی در کنفرانسهای امنیتی مانند RSAC و Black Hat شرکت میکنم، همه جا آیفون میبینم، چون متخصصان امنیتی میدانند. بله، من خودم از آیفون استفاده میکنم.
شرکتهای زیادی نسخههای اندروید خودشان را مدیریت میکنند، بنابراین به اندازه iOS بیعیب و نقص نیست، اما همه آنها معمولاً با پیشرفتهای امنیتی مداوم بهروز میمانند (البته تا زمانی که به خرید گوشیهای جدید ادامه دهید).
رویکرد ویروس، یعنی انتشار بدافزار با آلوده کردن برنامههای دیگر، در دنیای گوشیهای هوشمند امکانپذیر نیست. کاری که کدنویسان بدافزار میتوانند انجام دهند، ایجاد برنامههایی است که مفید به نظر میرسند اما مخفیانه هدف شومی را دنبال میکنند – به عبارت دیگر، تروجانها. کنترل شدید اپل بر فروشگاه برنامههایش عمدتاً از چنین حملاتی جلوگیری میکند و حملات متمرکز بر آیفون عموماً به دسترسی فیزیکی به دستگاه متکی هستند. در همین حال، در سمت اندروید، برنامههای مخرب مرتباً در فروشگاه گوگل پلی ظاهر میشوند تا زمانی که از سیستم خارج شوند.
به طور خلاصه، گوشیهای هوشمند سوژههای مناسبی برای حمله ویروس نیستند، اما ممکن است در فروشگاه برنامه با یک تروجان مواجه شوید. هنوز هم باید مراقب باشید، اما نه به طور خاص برای ویروسها.
چرا ویروسها کمتر از گذشته رایج هستند؟
قبل از اینکه به مطالعه ویروسهای کامپیوتری فکر کنم، در اخبار درباره آنها میشنیدم. آنها نامهای عجیبی مانند Brain، Lehigh و Jerusalem داشتند و رسانههای خبری به آنها اطلاعات زیادی میدادند. ویروسها سالها همچنان در اخبار ظاهر میشدند. شما چیز زیادی در مورد انواع دیگر نرمافزارهای مخرب به جز کرمهای شبکهای گاه به گاه نمیشنیدید. با این حال، امروزه اخبار تحت سلطه باجافزارها، نقض دادهها و برنامههای اسب تروجان است. چه چیزی تغییر کرده است؟
اول، همانطور که در ادامه توضیح خواهم داد، تغییر از فایلهای COM اصلی کامپیوتر به برنامههای PE مدرن، نوشتن ویروسها را بسیار سختتر کرد. و هنگامی که کامپیوتر شما از روی هارد دیسک بوت میشود، یک ویروس قدیمی که فقط میتواند با بوت شدن از روی دیسکت خود را تکثیر کند، شانس زیادی ندارد. در هر صورت، درایوهای UEFI مدرن از فناوری زمان بوت متفاوتی استفاده میکنند، فناوریای که میتواند در برابر دستکاری محافظت شود.
دوم، افزایش آلودگیهای ویروسی به طور طبیعی واکنشی را در قالب برنامههای آنتیویروس ایجاد کرد. یک آنتیویروس خوب طراحی شده میتوانست فایلهای میزبان را ضدعفونی کند و ویروسهای بخش بوت را از حافظه حذف کند و دیسک را نیز تعمیر کند. با ظهور ویندوز و چندوظیفگی، نرمافزار آنتیویروس میتوانست به صورت بلادرنگ نظارت کند تا از آلودگی ویروس جلوگیری کند. به علاوه، مایکروسافت آنتیویروس Defender خود را به بخشی جداییناپذیر از ویندوز ۱۰ و ۱۱ تبدیل کرد و یک آنتیویروس برای هر رایانهای که فاقد محافظت شخص ثالث بود، فراهم کرد.
سوم و مهمترین، ظهور اینترنت فراگیر، تکنیکهای حمله ویروس موجود را بیاهمیت کرد. در گذشته، زمانی که علاقهمندان به رایانههای شخصی (از جمله خود من) برنامهها و هنر ASCII را با معامله دیسکتها به اشتراک میگذاشتند، هر معاملهای پتانسیل آلوده کردن یک رایانه جدید را داشت. اما با دسترسی جهانی به اینترنت، هیچکس دیسکتها را مبادله نمیکند. نوشتن یک برنامه Trojan Horse (یک برنامه به ظاهر معتبر که حاوی کد مخرب است) و فریب دادن مردم برای اجرای آن بسیار آسانتر از نوشتن ویروسی است که برنامههای دیگر را آلوده میکند.
من این تغییر را در کار خودم میبینم. هر ساله، هزاران برنامه بدافزار دنیای واقعی را جمعآوری میکنم تا یک گروه نماینده را برای استفاده در آزمایش عملی خود انتخاب کنم. به عنوان بخشی از این فرآیند، هر کدام را با پایگاه داده VirusTotal بررسی میکنم. این پایگاه داده اکثریت قریب به اتفاق آنها را به عنوان تروجان شناسایی میکند.
به عنوان آخرین میخ بر تابوت، ویروسها پولساز نیستند. این روزها، یک صنعت کامل بدافزار با توزیعکنندگان، شرکتهای وابسته، زنجیرههای تأمین و تمام مظاهر یک تجارت مشروع وجود دارد. تبهکاران میتوانند با اجاره شبکههای رایانههای آلوده به ربات، یا فروش دادههای شخصی که توسط تروجانهای دزد اطلاعات مکیده شدهاند، پول نقد به دست آورند، یا فقط با باجافزاری که فایلها را رمزگذاری میکند و برای بازیابی آنها پول زیادی درخواست میکند، به سراغ هدف خود بروند. هیچ بازگشت سرمایهای در ویروسی که هارد دیسکها را از بین میبرد، وجود ندارد.
چگونه یک ویروس یک برنامه را آلوده میکند؟
زمانی که کامپیوتر IBM جدید بود، روی یک سیستم عامل اجرا میشد که هوشمندانه DOS نامیده میشد، مخفف سیستم عامل دیسک. فایلهای برنامه برای DOS پسوند COM داشتند و یک فایل COM روی دیسک فقط فهرستی از دستورالعملهای سطح ماشین برای CPU کامپیوتر بود.
برای اجرای یک برنامه، DOS به سادگی آن را بایت به بایت در حافظه کپی میکرد و اولین دستورالعمل را اجرا میکرد. DOS به اجرای دستورالعملها یکی پس از دیگری ادامه میداد، مگر زمانی که یک دستورالعمل به آن میگفت به نقطه دیگری در برنامه پرش کند. در نهایت، با دستورالعملی مواجه میشد که به آن میگفت برنامه را خاتمه دهد. به همین سادگی.
وقتی ویروسی به چنین برنامهای حمله میکند، اولین کاری که انجام میدهد این است که اولین دستورالعمل برنامه را به حافظه میسپارد. کد خود را در انتهای فایل برنامه میزبان کپی میکند و سپس آن دستورالعمل اول را با پرش به کد ویروس بازنویسی میکند. کد ویروس تکثیر را مدیریت میکند و بررسی میکند که آیا باید بار داده خود را اجرا کند یا خیر. پس از اتمام، دستورالعمل اول ذخیره شده را بازیابی میکند و به آن پرش میکند. در این مرحله، برنامه میزبان طبق معمول اجرا میشود.
همانطور که در راهنمای ویروس در ابتدای این مقاله نشان دادم، این ویروسهای ساده همیشه اندازه فایل میزبان را به میزان ثابتی افزایش میدادند. ویروس Cascade، یکی از اولین ویروسهایی که برای آزمایش ابزارهای آنتی ویروس به دست آوردم، همیشه 1701 بایت اضافه میکرد، بنابراین گاهی اوقات فقط ویروس 1701 نامیده میشد.
برنامههای مدرن ویندوز از فرمت فایل اجرایی قابل حمل (PE) استفاده میکنند و پسوند EXE دارند. این فایلهای PE بسیار پیچیدهتر از فایلهای COM قدیمی هستند. آنها به تکههایی از انواع مختلف، از جمله هدرها، فهرستها، نواحی داده و کد اجرایی، سازماندهی شدهاند. بارگذار برنامه ویندوز میداند چگونه با این تکهها برخورد کند. ویروسی که چنین فایلی را آلوده میکند، کار سختتری دارد، اما مسیر اصلی یکسان است – کد ویروس را به میزبان وصل میکند و ترتیب میدهد تا کد ویروس قبل از واگذاری کنترل به میزبان اجرا شود.
ویروس چگونه یک دیسک را آلوده میکند؟
با بازگشت به روزهای هیجانانگیز گذشته، کامپیوتر شخصی IBM اصلی هارد دیسک نداشت. شما از دیسک DOS بوت میشدید، سپس یک دیسک برنامه را جایگزین میکردید و احتمالاً از دیسک دیگری برای ذخیره دادههای خود استفاده میکردید. وقتی کامپیوتر روشن میشد، میدانست که برای دستورالعملهای بارگذاری سیستم عامل، به مکانی روی دیسک به نام بخش بوت نگاه کند، که سپس در حافظه باقی میماند و مواردی مانند اجرای برنامهها و نوشتن فایلهای داده را مدیریت میکرد.
برخی از افراد بسیار باهوش متوجه شدند که میتوانند دستورالعملهای خود را به بخش بوت اضافه کنند، بنابراین کد ویروس را به همراه DOS در حافظه بارگذاری میکند. هر زمان که دیسک دیگری وارد میکردید، ویروس کد خود را در بخش بوت مینوشت. و مانند ویروسهای آلودهکننده فایل، معمولاً یک بار داده وجود داشت.
کرم چیست؟ آیا نوعی ویروس است؟
نوع دیگری از نرمافزار مخرب به نام کرم وجود دارد و به راحتی میتوان کرمها و ویروسها را با هم اشتباه گرفت، زیرا هر دو خود را تکثیر میکنند. تفاوت این است که ویروس فقط زمانی اجرا میشود که از برنامه یا دیسک میزبان خود اجرا شود، در حالی که کرم یک برنامه مستقل است که بدون آلوده کردن برنامهها یا دیسکهای دیگر در سراسر شبکه پخش میشود.
یک کرم با کپی کردن خود در سایر رایانههای سازگار در شبکه تکثیر میشود. در سال ۱۹۷۱، قبل از ظهور اینترنت، کرمی به نام Creeper از طریق زیرمجموعهای از ARPANET پخش شد و این طعنه را نشان میداد: “من خزنده هستم: اگر میتوانی مرا بگیر.” گسترش آن به این دلیل محدود بود که تنها چند ده رایانه سازگار در شبکه وجود داشت و نسخه بعدی آن به نام Reaper تنها هدف حذف Creeper از شبکه را داشت.
Creeper و Reaper سالها قبل از کامپیوتر شخصی وجود داشتند. با رشد اینترنت، پتانسیل آسیبرسانی توسط یک کرم نیز افزایش یافت. کرم موریس که در سال ۱۹۸۸ منتشر شد، برای اندازهگیری وسعت اینترنت نوپا طراحی شده بود، اما به دلیل یک خطای کدنویسی، تقریباً شبکه را از کار انداخت. شما میتوانید مستند PCMag در مورد کرم موریس را تماشا کنید. منتظر حضور افتخاری او باشید.
برخی از ویروسهای معروف کدامند؟
در سال ۱۹۸۶، چند برنامهنویس در یک فروشگاه کامپیوتر در لاهور، پاکستان، ابزاری برای مقابله با سرقت ادبی ساختند که عملاً یک ویروس بوت سکتور بود. کد آن شامل نام و آدرس نویسندگان بود. در کمال تعجب، ویروس «مغز پاکستانی» که اولین ویروس کامپیوتر شخصی محسوب میشود، در سراسر جهان پخش شد. ۲۵ سال بعد، میکو هیپونن، ستاره امنیت، نویسندگان را که هنوز در همان آدرس بودند، ردیابی کرد و یک مستند کوتاه در مورد این جستجو ساخت. من در نمایش اولیه این ویدیو شرکت کردم که آن را اینجا (با اجازه میکو) به اشتراک میگذارم.
(منبع: میکو هیپونن/اف-سکیور)
در حالی که ویروس برین نسبتاً بیضرر بود، ویروس اورشلیم که درست سال بعد منتشر شد، کاملاً برعکس بود. این ویروس در حافظه مستقر میشد و هر برنامهای را که اجرا میشد، چه فایلهای COM و چه فایلهای EXE، آلوده میکرد. و در هر جمعه سیزدهم، روی تاریک خود را نشان میداد، هر برنامهای را که اجرا میشد حذف میکرد و فایلهای EXE را بارها و بارها آلوده میکرد تا جایی که حجم آنها به طرز باورنکردنی زیاد میشد.
تقریباً در همان زمان، ویروسی در دانشگاه لیهای در پنسیلوانیا ظاهر شد. این ویروس فقط برنامه ضروری DOS، COMMAND.COM، را تحت تأثیر قرار میداد، اما پس از چهار بار آلودگی، بخش بوت دیسک فعال DOS را پاک میکرد. خوشبختانه، قبل از اینکه بتواند فراتر از دانشگاه گسترش یابد، شناسایی و حذف شد. در سال ۱۹۸۹، PCMag از ویروس لیهای برای آزمایش محصولات آنتی ویروس استفاده کرد.
ویروس میکلآنژ از سال ۱۹۹۱ یکی دیگر از ویروسهای مخرب بود. محققان امنیتی آن را میکلآنژ نامیدند زیرا در ۶ مارس، سالروز تولد این هنرمند مشهور، بار داده خود را فعال میکرد. بیشتر اوقات، این ویروس مانند هر ویروس بوت سکتور دیگری، خود را تکثیر میکرد. اما اگر کامپیوتر شما در آن روز شوم بوت میشد، ویروس دادههای مهم را روی تمام دیسکتها و هارد دیسکهای متصل بازنویسی میکرد و سیستم را غیرقابل بوت میکرد.
حتی زمانی که این ویروسها خبرساز شدند، انواع دیگر بدافزارها در حال افزایش بودند. همانطور که اشاره شد، کرم موریس، که تقریباً اینترنت را از کار انداخت، در سال ۱۹۸۸ ظاهر شد. در سال ۱۹۹۹، ویروس موسوم به ملیسا، سیستمهای ایمیل را در سراسر جهان کند کرد. اما ملیسا یک حمله مبتنی بر ایمیل است که از فناوری ماکرو برای ارسال خود به دیگران استفاده میکند، نه یک ویروس واقعی. با استفاده جهانی از ایمیل و اینترنت، دوران اوج این ویروس کامپیوتری به پایان رسیده بود.
آیا لازم است نگران ویروسها باشم؟
حالا میدانید ویروس چیست و چه نیست. نگرانی گسترده در مورد ویروسها مربوط به گذشتههای دور است. کدنویسان بدافزار مدرن با استفاده از انواع دیگر بدافزارها، مانند باجافزار یا تروجانهای دزد اطلاعات، امرار معاش میکنند. اگر یک ویروس واقعی از آنتیویروس شما عبور کند، بهروزرسانی آنتیویروس احتمالاً آن را ظرف چند روز یا حتی چند ساعت از بین میبرد. و کد مخرب آن ممکن است بیکار بماند و منتظر یک رویداد محرک باشد که هرگز اتفاق نمیافتد.
آیا شما هم مشتاق هستید که در مورد نرمافزار مخربی که مشتاق حمله به رایانه شماست، اطلاعات بیشتری کسب کنید؟ خوشحالم که جزئیاتی در مورد نحوه آزمایش دفاع آنتیویروس و نحوه جمعآوری بدافزاری که برای آن آزمایشها استفاده میکنم، به اشتراک میگذارم.
وقتی IBM PC جدید بود، من به مدت سه سال به عنوان رئیس گروه کاربران PC سانفرانسیسکو خدمت کردم. به این ترتیب با تیم تحریریه PCMag آشنا شدم که در سال ۱۹۸۶ مرا به هیئت مدیره آوردند. در سالهای پس از آن جلسه سرنوشتساز، من به متخصص PCMag در زمینه امنیت، حریم خصوصی و حفاظت از هویت تبدیل شدهام و ابزارهای آنتیویروس، مجموعههای امنیتی و انواع نرمافزارهای امنیتی را با سرعت خود آزمایش میکنم.
قبل از شغل امنیتی فعلیام، در ستونهای “کاربر به کاربر” و “از نیل بپرسید” که از سال ۱۹۹۰ آغاز شد و تقریباً ۲۰ سال ادامه داشت، نکات و راهحلهایی در مورد استفاده از برنامههای کاربردی محبوب، سیستم عاملها و زبانهای برنامهنویسی در اختیار خوانندگان PCMag قرار میدادم. در این مسیر، بیش از ۴۰ مقاله کاربردی، و همچنین برنامهنویسی Delphi برای آدمکها و شش کتاب دیگر در مورد DOS، ویندوز و برنامهنویسی نوشتم. همچنین هزاران محصول از انواع مختلف را بررسی کردم، از بازیهای ماجراجویی اولیه Sierra Online گرفته تا Q-Link، محصول قبلی AOL.
در اوایل دهه ۲۰۰۰، تمرکز خود را به امنیت و صنعت رو به رشد آنتیویروس معطوف کردم. پس از سالها کار با آنتیویروس، در سراسر صنعت امنیت به عنوان متخصص ارزیابی ابزارهای آنتیویروس شناخته میشوم. من به عنوان عضو هیئت مشاوره سازمان استانداردهای آزمایش ضد بدافزار (AMTSO)، یک گروه غیرانتفاعی بینالمللی که به هماهنگی و بهبود آزمایش راهحلهای ضد بدافزار اختصاص دارد، خدمت میکنم.



دیدگاهتان را بنویسید