Що таке тестування безпеки?
ТЕСТУВАННЯ БЕЗПЕКИ - це тип Тестування програмного забезпечення, який виявляє вразливості, загрози та ризики програмних додатків та запобігає зловмисним атакам зловмисників. Метою тестів на безпеку є виявлення всіх можливих лакун та слабких місць програмної системи, які можуть призвести до втрати інформації, доходів, репутації з боку працівників або сторонніх організацій.
Чому тестування безпеки є важливим?
Основною метою Тестування безпеки є виявлення загроз у системі та вимірювання її потенційних вразливостей, завдяки чому можна зіткнутися із загрозами, а система не перестає функціонувати або не може бути використана. Це також допомагає виявити всі можливі ризики безпеки в системі та допомагає розробникам усувати проблеми за допомогою кодування.
У цьому підручнику ви дізнаєтесь-
- Що таке тестування безпеки?
- Види перевірки безпеки
- Як зробити перевірку безпеки
- Приклади сценаріїв тестування для перевірки безпеки
- Методології / Підхід / Методи перевірки безпеки
- Ролі тестування безпеки
- Засіб перевірки безпеки
- Міфи та факти перевірки безпеки
Види перевірки безпеки:
Відповідно до посібника з методології тестування безпеки з відкритим кодом, існує сім основних типів тестування безпеки. Вони пояснюються наступним чином:
- Сканування вразливості : Це робиться за допомогою автоматизованого програмного забезпечення для сканування системи на наявність відомих сигнатур вразливості.
- Сканування безпеки: воно передбачає виявлення слабких сторін мережі та системи, а згодом пропонує рішення для зменшення цих ризиків. Це сканування можна виконати як для ручного, так і для автоматизованого сканування.
- Тестування на проникнення : Цей вид тестування імітує атаку зловмисного хакера. Це тестування включає аналіз певної системи для перевірки на потенційні вразливості до зовнішньої спроби злому.
- Оцінка ризиків: Це тестування включає аналіз ризиків безпеки, що спостерігаються в організації. Ризики класифікуються як низькі, середні та високі. Це тестування рекомендує засоби контролю та заходи для зменшення ризику.
- Аудит безпеки: це внутрішня перевірка додатків та операційних систем на наявність недоліків безпеки. Аудит також можна здійснити за допомогою рядкової перевірки коду
- Етичний злом: це злом системного програмного забезпечення організації. На відміну від зловмисних хакерів, які крадуть заради власної вигоди, метою є виявлення недоліків безпеки в системі.
- Оцінка постави: Це поєднує в собі сканування безпеки, етичні злому та оцінку ризиків, щоб показати загальну поставу безпеки організації.
Як зробити перевірку безпеки
Завжди домовляються, що ці витрати будуть більшими, якщо ми відкладемо тестування безпеки після фази впровадження програмного забезпечення або після розгортання. Отже, необхідно залучати тестування безпеки до життєвого циклу SDLC на попередніх етапах.
Давайте розглянемо відповідні процеси безпеки, які будуть прийняті для кожного етапу в SDLC
Фази SDLC | Процеси безпеки |
---|---|
Вимоги | Аналіз безпеки на вимоги та перевірка випадків зловживання / зловживання |
Дизайн | Аналіз ризиків безпеки для проектування. Розробка плану випробувань, включаючи тести безпеки |
Кодування та модульне тестування | Статичне та динамічне тестування та тестування білого ящика безпеки |
Інтеграційне тестування | Тестування чорної скриньки |
Тестування системи | Тестування чорної скриньки та сканування вразливостей |
Впровадження | Тестування на проникнення, сканування вразливості |
Підтримка | Аналіз впливу патчів |
План випробувань повинен включати
- Тестові випадки або сценарії, пов’язані з безпекою
- Тестові дані, пов'язані з тестуванням безпеки
- Тестові інструменти, необхідні для перевірки безпеки
- Аналіз результатів різних тестів з різних засобів захисту
Приклади сценаріїв тестування для перевірки безпеки:
Приклади сценаріїв тестування, щоб дати вам уявлення про тестові випадки безпеки -
- Пароль повинен бути у зашифрованому форматі
- Додаток або система не повинні дозволяти недійсним користувачам
- Перевірте файли cookie та час сеансу для програми
- Для фінансових сайтів кнопка повернення браузера не повинна працювати.
Методології / Підхід / Методи перевірки безпеки
При тестуванні безпеки дотримуються різних методологій, і вони такі:
- Tiger Box : Це злом зазвичай робиться на ноутбуці, який має набір ОС і інструментів для злому. Це тестування допомагає тестувальникам проникнення та тестувальникам безпеки проводити оцінку вразливостей та атаки.
- Black Box : Тестер має право проводити тестування щодо всього, що стосується топології мережі та технології.
- Сірий ящик : тестувальнику передається часткова інформація про систему, і це гібрид білих та чорних моделей ящиків.
Ролі тестування безпеки
- Хакери - отримати доступ до комп’ютерної системи або мережі без дозволу
- Крекери - проникніть у системи, щоб викрасти або знищити дані
- Етичний хакер - виконує більшість порушень, але з дозволу власника
- Скрипт-Кідді або пакетні мавпи - Недосвідчені хакери, що володіють мовою програмування
Засіб перевірки безпеки
1) Порушник
Intruder - це корпоративний сканер вразливостей, яким легко користуватися. Він проводить понад 10 000 високоякісних перевірок безпеки вашої ІТ-інфраструктури, які включають, але не обмежуються цим: слабкі сторони конфігурації, слабкі сторони додатків (наприклад, введення SQL та сценарії між сайтами) та відсутні патчі. Забезпечуючи розумно пріоритетні результати, а також попереджувальне сканування на наявність останніх загроз, Intruder допомагає економити час та захищає компанії будь-якого розміру від хакерів.
Особливості:
- З’єднувачі AWS, Azure та Google Cloud
- Результати для периметра для зменшення зовнішньої поверхні атаки
- Якісна звітність
- Інтеграції Slack, Microsoft Teams, Jira, Zapier
- Інтеграція API з вашим конвеєром CI / CD
2) Овасп
Проект відкритих веб-програм безпеки (OWASP) - це всесвітня некомерційна організація, орієнтована на покращення безпеки програмного забезпечення. Проект має безліч інструментів для тестування різних програмних середовищ та протоколів. Флагманські інструменти проекту включають
- Zed Attack Proxy (ZAP - інтегрований інструмент тестування на проникнення)
- Перевірка залежності OWASP (вона перевіряє залежності проекту та перевіряє наявні уразливості)
- Проект веб-середовища тестування OWASP (збір інструментів безпеки та документації)
3) WireShark
Wireshark - це інструмент мережевого аналізу, раніше відомий як Ethereal. Він захоплює пакети в режимі реального часу та відображає їх у зручному для читання форматі. По суті, це аналізатор мережевих пакетів - який надає найдрібніші подробиці про ваші мережеві протоколи, дешифрування, інформацію про пакети тощо. Це відкритий код і може використовуватися в Linux, Windows, OS X, Solaris, NetBSD, FreeBSD та багатьох інших інші системи. Інформацію, яку отримують за допомогою цього інструменту, можна переглянути через графічний інтерфейс або утиліту TShark у режимі TTY.
4) W3af
w3af - це фреймворк для атак та аудиту веб-додатків. Він має три типи плагінів; виявлення, аудит та атаки, які взаємодіють між собою щодо будь-яких уразливостей на сайті, наприклад, плагін виявлення у w3af шукає різні URL-адреси для тестування на вразливості та пересилає їх до плагіна аудиту, який потім використовує ці URL-адреси для пошуку вразливостей.
Міфи та факти тестування безпеки:
Поговоримо про цікаву тему про міфи та факти тестування безпеки:
Міф №1 Нам не потрібна політика безпеки, оскільки у нас є малий бізнес
Факт: кожному і кожній компанії потрібна політика безпеки
Міф №2 Немає віддачі від інвестицій у тестування безпеки
Факт: Тестування безпеки може вказати на напрямки вдосконалення, які можуть підвищити ефективність та зменшити час простою, забезпечуючи максимальну пропускну здатність.
Міф №3 : Єдиний спосіб захистити - це відключити його.
Факт: Єдиним і найкращим способом захистити організацію є пошук "Ідеальної безпеки". Ідеальної безпеки можна досягти, виконавши оцінку постави та порівнявши її з діловими, юридичними та галузевими обґрунтуваннями.
Міф No4 : Інтернет не безпечний. Я придбаю програмне чи апаратне забезпечення для захисту системи та збереження бізнесу.
Факт: Однією з найбільших проблем є придбання програмного та апаратного забезпечення для забезпечення безпеки. Натомість організація повинна спочатку зрозуміти безпеку, а потім застосувати її.
Висновок:
Тестування безпеки є найважливішим тестуванням програми та перевіряє, чи конфіденційні дані залишаються конфіденційними. У цьому типі тестування тестер виконує роль зловмисника та розігрує систему, щоб знайти помилки, пов'язані з безпекою. Тестування безпеки є дуже важливим у програмній інженерії, щоб захистити дані будь-якими способами.