Захистіть API та веб-додатки за допомогою Probely DAST Scanner

Оцінка безпеки веб-додатків та API з Probely

Зважаючи на те, що приблизно третина усіх відомих інцидентів безпеки виникає внаслідок успішних атак на веб-програми, критично важливо забезпечити надійний захист ваших веб-додатків та API.

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

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

Ця стаття зосереджена на останньому підході, а саме на інструменті Probely. Особливість Probely полягає в його здатності розв’язувати дві головні проблеми сканерів вразливостей: всебічне сканування сучасних веб-додатків та висока точність результатів.

Probely пропонує дві версії: для малого та середнього бізнесу, а також для великих підприємств з великою кількістю веб-додатків та API.

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

Чи звучить це занадто добре, щоб бути правдою?

Продовжуйте читати, щоб дізнатися більше про мій аналіз Probely.

Що саме робить Probely?

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

Розробники та фахівці з безпеки можуть працювати з Probely через зручний інтерфейс користувача. Для тих, кому потрібна додаткова потужність та гнучкість, доступний повнофункціональний API, оскільки платформа побудована на підході API-first. API надає доступ до всіх функцій інтерфейсу, дозволяючи інтегрувати Probely в процеси CI/CD, інструменти управління вразливостями, оркестратори та системи відстеження проблем. Існують готові інтеграції з популярними інструментами, такими як JIRA, Jenkins, Azure DevOps, DefectDojo, CircleCI та Slack. Якщо ви використовуєте власні інструменти, вам підійде API.

Охоплення, сканування та точність

Probely використовує покращений веб-павук для навігації у складних JavaScript додатках, подібно до звичайного браузера, що забезпечує значно краще покриття сайту порівняно з іншими DAST інструментами. Цей павук ідеально підходить для односторінкових додатків на базі React або Angular JS.

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

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

Звітність

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

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

Probely здатний перевіряти ваше програмне забезпечення на вразливості, такі як ті, що вказані в OWASP TOP 10, а також багато інших. Він також може допомогти вам у досягненні відповідності стандартам PCI-DSS, GDPR, HIPAA та ISO270-01.

Виходячи зі звіту OWASP TOP 10, можна відразу побачити, що саме не так з відповідністю.

Інтерфейс

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

Якщо ви використовуєте Jira або Azure Boards, ви можете налаштувати Probely на автоматичну відправку інформації про всі виявлені вразливості до вашої системи відстеження проблем. Коли розробник вирішить проблему і закриє її в системі відстеження, Probely автоматично проведе повторне сканування для перевірки успішності виправлення. Якщо проблема не вирішена, вона буде повторно відкрита в системі відстеження. Це дозволяє вашій команді розробників обробляти звіти про вразливості як будь-які інші баги, безпосередньо у системі відстеження, навіть не використовуючи інтерфейс Probely. Зручно, чи не так? 🙂

Початок роботи 🚀

Для тестування я використовував Enterprise версію Probely.

Компанія пропонує стандартну версію, різні плани на вибір, а також безкоштовний тариф. Безкоштовний тариф сканує лише три категорії вразливостей: налаштування файлів cookie, заголовки безпеки та проблеми SSL/TLS. Платний тариф Pro надає більшість функцій і орієнтований на малий і середній бізнес з п’ятьма або менше цілями для сканування.

Версія Enterprise призначена для великих організацій з великою кількістю цілей, і включає додаткові функції, характерні для корпоративного ПЗ: користувачів, групи, ролі та дозволи. Також є можливість сканувати внутрішні ресурси (в приватній мережі) за допомогою наданого агента.

Додавання цілі

Додавання цілі – це дуже просто. Увійшовши у свій обліковий запис, вам потрібно перейти на сторінку “Цілі” та натиснути “Додати”. Потім потрібно вказати ім’я, URL-адресу та одну або кілька міток – наприклад, “тестування”, “продакшн”, “розробка” тощо – для нової цілі. Щоб Probely сканував ціль як окремий API без підтримки веб-додатку, потрібно позначити відповідну опцію.

Якщо ваша ціль недоступна в Інтернеті, і ви встановили Probely агент у вашій приватній мережі, ви можете вибрати, який агент використовувати під час додавання цілі.

Після додавання цілі, вам потрібно підтвердити її власність, щоб Probely міг переконатися, що у вас є необхідні права на її сканування. Існує два способи підтвердження: завантаження файлу із заданим вмістом в кореневу папку цільового ресурсу, або додавання TXT запису до DNS з назвою домену та певним вмістом. Після підтвердження ви можете розпочати сканування, натиснувши кнопку “Сканувати”.

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

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

Сканування API

Для сканування API, Probely потребує схеми API. Це робиться при додаванні API цілі, шляхом надання URL-адреси схеми OpenAPI або завантаження схеми з локального файлу. Опція URL-адреси дозволяє Probely отримувати схему перед кожним скануванням, забезпечуючи використання найновішої версії вашої схеми.

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

Після налаштування автентифікації та параметрів API, ви можете розпочати сканування, натиснувши кнопку “Сканувати зараз”. Через кілька секунд ви зможете стежити за ходом сканування на тій же сторінці. Після завершення сканування, ви можете завантажити звіт про покриття, який відображає всі виявлені кінцеві точки та коди відповідей. Звіт також покаже, чи були виявлені помилки.

Перевірка результатів

Сторінка результатів сканування відображає знайдені вразливості в реальному часі, навіть коли сканування ще триває. Кожен результат містить інформацію про серйозність (висока, середня, низька), відповідну ціль та URL-адресу, опис, дату та час виявлення, статус (виправлена/невиправлена) та відповідальну особу. Також вказується, чи впливає ця вразливість на відповідність PCI DSS або OWASP.

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

Probely також надає інструкції щодо виправлення виявлених вразливостей. Крім того, можна переглянути повний запит, відповідь та докази.

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

На сторінці “Інтеграції” можна налаштувати Probely для роботи з різними інструментами для керування проектами, командної взаємодії, відстеження проблем і т.д. Серед доступних інтеграцій: Azure Boards, DefectDojo, Slack, Jira, Jenkins та CircleCI.

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

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

Командам безпеки Probely надає платформу для захисту веб-додатків та управління вразливостями, які потребують виправлення. Інструмент також дозволяє перекласти частину тестування безпеки безпосередньо на розробників, зберігаючи при цьому наглядову роль.

Probely пропонує безкоштовні пробні версії, корпоративні ліцензії для оцінки та демо-версії продуктів. Зв’яжіться з Probely щоб почати роботу.