کرم کامپیوتری (Worm) چیست و چرا انتشار آن خطرناک است؟
کرم کامپیوتری یا Worm چیست و چگونه بدون دخالت کاربر در شبکه منتشر میشود؟ تفاوت Worm با ویروس و تروجان، نمونههای معروف و راههای مقابله را بخوانید.
کرم کامپیوتری یا Computer Worm یکی از انواع بدافزارهایی است که برخلاف بسیاری از تهدیدهای دیگر، برای تکثیر خود لزوماً به اجرای یک فایل آلوده توسط کاربر نیاز ندارد. یک Worm میتواند بهصورت مستقل اجرا شود و با استفاده از آسیبپذیریها، سرویسهای شبکه، تنظیمات ضعیف یا روشهای دیگر، خود را به سیستمهای دیگر منتقل کند.
به همین دلیل، یک کرم کامپیوتری میتواند در مدت کوتاهی تعداد زیادی سیستم را آلوده کند؛ بهخصوص زمانی که چندین دستگاه در یک شبکه از یک ضعف امنیتی مشترک برخوردار باشند.
طبق تعریف NIST، کرم یک برنامه مستقل و خودتکثیرشونده است که میتواند از طریق شبکه به سیستمهای دیگر منتقل شود و برای تکثیر خود به برنامه میزبان یا دخالت کاربر نیاز نداشته باشد.
کرم کامپیوتری (Worm) چیست؟
Worm نوعی بدافزار خودتکثیرشونده است که میتواند نسخهای از خود را به سیستمهای دیگر منتقل کند.
تفاوت مهم Worm با برخی انواع دیگر بدافزار این است که کرم برای انتشار، الزاماً نیاز ندارد خودش را به یک فایل یا برنامه دیگر متصل کند. در بسیاری از حملات، Worm با شناسایی سیستمهای آسیبپذیر در شبکه، از یک ضعف امنیتی یا سرویس قابل دسترسی برای ورود و اجرای کد مخرب استفاده میکند.
NIST نیز Worm را یک برنامه مستقل معرفی میکند که میتواند بدون نیاز به برنامه میزبان و بدون دخالت کاربر در سیستمهای دیگر منتشر شود.
به زبان ساده:
Virus معمولاً خودش را به یک فایل یا برنامه متصل میکند؛ اما Worm میتواند بهصورت مستقل حرکت و تکثیر کند.
Worm چگونه منتشر میشود؟
فرآیند انتشار Worm بسته به نوع آن متفاوت است، اما معمولاً چند مرحله اصلی دارد:
۱. شناسایی سیستمهای دیگر
کرم ابتدا به دنبال سیستمهایی میگردد که بتوانند هدف انتشار قرار بگیرند.
این سیستمها ممکن است در همان شبکه محلی باشند یا از طریق اینترنت قابل دسترسی باشند.
۲. پیدا کردن نقطه ضعف
در مرحله بعد، Worm به دنبال یک مسیر ورود میگردد.
برای مثال ممکن است یک سرویس شبکه دارای آسیبپذیری باشد یا سیستم موردنظر از نرمافزار یا پروتکل قدیمی و ناامن استفاده کند.
در برخی موارد، مهاجم از آسیبپذیریای استفاده میکند که برای آن وصله امنیتی منتشر شده اما سیستم هنوز بهروزرسانی نشده است.
۳. ورود و اجرای کد مخرب
اگر کرم بتواند از ضعف موجود سوءاستفاده کند، کد مخرب خود را روی سیستم هدف اجرا میکند.
از این مرحله به بعد، سیستم جدید میتواند به نقطهای برای انتشار بیشتر Worm تبدیل شود.
۴. ادامه زنجیره آلودگی
سیستم آلوده دوباره میتواند به دنبال سیستمهای آسیبپذیر دیگر بگردد.
در نتیجه، یک زنجیره شکل میگیرد:
سیستم آلوده ← شناسایی هدف جدید ← سوءاستفاده از ضعف ← آلودگی سیستم جدید ← انتشار بیشتر
همین قابلیت باعث میشود سرعت گسترش بعضی Wormها بسیار بالا باشد.
آیا Worm همیشه از آسیبپذیری استفاده میکند؟
خیر.
آسیبپذیریهای نرمافزاری یکی از مسیرهای مهم انتشار Wormها هستند، اما تنها روش نیستند.
برخی کرمها در گذشته از ایمیل، اشتراکگذاری فایل، سرویسهای شبکه یا روشهای دیگری برای انتشار استفاده کردهاند.
NIST کرمهای شبکهای را یکی از انواع Wormها میداند که میتوانند با سوءاستفاده از آسیبپذیری یک سرویس شبکه، خود را به سیستمهای دیگر منتقل کنند. نوع دیگری از Wormها نیز میتوانند از روشهای ارسال انبوه ایمیل برای انتشار استفاده کنند.
بنابراین نباید Worm را فقط با «اکسپلویت کردن یک آسیبپذیری» تعریف کرد؛ ویژگی اصلی آن توانایی انتشار و تکثیر مستقل است.
تفاوت Worm با Virus چیست؟
Worm و Virus هر دو میتوانند خودشان را تکثیر کنند، اما روش انتشار آنها متفاوت است.
| ویژگی | Worm | Virus |
|---|---|---|
| خودتکثیرشونده | بله | بله |
| نیاز به فایل میزبان | معمولاً خیر | معمولاً بله |
| نیاز به اجرای برنامه آلوده | لزوماً خیر | معمولاً بله |
| انتشار در شبکه | یکی از ویژگیهای اصلی | ممکن است وجود داشته باشد |
| وابستگی به کاربر | ممکن است بسیار کم یا صفر باشد | معمولاً بیشتر |
| هدف اصلی انتشار | سیستمها و شبکههای دیگر | فایلها و برنامههای دیگر |
طبق تعریف NIST، Virus با قرار دادن نسخهای از خود در برنامهها یا فایلهای دیگر تکثیر میشود و معمولاً برای فعال شدن به اجرای برنامه میزبان نیاز دارد. در مقابل، Worm یک برنامه مستقل است که میتواند خودش را به سیستمهای دیگر منتقل کند.
بنابراین مهمترین تفاوت را میتوان اینطور خلاصه کرد:
Virus به میزبان وابسته است؛ Worm برای انتشار مستقل طراحی شده است.
تفاوت Worm با Trojan چیست؟
Trojan یا تروجان معمولاً خودش را بهعنوان یک فایل، برنامه یا ابزار ظاهراً سالم معرفی میکند تا کاربر آن را اجرا کند.
اما Worm اساساً برای انتشار خودکار طراحی شده است.
در یک سناریوی ساده:
Trojan:
کاربر → دانلود یا اجرای فایل مخرب → اجرای Trojan
Worm:
سیستم آلوده → شناسایی هدف آسیبپذیر → نفوذ → اجرای Worm روی سیستم جدید → انتشار بیشتر
NIST تروجان را برنامهای با ماهیت معمولاً غیرتکثیرشونده توصیف میکند که ممکن است در ظاهر سالم یا مفید باشد اما عملکرد مخربی در پشت آن وجود داشته باشد.
البته یک بدافزار میتواند چند قابلیت را همزمان داشته باشد. برای مثال، ممکن است یک باجافزار علاوه بر رمزگذاری فایلها، قابلیت Worm برای انتشار در شبکه داشته باشد.
یک Worm بعد از ورود به سیستم چه کاری انجام میدهد؟
هدف Worm فقط تکثیر نیست.
بسته به خانواده بدافزار، پس از ورود به سیستم ممکن است اقدامات دیگری نیز انجام شود؛ از جمله:
- مصرف منابع سیستم و شبکه
- نصب یا اجرای بدافزارهای دیگر
- ایجاد دسترسی برای مهاجم
- سرقت یا تخریب اطلاعات
- تغییر تنظیمات سیستم
- انتشار به دستگاههای دیگر
- استفاده از سیستم آلوده برای حملات بعدی
به همین دلیل، Worm بیشتر به یک روش انتشار اشاره دارد تا یک هدف واحد.
ممکن است یک Worm صرفاً برای انتشار طراحی شده باشد یا در کنار قابلیتهای مخرب دیگری فعالیت کند.
نمونه معروف: WannaCry
یکی از شناختهشدهترین نمونههای بدافزاری که قابلیت Worm داشت، WannaCry در سال ۲۰۱۷ بود.
WannaCry یک باجافزار بود، اما قابلیت انتشار شبیه Worm باعث شد بتواند به سیستمهای آسیبپذیر دیگر منتقل شود.
مایکروسافت گزارش کرد که WannaCrypt از آسیبپذیری CVE-2017-0145 در سرویس SMB استفاده میکرد؛ آسیبپذیریای که با بهروزرسانی امنیتی MS17-010 برطرف شده بود. سیستمهایی که این وصله را نصب نکرده بودند، در معرض این مسیر انتشار قرار داشتند.
در این حمله، سیستم آلوده علاوه بر اجرای بخش باجافزاری، به دنبال سیستمهای آسیبپذیر دیگر نیز میگشت و همین ویژگی باعث گسترش سریع آلودگی شد.
این اتفاق یک نکته مهم را نشان داد:
یک آسیبپذیری وصلهنشده در یک شبکه میتواند فقط یک سیستم را تهدید نکند؛ بلکه به مسیر انتشار یک حمله در سراسر شبکه تبدیل شود.
آیا Petya هم قابلیت Worm داشت؟
بله. نمونههایی از خانواده Petya نیز از قابلیتهای انتشار در شبکه استفاده کردند.
مایکروسافت گزارش کرده است که گونههای Petya میتوانستند از اعتبارنامههای موجود، اشتراکهای فایل و همچنین آسیبپذیریهای SMB برای حرکت در شبکه استفاده کنند. برخی از این روشها شامل سوءاستفاده از آسیبپذیریهای مرتبط با EternalBlue و EternalRomance بودند که با MS17-010 وصله شده بودند.
این نمونهها نشان میدهند که در دنیای واقعی، مرز بین انواع مختلف بدافزار همیشه کاملاً جدا نیست.
یک تهدید میتواند همزمان ویژگیهای چند خانواده را داشته باشد؛ مثلاً باجافزار + قابلیت انتشار Worm.
چگونه از Wormها جلوگیری کنیم؟
از آنجا که بسیاری از Wormها از ضعفهای امنیتی و سرویسهای قابل دسترسی برای انتشار استفاده میکنند، بخش مهمی از مقابله با آنها به کاهش سطح حمله و بهروزرسانی سیستمها مربوط میشود.
سیستمعامل و نرمافزارها را بهروز نگه دارید
وصلههای امنیتی فقط برای اضافه کردن قابلیتهای جدید نیستند.
بسیاری از آنها آسیبپذیریهایی را برطرف میکنند که ممکن است در حملات برای نفوذ و انتشار بدافزار استفاده شوند.
ماجرای WannaCry نمونه روشنی از اهمیت وصلهکردن بهموقع سیستمها بود؛ مایکروسافت پیش از حمله، بهروزرسانی MS17-010 را منتشر کرده بود.
سرویسهای غیرضروری را در معرض شبکه قرار ندهید
هر سرویس شبکهای که بدون نیاز در دسترس باشد، میتواند سطح حمله را افزایش دهد.
سرویسهای غیرضروری را غیرفعال کنید و دسترسی به سرویسهای حساس را تا حد امکان محدود کنید.
شبکه را بخشبندی کنید
در شبکههای سازمانی، جدا کردن بخشهای مختلف شبکه میتواند مانع انتشار آسان یک آلودگی از یک سیستم به تمام بخشهای دیگر شود.
این موضوع بهخصوص برای شبکههایی که تعداد زیادی سیستم دارند اهمیت دارد.
از آنتیمالware و سیستمهای امنیتی بهروز استفاده کنید
نرمافزارهای امنیتی بهروز میتوانند در شناسایی و جلوگیری از اجرای بسیاری از تهدیدها نقش داشته باشند.
البته آنتیویروس بهتنهایی کافی نیست و نباید جایگزین وصله امنیتی، کنترل دسترسی و ایمنسازی شبکه شود.
از باز کردن فایلها و لینکهای مشکوک خودداری کنید
همه Wormها بدون دخالت کاربر وارد سیستم نمیشوند.
برخی نمونهها ممکن است از ایمیل یا روشهای مهندسی اجتماعی برای ورود اولیه استفاده کنند و پس از آن قابلیت انتشار خودکار خود را فعال کنند.
بنابراین آگاهی کاربر همچنان یکی از لایههای مهم دفاع است.
اگر یک سیستم به Worm آلوده شد چه کنیم؟
اگر به آلودگی یک سیستم مشکوک هستید، مهم است که اجازه ندهید آلودگی به سیستمهای دیگر منتقل شود.
اقدامات اولیه میتواند شامل موارد زیر باشد:
- سیستم مشکوک را از شبکه جدا کنید.
- در صورت امکان، اتصال شبکه را بدون دستکاری شواهد امنیتی قطع کنید.
- وضعیت سایر سیستمهای متصل به همان شبکه را بررسی کنید.
- سیستمعامل و نرمافزارهای آسیبپذیر را شناسایی و وصله کنید.
- با ابزارهای امنیتی معتبر، سیستم را بررسی کنید.
- لاگهای شبکه و سیستم را برای شناسایی رفتار غیرعادی بررسی کنید.
- در محیط سازمانی، موضوع را به تیم امنیت اطلاعات یا پاسخگویی به رخداد اطلاع دهید.
در حملات سازمانی، جدا کردن سیستم آلوده اهمیت زیادی دارد؛ زیرا یک Worm ممکن است از همان سیستم برای پیدا کردن قربانیان جدید استفاده کند.
آیا Worm هنوز هم تهدید محسوب میشود؟
بله.
اگرچه روشهای حمله نسبت به سالهای اولیه بدافزارها تغییر کردهاند، قابلیت انتشار خودکار همچنان یک ویژگی خطرناک در حملات سایبری است.
امروزه نیز یک بدافزار میتواند از آسیبپذیریهای شناختهشده، اعتبارنامههای سرقتشده، سرویسهای شبکه یا ترکیبی از روشها برای حرکت جانبی در محیط استفاده کند.
نمونههایی مانند WannaCry و Petya نشان دادند که وقتی قابلیت انتشار خودکار با یک payload مخرب مانند باجافزار ترکیب شود، یک آلودگی محدود میتواند به یک رخداد گسترده شبکهای تبدیل شود.
جمعبندی
Worm یا کرم کامپیوتری نوعی بدافزار خودتکثیرشونده است که میتواند بدون نیاز به اتصال به یک فایل میزبان و در بسیاری از موارد بدون دخالت مستقیم کاربر، خودش را به سیستمهای دیگر منتقل کند.
مهمترین ویژگی Worm، قابلیت انتشار مستقل آن است.
تفاوت اصلی آن با Virus این است که ویروس معمولاً به یک فایل یا برنامه میزبان متصل میشود، در حالی که Worm میتواند بهصورت مستقل منتشر شود. Trojan نیز بیشتر بر فریب کاربر و اجرای یک برنامه مخرب متمرکز است و ذاتاً بدافزار خودتکثیرشونده محسوب نمیشود.
به همین دلیل، برای مقابله با Wormها باید فقط روی یک سیستم تمرکز نکرد؛ بهروزرسانی منظم، حذف سرویسهای غیرضروری، بخشبندی شبکه، کنترل دسترسی و پایش رفتار شبکه همگی در کاهش خطر انتشار نقش دارند.
در قسمت بعدی این مجموعه، سراغ Spyware یا جاسوسافزار میرویم؛ بدافزاری که هدف اصلی آن میتواند جمعآوری مخفیانه اطلاعات و فعالیتهای کاربر باشد.
بیشتر بخوانید
اتاق تحلیل ۲۴ نیوز | دیدگاه تحلیلی بهراد یوسفی
چرا Worm خطرناک است؟
خطر اصلی Worm صرفاً در مخرب بودن آن نیست؛ در سرعت و استقلال انتشار آن است. اگر یک سیستم آسیبپذیر به شبکهای متصل باشد که تعداد زیادی دستگاه مشابه دارد، یک نقطه ضعف میتواند به مسیر گسترش آلودگی در کل محیط تبدیل شود.
WannaCry یکی از نمونههای مهم این مسئله بود؛ یک باجافزار که قابلیت Worm آن باعث شد از یک حمله صرفاً روی یک دستگاه فراتر برود و در شبکهها و سیستمهای آسیبپذیر دیگر نیز منتشر شود.
منابع رسمی
NIST — تعریف Worm و تفاوت آن با Virus — تعریف رسمی کرم کامپیوتری و ویژگی خودتکثیرشوندگی آن.
NIST — تعریف Virus — برای مقایسه Worm با ویروس.
Microsoft — WannaCrypt ransomware worm targets out-of-date systems — بررسی قابلیت انتشار Worm در WannaCry و سوءاستفاده از آسیبپذیری SMB.
Microsoft — A Reminder to Update Your Systems to Prevent a Worm — اهمیت وصلههای امنیتی در جلوگیری از انتشار Worm.
Microsoft — Petya threat analysis — بررسی روشهای انتشار Petya در شبکه.