EITC/IS/WAPT Тестването за проникване на уеб приложения е европейската ИТ програма за сертифициране по теоретични и практически аспекти на тестването за проникване на уеб приложения (бяло хакване), включително различни техники за шпиониране на уеб сайтове, сканиране и техники за атака, включително специализирани инструменти и пакети за тестване на проникване .
Учебната програма на теста за проникване на уеб приложения EITC/IS/WAPT обхваща въведение в Burp Suite, web spridering и DVWA, тестване на груба сила с Burp Suite, откриване на защитна стена на уеб приложения (WAF) с WAFW00F, обхват на целта и паяк, откриване на скрити файлове с ZAP, сканиране на уязвимости в WordPress и изброяване на потребителско име, сканиране за балансиране на натоварването, скриптове между сайтове, XSS – отразени, съхранени и DOM, прокси атаки, конфигуриране на прокси в ZAP, атаки на файлове и директории, откриване на файлове и директории с DirBuster, практика на уеб атаки , OWASP Juice Shop, CSRF – фалшифициране на междусайтови заявки, събиране на бисквитки и обратно инженерство, HTTP атрибути – кражба на бисквитки, SQL инжекция, DotDotPwn – размиване на директория, инжектиране на iframe и HTML инжекция, Heartbleed експлойт – откриване и експлоатация, инжектиране на PHP код bWAPP – HTML инжекция, отразен POST, инжектиране на OS команди с 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 Injection
- XSS (Скриптове между сайтове)
- Дистанционно изпълнение на команди
- Атака за преминаване на пътя
- Ограничен достъп до съдържание
- Компрометирани потребителски акаунти
- Инсталиране на злонамерен код
- Загубени приходи от продажби
- Доверието на клиентите ерозирано
- Вреди на репутацията на марката
- И много други атаки
В днешната интернет среда едно уеб приложение може да бъде увредено от различни предизвикателства. Графиката по-горе изобразява няколко от най-често срещаните атаки, извършвани от нападатели, всяка от които може да причини значителни щети на отделно приложение или цял бизнес. Познаването на многото атаки, които правят приложението уязвимо, както и възможните резултати от атака, позволява на компанията да отстранява уязвимостите преди време и ефективно да ги тества.
Смекчаващи контроли могат да бъдат установени през ранните фази на SDLC, за да се предотвратят всякакви проблеми чрез идентифициране на основната причина за уязвимостта. По време на тест за сигурност на уеб приложенията познанията за това как работят тези заплахи могат също да се използват за насочване към известни места, представляващи интерес.
Разпознаването на въздействието на атака също е важно за управлението на риска на компанията, тъй като въздействието на успешна атака може да се използва за определяне на тежестта на уязвимостта като цяло. Ако уязвимостите бъдат открити по време на тест за сигурност, определянето на тяхната сериозност позволява на компанията да даде приоритет на усилията за отстраняване по-ефективно. За да намалите риска за компанията, започнете с проблеми с критична тежест и продължете към тези с по-малко въздействие.
Преди да идентифицирате проблем, оценката на възможното въздействие на всяка програма в библиотеката на приложенията на компанията ще ви помогне да дадете приоритет на тестването за сигурност на приложението. Wenb тестовете за сигурност могат да бъдат планирани, за да бъдат насочени първо към критичните приложения на фирмата, с по-целенасочено тестване за намаляване на риска срещу бизнеса. С установен списък с приложения с висок профил, тестовете за сигурност на wenb могат да бъдат планирани, за да бъдат насочени първо към критичните приложения на фирмата, с по-целенасочено тестване за намаляване на риска срещу бизнеса.
По време на тест за сигурност на уеб приложението, какви функции трябва да бъдат разгледани?
По време на тестване за сигурност на уеб приложенията, помислете за следния неизчерпателен списък с функции. Неефективното прилагане на всеки от тях може да доведе до слабости, излагайки компанията на опасност.
- Конфигуриране на приложението и сървъра. Настройки за криптиране/криптографски настройки, конфигурации на уеб сървъри и така нататък са примери за потенциални недостатъци.
- Проверка на обработката на входа и грешките. Лошата обработка на входа и изхода води до SQL инжектиране, междусайтови скриптове (XSS) и други типични проблеми с инжектирането.
- Удостоверяване и поддръжка на сесиите. Уязвимости, които могат да доведат до представяне на потребител. Също така трябва да се вземат предвид силата и защитата на удостоверението.
- Упълномощаване. Капацитетът на приложението за защита срещу вертикални и хоризонтални ескалации на привилегии се тества.
- Логиката в бизнеса. Повечето програми, които предоставят бизнес функционалност, разчитат на тях.
- Логиката от страна на клиента. Този тип функции стават все по-разпространени при съвременните уеб страници, натоварени с JavaScript, както и уеб страници, използващи други видове технологии от страна на клиента (напр. Silverlight, Flash, Java аплети).
За да се запознаете в детайли с учебната програма за сертифициране, можете да разширите и анализирате таблицата по-долу.
Учебната програма за сертифициране за тестване за проникване на уеб приложения EITC/IS/WAPT препраща към дидактически материали с отворен достъп във видео форма. Процесът на обучение е разделен на структура стъпка по стъпка (програми -> уроци -> теми), обхващащи съответните части от учебната програма. Предоставят се и неограничени консултации с експерти по домейни.
За подробности относно процедурата за сертифициране проверете Как работи.
Изтеглете пълните подготвителни материали за офлайн самообучение за програмата за тестване на проникване на уеб приложения EITC/IS/WAPT в PDF файл
Подготвителни материали за EITC/IS/WAPT – стандартна версия
Подготвителни материали за EITC/IS/WAPT – разширена версия с въпроси за преглед