Начало / Инструкции / Управление на уязвимостта. Интелигентно сканиране Уязвими програми

Управление на уязвимостта. Интелигентно сканиране Уязвими програми

При стартиране интелигентно сканиране Avast ще провери вашия компютър за следните видове проблеми и след това ще предложи решения за тях.

  • Вируси: файлове, съдържащи зловреден код, което може да повлияе на сигурността и производителността на вашия компютър.
  • Уязвим софтуер: Програми, които изискват актуализиране и могат да бъдат използвани от хакери, за да получат достъп до вашата система.
  • Разширения за браузър с лоша репутация: Разширения на браузъра, които обикновено се инсталират без ваше знание и засягат производителността на системата.
  • Слаби пароли: Пароли, които се използват за достъп до повече от един онлайн акаунт и могат лесно да бъдат хакнати или компрометирани.
  • Мрежови заплахи: Уязвимости във вашата мрежа, които биха могли да позволят атаки на вашите мрежови устройства и рутер.
  • Проблеми с производителността: обекти ( ненужни файловеи приложения, проблеми, свързани с настройки), които могат да попречат на работата на компютъра.
  • Конфликтни антивируси: антивирусни програми, инсталирани на вашия компютър с Avast. Наличие на няколко антивирусни програмизабавя вашия компютър и намалява ефективността на антивирусната защита.

Забележка. Някои проблеми, открити от Smart Scan, може да изискват отделен лиценз за разрешаване. Откриването на ненужни типове проблеми може да бъде деактивирано в .

Решаване на открити проблеми

Зелена отметка до областта за сканиране показва, че не са открити проблеми с тази област. Червен кръст означава, че сканирането е идентифицирало един или повече свързани проблеми.

За да видите конкретни подробности за откритите проблеми, щракнете Реши всичко. Интелигентно сканиранепоказва подробности за всеки проблем и предлага опцията да го коригирате незабавно, като щракнете върху елемента Решете, или го направете по-късно, като щракнете Пропуснете тази стъпка.

Забележка. Регистрационните файлове на антивирусното сканиране могат да се видят в хронологията на сканирането, която може да бъде достъпна чрез избиране Антивирусна защита.

Управление на настройките за интелигентно сканиране

За да промените настройките на Smart Scan, изберете Настройки Общи Интелигентно сканиранеи посочете кой от следните типове проблеми искате да сканирате интелигентно.

  • Вируси
  • Остарял софтуер
  • Добавки за браузър
  • Мрежови заплахи
  • Проблеми със съвместимостта
  • Проблеми с производителността
  • Слаби пароли

По подразбиране всички типове проблеми са активирани. За да спрете проверката за конкретен проблем, когато изпълнявате Smart Scan, щракнете върху плъзгача Включенидо типа на проблема, така че да промени състоянието на Изкл.

Кликнете Настройкидо надписа Сканиране за вирусиза промяна на настройките за сканиране.

В някои случаи възникват уязвимости поради използването на инструменти за разработка от различен произход, което увеличава риска от поява на дефекти от тип саботаж в програмния код.

Уязвимостите се появяват поради добавянето на компоненти на трети страни или свободно разпространяван код (отворен код) към софтуера. Кодът на някой друг често се използва „както е“ без задълбочен анализ и тестване за сигурност.

Не трябва да се изключва наличието на вътрешни програмисти в екипа, които съзнателно въвеждат допълнителни недокументирани функцииили елементи.

Класификация на програмните уязвимости

Уязвимостите възникват в резултат на грешки, възникнали по време на етапа на проектиране или кодиране.

В зависимост от етапа на възникване, този тип заплаха се разделя на уязвимости при проектиране, внедряване и конфигурация.

  1. Грешките, направени по време на проектирането, са най-трудни за откриване и отстраняване. Това са неточности в алгоритми, отметки, несъответствия в интерфейса между различните модули или в протоколите за взаимодействие с хардуера и въвеждането на неоптимални технологии. Премахването им е много трудоемък процес, включително защото могат да се появят в неочевидни случаи - например при превишаване на предвидения обем трафик или при свързване на голямо количество допълнително оборудване, което усложнява осигуряването на необходимите ниво на сигурност и води до появата на начини за заобикаляне на защитната стена.
  2. Уязвимостите на внедряването се появяват на етапа на писане на програма или внедряване на алгоритми за сигурност в нея. Това е неправилна организация на изчислителния процес, синтактични и логически дефекти. Съществува риск пропускът да доведе до препълване на буфера или други проблеми. Откриването им отнема много време, а елиминирането им включва коригиране на определени части от машинния код.
  3. Грешките в конфигурацията на хардуера и софтуера са доста чести. Честите им причини са недостатъчно качествена разработка и липса на тестове за коректна работа. допълнителни функции. Паролите, които са твърде прости и оставени непроменени, също могат да бъдат включени в тази категория. сметкипо подразбиране.

Според статистиката уязвимостите се срещат особено често в популярни и често срещани продукти - настолни и мобилни. операционни системи, браузъри.

Рискове от използване на уязвими програми

Програмите, които съдържат най-голям брой уязвимости, са инсталирани на почти всички компютри. От страна на киберпрестъпниците има пряк интерес да се открият такива недостатъци и да се пише за тях.

Тъй като минава доста време от момента на откриване на уязвимост до публикуването на корекция (корекция), съществуват доста възможности за заразяване на компютърни системи чрез пропуски в сигурността на програмния код. В този случай потребителят трябва само да отвори, например, злонамерен PDF файл с експлойт веднъж, след което нападателите ще получат достъп до данните.

В последния случай инфекцията се извършва по следния алгоритъм:

  • Потребителят получава имейлфишинг имейл от надежден подател.
  • Към писмото е прикачен файл с експлойт.
  • Ако потребител се опита да отвори файл, компютърът се заразява с вирус, троянски кон (шифровач) или друга злонамерена програма.
  • Киберпрестъпниците получават неоторизиран достъп до системата.
  • Крадат се ценни данни.

Изследвания, проведени от различни компании (Kaspersky Lab, Positive Technologies), показват, че има уязвимости в почти всяко приложение, включително антивирусите. Следователно вероятността от инсталиране на софтуерен продукт, съдържащ недостатъци с различна степен на критичност, е много висока.

За да се сведе до минимум броят на пропуските в софтуера, е необходимо да се използва SDL (Security Development Lifecycle, защитен жизнен цикъл на разработка). Технологията SDL се използва за намаляване на броя на грешките в приложенията на всички етапи от тяхното създаване и поддръжка. По този начин, когато проектират софтуер, специалистите по информационна сигурност и програмистите моделират кибер заплахи, за да намерят уязвимости. По време на програмирането в процеса се включват автоматични инструменти за незабавно отчитане на потенциални недостатъци. Разработчиците се стремят значително да ограничат функционалността, достъпна за ненадеждни потребители, което помага за намаляване на повърхността за атака.

За да сведете до минимум въздействието на уязвимостите и щетите, причинени от тях, трябва да следвате някои правила:

  • Незабавно инсталирайте издадени от разработчиците корекции (пачове) за приложения или (за предпочитане) активирайте автоматичен режимактуализации.
  • Ако е възможно, не инсталирайте съмнителни програми, чието качество и техническа поддръжкаповдигат въпроси.
  • Използвайте специални скенери за уязвимости или специализирани функции на антивирусни продукти, които ви позволяват да търсите грешки в сигурността и, ако е необходимо, да актуализирате софтуера.

Друг начин да се разгледа този проблем е, че компаниите трябва да реагират бързо, когато дадено приложение има уязвимост. Това изисква ИТ отделът да може окончателно да проследява инсталирани приложения, компоненти и корекции с помощта на автоматизация и стандартни инструменти. Има усилия в индустрията за стандартизиране на софтуерни тагове (19770-2), които са XML файлове, инсталирани с приложение, компонент и/или корекция, които идентифицират инсталирания софтуер, а в случай на компонент или корекция, кое приложение са част от. Етикетите имат информация за пълномощията на издателя, информация за версията, списък с файлове с името на файла, защитен хеш на файла и размер, който може да се използва за потвърждение, че инсталираното приложение е в системата и че двоичните файлове не са били модифициран от трета страна. Тези етикети са подписани цифров подписиздател.

Когато уязвимостта е известна, ИТ отделите могат да използват своя софтуер за управление на активи, за да идентифицират незабавно системи с уязвим софтуер и могат да предприемат стъпки за актуализиране на системите. Етикетите могат да бъдат част от корекция или актуализация, която може да се използва за проверка дали корекцията е инсталирана. По този начин ИТ отделите могат да използват ресурси като Националната база данни за уязвимости на NIST като средство за управление на своите инструменти за управление на активи, така че след като дадена уязвимост бъде изпратена на NVD от дадена компания, ИТ отделите могат незабавно да сравнят новите уязвимости с техните.

Има група компании, които работят чрез организация с нестопанска цел IEEE/ISTO, наречена TagVault.org (www.tagvault.org) с правителството на САЩ по стандартно внедряване на ISO 19770-2, което ще позволи това ниво на автоматизация. В даден момент тези етикети, съответстващи на това внедряване, вероятно ще бъдат задължителни за софтуер, продаван на правителството на САЩ в даден момент през следващите няколко години.

Така че в края на деня е добра практика да не публикувате какви приложения и конкретни версии на софтуера използвате, но това може да е трудно, както беше посочено по-рано. Искате да сте сигурни, че разполагате с точен, актуален софтуерен инвентар, че той редовно се сравнява със списък с известни уязвимости, като NVID на NVD, и че ИТ отделът може да предприеме незабавни действия за отстраняване на заплахата най-новото откриване Прониквания, антивирусно сканиране и други техники за заключване на среда най-малкото ще направят много трудно вашата среда да бъде компрометирана и ако/когато се случи, няма да бъде открита за дълъг период от време.

В момента са разработени голям брой инструменти за автоматизиране на търсенето на уязвимости в програмата. Тази статия ще обсъди някои от тях.

Въведение

Статичният анализ на кода е софтуерен анализ, който се извършва върху изходния код на програмите и се прилага без реално изпълнение на програмата, която се изучава.

Софтуерчесто съдържа различни уязвимости поради грешки в програмния код. Грешките, направени по време на разработката на програмата, в някои ситуации водят до повреда на програмата и следователно нормалната работа на програмата е нарушена: това често води до промени и повреда на данните, спиране на програмата или дори на системата. Повечето уязвимости са свързани с неправилна обработка на данни, получени отвън, или с недостатъчно стриктна проверка на тях.

За идентифициране на уязвимости се използват различни инструменти, например статични анализатори на изходния код на програмата, чийто преглед е даден в тази статия.

Класификация на уязвимостите в сигурността

Когато се наруши изискването една програма да работи правилно с всички възможни входни данни, става възможна появата на така наречените уязвимости в сигурността. Уязвимостта на сигурността може да означава, че една програма може да се използва за преодоляване на ограниченията на сигурността на цяла система.

Класификация на уязвимостите в сигурността в зависимост от софтуерните грешки:

  • Препълване на буфера. Тази уязвимост възниква поради липса на контрол върху масива извън границите на паметта по време на изпълнение на програмата. Когато пакет от данни, който е твърде голям, препълни буфера с ограничен размер, съдържанието на външните места в паметта се презаписва, което води до срив на програмата и излизане. Въз основа на местоположението на буфера в паметта на процеса, препълването на буфера се разграничава в стека (препълване на буфера на стека), купчината (препълване на буфера на купчината) и областта на статичните данни (препълване на bss буфера).
  • Опетнена входна уязвимост. Уязвимости на развален вход могат да възникнат, когато въведеното от потребителя се предава на интерпретатора на някакъв външен език (обикновено Unix shell или SQL) без достатъчен контрол. В този случай потребителят може да посочи входни данни по такъв начин, че стартираният интерпретатор да изпълни команда, напълно различна от тази, предвидена от авторите на уязвимата програма.
  • Грешки форматиращи низове(уязвимост на форматиран низ). Този тип уязвимост на сигурността е подклас на уязвимостта на „повреден вход“. Възниква поради недостатъчен контрол на параметрите при използване на I/O функциите за формат printf, fprintf, scanf и т.н. от стандартната библиотека C. Тези функции приемат като един от своите параметри символен низ, който определя входния или изходния формат на следващите аргументи на функцията. Ако потребителят може да посочи типа форматиране, тази уязвимост може да е резултат от неуспешно използване на функции за форматиране на низове.
  • Уязвимости в резултат на грешки при синхронизация (състезателни условия). Проблемите, свързани с многозадачността, водят до ситуации, наречени „състезателни условия“: програма, която не е проектирана да работи в многозадачна среда, може да смята, че например файловете, които използва, не могат да бъдат променени от друга програма. В резултат на това нападател, който замени съдържанието на тези работни файлове навреме, може да принуди програмата да извърши определени действия.

Разбира се, в допълнение към изброените, има и други класове уязвимости в сигурността.

Преглед на съществуващи анализатори

Следните инструменти се използват за откриване на уязвимости в сигурността на програмите:

  • Динамични дебъгери. Инструменти, които ви позволяват да дебъгвате програма по време на нейното изпълнение.
  • Статични анализатори (статични дебъгери). Инструменти, които използват информация, натрупана по време на статичен анализ на програма.

Статичните анализатори сочат местата в програмата, където може да се открие грешка. Тези подозрителни части от код може или да съдържат грешка, или да са напълно безобидни.

Тази статия предоставя преглед на няколко съществуващи статични анализатори. Нека разгледаме по-подробно всеки от тях.