Знайдено вразливе програмне забезпечення. Визначення вразливого програмного забезпечення на клієнтських комп'ютерах. Ризики використання вразливих програм

💖 Подобається?Поділися з друзями посиланням

У деяких випадках виникнення вразливостей обумовлено застосуванням засобів розробки різного походження, які збільшують ризик появи у програмному коді дефектів диверсійного типу.

Вразливості з'являються внаслідок додавання до складу ПЗ сторонніх компонентів або коду, що вільно розповсюджується (open source). Чужий код часто використовується "як є" без ретельного аналізу та тестування на безпеку.

Не варто виключати і наявність у команді програмістів-інсайдерів, які навмисно вносять у продукт, що створюється, додаткові недокументовані функції або елементи.

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

Вразливості виникають внаслідок помилок, що виникли на етапі проектування чи написання програмного коду.

Залежно від стадії появи цей вид небезпек ділиться на вразливості проектування, реалізації та зміни.

  1. Помилки, допущені при проектуванні, найважче виявити та усунути. Це - неточності алгоритмів, закладки, неузгодженості в інтерфейсі між різними модулями чи протоколах взаємодії з апаратною частиною, впровадження неоптимальних технологій. Їх усунення є дуже трудомістким процесом, зокрема тому, що можуть проявитися у неочевидних випадках - наприклад, при перевищенні передбаченого обсягу трафіку чи підключенні великої кількості додаткового устаткування, що ускладнює забезпечення необхідного рівня безпеки і веде до виникнення шляхів обходу межсетевого екрана.
  2. Уразливості реалізації з'являються на етапі написання програми чи впровадження у неї алгоритмів безпеки. Це - некоректна організація обчислювального процесу, синтаксичні та логічні дефекти. У цьому є ризик, що вада призведе до переповнення буфера чи появі неполадок іншого роду. Їхнє виявлення займає багато часу, а ліквідація передбачає виправлення певних ділянок машинного коду.
  3. Помилки конфігурації апаратної частини та ПЗ зустрічаються досить часто. Поширеними їх причинами є недостатньо якісна розробка та відсутність тестів на коректну роботу додаткових функцій. До цієї категорії також можна відносити занадто прості пароліта залишені без змін облікові записи за промовчанням.

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

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

Програми, в яких знаходять найбільшу кількість уразливостей, встановлені практично на всіх комп'ютерах. З боку кіберзлочинців є пряма зацікавленість у пошуку подібних вад та написання для них.

Оскільки з моменту виявлення вразливості до публікації виправлення (патча) проходить досить багато часу, існує велика кількість можливостей заразити комп'ютерні системичерез проломи в безпеці програмного коду. При цьому користувачеві достатньо лише один раз відкрити, наприклад, шкідливий PDF-файл з експлойтом, після чого зловмисники отримають доступ до даних.

Зараження в останньому випадку відбувається за таким алгоритмом:

  • Користувач отримує по електронній поштіфішингове лист від відправника, що вселяє довіру.
  • У лист вкладено файл з експлойтом.
  • Якщо користувач робить спробу відкриття файлу, то відбувається зараження комп'ютера вірусом, трояном (шифрувальником) або іншою шкідливою програмою.
  • Кіберзлочинці отримують несанкціонований доступ до системи.
  • Відбувається крадіжка цінних даних.

Дослідження, що проводяться різними компаніями("Лабораторія Касперського", Positive Technologies), показують, що вразливості є практично в будь-якому додатку, включаючи антивіруси. Тому можливість встановити програмний продукт, Що містить вади різного ступеня критичності, дуже висока.

Щоб мінімізувати кількість проломів у ПЗ, необхідно використовувати SDL (Security Development Lifecycle, безпечний життєвий циклрозробки). Технологія SDL використовується для зниження кількості багів у додатках на всіх етапах їх створення та підтримки. Так, при проектуванні програмного забезпечення фахівці з ІБ та програмісти моделюють кіберзагрози з метою пошуку вразливих місць. У ході програмування в процес включаються автоматичні засоби, які відразу ж повідомляють про потенційні вади. Розробники прагнуть значно обмежити функції, доступні неперевіреним користувачам, що сприяє зменшенню поверхні атаки.

Щоб мінімізувати вплив вразливостей та збитків від них, необхідно виконувати деякі правила:

  • Оперативно встановлювати виправлення (патчі), що випускаються розробниками, для додатків або (переважно) включити автоматичний режимоновлення.
  • По можливості не встановлювати сумнівних програм, чия якість і технічна підтримка викликають питання.
  • Використовувати спеціальні сканери вразливостей або спеціалізовані функції антивірусних продуктів, що дозволяють виконувати пошук помилок безпеки та за необхідності оновлювати програмне забезпечення.

Управління вразливістю – це ідентифікація, оцінка, класифікація та вибір рішення для усунення уразливостей. Фундаментом управління вразливістю є репозиторії інформації про уразливості, один з яких – Система управління вразливістю «Перспективного моніторингу».

Наше рішення контролює появу інформації про вразливість в операційних системах (Windows, Linux/Unix-based), офісне та прикладне програмне забезпечення, ПЗ обладнання, засоби захисту інформації.

Джерела даних

База даних Системи управління вразливістю програмного забезпечення «Перспективного моніторингу» автоматично поповнюється з таких джерел:

  • Банк даних загроз безпеці інформації (БДУ БІ) ФСТЕК Росії.
  • National Vulnerability Database (NVD) NIST.
  • Red Hat Bugzilla.
  • Debian Security Bug Tracker.
  • CentOS Mailing List.

Також ми використовуємо автоматизований метод поповнення нашої бази уразливостей. Ми розробили обхідник веб-сторінок та парсер неструктурованих даних, які щодня аналізують понад сотню різних іноземних та російських джерел по ряду ключових слів- групи у соцмережах, блоги, мікроблоги, ЗМІ, присвячені інформаційним технологіямта забезпечення безпеки інформації. Якщо ці інструменти знаходять щось, що відповідає умовам пошуку, аналітик вручну перевіряє інформацію та заносить до бази вразливостей.

Контроль уразливостей програмного забезпечення

За допомогою Системи управління вразливістю розробники можуть контролювати наявність та стан виявлених уразливостей у сторонніх компонентах свого програмного забезпечення.

Наприклад, у моделі Secure Software Developer Life Cycle (SSDLC – Безпечна розробка програмного забезпечення) компанії Hewlett Packard Enterprise контроль сторонніх бібліотек посідає одне з центральних місць.

Наша система відстежує наявність уразливостей у паралельних версіях/білдах одного програмного продукту.

Це працює так:

1. Розробник передає нам перелік сторонніх бібліотек та компонентів, що використовуються у продукті.

2. Ми щодня перевіряємо:

b. чи з'явилися методи усунення раніше виявлених уразливостей.

3. Повідомляємо розробника, якщо змінився статус або скоринг уразливості відповідно до заданої рольової моделі. Це означає що різні групирозробників однієї компанії отримуватимуть оповіщення і бачитимуть статус вразливостей лише у тому продукту, з якого вони працюють.

Частота оповіщень Системи керування вразливістю налаштовується довільно, але при виявленні вразливості з CVSS-скорингом більше 7,5 розробники отримають негайне оповіщення.

Інтеграція з ViPNet TIAS

Програмно-апаратний комплекс ViPNet Threat Intelligence Analytics System автоматично виявляє комп'ютерні атаки і виявляє інциденти на підставі подій, що надходять від різних джерел. інформаційної безпеки. Основне джерело подій для ViPNet TIAS – ViPNet IDS, яка аналізує вхідний та вихідний мережевий трафік за допомогою баз вирішальних правил AM Rules розробки «Перспективного моніторингу». Деякі сигнатури написані на детектування експлуатації уразливостей.

Якщо ViPNet TIAS виявляє інцидент ІБ, в якому було проексплуатовано вразливість, то до картки інциденту з СУУ автоматично заноситься вся пов'язана з вразливістю інформація, включаючи методи усунення чи компенсації негативного впливу.

Система управління інцидентами допомагає і в розслідуваннях інцидентів ІБ , надаючи аналітикам інформацію про індикатори компрометації та потенційні порушені інцидентом вузли інформаційної інфраструктури.

Моніторинг наявності уразливостей в інформаційних системах

Ще один сценарій використання системи управління вразливістю - перевірка на вимогу.

Замовник самостійно формує вбудованими засобами або розробленим нами скриптом перелік встановленого на вузлі (АРМ, сервер, СУБД, ПАК СЗІ, мережеве обладнання) системного та прикладного програмного забезпечення та компонентів, передає цей перелік до СУУ та отримує звіт про виявлені вразливості та періодичні оповіщення про їх статус.

Відмінності Системи від поширених сканерів уразливостей:

  • Не потребує встановлення агентів моніторингу на вузлах.
  • Не створює навантаження на мережу, оскільки самої архітектури рішення не передбачені агенти та сервери сканування.
  • Не створює навантаження на обладнання, оскільки перелік компонентів створюється системними командамиабо легковажним скриптом із відкритим вихідним кодом.
  • Виключає можливість витоку інформації. «Перспективний моніторинг» не може нічого достовірно дізнатися про фізичне та логічне розташування або функціональне призначення вузла в інформаційній системі. Єдина інформація, що залишає межі контрольованого периметра замовника, - txt-файл із переліком програмних компонентів. Цей файл перевіряється на зміст та завантажується в СУУ самим замовником.
  • Для роботи системи нам не потрібні облікові записи на контрольованих вузлах. Інформацію збирає адміністратор вузла від імені.
  • Безпечний обмін інформацією ViPNet VPN, IPsec або https.

Підключення до сервісу управління вразливістю «Перспективного моніторингу» допомагає замовнику виконати вимогу АНЗ.1 «Виявлення, аналіз уразливостей інформаційної системита оперативне усунення нововиявлених уразливостей» наказів ФСТЕК Росії № 17 і 21. Наша компанія - ліцензіат ФСТЕК Росії на діяльність з технічний захистконфіденційної інформації.

Вартість

Мінімальна вартість - 25 000 рублів на рік за 50 підключених до системи вузлів за наявності чинного контракту на підключення до

При запуску інтелектуального скануванняПрограма Avast перевірить ПК на наявність наступних типів проблем, а потім запропонує варіанти їх усунення.

  • Віруси: файли, що містять шкідливий код, який може вплинути на безпеку та продуктивність вашого ПК.
  • Вразливе ПЗ: програми, які потребують оновлення, які можуть бути використані зловмисниками для доступу до вашої системи.
  • Браузерні розширення з поганою репутацією: розширення браузера, які зазвичай встановлюються без вашого відома та впливають на продуктивність системи.
  • Ненадійні паролі: паролі, які використовуються для доступу до однієї облікового записув Інтернеті та можуть бути легко зламані або скомпрометовані.
  • Мережеві загрози : вразливості вашої мережі, які можуть зробити можливими атаки на ваші мережеві пристроїта маршрутизатор.
  • Проблеми з продуктивністю: об'єкти ( непотрібні файлита програми, проблеми, пов'язані з налаштуваннями), які можуть перешкоджати роботі ПК.
  • Конфліктуючі антивіруси: антивірусні програми, встановлені на ПК разом із Avast. Наявність кількох антивірусних програмуповільнює роботу ПК та знижує ефективність антивірусного захисту.

Примітка. Вирішення певних проблем, які виявляються під час інтелектуального сканування, може вимагати окремої ліцензії. Виявити непотрібні типи проблем можна вимкнути в .

Вирішення виявлених проблем

Зелений прапорець поруч із областю сканування показує, що проблем, пов'язаних із нею, не виявлено. Червоний хрест означає, що сканування виявило одну чи кілька пов'язаних проблем.

Щоб переглянути конкретні відомості про виявлені проблеми, клацніть елемент Вирішити все. Інтелектуальне скануванняпоказує відомості про кожну проблему та пропонує можливість виправити її негайно, клацнувши елемент Вирішити, або зробити це пізніше, натиснувши Пропустити цей крок.

Примітка. Журнали сканувань антивірусу можна побачити в історії сканування, перейти до якої можна, вибравши Захист Антивірус.

Керування налаштуваннями інтелектуального сканування

Щоб змінити установки інтелектуального сканування, виберіть Установки Загальні Інтелектуальне скануваннята вкажіть, на наявність яких із перелічених типів проблем ви хочете виконати інтелектуальне сканування.

  • Віруси
  • Застаріле ПЗ
  • Надбудови браузера
  • Мережеві загрози
  • Проблеми із сумісністю
  • Проблеми з продуктивністю
  • Ненадійні паролі

За замовчуванням увімкнено всі типи проблем. Щоб припинити перевірку на наявність певної проблеми під час інтелектуального сканування, клацніть повзунок Увімкненопоряд з типом проблеми, щоб він змінив стан на Вимкнено.

Клацніть Налаштуванняпоряд з написом Сканування на віруси, щоб змінити настройки сканування.

В даний час розроблено велику кількість інструментальних засобів, призначених для автоматизації пошуку вразливостей програм. У цій статті будуть розглянуті деякі з них.

Вступ

Статичний аналіз коду - це аналіз програмного забезпечення, який проводиться над вихідним кодом програм і реалізується без виконання досліджуваної програми.

Програмне забезпечення часто містить різноманітні вразливості через помилки в коді програм. Помилки, допущені розробки програм, у деяких ситуаціях призводять до збою програми, отже, порушується нормальна робота програми: у своїй часто виникає зміна і псування даних, зупинення програми і навіть системи. Більшість уразливостей пов'язані з неправильною обробкою даних, одержуваних ззовні, чи недостатньо суворої їх перевіркою.

Для виявлення вразливостей використовують різні інструментальні засоби, наприклад статичні аналізатори вихідного коду програми, огляд яких наведено в даній статті.

Класифікація вразливостей захисту

Коли вимога коректної роботиПрограма на всіх можливих вхідних даних порушується, стає можливою поява так званих уразливостей захисту (security vulnerability). Вразливість захисту може призвести до того, що одна програма може використовуватися для подолання обмежень захисту всієї системи в цілому.

Класифікація вразливостей захисту залежно від програмних помилок:

  • Переповнення буфера (buffer overflow). Ця вразливість виникає через відсутність контролю над виходом межі масиву у пам'яті під час виконання програми. Коли надто великий пакет даних переповнює буфер обмеженого розміру, вміст сторонніх осередків пам'яті перезаписується, і відбувається збій та аварійний вихід із програми. За місцем розташування буфера в пам'яті процесу розрізняють переповнення буфера в стеку (stack buffer overflow), купі (heap buffer overflow) та області статичних даних (bss buffer overflow).
  • Вразливість "зіпсованого введення" (tainted input vulnerability). Вразливості "зіпсованого введення" можуть виникати у випадках, коли дані, що вводяться користувачем, без достатнього контролю передаються інтерпретатору деякої зовнішньої мови (зазвичай це мова Unix shell або SQL). У цьому випадку користувач може таким чином задати вхідні дані, що запущений інтерпретатор виконає зовсім не ту команду, яку передбачали автори вразливої ​​програми.
  • Помилки форматних рядків (format string vulnerability). Цей типуразливостей захисту є підкласом уразливості "зіпсованого введення". Він виникає через недостатній контроль параметрів при використанні функцій форматного введення-виведення printf, fprintf, scanf, і т. д. стандартної бібліотеки мови Сі. Ці функції приймають як один із параметрів символьний рядок, що задає формат введення або виведення наступних аргументів функції. Якщо користувач може задати вид форматування, то ця вразливість може виникнути в результаті невдалого застосування функцій форматування рядків.
  • Вразливість як наслідок помилок синхронізації (race conditions). Проблеми, пов'язані з багатозадачністю, призводять до ситуацій, званим "стан гонки": програма, не розрахована виконання у багатозадачному середовищі, вважатимуться, що, наприклад, використовувані нею під час роботи файли неспроможна змінити інша програма. Як наслідок, зловмисник, який вчасно підміняє вміст цих робочих файлів, може нав'язати програмі виконання певних дій.

Звичайно, крім перерахованих, існують і інші класи вразливостей захисту.

Огляд існуючих аналізаторів

Для виявлення вразливостей захисту у програмах застосовують такі інструментальні засоби:

  • Динамічні налагоджувачі. Інструменти, які дозволяють проводити налагодження програми у процесі її виконання.
  • Статичні аналізатори (статичні налагоджувачі). Інструменти, які використовують інформацію, накопичену під час статичного аналізу програми.

Статичні аналізатори вказують на ті місця в програмі, в яких може бути помилка. Ці підозрілі фрагменти коду можуть як містити помилку, так і виявитися абсолютно безпечними.

У цій статті запропоновано огляд кількох статичних аналізаторів. Розглянемо докладніше кожен із них.

Інший спосіб поглянути на цю проблему полягає в тому, що компанії повинні швидко реагувати, коли програма має вразливість. Це вимагає, щоб ІТ-відділ мав можливість остаточно відстежувати встановлені програми, компоненти та патчі за допомогою засобів автоматизації та стандартних інструментів. Існують галузеві зусилля зі стандартизації тегів програмного забезпечення (19770-2), які являють собою файли XML, встановлені з додатком, компонентом та/або патчем, які ідентифікують встановлене програмне забезпечення, а у випадку компонента або патча, який додаток вони є частиною. Теги мають авторитетну інформацію видавця, інформацію про версію, список файлів з ім'ям файлу, безпечний хеш файлу та розмір, які можуть бути використані для підтвердження того, що встановлений додаток знаходиться в системі, і що двійкові файли не були змінені третьою стороною. Ці мітки підписуються цифровим підписомвидавцем.

Коли відома вразливість, ІТ-відділи можуть використовувати своє програмне забезпечення для керування активами для негайного виявлення систем із вразливим програмним забезпеченням і можуть зробити кроки для оновлення систем. Теги можуть бути частиною патча або оновлення, які можна використовувати, щоб перевірити, що патч встановлений. Таким чином, ІТ-відділи можуть використовувати такі ресурси, як Національна база даних уразливостей NIST, як засіб управління своїми інструментами управління активами, так що, як тільки вразливість буде відправлена ​​компанією в NVD, ІТ-відділ може негайно порівняти нові вразливості з їх до теперішнього часу.

Існує група компаній, що працюють через некомерційну організацію IEEE/ISTO під назвою TagVault.org (www.tagvault.org) з урядом США на стандартну реалізацію ISO 19770-2, яка дозволить цей рівень автоматизації. Якогось моменту ці теги, що відповідають цій реалізації, швидше за все, будуть обов'язковими для програмного забезпечення, проданого уряду США в якийсь момент у найближчі кілька років.

Тому, зрештою, гарною практикою є не публікація про те, які додатки та конкретні версії програмного забезпечення ви використовуєте, але це може бути утруднено, як зазначалося раніше. Ви хочете переконатися в тому, що у вас є точний, сучасний інвентар програмного забезпечення, що він регулярно порівнюється зі списком відомих уразливостей, таких як NVID від NVD, і що ІТ-відділ може вжити негайних дій для ремінування загрози, Це поряд з новітнім виявленням вторгнень, антивірусним скануванням та іншими методами блокування середовища, принаймні, буде дуже складно скомпрометувати ваше середовище, і якщо/коли це станеться, то воно не буде виявлено протягом тривалого часу.



Розповісти друзям