Тестування на проникнення веб-додатків EITC/IS/WAPT — це європейська програма сертифікації ІТ з теоретичних і практичних аспектів тестування на проникнення веб-додатків (білий злом), включаючи різні техніки для веб-сайтів, сканування та атаки, включаючи спеціалізовані інструменти та пакети тестування на проникнення. .
Навчальна програма тестування на проникнення веб-додатків EITC/IS/WAPT охоплює введення в Burp Suite, веб-спрайдеринг і DVWA, тестування грубої сили за допомогою Burp Suite, виявлення брандмауера веб-додатків (WAF) за допомогою WAFW00F, цільовий діапазон і контроль, виявлення прихованих файлів за допомогою ZAP, сканування уразливостей WordPress та перерахування імен користувачів, балансування навантаження, міжсайтові сценарії, XSS – відображені, збережені та DOM, атаки проксі, налаштування проксі в ZAP, атаки на файли та каталоги, виявлення файлів і каталогів за допомогою DirBuster, практика веб-атак , OWASP Juice Shop, CSRF – підробка міжсайтових запитів, збір файлів cookie та зворотна інженерія, HTTP-атрибути – крадіжка файлів cookie, ін’єкція SQL, DotDotPwn – обхід каталогу, iframe injection та HTML, Heartbleed exploit – виявлення та експлуатація, впровадження PHP коду bWAPP – ін'єкція HTML, відображений POST, ін'єкція команд ОС за допомогою Commix, серверна сторона включає ін'єкцію SSI, пентестування в Docker, OverTheWire Natas, LFI та ін’єкція команд, хакерство Google для пентестування, Google Dorks для тестування на проникнення, Apache2 ModSecurity, а також Nginx ModSecurity, у наведеній нижче структурі, що включає повний відеодидактичний вміст як довідник для цієї сертифікації EITC.
Безпека веб-додатків (часто відома як Web AppSec) — це концепція розробки веб-сайтів, щоб вони функціонували нормально, навіть якщо вони зазнають атаки. Ідея полягає в інтеграції набору заходів безпеки у веб-додаток для захисту його активів від ворожих агентів. Веб-додатки, як і будь-яке програмне забезпечення, схильні до недоліків. Деякі з цих недоліків є реальними вразливими місцями, якими можна скористатися, створюючи ризик для бізнесу. Такі недоліки захищаються за допомогою безпеки веб-додатків. Це тягне за собою застосування безпечних підходів до розробки та введення засобів контролю безпеки протягом усього життєвого циклу розробки програмного забезпечення (SDLC), забезпечуючи усунення недоліків дизайну та проблем впровадження. Онлайн-тестування на проникнення, яке проводиться експертами, які прагнуть виявити та використати вразливості веб-додатків за допомогою так званого підходу білого хакерства, є важливою практикою для забезпечення належного захисту.
Тест на проникнення в Інтернет, також відомий як тест веб-ручки, моделює кібернапад на веб-додаток з метою виявлення недоліків, які можна використовувати. Тестування на проникнення часто використовується як доповнення до брандмауера веб-додатків у контексті безпеки веб-додатків (WAF). Тестування ручкою, загалом, тягне за собою спробу проникнути в будь-яку кількість прикладних систем (наприклад, API, інтерфейсний/бекенд-сервери) з метою виявлення вразливостей, таких як несанкціоновані введення, які вразливі до атак із впровадженням коду.
Результати онлайн-тесту на проникнення можна використовувати для налаштування політики безпеки WAF та усунення виявлених уразливостей.
Тестування на проникнення складається з п’яти етапів.
Процедура тестування пера розділена на п’ять етапів.
- Планування та розвідка
Першим етапом є визначення обсягу та цілей тесту, у тому числі систем, які мають бути розглянуті, та методології тестування.
Щоб краще зрозуміти, як працює ціль та її потенційні слабкі сторони, зберіть інформацію (наприклад, мережеві та доменні імена, поштовий сервер). - Сканування
Наступний етап – з’ясувати, як цільова програма реагуватиме на різні типи спроб вторгнення. Зазвичай це досягається за допомогою таких методів:
Статичний аналіз – вивчення коду програми, щоб передбачити, як вона буде вести себе під час її запуску. За один прохід ці інструменти можуть сканувати весь код.
Динамічний аналіз — це процес перевірки коду програми під час її роботи. Цей метод сканування більш практичний, оскільки забезпечує перегляд продуктивності програми в режимі реального часу. - Отримання доступу
Щоб знайти слабкі сторони цілі, на цьому етапі використовуються атаки веб-додатків, такі як міжсайтові сценарії, ін’єкція SQL та бекдори. Щоб зрозуміти, яку шкоду можуть завдати ці вразливості, тестувальники намагаються використати їх, підвищуючи привілеї, крадучи дані, перехоплюючи трафік тощо. - Зберігання доступу
Метою цього етапу є оцінка того, чи можна використати вразливість для встановлення довготривалої присутності в скомпрометованій системі, дозволяючи поганому суб’єкту отримати поглиблений доступ. Мета – імітувати розширені постійні загрози, які можуть залишатися в системі місяцями, щоб викрасти найбільш конфіденційну інформацію компанії. - аналіз
Результати тесту на проникнення потім заносяться у звіт, який містить таку інформацію, як:
Уразливості, які були детально використані
Отримані дані були конфіденційними
Час, протягом якого тестер ручки міг залишатися непоміченим у системі.
Експерти з безпеки використовують ці дані, щоб допомогти налаштувати корпоративні налаштування WAF та інші рішення щодо безпеки програм, щоб виправити вразливості та запобігти подальшим атакам.
Методи тестування на проникнення
- Зовнішнє тестування на проникнення фокусується на активах фірми, які є видимими в Інтернеті, таких як сама веб-додаток, веб-сайт компанії, а також сервери електронної пошти та доменних імен (DNS). Мета – отримати доступ до корисної інформації та отримати її.
- Внутрішнє тестування передбачає, що тестувальник має доступ до програми за брандмауером компанії, що імітує ворожу інсайдерську атаку. Це не обов’язкове моделювання шахрайських співробітників. Співробітник, чиї облікові дані були отримані в результаті спроби фішингу, є звичайною відправною точкою.
- Сліпе тестування – це коли тестувальнику просто вказують назву компанії, яка проходить тестування. Це дозволяє експертам з безпеки побачити, як може відбуватися фактична атака програми в режимі реального часу.
- Подвійне сліпе тестування: у подвійному сліпому тестуванні фахівці з безпеки заздалегідь не знають про змодельовану атаку. Вони не встигнуть укріпити свої укріплення перед спробою прориву, як у реальному світі.
- Цілеспрямоване тестування – у цьому сценарії тестувальник і співробітники служби безпеки співпрацюють і відстежують переміщення один одного. Це чудова навчальна вправа, яка дає команді безпеки зворотний зв’язок у реальному часі з точки зору хакера.
Брандмауери веб-додатків і тестування на проникнення
Тестування на проникнення та WAF – це дві окремі, але взаємодоповнюючі методи безпеки. Тестер, імовірно, використовуватиме дані WAF, такі як журнали, для пошуку та використання слабких місць програми в багатьох типах тестування ручками (за винятком сліпих і подвійних сліпих тестів).
У свою чергу, дані тестування пера можуть допомогти адміністраторам WAF. Після завершення тесту конфігурації WAF можна змінити для захисту від недоліків, виявлених під час тесту.
Нарешті, тестування за допомогою ручки задовольняє певним вимогам відповідності методів аудиту безпеки, таким як PCI DSS і SOC 2. Деякі вимоги, такі як PCI-DSS 6.6, можуть бути виконані, лише якщо використовується сертифікований WAF. Однак через вищезгадані переваги та можливість змінити налаштування WAF, це не робить тестування ручкою менш корисним.
Яке значення тестування веб-безпеки?
Метою тестування веб-безпеки є виявлення недоліків безпеки у веб-додатках та їх налаштування. Прикладний рівень є основною метою (тобто те, що працює на протоколі HTTP). Надсилання різних форм введення до веб-програми, щоб викликати проблеми та змусити систему реагувати несподівано, є поширеним підходом до перевірки її безпеки. Ці «негативні тести» перевіряють, чи робить система щось, чого не планувалося виконати.
Також важливо розуміти, що тестування веб-безпеки передбачає більше, ніж просто перевірку функцій безпеки програми (таких як аутентифікація та авторизація). Також важливо забезпечити безпечне розгортання інших функцій (наприклад, бізнес-логіка та використання належної перевірки вхідних даних та вихідного кодування). Мета полягає в тому, щоб переконатися, що функції веб-програми безпечні.
Які існують види оцінок безпеки?
- Тест на динамічну безпеку додатків (DAST). Цей автоматизований тест безпеки додатків найкраще підходить для внутрішніх програм із низьким рівнем ризику, які мають відповідати нормативним вимогам безпеки. Поєднання DAST з деяким ручним онлайн-тестуванням безпеки на предмет поширених уразливостей є найкращою стратегією для програм із середнім ризиком і важливих програм, які зазнають незначних змін.
- Перевірка безпеки для статичних додатків (SAST). Ця стратегія безпеки програми включає як автоматизовані, так і ручні методи тестування. Він ідеально підходить для виявлення помилок без необхідності запускати програми в реальному середовищі. Це також дозволяє інженерам сканувати вихідний код, щоб систематично виявляти та виправляти недоліки безпеки програмного забезпечення.
- Експертиза на проникнення. Цей ручний тест безпеки програми ідеально підходить для основних програм, особливо тих, які зазнають значних змін. Щоб знайти розширені сценарії атак, оцінка використовує бізнес-логіку та тестування на основі супротивників.
- Самозахист програми під час виконання (RASP). Цей зростаючий метод захисту додатків включає в себе різноманітні технологічні прийоми для інструментування програми, щоб можна було спостерігати за загрозами та, сподіваємось, запобігати в реальному часі, коли вони виникають.
Яку роль відіграє тестування безпеки додатків у зниженні ризику компанії?
Переважна більшість атак на веб-програми включають:
- SQL-ін'єкція
- XSS (міжсайтові скрипти)
- Дистанційне виконання команд
- Атака обходу шляху
- Обмежений доступ до вмісту
- Зламані облікові записи користувачів
- Установка шкідливого коду
- Втрачений дохід від продажів
- Зниження довіри клієнтів
- Шкода репутації бренду
- І багато інших атак
У сучасному Інтернет-середовищі веб-додатку можуть пошкодити різноманітні проблеми. На графіку вище зображено кілька найпоширеніших атак, які здійснюють зловмисники, кожна з яких може завдати значної шкоди окремому додатку або всьому бізнесу. Знання багатьох атак, які роблять додаток уразливим, а також можливих результатів атаки, дозволяє компанії завчасно усунути вразливості та ефективно їх перевірити.
Пом’якшувальні засоби контролю можуть бути встановлені на ранніх етапах SDLC, щоб запобігти будь-яким проблемам шляхом визначення основної причини вразливості. Під час перевірки безпеки веб-додатків знання про те, як працюють ці загрози, також можна використовувати для націлювання на відомі місця, що представляють інтерес.
Розпізнавання впливу атаки також важливо для управління ризиками компанії, оскільки наслідки успішної атаки можуть бути використані для визначення серйозності вразливості в цілому. Якщо вразливості виявлені під час перевірки безпеки, визначення їх серйозності дозволяє компанії більш ефективно визначити пріоритети заходів щодо їх усунення. Щоб зменшити ризики для компанії, почніть з критичних проблем і переходьте до тих, що мають менший вплив.
Перш ніж виявити проблему, оцінка можливого впливу кожної програми в бібліотеці додатків компанії допоможе вам визначити пріоритет тестування безпеки програми. Тестування безпеки Wenb можна запланувати, щоб спершу орієнтуватись на критичні додатки фірми, з більш цілеспрямованим тестуванням, щоб знизити ризик для бізнесу. Завдяки встановленому списку високопрофільних додатків тестування безпеки wenb можна запланувати, щоб спершу націлюватися на критичні додатки фірми, з більш цілеспрямованим тестуванням, щоб знизити ризик для бізнесу.
Які функції слід перевірити під час тестування безпеки веб-додатків?
Під час тестування безпеки веб-додатків розгляньте наведений нижче неповний список функцій. Неефективне виконання кожного з них може призвести до слабких місць і поставити компанію під загрозу.
- Конфігурація програми та сервера. Налаштування шифрування/криптографії, конфігурації веб-сервера тощо – це приклади потенційних недоліків.
- Перевірка введення та обробки помилок Погана обробка введення та виведення призводить до ін'єкції SQL, міжсайтових сценаріїв (XSS) та інших типових проблем із впровадженням.
- Аутентифікація та підтримка сеансів. Уразливості, які можуть призвести до видавання себе за користувача. Також слід враховувати силу і захист посвідчень.
- Авторизація. Перевіряється здатність програми захищати від вертикального та горизонтального підвищення привілеїв.
- Логіка в бізнесі. Більшість програм, які забезпечують бізнес-функціональність, покладаються на це.
- Логіка на стороні клієнта. Цей тип функцій стає все більш поширеним на сучасних веб-сторінках із важким JavaScript, а також на веб-сторінках, які використовують інші типи технологій на стороні клієнта (наприклад, Silverlight, Flash, аплети Java).
Для більш детального ознайомлення з навчальною програмою сертифікації Ви можете розгорнути та проаналізувати наведену нижче таблицю.
Навчальна програма сертифікації тестування проникнення веб-додатків EITC/IS/WAPT містить посилання на дидактичні матеріали відкритого доступу у формі відео. Навчальний процес поділений на покрокову структуру (програми -> уроки -> теми), що охоплює відповідні частини навчального плану. Також надаються необмежені консультації з експертами в галузі.
Детальніше про процедуру сертифікації див Як це працює?.
Завантажте повні підготовчі матеріали для офлайн-самонавчання для програми тестування проникнення веб-додатків EITC/IS/WAPT у файлі PDF
Підготовчі матеріали EITC/IS/WAPT – стандартна версія
Підготовчі матеріали EITC/IS/WAPT – розширена версія з запитаннями для перевірки