Пропоную Вашій увазі цикл статей по найбільш повної методології тестування безпеки веб-додатків - OWASP Testing Guide.
Тестування: введення і завдання
Даний розділ описує методологію тестування безпеки веб-додатків OWASP і пояснює як шукати уразливості в додатках, що виникли через недоліки забезпечення безпеки.
Що таке тестування безпеки веб-додатків?
Тестування безпеки - це спосіб оцінки захищеності комп'ютерної системи або ж мережі, який полягає в методичної перевірці ефективності її захисту. Тестування безпеки веб-додатків концентрує увагу тільки на оцінці захищеності веб-додатків. Процес тестування включає активний пошук будь-яких слабкостей, технічних недоліків або вразливостей в додатку. Будь-які виявлені проблеми в безпеці повинні бути озвучені власнику системи, також надається оцінка впливу виявлених проблем і можливі способи їх усунення.
Що таке вразливість?
Уразливість це помилка або ж слабкість дизайні або реалізації системи, екпслуатація якої може скомпрометувати всю систему.
Що таке загроза?
Загрозою може бути все (зовнішній атакуючий, внутрішній користувач, нестабільність системи і т.д.), що може завдати шкоди активів, які використовуються додатком (дані в базі даних або файлової системи) при експлуатації уразливості.
Що таке тестування?
Тестування це перевірка відповідності веб-додатки всім вимогам безпеки.
Підхід при написанні цього посібника
Даний посібник є відкритим і спільним:
- Відкритий: кожен експерт в інформаційній безпеці може брати участь, незважаючи на його досвід. Також даний проект повністю безкоштовний.
- Спільний: перед публікацією статті відбувається її обговорення, метою якого є об'єднання ідей учасників.
З метою даного підходу ми прагнемо створити Методологію тестування, яка буде:
- послідовної;
- відтворюється;
- ретельної;
- Під якісним контролем.
Проблеми, які будуть розглянуті повністю задокументовані і протестовані. Важливо використовувати методологію при тестуванні всіх відомих вразливостей, також необхідно документувати всі вжиті заходи.
Що таке методологія тестування OWASP?
Тестування безпеки ніколи не буде точною наукою, з певним списком можливих проблем, які повинні бути протестовані. Насправді ж тестування тестування безпеки це набір способів тестування веб-додатків при певних обставинах. Метою даного проекту є збір всіх можливих способів тестування, пояснення даних способів і підтримку цього посібника в актуальному стані. Методологія тестування безпеки веб-додатків OWASP базується на методі чорного ящика. Інформацію про тестованому додатку є обмеженою або відсутній взагалі.
Модель тестування складається з наступних елементів:
- Тестувальник - той хто проводить тестування;
- Інструменти і методологія - ядро даного проекту;
- Додаток, який тестується методом чорного ящика.
В цілому тестування можна розділити на два етапи:
Під час пасивного етапу тестувальник намагається зрозуміти логіку програми і «грає» з ним. Можуть використовуватися інструменти для збору інформації. Наприклад, за допомогою HTTP проксі можна вивчити всі HTTP запити і відповіді. В кінці цього етапу тестувальник повинен розуміти всі крапки входу додатки (наприклад, HTTP заголовки, параметри і куки). У розділі «Збір інформації» пояснюється як потрібно проводити тестування під час пасивного етапу.
Наприклад, тестувальник може знайти що-небудь подібне:
Даний урл може свідчити про наявність форми аутентифікації, в якій запитується ім'я користувача і пароль.
Наступні параметри представляють собою дві точки входу в додатку:
Всі точки входу, виявлені під час пасивного етапу, в подальшому повинні бути протестовані. Також корисно для наступного етапу скласти таблицю з директоріями і файлами додатки, з усіма точками входу (прим. Перекладача: для складання подібної таблиця можна використовувати перехоплюючі проксі, в них зберігаються всі запити і відображені параметри).
Під час даного етапу тестувальник проводить тести відповідно до методології, що складається з наступних розділів.
Всі тести були розбиті на одинадцять підрозділів: