Уразливість

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до: навігація, пошук

У комп'ютерній безпеці, уразливість (англ. 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. Так як нові уразливості знаходять безперервно, єдиний шлях зменшити ймовірність їх використання проти системи — постійна пильність.

Див. також[ред.ред. код]

Примітки[ред.ред. код]

  1. 4.1 Основні поняття. НД ТЗІ 1.1-003-99: Термінологія в галузі захисту інформації в комп’ютерних системах від несанкціонованого доступу. Київ: Департамент спеціальних телекомунікаційних систем та захисту інформації Служби безпеки України. 1999. 
  2. ISO/IEC, «Information technology — Security techniques-Information security risk management» ISO/IEC FIDIS 27005:2008
  3. а б в г Kakareka, Almantas (2009). 23. У Vacca, John. Computer and Information Security Handbook. Morgan Kaufmann Publications. Elsevier Inc. с. 393. ISBN 978-0-12-374354-1. 
  4. Krsul, Ivan (April 15, 1997). Technical Report CSD-TR-97-026. The COAST Laboratory Department of Computer Sciences, Purdue University. CiteSeerX: 10.1.1.26.5435. 
  5. The Six Dumbest Ideas in Computer Security. ranum.com. 
  6. The Web Application Security Consortium / Web Application Security Statistics. webappsec.org.