Уразливість (інформаційні технології)
У комп'ютерній безпеці, уразливість (англ. system vulnerability) — нездатність системи протистояти реалізації певної загрози або сукупності загроз[1]. Тобто, це певні недоліки в комп'ютерній системі, завдяки яким можна навмисно порушити її цілісність і викликати неправильну роботу.
Уразливість може виникати в результаті допущених помилок програмування, недоліків, допущених при проектуванні системи, ненадійних паролів, вірусів та інших шкідливих програм, скриптових і SQL-ін'єкцій. Деякі уразливості відомі тільки теоретично, інші ж активно використовуються і мають відомі експлойти.
Класифікація
Уразливості, класифікуються відповідно до класу активів, до яких вони відносяться:[2]
- Апаратне забезпечення:
- Сприйнятливість до вологості;
- Сприйнятливість до пилу;
- Сприйнятливість до забруднень;
- Сприйнятливість до незахищеної зберігання.
- Програмне забезпечення:
- Недостатнє тестування;
- Відсутність аудиту.
- Комп'ютерна мережа:
- Незахищені лінії зв'язку;
- Незахищена мережева архітектура.
- Персонал:
- Недоліки найму працівників;
- Недостатня поінформованість про небезпеку.
- Сайт:
- Ненадійне джерело живлення.
- Організація:
- Відсутність регулярних перевірок;
- Відсутність планів безперервності;
- Відсутність безпеки.
Програмне забезпечення уразливостей
Поширені типи вразливостей включають в себе:
- Порушення безпеки доступу до пам'яті, такі як:
- Помилки перевірки введених даних, такі як:
- Помилки форматування рядка.
- Невірна підтримка інтерпретації метасимволів командної оболонки
- SQL ін'єкція;
- Ін'єкція коду;
- E-mail ін'єкція;
- Обхід каталогів;
- Міжсайтовий скриптинг у веб-додатках (Міжсайтовый скриптинг за наявності SQL-ін'єкції).
- Стан гонитви, наприклад:
- Помилки часу перевірки до часу використання;
- Гонки символьних посилань.
- Помилки плутанини привілеїв, такі як:
- Підробка міжсайтових запитів у веб-додатках.
- Підвищення привілеїв, наприклад:
- Shatter attack («Підривна атака»).
Причини уразливостей
Зазвичай уразливість дозволяє атакуючому «обдурити» додаток — змусити його вчинити дію, на яку у нього не повинно бути прав. Це робиться шляхом впровадження будь-яким чином в програму даних або коду в такі місця, що програма сприйме їх як «свої». Деякі уразливості з'являються через недостатню перевірку даних, що вводяться користувачем, і дозволяють вставити в інтерпретований код довільні команди (SQL-ін'єкція, XSS). Інші уразливості з'являються через більш складні проблеми, такі як запис даних в буфер без перевірки його меж (переповнення буфера).
Отже, основними причинами вразливостей є:
- Складність: великі, складні системи збільшують ймовірність дефектів і ненавмисних точок доступу.[3]
- Відомість: використання загального, відомого коду, програмного забезпечення, операційних систем та/або обладнання збільшує ймовірність того, що зловмисник може знайти інформацію та інструменти, щоб використати недолік[4].
- Зв'язок: фізичні з'єднання, привілеї, порти, протоколи, служби та час, який вони є доступними, збільшує вразливість.
- Недостатній контроль паролів: користувач використовує слабкі паролі, які можуть бути виявлені за допомогою грубої сили; користувач комп'ютера зберігає пароль на комп'ютері, на якому програма може отримати до нього доступ; користувач повторно використовує паролі між багатьма програмами і вебсайтами[3].
- Фундаментальні недоліки дизайну операційної системи: дизайнер операційної системи вибирає для забезпечення роботи неоптимальні політики управління «користувач — програма». Наприклад, операційні системи з політикою щодо дозволу на отримання повного доступу до всього комп'ютера для будь-якої програми чи користувача. Ці недоліки операційної системи дозволяють вірусам і шкідливим програмам виконувати команди від імені адміністратора[5].
- Перегляд вебсайту: Деякі сайти можуть містити шкідливі шпигунські або рекламні програми, які можуть бути автоматично встановлені на комп'ютерних системах. Після відвідування цих сайтів, комп'ютерні системи можуть заразитися і особиста інформація буде збиратися і передаватися до сторонніх осіб[6].
- Помилки програмного забезпечення: Програміст залишає помилку в програмі, яка може дозволити зловмиснику зловживати програмою[3].
- Необмежений вхід користувача: Програма припускає, що все, що вводить користувач безпечно. Програми, які не перевіряють введення користувача, можуть дозволити ненавмисне безпосереднє виконання команд або операторів SQL (відомих як переповнення буфера, ін'єкції SQL та інші неперевірені входи)[3].
Наслідки уразливостей
Вплив порушення безпеки може бути досить високим. Той факт, що ІТ-менеджери або вище керівництво знають, що ІТ-системи та програми мають уразливості, і не роблять нічого, щоб запобігти ІТ-ризику, розглядається як проступок в більшості законодавств. Закон щодо захисту персональних даних змушує менеджерів діяти, щоб зменшити вплив або ймовірність цього ризику безпеки. Тест на проникнення є однією з форм перевірки слабкості і контрзаходів, прийнятих в організації: Білий хакер намагається атакувати ІТ-активи організації, щоб з'ясувати, наскільки легко чи важко обійти безпеку. Правильним способом професійно управляти ІТ-ризиком є прийняття системи управління інформаційною безпекою, такої як ISO / IEC 27002 та дотримуватися її, у відповідності зі стратегією безпеки, встановленою вищим керівництвом. Однією з ключових концепцій інформаційної безпеки є принцип комплексного захисту: тобто створення багатошарової системи захисту, яка може:
- виявити і перехопити атаку;
- вичислити агентів загроз і переслідувати їх.
Система виявлення вторгнень є прикладом класу систем, що використовуються для виявлення атак. Деякі набори критеріїв, яким повинен задовольняти комп'ютер, його операційна система і додатки з метою задоволення доброго рівня безпеки були розроблені, прикладами є ITSEC і критерії оцінки інформаційної безпеки.
Виявлення та усунення вразливостей
Пошук вразливостей іноді називають зондуванням, наприклад коли говорять про зондування віддаленого комп'ютера — мають на увазі пошук відкритих мережевих портів і наявності вразливостей, пов'язаних з додатками, що використовують ці порти.
Метод інформування про уразливість є одним з пунктів спору в співтоваристві комп'ютерної безпеки. Деякі фахівці відстоюють негайне повне розкриття інформації про уразливість, як тільки вони знайдені. Інші радять повідомляти про уразливість тільки тим користувачам, які піддаються найбільшому ризику, а повну інформацію публікувати лише після затримки або не публікувати зовсім. Такі затримки можуть дозволити тим, хто був сповіщений, виправити помилку за допомогою розробки і застосування патчів, але також можуть і збільшувати ризик для тих, хто не посвячений у деталі.
Існують інструментальні засоби, які можуть допомогти у виявленні вразливостей в системі. Хоча ці інструменти можуть забезпечити аудитору хороший огляд можливих вразливостей, що існують в системі, вони не можуть замінити участь людини в їх оцінці.
Для забезпечення захищеності і цілісності системи необхідно постійно стежити за нею: встановлювати оновлення, використовувати інструменти, які допомагають протидіяти можливим атакам. Уразливості виявлялися у всіх основних операційних системах, включаючи Microsoft Windows, Mac OS, різні варіанти UNIX (у тому числі GNU / Linux) і OpenVMS. Так як нові уразливості знаходять безперервно, єдиний шлях зменшити ймовірність їх використання проти системи — постійна пильність.
Бази вразливостей
Для спрощення перевірки встановленого програмного забезпечення та апаратних засобів на вразливості та інформування адміністраторів інформаційно-телекомунікаційних систем створюються різноманітні бази даних вразливостей:
Див. також
Примітки
- 4.1 Основні поняття. НД ТЗІ 1.1-003-99: Термінологія в галузі захисту інформації в комп’ютерних системах від несанкціонованого доступу. Київ: Департамент спеціальних телекомунікаційних систем та захисту інформації Служби безпеки України. 1999.
- ISO/IEC, «Information technology — Security techniques-Information security risk management» ISO/IEC FIDIS 27005:2008
- Kakareka, Almantas (2009). 23. У Vacca, John. Computer and Information Security Handbook. Morgan Kaufmann Publications. Elsevier Inc. с. 393. ISBN 978-0-12-374354-1.
- Krsul, Ivan (15 квітня 1997). Technical Report CSD-TR-97-026. The COAST Laboratory Department of Computer Sciences, Purdue University. CiteSeerX: 10.1.1.26.5435.
- The Six Dumbest Ideas in Computer Security. ranum.com.
- The Web Application Security Consortium / Web Application Security Statistics. webappsec.org.