Лекция
Привет, Вы узнаете о том , что такое sast, Разберем основные их виды и особенности использования. Еще будет много подробных примеров и описаний. Для того чтобы лучше понимать что такое sast, dast, iast, rasp, waf , настоятельно рекомендую прочитать все из категории Криптография и Криптоанализ. Стеганография. Защита Информации и информационная безопасность. .
По статистике 90% инцидентов безопасности возникают в результате использования злоумышленниками известных программных ошибок. Естественно, что устранение уязвимостей на этапе разработки ПО значительно снижает риски информационной безопасности.
Рынок технологий тестирования безопасности приложений (AST) состоит из следующих категорий:
1-е поколение
2-е поколение
Для устранения уязвимостей на этапе разработки ПО в помощь разработчикам был создан целый ряд технологий, позволяющих выявлять недостатки безопасности на ранних этапах, избавляясь от них до релиза продукта. К таким технологиям можно отнести:
SAST (Static Application Security Testing) — тестирование «белого ящика», существует уже более десяти лет. Позволяет разработчикам находить уязвимости безопасности в исходном коде приложения на ранних этапах жизненного цикла разработки ПО. SAST также обеспечивает соответствие руководствам и стандартам кодирования без фактического выполнения базового кода.
Почему это Статические ? Это связано с тем, что тест проводится к запуску программы и ее запуска. САСТ может помочь выявить уязвимые места в вашей программе до того, как их найдет мир.
САСТ использует методологию тестирования для анализа исходного кода, чтобы выявить любые следы уязвимостей, которые могут обеспечить бэкдор для злоумышленника. САСТ обычно анализируют и сканируют дополнение к тому, как будет скомпилирован код.
Процесс САСТ также известный как Тестирование White Box . После обнаружения уязвимости следующей строкой действий является проверка кода и исправление кода перед тем, как код будет скомпилирован и развернут для работы.
DAST (Dynamic Application Security Testing) — тестирование «черного ящика», может обнаруживать уязвимости и слабые места в работающем приложении, обычно веб-приложениях. Это достигается за счет использования методов внедрения ошибок в приложении, таких как передача вредоносных данных в программное обеспечение, для выявления распространенных уязвимостей безопасности, например, SQL-инъекций и межсайтовых сценариев.
DAST также может пролить свет на проблемы времени выполнения, такие как:
Обнаружить это с помощью статистического анализа нельзя.
Этот инструмент сильно отличается от SAST, поскольку DAST использует Методология тестирования черного ящика , он проводит свою оценку уязвимости извне, поскольку не имеет доступа к исходному коду программы.
DAST используется при тестировании и контроля качества SDLC.
SAST хорошо работает, когда дело доходит до обнаружения ошибки в строке кода, например, слабой генерации случайных чисел, но обычно не очень эффективен при обнаружении недостатков потока данных. Кроме того, решения SAST известны большим количеством ложноположительных или ложноотрицательных результатов.
Некоторый успех в уменьшении или полном исключении ложных срабатываний был достигнут с помощью так называемой абстрактной интерпретации. Однако для получения наилучших результатов алгоритмы абстрактной интерпретации должны быть адаптированы к:
Несмотря на все недостатки SAST, он и по сей день остается фаворитом среди команд разработчиков.
Основной критерий выбора – возможность сканировать проект на уровне кода.
Это позволяет находить недостатки на ранних этапах разработки продукта, что способствует снижению затрат на их устранение.
Более того, SAST можно автоматизировать и прозрачно интегрировать в рабочий процесс проекта. Об этом говорит сайт https://intellect.icu . Это устраняет некоторые проблемы, обычно связанные с тестированием приложений на безопасность. Данная особенность сильно контрастирует с DAST, где для крупных проектов придется создавать отдельную инфраструктуру, выполнять специальные тесты и запускать несколько экземпляров приложения параллельно с различными входными данными.
Однако DAST понимает аргументы и вызовы функций, чего не скажешь о SAST.
PHP Malware Finder (PMF)- это самостоятельное решение, которое поможет вам найти возможные вредоносные коды в файлах. Известно, что обнаруживает хитрости, кодировщики, обфускаторы, веб-шеллкод.
Статический анализатор Progpilot позволяет указать тип анализа, такой как GET, POST, COOKIE, SHELL_EXEC и т. Д. На данный момент он поддерживает фреймворк suiteCRM и CodeIgniter.
Arachni, высокопроизводительный сканер безопасности, созданный на основе Ruby для современных веб-приложений. Он доступен в переносном двоичном формате для Mac, Windows и Linux.
Не только базовый статический веб-сайт или веб-сайт CMS, но и Arachni может делать следующие отпечатки платформы . Он выполняет как активные, так и пассивные проверки.
Некоторые из обнаруженных уязвимостей :
У вас есть возможность получить аудиторский отчет в HTML, XML, тексте, JSON, YAML и т. Д.
Arachni позволяет расширить сканирование на новый уровень, используя плагины. Ознакомьтесь со всеми функциями Arachni и загрузите, чтобы испытать их.
RIPS - один из популярных инструментов статического анализа кода PHP, который можно интегрировать в жизненный цикл разработки для поиска проблем безопасности в режиме реального времени. Вы можете классифицировать обнаруженный результат по отраслевому соответствию и стандарту, чтобы определить приоритет исправлений.
IAST (Interactive Application Security Testing) — интерактивное тестирование безопасности приложений. SAST и DAST являются относительно старыми технологиями, поэтому бытует мнение, что они не лучший выбор для тестирования современных:
Например, SAST плохо работает с:
А все это присутствует практически в каждом современном приложении.
Статические инструменты видят только исходный код приложения, которому они могут следовать. Более того, библиотеки и сторонние компоненты часто приводят к зависанию статических инструментов, создавая сообщения:
Аналогично и с фреймворками. Статический инструмент не обнаружит ничего неправильного в:
Все потому, что он не может понять их структуру.
IAST разработан для устранения недостатков SAST и DAST путем объединения элементов обоих подходов. IAST выполняет весь анализ в режиме реального времени:
Поскольку IAST работает внутри приложения, он может анализировать:
По сравнению с SAST или DAST доступ ко всей этой информации позволяет механизму IAST:
Особенности IAST
RASP (Run-time Application Security Protection) — защита безопасности приложений во время выполнения. Как и IAST работает внутри приложения, но это скорее инструмент безопасности, а не тестирования. Он подключается к приложению или его среде выполнения и может контролировать выполнение приложения. Это позволяет RASP защитить приложение, даже если защита периметра сети нарушена, а приложения содержат уязвимости безопасности.
RASP позволяет приложению проводить непрерывные проверки безопасности и отвечать на атаки в реальном времени, завершая сеанс злоумышленника и предупреждая защитников об атаке.
Главная проблема RASP заключается в том, что он может создать у команды разработчиков ощущение ложной безопасности. Некоторые меры безопасности могут игнорироваться по причине, — «Если мы что-то упустим, RASP это исправит».
Еще к недостаткам технологии RASP можно отнести ухудшение производительности приложений. Такой же минус есть и у IAST. Несмотря на то, что с ускорителями технологий можно свести снижение производительности к минимуму, неприятный осадок все равно остается.
У всех вышеперечисленных технологий есть свои достоинства и недостатки, поэтому их комбинация друг с другом обеспечит более высокий уровень безопасности. Однако использование даже одной технологии на ранних этапах разработки позволяет создать более безопасное ПО, а главное сделать это быстрее и с меньшими затратами, чем привязывать все тесты уже столкнувшись с проблемой на поздних этапах.
Особенности RASP
САСТ , DAST , и IAST являются прекрасными инструментами, которые могут дополнять друг друга без каких-либо проблем, если только у вас есть финансовый костяк, чтобы нести их все. Эксперты по вопросам безопасности всегда поддерживают использование двух или более из этих инструментов для обеспечения лучшего охвата, а это, в свою очередь, снизит риск уязвимости в производстве.
SAST | DAST |
---|---|
Это тестирование белого ящика, где вы видите фреймворка, дизайна и реализации программы исходного кода. Полная заявка проверена изнутри. Этот тип тестирования часто называют подходом разработчика. |
Это тестирование «черного ящика», где у вас нет доступа к внутренней среды, составляет программу, исходный код и дизайн. Тестирование приложений происходит извне. Этот тип тестирования часто называют хакерским подходом. |
SAST не нужно устанавливать, а нужен исходный код, чтобы действовать. Обычно он анализирует исходный код непосредственно, не выполняя никакой программы. |
DAST нужно развернуть на сервере приложений и не нужно иметь доступа к исходному коду перед тем, как действовать. Это просто инструмент, который нужно выполнить для сканирования программы. |
Это один из инструментов, который используется для обнаружения уязвимостей очень рано в SDLC. Это реализуется сразу, когда код пишется. Это указывает на уязвимость в интегрированной среде разработки. |
Это используется только после компиляции кода и использования его для сканирования всей программы на наличие уязвимостей. |
Этот инструмент не является дорогим, поскольку уязвимости, как правило, очень рано в SDLC, что делает его быстрым для исправления и до того, как код вводится в движение. | Этот инструмент является дорогим из-за того, что уязвимости обычно оказываются до конца SDLC. Санация обычно не проводится в режиме реального времени, за исключением чрезвычайных случаев. |
Этот инструмент сканирует только статический код, что затрудняет выявление любых уязвимостей во время выполнения. | Этот инструмент сканирует программу с помощью динамического анализа для выявления уязвимостей во время выполнения. |
Это поддерживает любые программы. | Это сканирует только такое приложение, как веб-приложение, он не работает с другим программным обеспечением. |
IAST | RASP |
---|---|
Это в основном используется как инструмент тестирования безопасности. он ищет уязвимости системы безопасности | Он используется не просто как инструмент тестирования безопасности, а используется для защиты всего приложения, работая рядом с ним. Это контролирует программу против любых атак. |
Это поддерживает точность SAST благодаря использованию результатов анализа времени выполнения от SAST. | Это инструмент, который определяет и блокирует угрозы в режиме реального времени. Эта деятельность даже не требует никакого вмешательства человека, поскольку инструмент живет на основном применении и защищает его. |
Это постепенно принимается и требует развертывания агента. | Это еще не принято и требует развертывания агента. |
Языковая поддержка ограничена. | Это не зависит от языка или платформы. |
Этот инструмент очень легко интегрировать для анализа исходного кода, контроля за временем работы и всех фреймворков, составивших программу. | Этот инструмент беспрепятственно интегрируется с приложением и не зависит от каких-либо средств защиты на уровне сети, таких как WAF. |
Этот инструмент дает лучшее из комбинации функций SAST и DAST, одинаково помогает ему выявлять уязвимости в более широком масштабе. | Охватывает широкий спектр уязвимых мест |
Несмотря на некоторые ограничения, которые вы можете наблюдать в таких технологиях, как САСТ , DAST , IAST, и RASP , использование этих автоматизированных средств защиты всегда гарантирует более безопасное программное обеспечение и сэкономит вам высокую стоимость исправления уязвимости, обнаруженной позже.
Какой лучший подход или инструмент безопасности среди этих четырех?
Ответ: Обычно лучший подход - использовать все эти инструменты, если ваши финансовые возможности могут это использовать. Внедряя все эти инструменты, вы сделаете свое программное обеспечение стабильным и лишенным уязвимостей.
Исследование, описанное в статье про sast, подчеркивает ее значимость в современном мире. Надеюсь, что теперь ты понял что такое sast, dast, iast, rasp, waf и для чего все это нужно, а если не понял, или есть замечания, то не стесняйся, пиши или спрашивай в комментариях, с удовольствием отвечу. Для того чтобы глубже понять настоятельно рекомендую изучить всю информацию из категории Криптография и Криптоанализ. Стеганография. Защита Информации и информационная безопасность.
Комментарии
Оставить комментарий
информационная безопасность - Криптография и Криптоанализ. Стеганография. Защита Информации
Термины: информационная безопасность - Криптография и Криптоанализ. Стеганография. Защита Информации