Тестування безпеки

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

Основна мета тестування безпеки — виявити загрози в системі та виміряти її потенційні вразливості, щоб можна було ефективно захиститися від загроз і керувати ризиками безпеки.

Типи тестування безпеки

Існує сім основних типів тестування безпеки (OSSTMM – Open Source Security Testing methodology manual):

  • Сканування вразливостей (Vulnerability Scanning): виконується за допомогою автоматизованого програмного забезпечення для сканування системи на відомі сигнатури вразливостей.
  • Сканування безпеки (Security scanning): передбачає виявлення слабких місць мережі та системи, а потім пропонує рішення для зменшення цих ризиків. Це сканування можна виконувати як вручну так і за допомогою інструментів.
  • Тестування проникнення (Penetration testing): цей вид тестування імітує атаку хакера, передбачає аналіз конкретної системи для виявлення потенційної вразливості.
  • Оцінка ризиків (Risk Assessment): тестування передбачає аналіз ризиків безпеки, які є в організації. Ризики класифікуються як низькі, середні та високі. Це тестування рекомендує засоби контролю та заходи для зменшення ризику.
  • Аудит безпеки (Security Auditing): це внутрішня перевірка додатків і операційних систем на наявність недоліків у безпеці.
  • Етичне хакерство (Ethical hacking): злам систем програмного забезпечення організації. На відміну від хакерів (black hat), які крадуть заради власної вигоди, метою є виявлення недоліків безпеки в системі за згодою з власником цієї системи.
  • Оцінка стану (Posture Assessment): поєднує сканування безпеки, етичне хакерство та оцінку ризиків, щоб показати загальний стан безпеки організації.

Тестування безпеки в контексті SDLC

Керуємося принципом раннього тестування.

Фази SDLCПроцеси безпеки
ВимогиАналіз безпеки для вимог і перевірка випадків зловживань/зловживання
ДизайнАналіз ризиків безпеки для проєктування. Розробка плану тестування, включаючи тести безпеки
Кодування та модульне тестуванняСтатичне та динамічне тестування та тетсування білої скриньки безпеки
Інтеграційне тестуванняТестування чорної скриньки безпеки
Тестування системиСканування вразливостей та тестування чорного скриньки безпеки
РеалізаціяТестування проникнення, сканування вразливостей
ПідтримкаАналіз впливу патчів

Ролі тестування безпеки

Хакери  (Hackers) – доступ до комп’ютерної системи або мережі без авторизації.

Зломщики (Crackers) – проникають у системи, щоб викрасти або знищити дані.

Етичний хакер (Ethical hacker) – виконує більшість дій зі злому, але з дозволу власника.

Script Kiddies або packet monkeys – недосвідчені хакери зі знанням мови програмування.

Інструменти тестування безпеки

OWASP – Open Web Application Security Project

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

Популярні інструменти:

  • OWASP Web Testing Environment Project – проєкт середовища веб-тестування OWASP (колекція засобів безпеки та документації).
  • OWASP Dependency Check – перевірка залежностей OWASP (вона шукає залежності проєкту та перевіряє на відомі вразливості)
  • Zed Attack Proxy – інтегрований інструмент тестування на проникнення.

Wireshark

Wireshark — це інструмент аналізу мережі. Він перехоплює пакети в режимі реального часу та відображає їх у форматі, зрозумілому людині. По суті, це аналізатор мережевих пакетів, який надає детальні відомості про ваші мережеві протоколи, розшифровку, інформацію про пакети тощо. Це open source інструмент і може використовуватися в Linux, Windows, OS X, Solaris, NetBSD, FreeBSD і багатьох інших інші системи.

w3af

w3af — це фреймворк для симуляції атак та аудиту веб-додатків. Це фреймворк має три типи плагінів; виявлення, аудит і атака, які взаємодіють між собою для виявлення різних вразливостей на сайті. Наприклад, плагін виявлення в w3af шукає різні URL-адреси, щоб перевірити наявність вразливостей, і пересилає їх плагіну аудиту, який потім використовує ці URL-адреси для пошуку вразливостей.

Intruder

Intruder — це потужний автоматизований інструмент тестування на проникнення, який виявляє слабкі місця безпеки у вашому ІТ-середовищі. Пропонує постійний моніторинг і просту у використанні платформу:

  • Перевіряє слабкі місця конфігурації, відсутні патчі, слабкі сторони додатків
  • Автоматичний аналіз і пріоритезація результатів сканування
  • Інтуїтивно зрозумілий інтерфейс, швидке налаштування та виконання перших сканувань
  • Проактивний моніторинг безпеки на наявність останніх вразливостей
  • Може використовуватися як великим, так і малим бізнесом.

Є платним, для малого бізнесу з одним додатком для тестування і десятком цілей в середньому коштує 200 доларів на місяць, а для великого бізнесу ціна може бути – 5-6 тисяч доларів на місяць.

Acunetix

Acunetix — інтуїтивно зрозумілий і простий у використанні інструмент. Пропонує: розширений сканер для найскладніших веб-додатків, у.т.ч. багатоформатні та захищені паролем області; комбіноване інтерактивне та динамічне тестування безпеки додатків для виявлення вразливостей, які пропускають інші інструменти; звіт про відповідність нормативним стандартам (наприклад ISO 27001) та інші функціональні можливості. Це також платний, комерційни інструмент, доволі дорогий. Базова підписка коштує 4.5 тисячі доларів.

Тестування безпеки

В цьому відео поговоримо про тестування безпеки:
00:10 Тестування безпеки
02:34 Типи тестування безпеки
05:49 Тестування безпеки в контексті SDLC
09:41 Ролі тестування безпеки
12:40 Інструменти тестування безпеки

Leave a Reply

Your email address will not be published. Required fields are marked *