Тестирование безопасности SAST, WAF, DAST, IAST и RASP

Лекция



Привет, Вы узнаете о том , что такое sast, Разберем основные их виды и особенности использования. Еще будет много подробных примеров и описаний. Для того чтобы лучше понимать что такое sast, dast, iast, rasp, waf , настоятельно рекомендую прочитать все из категории Криптография и Криптоанализ. Стеганография. Защита Информации и информационная безопасность. .

По статистике 90% инцидентов безопасности возникают в результате использования злоумышленниками известных программных ошибок. Естественно, что устранение уязвимостей на этапе разработки ПО значительно снижает риски информационной безопасности.

Рынок технологий тестирования безопасности приложений (AST) состоит из следующих категорий:

1-е поколение

  • SAST (статическое тестирование безопасности приложений)
  • DAST (динамическое тестирование безопасности приложений)
  • WAF (брандмауэр веб-приложений)

2-е поколение

  • IAST (интерактивное тестирование безопасности приложений)
  • RASP (самозащита рабочего приложения)

Для устранения уязвимостей на этапе разработки ПО в помощь разработчикам был создан целый ряд технологий, позволяющих выявлять недостатки безопасности на ранних этапах, избавляясь от них до релиза продукта. К таким технологиям можно отнести:

  • SAST
  • DAST
  • IAST
  • RASP

Тестирование безопасности SAST, WAF, DAST, IAST и RASP

Тестирование безопасности SAST, WAF, DAST, IAST и RASP

SAST и DAST Динамическоеи статическое тестирование безопасности приложений

SAST (Static Application Security Testing) — тестирование «белого ящика», существует уже более десяти лет. Позволяет разработчикам находить уязвимости безопасности в исходном коде приложения на ранних этапах жизненного цикла разработки ПО. SAST также обеспечивает соответствие руководствам и стандартам кодирования без фактического выполнения базового кода.

Почему это Статические ? Это связано с тем, что тест проводится к запуску программы и ее запуска. САСТ может помочь выявить уязвимые места в вашей программе до того, как их найдет мир.

САСТ использует методологию тестирования для анализа исходного кода, чтобы выявить любые следы уязвимостей, которые могут обеспечить бэкдор для злоумышленника. САСТ обычно анализируют и сканируют дополнение к тому, как будет скомпилирован код.

Процесс САСТ также известный как Тестирование White Box . После обнаружения уязвимости следующей строкой действий является проверка кода и исправление кода перед тем, как код будет скомпилирован и развернут для работы.

DAST (Dynamic Application Security Testing) — тестирование «черного ящика», может обнаруживать уязвимости и слабые места в работающем приложении, обычно веб-приложениях. Это достигается за счет использования методов внедрения ошибок в приложении, таких как передача вредоносных данных в программное обеспечение, для выявления распространенных уязвимостей безопасности, например, SQL-инъекций и межсайтовых сценариев.

DAST также может пролить свет на проблемы времени выполнения, такие как:

  • проблемы аутентификации и конфигурации сервера
  • недостатки, видимые только при входе известного пользователя

Обнаружить это с помощью статистического анализа нельзя.

Этот инструмент сильно отличается от SAST, поскольку DAST использует Методология тестирования черного ящика , он проводит свою оценку уязвимости извне, поскольку не имеет доступа к исходному коду программы.

DAST используется при тестировании и контроля качества SDLC.

SAST и DAST часто используются в тандеме, так как:

  • SAST не будет обнаруживать ошибки времени выполнения
  • DAST не будет отмечать ошибки кодирования, по крайней мере, до номера строки кода

SAST хорошо работает, когда дело доходит до обнаружения ошибки в строке кода, например, слабой генерации случайных чисел, но обычно не очень эффективен при обнаружении недостатков потока данных. Кроме того, решения SAST известны большим количеством ложноположительных или ложноотрицательных результатов.

Абстрактная интерпретация

Некоторый успех в уменьшении или полном исключении ложных срабатываний был достигнут с помощью так называемой абстрактной интерпретации. Однако для получения наилучших результатов алгоритмы абстрактной интерпретации должны быть адаптированы к:

  • кодам, использующим домен приложения, который включает его архитектуру
  • способам использования определенных числовых алгоритмов
  • типам структур данных, которыми оно манипулирует

Тестирование безопасности SAST, WAF, DAST, IAST и RASP

Несмотря на все недостатки SAST, он и по сей день остается фаворитом среди команд разработчиков.

Основной критерий выбора – возможность сканировать проект на уровне кода.

Это позволяет находить недостатки на ранних этапах разработки продукта, что способствует снижению затрат на их устранение.

Более того, SAST можно автоматизировать и прозрачно интегрировать в рабочий процесс проекта. Об этом говорит сайт https://intellect.icu . Это устраняет некоторые проблемы, обычно связанные с тестированием приложений на безопасность. Данная особенность сильно контрастирует с DAST, где для крупных проектов придется создавать отдельную инфраструктуру, выполнять специальные тесты и запускать несколько экземпляров приложения параллельно с различными входными данными.

Однако DAST понимает аргументы и вызовы функций, чего не скажешь о SAST.

Особенности SAST

  • Простота развертывания и использования
  • Возможность масштабирования
  • Всесторонняя поддержка ваших языков программирования и фреймворков
  • Низкий уровень ложных срабатываний
  • Простая интеграция в SDLC и с другими инструментами разработки и CI / CD.

Примеры решений для PHP

PHP Malware Finder (PMF)- это самостоятельное решение, которое поможет вам найти возможные вредоносные коды в файлах. Известно, что обнаруживает хитрости, кодировщики, обфускаторы, веб-шеллкод.

Статический анализатор Progpilot позволяет указать тип анализа, такой как GET, POST, COOKIE, SHELL_EXEC и т. Д. На данный момент он поддерживает фреймворк suiteCRM и CodeIgniter.

Arachni, высокопроизводительный сканер безопасности, созданный на основе Ruby для современных веб-приложений. Он доступен в переносном двоичном формате для Mac, Windows и Linux.

Тестирование безопасности SAST, WAF, DAST, IAST и RASP

Не только базовый статический веб-сайт или веб-сайт CMS, но и Arachni может делать следующие отпечатки платформы . Он выполняет как активные, так и пассивные проверки.

  • Windows, Solaris, Linux, BSD, Unix
  • Nginx, Apache, Tomcat, IIS, Jetty
  • Java, Ruby, Python , ASP, PHP
  • Django, Rails, CherryPy, CakePHP, ASP.NET MVC, Symfony

Некоторые из обнаруженных уязвимостей :

  • NoSQL / Blind / SQL / Code / LDAP / Command / XPath-инъекция
  • Подделка межсайтовых запросов
  • Обход пути
  • Включение локальных / удаленных файлов
  • Разделение ответа
  • Межсайтовый скриптинг
  • Непроверенные перенаправления DOM
  • Раскрытие исходного кода

У вас есть возможность получить аудиторский отчет в HTML, XML, тексте, JSON, YAML и т. Д.

Arachni позволяет расширить сканирование на новый уровень, используя плагины. Ознакомьтесь со всеми функциями Arachni и загрузите, чтобы испытать их.

Особенности DAST

  • Гибкость, позволяющая легко расставлять приоритеты, планировать и изменять тесты по мере изменения потребностей бизнеса.
  • Проведение тщательного анализа для любого приложения
  • Возможность быстрого масштабирования ваших инициатив по тестированию без ограничений ресурсов

Примеры решений для PHP

RIPS - один из популярных инструментов статического анализа кода PHP, который можно интегрировать в жизненный цикл разработки для поиска проблем безопасности в режиме реального времени. Вы можете классифицировать обнаруженный результат по отраслевому соответствию и стандарту, чтобы определить приоритет исправлений.

  • OWASP Top 10
  • SANS Top 25
  • PCI-DSS
  • HIPPA

IAST интерактивное тестирование безопасности приложений

IAST (Interactive Application Security Testing) — интерактивное тестирование безопасности приложений. SAST и DAST являются относительно старыми технологиями, поэтому бытует мнение, что они не лучший выбор для тестирования современных:

  • Веб-приложений
  • Мобильных приложений

Например, SAST плохо работает с:

  • Библиотеками
  • Фреймворками

А все это присутствует практически в каждом современном приложении.

Статические инструменты видят только исходный код приложения, которому они могут следовать. Более того, библиотеки и сторонние компоненты часто приводят к зависанию статических инструментов, создавая сообщения:

  • «lost sources»
  • «lost sinks»

Аналогично и с фреймворками. Статический инструмент не обнаружит ничего неправильного в:

  • API
  • веб-сервисе
  • конечной точке REST

Все потому, что он не может понять их структуру.

IAST разработан для устранения недостатков SAST и DAST путем объединения элементов обоих подходов. IAST выполняет весь анализ в режиме реального времени:

  • в любом месте процесса разработки IDE
  • непрерывной интегрированной среде
  • производственной среде

Поскольку IAST работает внутри приложения, он может анализировать:

  • код приложения
  • потоки данных
  • конфигурации
  • HTTP-запросы и ответы
  • библиотеки, фреймворки и другие компоненты
  • информацию о внутреннем подключении

По сравнению с SAST или DAST доступ ко всей этой информации позволяет механизму IAST:

  • покрывать больше кода
  • выдавать более точные результаты
  • проверять более широкий спектр правил безопасности

Особенности IAST

  • Быстрое и простое развертывание
  • Полная интеграция в рабочие процессы CI / CD
  • Возможность как выявлять уязвимости безопасности, так и определять, можно ли их использовать
  • Возможность идентифицировать сторонние компоненты и компоненты с открытым исходным кодом, известные уязвимости, типы лицензий и другие проблемы с потенциальным риском.
  • Масштабируемость на уровне предприятия для обработки сотен тысяч HTTPS-запросов
  • Совместимость с существующими автоматическими тестами, тестами QA / dev, автоматическими поисковыми роботами, модульным тестированием и т. Д

RASP защита безопасности приложений во время выполнения.

RASP (Run-time Application Security Protection) — защита безопасности приложений во время выполнения. Как и IAST работает внутри приложения, но это скорее инструмент безопасности, а не тестирования. Он подключается к приложению или его среде выполнения и может контролировать выполнение приложения. Это позволяет RASP защитить приложение, даже если защита периметра сети нарушена, а приложения содержат уязвимости безопасности.

RASP позволяет приложению проводить непрерывные проверки безопасности и отвечать на атаки в реальном времени, завершая сеанс злоумышленника и предупреждая защитников об атаке.

Недостатки RASP

Главная проблема RASP заключается в том, что он может создать у команды разработчиков ощущение ложной безопасности. Некоторые меры безопасности могут игнорироваться по причине, — «Если мы что-то упустим, RASP это исправит».

Еще к недостаткам технологии RASP можно отнести ухудшение производительности приложений. Такой же минус есть и у IAST. Несмотря на то, что с ускорителями технологий можно свести снижение производительности к минимуму, неприятный осадок все равно остается.

У всех вышеперечисленных технологий есть свои достоинства и недостатки, поэтому их комбинация друг с другом обеспечит более высокий уровень безопасности. Однако использование даже одной технологии на ранних этапах разработки позволяет создать более безопасное ПО, а главное сделать это быстрее и с меньшими затратами, чем привязывать все тесты уже столкнувшись с проблемой на поздних этапах.

Особенности RASP

  • Видимость приложений на уровне кода за пределами того, что обеспечивает брандмауэр веб-приложений (WAF).
  • Функции пассивного и активного реагирования на инциденты (например, режимы мониторинга / предупреждения и блокировки)
  • Возможность настройки для регистрации, предупреждения и блокировки того, что он определяет как атаки.
  • Поддержка многих языков и платформ
  • Автономная работа с локальным удаленным сервером или вообще без удаленного подключения
  • Покрытие широкого набора уязвимостей

Заключение и выбор

САСТ , DAST , и IAST являются прекрасными инструментами, которые могут дополнять друг друга без каких-либо проблем, если только у вас есть финансовый костяк, чтобы нести их все. Эксперты по вопросам безопасности всегда поддерживают использование двух или более из этих инструментов для обеспечения лучшего охвата, а это, в свою очередь, снизит риск уязвимости в производстве.

SAST DAST
Это тестирование белого ящика, где вы видите фреймворка, дизайна и реализации программы исходного кода.

Полная заявка проверена изнутри. Этот тип тестирования часто называют подходом разработчика.
Это тестирование «черного ящика», где у вас нет доступа к внутренней среды, составляет программу, исходный код и дизайн.

Тестирование приложений происходит извне. Этот тип тестирования часто называют хакерским подходом.
SAST не нужно устанавливать, а нужен исходный код, чтобы действовать.

Обычно он анализирует исходный код непосредственно, не выполняя никакой программы.
DAST нужно развернуть на сервере приложений и не нужно иметь доступа к исходному коду перед тем, как действовать.

Это просто инструмент, который нужно выполнить для сканирования программы.
Это один из инструментов, который используется для обнаружения уязвимостей очень рано в SDLC.

Это реализуется сразу, когда код пишется. Это указывает на уязвимость в интегрированной среде разработки.
Это используется только после компиляции кода и использования его для сканирования всей программы на наличие уязвимостей.
Этот инструмент не является дорогим, поскольку уязвимости, как правило, очень рано в SDLC, что делает его быстрым для исправления и до того, как код вводится в движение. Этот инструмент является дорогим из-за того, что уязвимости обычно оказываются до конца SDLC.

Санация обычно не проводится в режиме реального времени, за исключением чрезвычайных случаев.
Этот инструмент сканирует только статический код, что затрудняет выявление любых уязвимостей во время выполнения. Этот инструмент сканирует программу с помощью динамического анализа для выявления уязвимостей во время выполнения.
Это поддерживает любые программы. Это сканирует только такое приложение, как веб-приложение, он не работает с другим программным обеспечением.

IAST против RASP

IAST RASP
Это в основном используется как инструмент тестирования безопасности. он ищет уязвимости системы безопасности Он используется не просто как инструмент тестирования безопасности, а используется для защиты всего приложения, работая рядом с ним. Это контролирует программу против любых атак.
Это поддерживает точность SAST благодаря использованию результатов анализа времени выполнения от SAST. Это инструмент, который определяет и блокирует угрозы в режиме реального времени. Эта деятельность даже не требует никакого вмешательства человека, поскольку инструмент живет на основном применении и защищает его.
Это постепенно принимается и требует развертывания агента. Это еще не принято и требует развертывания агента.
Языковая поддержка ограничена. Это не зависит от языка или платформы.
Этот инструмент очень легко интегрировать для анализа исходного кода, контроля за временем работы и всех фреймворков, составивших программу. Этот инструмент беспрепятственно интегрируется с приложением и не зависит от каких-либо средств защиты на уровне сети, таких как WAF.
Этот инструмент дает лучшее из комбинации функций SAST и DAST, одинаково помогает ему выявлять уязвимости в более широком масштабе. Охватывает широкий спектр уязвимых мест

Несмотря на некоторые ограничения, которые вы можете наблюдать в таких технологиях, как САСТ , DAST , IAST, и RASP , использование этих автоматизированных средств защиты всегда гарантирует более безопасное программное обеспечение и сэкономит вам высокую стоимость исправления уязвимости, обнаруженной позже.

Какой лучший подход или инструмент безопасности среди этих четырех?

Ответ: Обычно лучший подход - использовать все эти инструменты, если ваши финансовые возможности могут это использовать. Внедряя все эти инструменты, вы сделаете свое программное обеспечение стабильным и лишенным уязвимостей.

Исследование, описанное в статье про sast, подчеркивает ее значимость в современном мире. Надеюсь, что теперь ты понял что такое sast, dast, iast, rasp, waf и для чего все это нужно, а если не понял, или есть замечания, то не стесняйся, пиши или спрашивай в комментариях, с удовольствием отвечу. Для того чтобы глубже понять настоятельно рекомендую изучить всю информацию из категории Криптография и Криптоанализ. Стеганография. Защита Информации и информационная безопасность.

создано: 2021-09-20
обновлено: 2021-09-20
132265



Рейтиг 9 of 10. count vote: 2
Вы довольны ?:


Поделиться:

Найди готовое или заработай

С нашими удобными сервисами без комиссии*

Как это работает? | Узнать цену?

Найти исполнителя
$0 / весь год.
  • У вас есть задание, но нет времени его делать
  • Вы хотите найти профессионала для выплнения задания
  • Возможно примерение функции гаранта на сделку
  • Приорететная поддержка
  • идеально подходит для студентов, у которых нет времени для решения заданий
Готовое решение
$0 / весь год.
  • Вы можите продать(исполнителем) или купить(заказчиком) готовое решение
  • Вам предоставят готовое решение
  • Будет предоставлено в минимальные сроки т.к. задание уже готовое
  • Вы получите базовую гарантию 8 дней
  • Вы можете заработать на материалах
  • подходит как для студентов так и для преподавателей
Я исполнитель
$0 / весь год.
  • Вы профессионал своего дела
  • У вас есть опыт и желание зарабатывать
  • Вы хотите помочь в решении задач или написании работ
  • Возможно примерение функции гаранта на сделку
  • подходит для опытных студентов так и для преподавателей



Комментарии


Оставить комментарий
Если у вас есть какое-либо предложение, идея, благодарность или комментарий, не стесняйтесь писать. Мы очень ценим отзывы и рады услышать ваше мнение.
To reply

Криптография и Криптоанализ. Стеганография. Защита Информации и информационная безопасность.

Термины: Криптография и Криптоанализ. Стеганография. Защита Информации и информационная безопасность.