بدافزار ( مجموعه ای از نرم افزارهای مخرب ) [1] هر نرم افزاری است که عمداً برای ایجاد اختلال در رایانه ، سرور ، کلاینت یا شبکه رایانه ای ، افشای اطلاعات خصوصی، دستیابی به دسترسی غیرمجاز به اطلاعات یا سیستم ها، سلب دسترسی به اطلاعات، یا ناآگاهانه با امنیت رایانه و حریم خصوصی کاربر تداخل می کند . [1] [2] [3] [4] [5] محققان تمایل دارند بدافزارها را به یک یا چند نوع فرعی طبقهبندی کنند (یعنی ویروسهای کامپیوتری ، کرمها ، اسبهای تروجان ، باجافزار ، جاسوسافزار ، ابزارهای تبلیغاتی مزاحم ، نرمافزارهای سرکش ، پاککنها و کیلاگرها ) . [1]
بدافزار مشکلات جدی برای افراد و کسب و کارها در اینترنت ایجاد می کند. [6] [7] بر اساس گزارش تهدید امنیت اینترنت 2018 سیمانتک (ISTR)، تعداد انواع بدافزار در سال 2017 به 669،947،865 افزایش یافته است که دو برابر بیشتر از انواع بدافزار در سال 2016 است. [8] جرایم سایبری که شامل حملات بدافزار میشود. و همچنین سایر جنایات انجام شده توسط رایانه، پیشبینی میشود در سال 2021 6 تریلیون دلار برای اقتصاد جهان هزینه داشته باشد و با نرخ 15 درصد در سال افزایش مییابد. [9] از سال 2021، بدافزار برای هدف قرار دادن سیستمهای رایانهای که زیرساختهای حیاتی مانند شبکه توزیع برق را اجرا میکنند، طراحی شده است . [10]
استراتژیهای دفاعی در برابر بدافزارها بسته به نوع بدافزار متفاوت است، اما میتوان با نصب نرمافزار آنتیویروس ، فایروالها ، اعمال وصلههای منظم ، ایمنسازی شبکهها از نفوذ، داشتن پشتیبانگیری منظم و ایزوله کردن سیستمهای آلوده ، مانع از آن شد . بدافزار را می توان برای فرار از الگوریتم های تشخیص نرم افزار آنتی ویروس طراحی کرد. [8]
مفهوم برنامه کامپیوتری خودبازتولید شونده را می توان به تئوری های اولیه در مورد عملکرد خودکارهای پیچیده ردیابی کرد. [11] جان فون نویمان نشان داد که در تئوری یک برنامه می تواند خود را بازتولید کند. این یک نتیجه قابل قبول در نظریه محاسبه پذیری است . فرد کوهن با ویروسهای کامپیوتری آزمایش کرد و فرض نویمان را تأیید کرد و سایر ویژگیهای بدافزار مانند قابلیت شناسایی و خود مبهمسازی را با استفاده از رمزگذاری ابتدایی بررسی کرد. پایان نامه دکترای او در سال 1987 با موضوع ویروس های کامپیوتری بود. [12] ترکیبی از فناوری رمزنگاری به عنوان بخشی از محموله ویروس، بهرهبرداری از آن برای اهداف حمله، از اواسط دهه 1990 آغاز و مورد بررسی قرار گرفت و شامل ایدههای باجافزار اولیه و فرار است. [13]
قبل از فراگیر شدن دسترسی به اینترنت ، ویروسها با آلوده کردن برنامههای اجرایی یا بخشهای راهاندازی فلاپی دیسکها روی رایانههای شخصی پخش میشدند. با قرار دادن یک کپی از خود در دستورالعملهای کد ماشین در این برنامهها یا بخشهای راهاندازی ، یک ویروس باعث میشود هر زمان که برنامه اجرا میشود یا دیسک بوت میشود، خود را اجرا کند. ویروسهای رایانهای اولیه برای Apple II و Mac نوشته میشدند ، اما با تسلط IBM PC و MS-DOS گستردهتر شدند . اولین ویروس رایانه شخصی IBM در طبیعت یک ویروس بوت سکتور به نام (c)Brain بود که در سال 1986 توسط برادران فاروق الوی در پاکستان ایجاد شد. [14] توزیع کنندگان بدافزار کاربر را فریب می دهند تا از یک دستگاه یا رسانه آلوده بوت یا اجرا شود. به عنوان مثال، یک ویروس می تواند یک کامپیوتر آلوده را وادار کند تا کدهای خودکار را به هر USB متصل شده به آن اضافه کند. هر کسی که سپس چوب را به رایانه دیگری که برای اجرای خودکار از USB تنظیم شده است وصل کند، به نوبه خود آلوده می شود و همچنین عفونت را به همان روش منتقل می کند. [15]
نرم افزار ایمیل قدیمی به طور خودکار ایمیل های HTML حاوی کد جاوا اسکریپت مخرب را باز می کند . کاربران همچنین ممکن است پیوست های ایمیل مخرب پنهانی را اجرا کنند. گزارش تحقیقات نقض دادهها در سال 2018 توسط Verizon ، به نقل از CSO Online ، بیان میکند که ایمیلها روش اصلی تحویل بدافزار هستند و 96 درصد از ارسال بدافزار در سراسر جهان را تشکیل میدهند. [16] [17]
اولین کرمها، برنامههای عفونی منتقله از شبکه ، نه در رایانههای شخصی، بلکه در سیستمهای چندوظیفهای یونیکس ایجاد شدند . اولین کرم شناخته شده کرم موریس در سال 1988 بود که سیستم های SunOS و VAX BSD را آلوده کرد . برخلاف یک ویروس، این کرم خود را در برنامه های دیگر قرار نمی دهد. در عوض، از حفرههای امنیتی ( آسیبپذیری ) در برنامههای سرور شبکه سوء استفاده کرد و خود را به عنوان یک فرآیند جداگانه شروع کرد . [18] کرم های امروزی نیز از همین رفتار استفاده می کنند. [19]
با ظهور پلت فرم ویندوز مایکروسافت در دهه 1990 و ماکروهای انعطاف پذیر برنامه های کاربردی آن، نوشتن کدهای عفونی به زبان ماکرو مایکروسافت ورد و برنامه های مشابه امکان پذیر شد. این ماکرو ویروسها اسناد و قالبها را به جای برنامهها ( قابل اجرا ) آلوده میکنند، اما بر این واقعیت تکیه میکنند که ماکروها در یک سند Word نوعی کد اجرایی هستند. [20]
بسیاری از برنامه های عفونی اولیه، از جمله کرم موریس ، اولین کرم اینترنتی، به عنوان آزمایش یا شوخی نوشته شدند. [21] امروزه بدافزار هم توسط هکرهای کلاه سیاه و هم توسط دولت ها برای سرقت اطلاعات شخصی، مالی یا تجاری استفاده می شود. [22] [23] امروزه، هر دستگاهی که به درگاه USB وصل میشود - حتی چراغها، فنها، بلندگوها، اسباببازیها یا وسایل جانبی مانند میکروسکوپ دیجیتال - میتواند برای انتشار بدافزار استفاده شود. اگر کنترل کیفیت کافی نباشد، دستگاه ها می توانند در حین تولید یا عرضه آلوده شوند. [15]
از زمان ظهور دسترسی گسترده به اینترنت باند پهن ، نرم افزارهای مخرب اغلب برای کسب سود طراحی شده اند. از سال 2003، اکثر ویروس ها و کرم های گسترده برای کنترل رایانه های کاربران برای اهداف غیرقانونی طراحی شده اند. [24] از " رایانه های زامبی " آلوده می توان برای ارسال هرزنامه ایمیل ، میزبانی داده های قاچاق مانند پورنوگرافی کودکان ، [25] یا برای شرکت در حملات انکار سرویس توزیع شده به عنوان نوعی اخاذی استفاده کرد . [26] بدافزار به طور گسترده علیه وب سایت های دولتی یا شرکتی برای جمع آوری اطلاعات حساس، [27] یا به طور کلی برای ایجاد اختلال در عملکرد آنها استفاده می شود. علاوه بر این، بدافزار می تواند علیه افراد برای به دست آوردن اطلاعاتی مانند شماره شناسایی یا جزئیات شخصی، شماره بانک یا کارت اعتباری و رمز عبور استفاده شود. [28] [29]
علاوه بر پولسازی مجرمانه، بدافزارها را میتوان برای خرابکاری و اغلب با انگیزههای سیاسی مورد استفاده قرار داد. به عنوان مثال، استاکس نت برای ایجاد اختلال در تجهیزات صنعتی بسیار خاص طراحی شده است. حملاتی با انگیزه سیاسی وجود داشته است که در سراسر شبکه های کامپیوتری بزرگ گسترش یافته و آنها را از کار می اندازند، از جمله حذف گسترده فایل ها و خراب کردن رکوردهای اصلی بوت ، که به عنوان "قتل کامپیوتری" توصیف می شود. چنین حملاتی به Sony Pictures Entertainment (25 نوامبر 2014، با استفاده از بدافزار معروف به Shamoon یا W32.Disttrack) و عربستان سعودی آرامکو (اوت 2012) انجام شد . [30] [31]
بدافزارها را می توان به روش های متعددی طبقه بندی کرد و برخی برنامه های مخرب ممکن است به طور همزمان به دو یا چند دسته تقسیم شوند. [1] به طور کلی، نرم افزار را می توان به سه نوع طبقه بندی کرد: [32] (i) نرم افزار خوب. (ii) نرم افزار خاکستری و (iii) بدافزار.
ویروس کامپیوتری نرمافزاری است که معمولاً در برنامهای به ظاهر بیضرر دیگری پنهان میشود که میتواند کپیهایی از خود تولید کند و آنها را در برنامهها یا فایلهای دیگر وارد کند و معمولاً یک عمل مضر (مانند از بین بردن دادهها) انجام میدهد. [33] آنها را به ویروس های بیولوژیکی تشبیه کرده اند . [3] نمونهای از این عفونت اعدام قابل حمل است، تکنیکی که معمولاً برای انتشار بدافزار استفاده میشود و دادههای اضافی یا کدهای اجرایی را در فایلهای PE وارد میکند . [34] ویروس کامپیوتری نرم افزاری است که بدون اطلاع و رضایت کاربر خود را در برخی از نرم افزارهای اجرایی دیگر (از جمله خود سیستم عامل) بر روی سیستم مورد نظر قرار می دهد و هنگامی که اجرا می شود، ویروس به فایل های اجرایی دیگر سرایت می کند.
کرم یک نرم افزار بدافزار مستقل است که به طور فعال خود را از طریق یک شبکه برای آلوده کردن رایانه های دیگر منتقل می کند و می تواند بدون آلوده کردن فایل ها خود را کپی کند. این تعاریف منجر به مشاهده این موضوع می شود که یک ویروس از کاربر می خواهد که یک نرم افزار یا سیستم عامل آلوده را برای انتشار ویروس اجرا کند، در حالی که یک کرم خودش را پخش می کند. [35]
هنگامی که نرم افزار مخرب روی یک سیستم نصب می شود، برای جلوگیری از شناسایی، ضروری است که پنهان بماند. بستههای نرمافزاری معروف به روتکیتها ، با تغییر سیستمعامل میزبان بهگونهای که بدافزار از دید کاربر پنهان میشود، این پنهانسازی را امکانپذیر میسازد. روتکیتها میتوانند از نمایان شدن یک فرآیند مضر در لیست فرآیندهای سیستم جلوگیری کنند یا از خواندن فایلهای آن جلوگیری کنند. [36]
برخی از انواع نرم افزارهای مضر شامل روال هایی برای فرار از شناسایی و/یا تلاش برای حذف هستند، نه صرفاً برای پنهان کردن خود. یک مثال اولیه از این رفتار در داستان Jargon File از یک جفت برنامه که سیستم اشتراکگذاری زمانی Xerox CP-V را هجوم میآورد، ثبت شده است :
هر کار ارواح این واقعیت را تشخیص می دهد که دیگری کشته شده است و یک نسخه جدید از برنامه اخیراً متوقف شده را در عرض چند میلی ثانیه شروع می کند. تنها راه کشتن هر دو روح کشتن همزمان آنها (بسیار سخت) یا از کار انداختن عمدی سیستم بود. [37]
درپشتی اصطلاحی گسترده برای برنامههای رایانهای است که به مهاجم اجازه میدهد تا دسترسی غیرمجاز از راه دور دائمی به ماشین قربانی اغلب بدون اطلاع او داشته باشد. [38] مهاجم معمولاً از یک حمله دیگر (مانند یک تروجان ، کرم یا ویروس ) برای دور زدن مکانیسمهای احراز هویت معمولاً از طریق یک شبکه ناامن مانند اینترنت برای نصب برنامه درپشتی استفاده میکند. درپشتی همچنین می تواند یکی از عوارض جانبی یک اشکال نرم افزاری در نرم افزار قانونی باشد که توسط مهاجم برای دسترسی به رایانه یا شبکه قربانی مورد سوء استفاده قرار می گیرد.
این ایده اغلب پیشنهاد شده است که سازندگان رایانه برای ارائه پشتیبانی فنی برای مشتریان، درهای پشتی را از پیش نصب کنند، اما این هرگز به طور قابل اعتماد تأیید نشده است. در سال 2014 گزارش شد که سازمانهای دولتی ایالات متحده رایانههای خریداریشده توسط کسانی را که «هدف» در نظر گرفته میشدند به کارگاههای مخفی که در آنها نرمافزار یا سختافزار اجازه دسترسی از راه دور توسط آژانس نصب شده بود، هدایت میکردند که یکی از پربارترین عملیات برای دسترسی به شبکههای اطراف محسوب میشد. جهان [39] درهای پشتی ممکن است توسط اسب های تروجان، کرم ها ، ایمپلنت ها یا روش های دیگر نصب شوند . [40] [41]
یک اسب تروا به اشتباه خود را به عنوان یک برنامه یا ابزار معمولی و خوش خیم معرفی می کند تا قربانی را متقاعد به نصب آن کند. اسب تروا معمولاً دارای یک عملکرد مخرب پنهان است که با شروع برنامه فعال می شود. این اصطلاح از داستان یونان باستان در مورد اسب تروا گرفته شده است که برای حمله به شهر تروا به صورت مخفیانه استفاده می شد. [42] [43]
اسبهای تروجان عموماً توسط نوعی مهندسی اجتماعی پخش میشوند ، برای مثال، در جایی که کاربر فریب داده میشود تا یک پیوست ایمیلی را اجرا کند که بهعنوان نامشخص، (مثلاً یک فرم معمولی که باید پر شود)، یا با دانلود درایو . اگرچه محموله آنها می تواند هر چیزی باشد، بسیاری از اشکال مدرن به عنوان یک درب پشتی عمل می کنند و با یک کنترل کننده تماس می گیرند (به خانه تلفن می زنند) که سپس می تواند دسترسی غیرمجاز به رایانه آسیب دیده داشته باشد، به طور بالقوه نرم افزارهای اضافی مانند keylogger را برای سرقت اطلاعات محرمانه، نرم افزار استخراج رمزنگاری یا ابزارهای تبلیغاتی مزاحم نصب می کند. برای ایجاد درآمد برای اپراتور تروجان. [44] در حالی که اسبهای تروجان و درهای پشتی به خودی خود به راحتی قابل تشخیص نیستند، ممکن است به نظر برسد که کامپیوترها کندتر کار میکنند، گرما یا صدای فن بیشتری را به دلیل استفاده زیاد از پردازنده یا شبکه منتشر میکنند، همانطور که ممکن است هنگام نصب نرمافزار cryptomining رخ دهد. کریپتومینرها ممکن است استفاده از منابع را محدود کنند و/یا فقط در زمانهای بیکار اجرا شوند تا از شناسایی فرار کنند.
برخلاف ویروسها و کرمهای رایانهای، اسبهای تروجان معمولاً سعی نمیکنند خود را به فایلهای دیگر تزریق کنند یا خود را به شکل دیگری منتشر کنند. [45]
در بهار 2017، کاربران مک با نسخه جدید Proton Remote Access Trojan (RAT) [46] مواجه شدند که برای استخراج داده های رمز عبور از منابع مختلف، مانند داده های پر کردن خودکار مرورگر، زنجیره کلید Mac-OS و مخازن رمز عبور آموزش دیده بود. [47]
Dropperها زیرشاخهای از تروجانها هستند که صرفاً با هدف ارائه بدافزار به سیستمی هستند که با تمایل به براندازی شناسایی از طریق مخفی کاری و محموله سبک، آنها را آلوده میکنند. [48] مهم است که قطره چکان را با لودر یا استیدر اشتباه نگیرید. یک لودر یا مرحلهکننده صرفاً افزونهای از بدافزار (به عنوان مثال مجموعهای از عملکردهای مخرب از طریق تزریق کتابخانه پیوند پویا بازتابنده) را در حافظه بارگذاری میکند. هدف این است که مرحله اولیه روشن و غیرقابل تشخیص باشد. یک قطره چکان فقط بدافزارهای بیشتری را در سیستم دانلود می کند.
باج افزار از دسترسی کاربر به فایل های خود تا زمانی که باج پرداخت نشود، جلوگیری می کند. دو نوع باج افزار وجود دارد، باج افزار کریپتو و باج افزار قفل. [49] باج افزار Locker فقط یک سیستم کامپیوتری را بدون رمزگذاری محتویات آن قفل می کند، در حالی که باج افزار رمزنگاری سیستم را قفل می کند و محتوای آن را رمزگذاری می کند. به عنوان مثال، برنامه هایی مانند CryptoLocker فایل ها را به صورت ایمن رمزگذاری می کنند و تنها با پرداخت مبلغ قابل توجهی از آنها رمزگشایی می کنند. [50]
صفحههای قفل یا قفل صفحه نوعی باجافزار پلیس سایبری است که صفحهنمایشهای دستگاههای ویندوز یا اندروید را با اتهامی نادرست در جمعآوری محتوای غیرقانونی مسدود میکند و سعی میکند قربانیان را از پرداخت هزینه بترساند. [51] Jisut و SLocker بر دستگاههای Android بیش از سایر صفحههای قفل تأثیر میگذارند، به طوری که Jisut نزدیک به 60 درصد از همه باجافزارهای Android را شناسایی میکند. [52]
باجافزار مبتنی بر رمزگذاری، همانطور که از نامش پیداست، نوعی باجافزار است که تمام فایلهای موجود در دستگاه آلوده را رمزگذاری میکند. این نوع بدافزارها سپس یک پاپ آپ نمایش می دهند که به کاربر اطلاع می دهد فایل های آنها رمزگذاری شده است و باید برای بازیابی آنها (معمولاً به بیت کوین) هزینه پرداخت کند. برخی از نمونههای باجافزار مبتنی بر رمزگذاری عبارتند از CryptoLocker و WannaCry . [53]
برخی بدافزارها برای تولید پول از طریق کلاهبرداری کلیک استفاده میشوند ، که به نظر میرسد کاربر رایانه روی پیوند تبلیغاتی در یک سایت کلیک کرده است و از تبلیغکننده پرداختی ایجاد میکند. در سال 2012 تخمین زده شد که حدود 60 تا 70 درصد از همه بدافزارهای فعال از نوعی کلاهبرداری کلیک استفاده می کنند و 22 درصد از کل کلیک های تبلیغاتی تقلبی بوده اند. [54]
Grayware هر برنامه یا فایل ناخواسته ای است که می تواند عملکرد رایانه ها را بدتر کند و ممکن است خطرات امنیتی ایجاد کند، اما اجماع یا داده کافی برای طبقه بندی آنها به عنوان بدافزار وجود ندارد. [32] انواع نرم افزارهای خاکستری معمولاً شامل نرم افزارهای جاسوسی ، ابزارهای تبلیغاتی مزاحم ، شماره گیرهای تقلبی ، برنامه های جوک ("jokeware") و ابزارهای دسترسی از راه دور است . [38] به عنوان مثال، در یک نقطه، دیسک های فشرده سونی BMG به قصد جلوگیری از کپی غیرقانونی، بی سر و صدا یک روت کیت را بر روی رایانه های خریداران نصب کردند . [55]
برنامه های بالقوه ناخواسته (PUP) برنامه هایی هستند که علیرغم بارگیری عمدی توسط کاربر، ناخواسته در نظر گرفته می شوند. [56] PUPها شامل نرم افزارهای جاسوسی، ابزارهای تبلیغاتی مزاحم و شماره گیرهای تقلبی هستند.
بسیاری از محصولات امنیتی، مولدهای کلید غیرمجاز را به عنوان PUP طبقهبندی میکنند، اگرچه آنها اغلب بدافزار واقعی را علاوه بر هدف ظاهری خود حمل میکنند. [57] در واقع، کامرستر و همکاران. (2012) [57] تخمین زد که 55 درصد از تولیدکنندگان کلید می توانند حاوی بدافزار باشند و حدود 36 درصد از تولیدکنندگان کلیدهای مخرب توسط نرم افزار آنتی ویروس شناسایی نمی شوند.
برخی از انواع ابزارهای تبلیغاتی مزاحم محافظت ضد بدافزار و ویروس را خاموش می کنند. راه حل های فنی در دسترس است. [58]
برنامه هایی که برای نظارت بر مرور وب کاربران، نمایش تبلیغات ناخواسته یا تغییر مسیر درآمدهای بازاریابی وابسته طراحی شده اند، نرم افزارهای جاسوسی نامیده می شوند . برنامه های جاسوسی مانند ویروس ها پخش نمی شوند. در عوض آنها معمولاً با بهره برداری از حفره های امنیتی نصب می شوند. آنها همچنین می توانند با نرم افزارهای نصب شده توسط کاربر نامرتبط پنهان و بسته بندی شوند. [59] روت کیت سونی BMG برای جلوگیری از کپی غیرقانونی در نظر گرفته شده بود. اما همچنین در مورد عادات گوش دادن کاربران گزارش می دهد و به طور ناخواسته آسیب پذیری های امنیتی اضافی ایجاد می کند. [55]
نرم افزار آنتی ویروس معمولاً از دو تکنیک برای شناسایی بدافزار استفاده می کند: (1) تجزیه و تحلیل استاتیک و (2) تجزیه و تحلیل پویا/ابتکاری. [60] تجزیه و تحلیل استاتیک شامل مطالعه کد نرم افزار یک برنامه بالقوه مخرب و تولید امضای آن برنامه است. سپس از این اطلاعات برای مقایسه فایل های اسکن شده توسط یک برنامه آنتی ویروس استفاده می شود. از آنجایی که این رویکرد برای بدافزارهایی که هنوز مورد مطالعه قرار نگرفته اند مفید نیست، نرم افزار آنتی ویروس می تواند از تجزیه و تحلیل پویا برای نظارت بر نحوه اجرای برنامه در رایانه استفاده کند و در صورت انجام فعالیت غیرمنتظره، آن را مسدود کند.
هدف هر بدافزار مخفی نگه داشتن خود از شناسایی توسط کاربران یا نرم افزارهای آنتی ویروس است. [1] تشخیص بدافزار بالقوه به دو دلیل دشوار است. اولین مورد این است که تشخیص مخرب بودن نرم افزار دشوار است. [32] دوم این است که بدافزار از اقدامات فنی استفاده می کند تا تشخیص آن را دشوارتر کند. [60] تخمین زده می شود که 33 درصد بدافزارها توسط نرم افزار آنتی ویروس شناسایی نمی شوند. [57]
متداولترین تکنیک ضد شناسایی استفاده شده شامل رمزگذاری بار بدافزار به منظور جلوگیری از شناسایی امضا توسط نرمافزار آنتیویروس است. [32] ابزارهایی مانند رمزگذارها با یک لکه رمزگذاری شده از کد مخرب و یک خرد رمزگشا ارائه میشوند. خرد لکه را رمزگشایی می کند و آن را در حافظه بارگذاری می کند. از آنجا که آنتی ویروس معمولاً حافظه را اسکن نمی کند و فقط فایل های موجود در درایو را اسکن می کند، این به بدافزار اجازه می دهد تا از شناسایی فرار کند. بدافزار پیشرفته این توانایی را دارد که خود را به انواع مختلف تبدیل کند و به دلیل تفاوت در امضای آن، احتمال کمتری برای شناسایی آنها وجود دارد. این به عنوان بدافزار چند شکلی شناخته می شود. سایر تکنیک های رایج مورد استفاده برای فرار از تشخیص عبارتند از: از معمول به غیر معمول: [61] (1) فرار از تجزیه و تحلیل و تشخیص با انگشت نگاری از محیط هنگام اجرا. [62] (2) روشهای تشخیص خودکار ابزارهای گیج کننده. این به بدافزار اجازه میدهد تا با تغییر سرور مورد استفاده بدافزار، از شناسایی توسط فناوریهایی مانند نرمافزار آنتیویروس مبتنی بر امضا جلوگیری کند. [61] (3) فرار مبتنی بر زمان. این زمانی است که بدافزار در زمانهای خاصی اجرا میشود یا به دنبال اقدامات خاصی توسط کاربر انجام میشود، بنابراین در دورههای آسیبپذیر خاصی مانند در طول فرآیند بوت اجرا میشود، در حالی که بقیه زمانها غیرفعال میمانند. (4) مبهم کردن داده های داخلی به طوری که ابزارهای خودکار بدافزار را شناسایی نکنند. [63] (v) تکنیکهای پنهان کردن اطلاعات، بهعنوان stegomalware . [64] و (5) بدافزار بدون فایل که به جای استفاده از فایل ها در حافظه اجرا می شود و از ابزارهای سیستم موجود برای انجام اعمال مخرب استفاده می کند. استفاده از باینری های موجود برای انجام فعالیت های مخرب تکنیکی است که به نام LotL یا Living off the Land شناخته می شود. [65] این امر میزان مصنوعات پزشکی قانونی موجود برای تجزیه و تحلیل را کاهش می دهد. اخیراً این نوع حملات با افزایش 432 درصدی در سال 2017 و تشکیل 35 درصد از حملات در سال 2018 بیشتر شده است. انجام چنین حملاتی آسان نیست، اما با کمک کیت های بهره برداری رو به افزایش است. [66] [67]
آسیبپذیری یک ضعف، نقص یا اشکال نرمافزاری در یک برنامه کاربردی ، یک رایانه کامل، یک سیستم عامل یا یک شبکه رایانهای است که توسط بدافزار برای دور زدن دفاعها یا کسب امتیازات مورد نیاز برای اجرا مورد سوء استفاده قرار میگیرد. به عنوان مثال، TestDisk 6.4 یا قبل از آن دارای یک آسیب پذیری بود که به مهاجمان اجازه می داد کد را به ویندوز تزریق کنند. [68] بدافزار میتواند از نقایص امنیتی ( اشکالات یا آسیبپذیریهای امنیتی ) در سیستم عامل، برنامهها (مانند مرورگرها، به عنوان مثال نسخههای قدیمیتر Microsoft Internet Explorer پشتیبانی شده توسط Windows XP [69] )، یا در نسخههای آسیبپذیر افزونههای مرورگر مانند Adobe Flash Player ، Adobe Acrobat یا Reader یا Java SE . [70] [71] به عنوان مثال، یک روش رایج، بهره برداری از آسیب پذیری بیش از حد بافر است ، که در آن نرم افزار طراحی شده برای ذخیره داده ها در یک منطقه مشخص از حافظه، از ارائه داده های بیشتر از مقداری که بافر می تواند در خود جای دهد، جلوگیری نمی کند. بدافزار ممکن است دادههایی را ارائه دهد که از بافر سرریز شده و پس از پایان، کد یا دادههای اجرایی مخربی وجود داشته باشد. وقتی به این محموله دسترسی پیدا می شود، همان کاری را انجام می دهد که مهاجم تعیین می کند، نه نرم افزار قانونی.
بدافزارها میتوانند از آسیبپذیریهای اخیراً کشفشده قبل از اینکه توسعهدهندگان زمان برای انتشار یک پچ مناسب داشته باشند، سوء استفاده کنند . [6] حتی زمانی که وصلههای جدیدی که آسیبپذیری را برطرف میکنند، منتشر شدهاند، ممکن است لزوماً بلافاصله نصب نشوند، و به بدافزار اجازه میدهند از سیستمهایی که فاقد وصله هستند استفاده کنند. گاهی اوقات حتی اعمال وصله ها یا نصب نسخه های جدید به طور خودکار نسخه های قدیمی را حذف نمی کند.
راه های مختلفی وجود دارد که کاربران می توانند از آسیب پذیری های امنیتی در نرم افزار مطلع و محافظت شوند. ارائه دهندگان نرم افزار اغلب به روز رسانی هایی را اعلام می کنند که مشکلات امنیتی را برطرف می کند. [72] آسیبپذیریهای رایج ، شناسههای منحصربهفرد (CVE ID) اختصاص داده میشوند و در پایگاههای داده عمومی مانند پایگاه داده آسیبپذیری ملی فهرست میشوند . ابزارهایی مانند Secunia PSI، [73] رایگان برای استفاده شخصی، میتوانند رایانه را برای نرمافزارهای قدیمی با آسیبپذیریهای شناختهشده اسکن کنند و سعی کنند آنها را بهروزرسانی کنند. فایروال ها و سیستم های جلوگیری از نفوذ می توانند ترافیک شبکه را برای فعالیت مشکوکی که ممکن است نشان دهنده حمله باشد، نظارت کنند. [74]
به کاربران و برنامه ها می توان امتیازات بیشتری نسبت به نیاز آنها اختصاص داد و بدافزارها می توانند از این مزیت استفاده کنند. به عنوان مثال، از 940 برنامه اندرویدی نمونه برداری شده، یک سوم از آنها امتیازات بیشتری از آنچه نیاز داشتند درخواست کردند. [75] برنامههایی که پلتفرم اندروید را هدف قرار میدهند میتوانند منبع اصلی آلودگی بدافزار باشند، اما یکی از راهحلها استفاده از نرمافزار شخص ثالث برای شناسایی برنامههایی است که به آنها امتیازات بیش از حد اختصاص داده شده است. [76]
برخی از سیستم ها به همه کاربران اجازه می دهند تا تغییراتی در اجزای اصلی یا تنظیمات سیستم ایجاد کنند که امروزه دسترسی بیش از حد مجاز تلقی می شود . این روش استاندارد برای میکرو کامپیوترهای اولیه و سیستمهای کامپیوتر خانگی بود، که در آن هیچ تمایزی بین مدیر یا root و کاربر معمولی سیستم وجود نداشت. در برخی از سیستم ها، کاربران غیرمدیر از نظر طراحی دارای امتیاز بیش از حد هستند، به این معنا که آنها اجازه دارند ساختارهای داخلی سیستم را تغییر دهند. در برخی از محیطها، کاربران از امتیاز بیش از حد برخوردار هستند، زیرا بهطور نامناسبی به آنها وضعیت سرپرست یا معادل داده شده است. [77] این می تواند به این دلیل باشد که کاربران تمایل دارند امتیازات بیشتری از آنچه نیاز دارند درخواست کنند، بنابراین اغلب در نهایت به آنها امتیازات غیرضروری اختصاص داده می شود. [78]
برخی از سیستم ها به کدهای اجرا شده توسط کاربر اجازه می دهند تا به تمام حقوق آن کاربر دسترسی داشته باشند که به کد بیش از حد امتیاز معروف است. این روش عملیاتی استاندارد برای میکرو کامپیوترهای اولیه و سیستم های کامپیوتری خانگی نیز بود. بدافزارها که به عنوان کد بیش از حد مجاز اجرا می شوند، می توانند از این امتیاز برای خراب کردن سیستم استفاده کنند. تقریباً همه سیستمعاملهای رایج در حال حاضر و همچنین بسیاری از برنامههای اسکریپت به کد امتیازات بیش از حد اجازه میدهند، معمولاً به این معنا که وقتی کاربر کدی را اجرا میکند ، سیستم تمام حقوق آن کاربر را به آن کد اجازه میدهد. [ نیازمند منبع ]
حمله اعتبار زمانی رخ می دهد که یک حساب کاربری با امتیازات مدیریتی کرک شود و از آن حساب برای ارائه بدافزار با امتیازات مناسب استفاده شود. [79] معمولاً، حمله موفقیت آمیز است زیرا از ضعیفترین شکل امنیت حساب استفاده میشود، که معمولاً یک رمز عبور کوتاه است که میتواند با استفاده از فرهنگ لغت یا حمله brute force شکسته شود . استفاده از رمزهای عبور قوی و فعال کردن احراز هویت دو مرحله ای می تواند این خطر را کاهش دهد. با فعال بودن دومی، حتی اگر مهاجم بتواند رمز عبور را بشکند، نمیتواند از حساب بدون داشتن رمزی که کاربر قانونی آن حساب در اختیار دارد استفاده کند.
همگنی می تواند یک آسیب پذیری باشد. به عنوان مثال، وقتی همه رایانههای موجود در یک شبکه یک سیستم عامل را اجرا میکنند، پس از بهرهبرداری از یکی، یک کرم میتواند از همه آنها سوء استفاده کند: [80] به ویژه، Microsoft Windows یا Mac OS X آنقدر سهم بازار دارند که آسیبپذیری مورد سوء استفاده قرار میگیرد. تمرکز بر هر یک از سیستم عامل ها می تواند تعداد زیادی از سیستم ها را خراب کند. تخمین زده می شود که تقریباً 83 درصد از آلودگی های بدافزار بین ژانویه تا مارس 2020 از طریق سیستم های دارای ویندوز 10 منتشر شده است . [81] این خطر با بخشبندی شبکهها به زیرشبکههای مختلف و راهاندازی فایروالها برای مسدود کردن ترافیک بین آنها کاهش مییابد. [82] [83]
برنامه های ضد بدافزار (گاهی اوقات آنتی ویروس نیز نامیده می شود ) برخی یا همه انواع بدافزارها را مسدود و حذف می کنند. به عنوان مثال، Microsoft Security Essentials (برای ویندوز XP، ویستا، و ویندوز 7) و Windows Defender (برای ویندوز 8 ، 10 و 11 ) محافظت بیدرنگ را ارائه میکنند. Windows Malicious Software Removal Tool نرم افزارهای مخرب را از سیستم حذف می کند. [84] علاوه بر این، چندین برنامه نرم افزار آنتی ویروس توانمند برای دانلود رایگان از اینترنت (معمولاً محدود به استفاده غیرتجاری) در دسترس هستند. [85] آزمایشها نشان داد که برخی از برنامههای رایگان با برنامههای تجاری قابل رقابت هستند. [85] [86] [87]
به طور معمول، نرم افزار آنتی ویروس می تواند با بدافزار به روش های زیر مبارزه کند:
یک جزء خاص از نرمافزار ضد بدافزار، که معمولاً به عنوان اسکنر در دسترس یا بلادرنگ نامیده میشود، عمیقاً به هسته یا هسته سیستمعامل متصل میشود و به شیوهای شبیه به نحوه عملکرد بدافزار خاصی عمل میکند، هرچند با مجوز آگاهانه کاربر برای محافظت از سیستم. هر زمان که سیستم عامل به فایلی دسترسی پیدا می کند، اسکنر در دسترس بررسی می کند که آیا فایل آلوده است یا خیر. به طور معمول، هنگامی که یک فایل آلوده پیدا می شود، اجرا متوقف می شود و فایل برای جلوگیری از آسیب بیشتر با هدف جلوگیری از آسیب غیرقابل برگشت سیستم، قرنطینه می شود. اکثر AV ها به کاربران اجازه می دهند که این رفتار را نادیده بگیرند. این می تواند تأثیر قابل توجهی بر عملکرد سیستم عامل داشته باشد، اگرچه میزان تأثیر بستگی به تعداد صفحات ایجاد شده در حافظه مجازی دارد . [91]
Sandboxing یک مدل امنیتی است که برنامهها را در یک محیط کنترلشده محدود میکند، عملیات آنها را به اقدامات مجاز «ایمن» محدود میکند و آنها را از برنامههای دیگر روی میزبان جدا میکند. همچنین دسترسی به منابع سیستم مانند حافظه و سیستم فایل را برای حفظ ایزوله محدود می کند. [89]
سندباکس مرورگر یک اقدام امنیتی است که فرآیندها و برگههای مرورگر وب را از سیستم عامل جدا میکند تا از سوء استفاده کدهای مخرب از آسیبپذیریها جلوگیری کند. با به دام انداختن کدهای بالقوه مضر در جعبه شنی به محافظت در برابر بدافزارها، سوء استفاده های روز صفر و نشت ناخواسته داده ها کمک می کند. این شامل ایجاد فرآیندهای جداگانه، محدود کردن دسترسی به منابع سیستم، اجرای محتوای وب در فرآیندهای مجزا، نظارت بر تماسهای سیستم و محدودیتهای حافظه است. ارتباطات بین فرآیندی (IPC) برای ارتباط امن بین فرآیندها استفاده می شود. فرار از جعبه شنی شامل هدف قرار دادن آسیب پذیری ها در مکانیسم جعبه سند یا ویژگی های جعبه ایمنی سیستم عامل است. [90] [92]
در حالی که sandboxing بی خطا نیست، سطح حمله تهدیدات رایج را به میزان قابل توجهی کاهش می دهد. به روز نگه داشتن مرورگرها و سیستم عامل ها برای کاهش آسیب پذیری ها بسیار مهم است. [90] [92]
اسکنهای آسیبپذیری وبسایت، وبسایت را بررسی میکنند، بدافزار را شناسایی میکنند، ممکن است نرمافزار قدیمی را یادداشت کنند و ممکن است مشکلات امنیتی شناختهشده را گزارش کنند تا خطر به خطر افتادن سایت را کاهش دهند.
ساختار یک شبکه به عنوان مجموعه ای از شبکه های کوچکتر، و محدود کردن جریان ترافیک بین آنها به موارد قانونی شناخته شده، می تواند مانع از توانایی بدافزارهای عفونی برای تکثیر خود در سراسر شبکه گسترده تر شود. شبکه های تعریف شده توسط نرم افزار تکنیک هایی را برای پیاده سازی چنین کنترل هایی ارائه می دهند.
به عنوان آخرین چاره، رایانهها را میتوان در برابر بدافزار محافظت کرد، و خطر انتشار اطلاعات قابل اعتماد رایانههای آلوده را میتوان با تحمیل یک «شکاف هوایی» (یعنی قطع کامل آنها از تمام شبکههای دیگر) و اعمال کنترلهای پیشرفته بر ورودی و بهخوبی کاهش داد. خروج نرم افزارها و داده ها از دنیای خارج با این حال، بدافزار همچنان میتواند در برخی شرایط از شکاف هوایی عبور کند، به ویژه به دلیل نیاز به وارد کردن نرمافزار به شبکه دارای شکاف هوا و میتواند به در دسترس بودن یا یکپارچگی داراییهای موجود در آن آسیب برساند. Stuxnet نمونهای از بدافزار است که از طریق درایو USB به محیط هدف معرفی میشود و بدون نیاز به استخراج دادهها به فرآیندهای پشتیبانی شده در محیط آسیب میرساند.
AirHopper، [93] BitWhisper، [94] GSMem [95] و Fansmitter [96] چهار تکنیک معرفی شده توسط محققان هستند که میتوانند دادهها را از رایانههای دارای شکاف هوا با استفاده از گسیلهای الکترومغناطیسی، حرارتی و صوتی نشت دهند.
با استفاده از تجزیه و تحلیل کتاب سنجی، مطالعه روند تحقیقات بدافزار از سال 2005 تا 2015، با در نظر گرفتن معیارهایی مانند مجلات تاثیرگذار، مقالات پراستناد، حوزه های تحقیقاتی، تعداد انتشارات، فراوانی کلمات کلیدی، موسسات و نویسندگان، نرخ رشد سالانه 34.1% را نشان داد. آمریکای شمالی در تولید تحقیقات پیشتاز بود و پس از آن آسیا و اروپا قرار گرفتند . چین و هند به عنوان مشارکت کنندگان در حال ظهور شناسایی شدند. [97]
اولین ویروس رایانه شخصی متعلق به دو برادر به نام های بسیت فاروق الوی و امجد فاروق علوی از پاکستان است.
کسانی که Raccoon را به کار گرفتند، از پیامهای فیشینگ و ترفندهای دیگر برای انتقال بدافزار به رایانههای میلیونها قربانی در سراسر جهان استفاده کردند. پس از نصب، کد دسترسی به اعتبار ورود و سایر داده های ذخیره شده در سیستم در معرض خطر را فراهم می کند.