Вступ до тестування безпеки

Тестування безпеки - це тестування програмного забезпечення, призначене для виявлення вразливості системи та забезпечення його інформації та ресурсів захищених від можливих зловмисників. Так само веб-додаток потребує, крім захисту даних, безпеку щодо доступу. Додаток має захищати від Brute Force Attacks та XSS, SQL Injections від веб-розробника. Так само віддалені точки доступу до веб-програми також повинні бути безпечними. Однак значення безпеки зростає експоненціально, коли ми говоримо про Інтернет. Ніхто ніколи не подумає, що якщо онлайн-система не зможе захистити дані транзакцій. Безпека ще не є терміном для її визначення.
Ось деякі списки вад безпеки
• Якщо відділення «Вступ» може редагувати інформацію про іспит, система управління студентом є незахищеною.
• Якщо DEO (оператор введення даних) може виробляти "звіти", схема ERP не є безпечною.
• Якщо реквізити клієнтської картки клієнта не зашифровані, веб-сайт не захищений.
• Персоналізоване програмне забезпечення має недостатню безпеку, коли SQL-запит знаходить справжні паролі користувача.

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

Посібник з методики тестування безпеки з відкритим кодом містить сім основних видів тестів на безпеку. Описано наступне:

1. Сканування вразливості

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

2. Сканування безпеки

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

3. Тестування на проникнення

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

4. Оцінка ризику

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

5. Аудит безпеки

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

6.Етичне хакерство

Етичний злом - це не те саме, що злочинний злом. Етичний злом спрямований на виявлення недоліків безпеки в організаційній структурі.

7. Оцінка постави

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

Методології тестування безпеки

Існують різні методики тестування безпеки
1. Коробка тигра
2. Чорний ящик
3. Сіра коробка

Тигрова коробка:

Це злом, як правило, виконується на ноутбуці з ОС та збору інструментів для злому. Цей тест дозволяє операторам тестування на проникнення та операторам тестування безпеки оцінювати та атакувати вразливості.

Чорна коробка:

Тест на чорний ящик - це метод тестування програмного забезпечення, відомий тестерові як тест на поведінку. Таким чином, внутрішня конструкція тестового продукту не відома. Ці іспити можуть бути як функціональними, так і ні.

Сірий ящик:

Grey Box Testing - це методика тестування програмного забезпечення, що поєднує тестування Black Box та White Box. Тестування сірого ящика - це метод тестування програми або програмного продукту, який є частиною внутрішньої роботи програми.

Як ми можемо зробити тестування безпеки?

Завжди було домовлено, що якщо ми відкладемо тестування безпеки після впровадження або розгортання програмного забезпечення, ця вартість буде збільшена. На більш ранніх етапах випробування на безпеку повинні проводитися в життєвому циклі SDLC. Давайте розглянемо відповідні процедури безпеки для кожного етапу SDLC. Для вхідних областей Тестер може перевірити максимальну довжину. Це обмеження може - не дозволяти хакеру включати такі шкідливі сценарії.
• Вимоги оцінки безпеки та перевірки зловживань / неправильного використання.
• Аналіз небезпек для безпеки для проектування. Розробка плану тесту, включаючи тестування безпеки.

10 найкращих інструментів тестування безпеки з відкритим кодом

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

1. Вапіті

Wapiti - це потужний інструмент тестування безпеки веб-додатків для оцінки безпеки вашого веб-додатка. Він проводить "тестування чорної скриньки", щоб перевірити можливу вразливість веб-додатків. Він сканує веб-сторінки та вводить інформацію про тестування для моніторингу дефіциту безпеки під час фази тестування. Wapiti визначає численні вразливості для підтримки GET та POST HTTP-атак. Wapiti - це додаток для команд, який важкий для початківців, але простий для професіоналів. Програмне забезпечення потребує повного розуміння команд.

Особливості Wapiti

• ін'єкція XSS
• Ін'єкція бази даних
• Виявлення виконання команд.
• ін'єкційний CRLF

2. Проксі-сервер Zed Attack

Zed Attack Proxy, широко відомий як ZAP, ZAP був створений OWASP і з цим ZAP є відкритим кодом. Zed Attack Proxy, що підтримується Unix / Linux, Windows та Mac OS, Zed Attack Proxy дозволяє виявити коло вразливих ситуацій навіть на етапі розробки та тестування веб-додатків. Цей тестовий інструмент простий у використанні, навіть якщо ви новачок проникнення.

Особливості Zed Attack

• Zed Attack Proxy підтримує сканер автоматизації та підтримку аутентифікації.
• Zed Attack Proxy також має динамічний сертифікат SSL та підтримку веб-сокетів.

3. Вега

Написано в JAVA, Vega має графічний інтерфейс. Він доступний на Linux, Mac OS та Windows, що може вам допомогти. Vega - це безкоштовний інструмент тестування веб-додатків та платформа Open Source. Vega може допомогти у пошуку та валідації інжекцій SQL, міжсайтового сценарію (XSS) та інших уразливостей. Він також може бути використаний для встановлення переваг, таких як кількість нащадків шляху та кількість вузлів в секунду, максимальний і мінімальний запит на секунду.

Особливості Vega

• Вега має сценарій між сайтом.
• Перевірка ін'єкцій SQL

4. W3af

W3af - відома структура тестування безпеки для веб-додатків. Він забезпечує ефективну платформу тестування проникнення веб-додатків, розроблену за допомогою Python. Цей інструмент може бути використаний для виявлення понад 200 видів проблем із безпекою інтернет-додатків, таких як крос-сайтовий сценарій та ін'єкція SQL. Він контролює такі вразливості веб-додатків. W3af можна легко зрозуміти як в інтерфейсі GUI, так і в консолі. Модулі аутентифікації також дозволяють вам автентифікувати веб-сайт.

Особливості W3af

• Кілька несправних параметрів CORS
• CSRF та значно більша вразливість

5. Шкірочка

Skipfish - це тестовий інструмент, що захищається веб-додатком, який виправляє сайт і перевіряє наявність слабких сторін на кожній сторінці та, нарешті, готує аудиторський звіт. Skipfish написаний мовою c та оптимізований для обробки HTTP та для залишку мінімальних слідів процесора. Не показуючи слід процесора, програмне забезпечення, яке претендує на обробку 2 К запитів в секунду. Інструмент також стверджує, що пропонує високоякісні переваги, оскільки використовує евристику у веб-додатках. Для інтернет-додатків Linux, FreeBSD, Mac-OS X та Windows надаються інструментами оцінки безпеки Skipfish.

6. SQLMap

SQLMap - це звичайний веб-інструмент тестування безпеки для автоматизації процесу виявлення вразливості введення SQL на базі даних веб-сайтів. Тестовий двигун, укомплектований низкою різноманітних функцій, є потужним, що дозволяє легко проникнути та перевірити інжекцію SQL у веб-додатку. SQLMap підтримує безліч баз даних, включаючи MySQL, Oracle, PostgreSQL, Microsoft SQL та ін. Крім того, тестовий інструмент підтримує шість різних методів ін'єкції SQL.

7. Wfuzz

Wfuzz - ще один інструмент з відкритим кодом, який може бути вільно доступний на ринку для веб-інструменту тестування безпеки. Цей інструмент для тестування був розроблений в Python і використовується для веб-додатків для грубої сили. Вам потрібно працювати з інтерфейсом командного рядка під час використання WFuzz, оскільки немає інтерфейсу GUI. Деякі характеристики Wfuzz:

Особливості Wfuzz

• Wifuzz підтримує декілька точок ін'єкції.
• Вихід Wfuzz входить у HTML
• У ньому також є багатопоточна різьба
• Він також має підтримку декількох проксі

8. Metasploit

Один з найбільш часто використовуваних рамок для тестів на проникнення. Metasploit - це тестова платформа з відкритим кодом, яка дозволяє проводити тести безпеки, що значно виходять за межі оцінки ризику.

Особливості Metasploit

• Структура набагато краща, ніж у конкурентів.
• Багато сценаріїв макетних функцій проникнення

9. Акунетикс

Повний інструмент для автоматичного оцінювання проникнення для сканування ваших веб-сайтів на предмет вразливості до 4500 +. Найяскравіша особливість Acunetix - це те, що він може переривати тисячі сторінок безперервно.

Особливість Acunetix

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

10. Граббер

Grabber - це сканер з відкритим кодом для виявлення вразливості безпеки інтернет-додатків. Невеликі веб-додатки, такі як форуми та приватні веб-сайти, є мобільними і їх можна сканувати. Grabber - це невеликий інструмент для тестування, який займає більше часу для сканування великих програм. Крім того, сканер не має інтерфейсу GUI і не створює функції створення звітів PDF, оскільки він призначений для особистого використання.

Особливості Граббера

• Резервне копіювання файлів
• Перевірка Ajax

Висновок

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

Рекомендовані статті

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

  1. Альфа-тестування та бета-тестування
  2. Статичне тестування
  3. Що таке тестування на юзабіліті?
  4. Інструменти тестування продуктивності
  5. Переваги та недоліки бета-тестування
  6. Дізнайтеся про інструменти тестування додатків