اسکن هوشمند شناسایی نرم افزارهای آسیب پذیر در رایانه های مشتری نرم افزار آسیب پذیر چیست؟

در حال حاضر، تعداد زیادی ابزار برای خودکارسازی جستجوی آسیب‌پذیری‌های نرم‌افزاری توسعه یافته‌اند. در این مقاله به برخی از آنها پرداخته خواهد شد.

مقدمه

تجزیه و تحلیل کد استاتیک، تجزیه و تحلیل است نرم افزار، که بر روی سورس کد برنامه ها تولید شده و بدون اجرای واقعی برنامه مورد مطالعه پیاده سازی می شود.

این نرم افزار اغلب دارای آسیب پذیری های مختلف به دلیل خطا در کد برنامه است. خطاهایی که در حین توسعه برنامه ها ایجاد می شود، در برخی شرایط منجر به از کار افتادن برنامه می شود و بنابراین، عملکرد عادی برنامه مختل می شود: در این حالت، داده ها اغلب تغییر می کنند و خراب می شوند، برنامه یا حتی سیستم متوقف می شود. . بیشتر آسیب‌پذیری‌ها مربوط به پردازش نادرست داده‌های دریافت‌شده از خارج، یا تأیید دقیق ناکافی آنها است.

روش های مختلفی برای شناسایی آسیب پذیری ها استفاده می شود. ابزاربه عنوان مثال، تحلیلگرهای استاتیک کد منبع برنامه که در این مقاله مروری بر آن ها ارائه شده است.

طبقه بندی آسیب پذیری های امنیتی

هنگامی که الزام برای عملکرد صحیح برنامه بر روی تمام داده های ورودی ممکن نقض شود، ظهور آسیب پذیری های امنیتی به اصطلاح (آسیب پذیری امنیتی) امکان پذیر می شود. آسیب پذیری های امنیتی می توانند باعث شوند که یک برنامه برای غلبه بر محدودیت های امنیتی کل سیستم به عنوان یک کل استفاده شود.

طبقه بندی آسیب پذیری های امنیتی بسته به خطاهای نرم افزاری:

  • سرریز بافر. این آسیب پذیری به دلیل عدم کنترل آرایه خارج از محدوده در حافظه در حین اجرای برنامه رخ می دهد. هنگامی که یک بسته داده که خیلی بزرگ است از بافر محدود سرریز می شود، محتویات سلول های حافظه خارجی بازنویسی می شود و برنامه از کار می افتد و از کار می افتد. با مکان بافر در حافظه فرآیند، سرریزهای بافر روی پشته (سرریز بافر پشته)، هیپ (سرریز بافر پشته) و ناحیه داده ایستا (سرریز بافر bss) متمایز می شوند.
  • آسیب پذیری ها "ورودی آلوده" (آسیب پذیری ورودی آلوده). آسیب‌پذیری‌های ورودی خراب می‌توانند زمانی رخ دهند که ورودی کاربر بدون کنترل کافی به مترجم برخی از زبان‌های خارجی (معمولاً یک پوسته یونیکس یا زبان SQL) ارسال شود. در این حالت، کاربر می‌تواند داده‌های ورودی را به گونه‌ای مشخص کند که مفسر راه‌اندازی شده دستوری کاملاً متفاوت با آنچه نویسندگان برنامه آسیب‌پذیر در نظر گرفته‌اند را اجرا کند.
  • آسیب پذیری رشته را قالب بندی کنید. این نوعآسیب‌پذیری امنیتی زیرمجموعه‌ای از آسیب‌پذیری «ورودی خراب» است. این به دلیل کنترل ناکافی پارامتر هنگام استفاده از توابع فرمت I/O printf، fprintf، scanf و غیره رخ می دهد. کتابخانه استانداردزبان C. این توابع به عنوان یکی از پارامترها یک رشته کاراکتری را می گیرند که فرمت ورودی یا خروجی را برای آرگومان های تابع بعدی مشخص می کند. اگر کاربر بتواند نوع قالب‌بندی را خودش تنظیم کند، این آسیب‌پذیری می‌تواند ناشی از عدم استفاده از عملکردهای قالب‌بندی رشته‌ای باشد.
  • آسیب پذیری های ناشی از خطاهای همگام سازی (شرایط مسابقه). مشکلات مرتبط با چندوظیفه ای منجر به موقعیت هایی به نام "شرایط مسابقه" می شود: برنامه ای که برای اجرا در یک محیط چندوظیفه ای طراحی نشده است ممکن است بر این باور باشد که، برای مثال، فایل هایی که هنگام اجرا استفاده می کند نمی توانند توسط برنامه دیگری تغییر داده شوند. در نتیجه، مهاجمی که محتویات این فایل های کاری را به موقع جایگزین می کند، می تواند برنامه را مجبور به انجام اقدامات خاصی کند.

البته علاوه بر موارد ذکر شده، دسته های دیگری از آسیب پذیری های امنیتی نیز وجود دارد.

مروری بر تحلیلگرهای موجود

ابزارهای زیر برای شناسایی آسیب پذیری های امنیتی در برنامه ها استفاده می شود:

  • دیباگرهای پویا ابزارهایی که به شما امکان می دهند یک برنامه را در حین اجرا اشکال زدایی کنید.
  • آنالایزرهای استاتیک (اشکال زدایی استاتیک). ابزارهایی که از اطلاعات جمع آوری شده در طول تجزیه و تحلیل استاتیک برنامه استفاده می کنند.

آنالایزرهای استاتیک مکان هایی را در برنامه نشان می دهند که ممکن است خطا پیدا شود. این کدهای مشکوک می توانند حاوی یک اشکال باشند یا کاملاً بی ضرر باشند.

این مقاله مروری بر چندین تحلیلگر استاتیک موجود ارائه می دهد. بیایید نگاهی دقیق تر به هر یک از آنها بیندازیم.

در برخی موارد، بروز آسیب‌پذیری‌ها به دلیل استفاده از ابزارهای توسعه با ریشه‌های مختلف است که خطر نقص‌های خرابکاری در کد برنامه را افزایش می‌دهد.

آسیب‌پذیری‌ها به دلیل افزودن مؤلفه‌های شخص ثالث یا کدهای توزیع شده آزادانه (متن باز) به نرم‌افزار ظاهر می‌شوند. کد افراد دیگر اغلب بدون تجزیه و تحلیل کامل و تست امنیتی "همانطور که هست" استفاده می شود.

این را نباید رد کرد که برنامه نویسان خودی در تیم وجود دارند که عمداً عملکردها یا عناصر غیر مستند اضافی را به محصول در حال ایجاد وارد می کنند.

طبقه بندی آسیب پذیری های نرم افزاری

آسیب پذیری ها در نتیجه خطاهایی به وجود می آیند که در حین طراحی یا نوشتن کد برنامه رخ می دهد.

بسته به مرحله ظاهری، این نوع تهدید به آسیب‌پذیری‌های طراحی، اجرا و پیکربندی تقسیم می‌شود.

  1. خطاهای طراحی سخت ترین تشخیص و رفع آنها هستند. اینها عدم دقت الگوریتم ها، نشانک ها، ناهماهنگی در رابط بین ماژول های مختلف یا در پروتکل های تعامل با سخت افزار، معرفی فناوری های کمتر از حد مطلوب است. حذف آنها یک فرآیند بسیار وقت گیر است، همچنین به این دلیل که آنها می توانند در موارد غیر واضح ظاهر شوند - به عنوان مثال، زمانی که میزان ترافیک بیش از حد است یا زمانی که مقدار زیادی تجهیزات اضافی متصل می شود، که تامین سطح مورد نیاز را پیچیده می کند. امنیت و منجر به پیدایش راه هایی برای دور زدن فایروال می شود.
  2. آسیب پذیری های پیاده سازی در مرحله نوشتن یک برنامه یا معرفی الگوریتم های امنیتی در آن ظاهر می شوند. اینها سازماندهی نادرست فرآیند محاسباتی، نقص نحوی و منطقی هستند. با این حال، این خطر وجود دارد که نقص منجر به سرریز بافر یا انواع دیگر مشکلات شود. کشف آنها زمان زیادی می برد و حذف شامل اصلاح بخش های خاصی از کد ماشین است.
  3. خطاهای پیکربندی سخت افزار و نرم افزار بسیار رایج است. علل مشترک آنها توسعه ناکافی کیفیت و فقدان آزمایشات است کار درست ویژگی های اضافی. همچنین در این دسته قرار می گیرند رمزهای عبور سادهو حساب های پیش فرض بدون تغییر باقی مانده است.

طبق آمار، آسیب پذیری ها اغلب در محصولات محبوب و گسترده - دسکتاپ و موبایل - یافت می شود. سیستم های عامل، مرورگرها

خطرات استفاده از برنامه های آسیب پذیر

برنامه هایی که در آنها پیدا می کنند بیشترین تعدادآسیب پذیری ها تقریباً روی همه رایانه ها نصب شده اند. از طرف مجرمان سایبری، علاقه مستقیمی به یافتن چنین نقص هایی و نوشتن برای آنها وجود دارد.

از آنجایی که زمان زیادی از لحظه کشف یک آسیب پذیری تا انتشار یک اصلاح (پچ) می گذرد، تعداد زیادی فرصت برای آلوده کردن وجود دارد. سیستم های کامپیوتریاز طریق حفره های امنیتی در کد. در این حالت کاربر فقط باید یک بار مثلاً یک فایل PDF مخرب را با یک اکسپلویت باز کند و پس از آن مهاجمان به داده ها دسترسی پیدا می کنند.

عفونت در مورد دوم طبق الگوریتم زیر رخ می دهد:

  • کاربر دریافت می کند پست الکترونیکیک ایمیل فیشینگ از یک فرستنده مورد اعتماد.
  • فایل با اکسپلویت به نامه پیوست شده است.
  • اگر کاربر بخواهد فایلی را باز کند، کامپیوتر به ویروس، تروجان (رمزگذار) یا بدافزار دیگری آلوده می شود.
  • مجرمان سایبری به سیستم دسترسی غیرمجاز پیدا می کنند.
  • داده های با ارزش دزدیده می شود.

تحقیقات انجام شده توسط شرکت های مختلف (آزمایشگاه Kaspersky، Positive Technologies) نشان می دهد که تقریباً در هر برنامه ای از جمله آنتی ویروس ها آسیب پذیری وجود دارد. بنابراین، احتمال نصب یک محصول نرم افزاری حاوی نقص هایی با درجه های مختلف بحرانی بسیار زیاد است.

برای به حداقل رساندن تعداد شکاف های نرم افزار، استفاده از SDL (Security Development Lifecycle, Security Development Life cycle) ضروری است. فناوری SDL برای کاهش تعداد باگ‌های برنامه‌ها در تمام مراحل ایجاد و پشتیبانی استفاده می‌شود. بنابراین، هنگام طراحی نرم افزار، متخصصان امنیت اطلاعات و برنامه نویسان تهدیدات سایبری را به منظور یافتن آسیب پذیری ها مدل می کنند. در طول برنامه‌نویسی، ابزارهای خودکار در فرآیند گنجانده می‌شوند و فوراً نقص‌های احتمالی را گزارش می‌کنند. هدف توسعه دهندگان محدود کردن قابل توجه ویژگی های موجود برای کاربران تایید نشده است که به کاهش سطح حمله کمک می کند.

برای به حداقل رساندن تأثیر آسیب پذیری ها و آسیب های ناشی از آنها، باید قوانینی را دنبال کنید:

  • به سرعت اصلاحات (وصله‌های) منتشر شده توسط توسعه‌دهنده را برای برنامه‌ها نصب کنید یا (ترجیحا) فعال کنید حالت خودکاربه روز رسانی ها
  • در صورت امکان از نصب برنامه های مشکوک که کیفیت و پشتیبانی فنیسوالاتی را مطرح کند
  • از اسکنرهای آسیب پذیری ویژه یا عملکردهای تخصصی محصولات آنتی ویروس استفاده کنید که به شما امکان می دهد خطاهای امنیتی را جستجو کنید و در صورت لزوم نرم افزار را به روز کنید.

در راه اندازی اسکن هوشمند نرم افزار Avastرایانه شما را برای انواع مشکلات زیر بررسی می کند و سپس گزینه هایی برای رفع آنها ارائه می دهد.

  • ویروس ها: فایل های حاوی کد مخرب، که می تواند بر امنیت و عملکرد رایانه شخصی شما تأثیر بگذارد.
  • نرم افزار آسیب پذیر: برنامه هایی که نیاز به به روز رسانی دارند و مهاجمان می توانند از آنها برای دسترسی به سیستم شما استفاده کنند.
  • پسوندهای مرورگر با شهرت بد: افزونه های مرورگری که معمولاً بدون اطلاع شما نصب می شوند و بر عملکرد سیستم تأثیر می گذارند.
  • رمزهای عبور ضعیف: پسوردهایی که برای دسترسی به بیش از یک مورد استفاده می شوند حسابدر اینترنت وجود دارد و به راحتی قابل هک یا در خطر است.
  • تهدیدات شبکه: آسیب‌پذیری‌هایی در شبکه شما که می‌توانند به دستگاه‌های شبکه و روتر شما حمله کنند.
  • مسائل مربوط به عملکرد: اشیاء ( فایل های به درد نخورو برنامه ها، مسائل مربوط به تنظیمات) که ممکن است از کارکرد رایانه شما جلوگیری کند.
  • آنتی ویروس های متضاد: نرم افزار آنتی ویروس نصب شده روی رایانه شخصی با Avast. چندگانه برنامه های آنتی ویروسکامپیوتر را کند می کند و اثربخشی محافظت ضد ویروس را کاهش می دهد.

توجه داشته باشید. برخی از مشکلات شناسایی شده توسط اسکن هوشمند ممکن است برای حل کردن به مجوز جداگانه نیاز داشته باشد. تشخیص انواع مشکلات غیر ضروری را می توان در غیر فعال کرد.

حل مشکلات پیدا شد

علامت سبز رنگ در کنار ناحیه اسکن نشان می دهد که هیچ مشکلی در ارتباط با آن یافت نشد. ضربدر قرمز به این معنی است که اسکن یک یا چند مشکل مرتبط را شناسایی کرده است.

برای مشاهده جزئیات خاص در مورد مشکلات یافت شده، کلیک کنید همه چیز را حل کند. اسکن هوشمند جزئیات هر مشکل را نشان می دهد و گزینه ای را برای رفع فوری آن با کلیک روی یک مورد ارائه می دهد تصميم گرفتن، یا بعداً با کلیک کردن آن را انجام دهید از این مرحله بگذر.

توجه داشته باشید. گزارش های اسکن آنتی ویروس در تاریخچه اسکن قابل مشاهده است که با انتخاب می توان به آنها دسترسی پیدا کرد آنتی ویروس حفاظتی.

مدیریت تنظیمات اسکن هوشمند

برای تغییر تنظیمات Smart Scan، را انتخاب کنید تنظیمات عمومی اسکن هوشمندو مشخص کنید که برای کدام یک از انواع مشکلات لیست شده می خواهید Smart Scan را اجرا کنید.

  • ویروس ها
  • نرم افزار قدیمی
  • افزونه های مرورگر
  • تهدیدات شبکه
  • مشکلات سازگاری
  • مسائل مربوط به عملکرد
  • رمزهای عبور ضعیف

به طور پیش فرض، همه انواع مشکلات فعال هستند. برای توقف بررسی مشکل خاص هنگام انجام اسکن هوشمند، روی نوار لغزنده کلیک کنید مشمولدر کنار نوع موضوع قرار می گیرد تا وضعیت را به خاموش شد.

کلیک تنظیماتکنار کتیبه اسکن برای ویروس هابرای تغییر تنظیمات اسکن