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

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

Управлението на уязвимостите е идентифициране, оценка, класификация и избор на решение за справяне с уязвимостите. Основата на управлението на уязвимостите са хранилищата на информация за уязвимостите, една от които е системата за управление на уязвимостите „Наблюдение напред“.

Нашето решение контролира появата на информация за уязвимости в операционни системи(Windows, Linux/Unix-базирани), офис и приложен софтуер, хардуерен софтуер, инструменти за информационна сигурност.

Източници на данни

Базата данни на Perspective Monitoring Software Vulnerability Management System се актуализира автоматично от следните източници:

  • Банка данни за заплахи за информационната сигурност (BDU BI) FSTEC на Русия.
  • Национална база данни за уязвимости (NVD) NIST.
  • Red Hat Bugzilla.
  • Проследяване на грешки в сигурността на Debian.
  • Пощенски списък на CentOS.

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

Мониторинг на софтуерни уязвимости

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

Например в модела на Secure Software Developer Life Cycle (SSDLC) на компанията Хюлет ПакардКорпоративният контрол на библиотеките на трети страни заема централно място.

Нашата система следи наличието на уязвимости в паралелни версии/билдове на един и същ софтуерен продукт.

Работи така:

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

2. Ежедневно проверяваме:

b. дали са се появили методи за премахване на открити по-рано уязвимости.

3. Уведомяваме разработчика, ако състоянието или точкуването на уязвимостта се е променило в съответствие с посочения модел за подражание. Това означава, че различни екипи за разработка на една и съща компания ще получават предупреждения и ще виждат състоянието на уязвимостите само за продукта, върху който работят.

Честотата на предупрежденията на системата за управление на уязвимостите може да се конфигурира, но ако бъде открита уязвимост с CVSS резултат по-голям от 7,5, разработчиците ще получат незабавно предупреждение.

Интеграция с ViPNet TIAS

Софтуерната и хардуерна система ViPNet Threat Intelligence Analytics System автоматично открива компютърни атаки и идентифицира инциденти въз основа на събития, получени от различни източници информационна сигурност. Основният източник на събития за ViPNet TIAS е ViPNet IDS, който анализира входящия и изходящия мрежов трафик, използвайки базата от правила за вземане на решения AM Rules, разработена от Perspective Monitoring. Някои сигнатури са написани за откриване на използване на уязвимости.

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

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

Следене на наличието на уязвимости в информационните системи

Друг сценарий за използване на система за управление на уязвимости е сканирането при поискване.

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

Разлики между системата и обикновените скенери за уязвимости:

  • Не изисква инсталиране на агенти за наблюдение на възли.
  • Не създава натоварване в мрежата, тъй като самата архитектура на решението не предоставя сканиращи агенти и сървъри.
  • Не създава натоварване на оборудването, тъй като списъкът с компоненти се създава от системни команди или лек скрипт с отворен код.
  • Елиминира възможността за изтичане на информация. „Проспективният мониторинг“ не може надеждно да научи нищо за физическото и логическото местоположение или функционалното предназначение на възел в информационната система. Единствената информация, която напуска контролирания периметър на клиента, е txt файл със списък на софтуерните компоненти. Този файл се проверява за съдържание и се качва в контролната система от самия клиент.
  • За да работи системата, не се нуждаем от акаунти на контролирани възли. Информацията се събира от администратора на сайта от свое име.
  • Сигурен обмен на информация чрез ViPNet VPN, IPsec или https.

Свързването към услугата за управление на уязвимости на Perspective Monitoring помага на клиента да изпълни изискването на ANZ.1 „Идентифициране и анализ на уязвимостите информационна системаи своевременно отстраняване на новооткрити уязвимости“ на заповеди № 17 и 21 на FSTEC на Русия. Нашата компания е лицензиант на FSTEC на Русия за дейности, свързани с техническата защита на поверителна информация.

Цена

Минимална цена - 25 000 рубли на година за 50 възела, свързани към системата, ако има валиден договор за свързване към

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Въведение

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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