<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Анализ исходного кода &#8212; ICORE</title>
	<atom:link href="https://icore.kz/category/analiz-ishodnogo-koda/feed/" rel="self" type="application/rss+xml" />
	<link>https://icore.kz</link>
	<description>Ведущий IT-интегратор систем информационной безопасности в Казахстане.</description>
	<lastBuildDate>Fri, 27 Jun 2025 12:40:04 +0000</lastBuildDate>
	<language>ru-RU</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.1.3</generator>

<image>
	<url>https://icore.kz/wp-content/uploads/2022/12/favicon-icore-150x150.jpg</url>
	<title>Анализ исходного кода &#8212; ICORE</title>
	<link>https://icore.kz</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Современный подход к анализу исходного кода с  PT Application Inspector</title>
		<link>https://icore.kz/sovremennyj-podhod-k-analizu-ishodnogo-koda-s-pt-application-inspector/</link>
		
		<dc:creator><![CDATA[ICORE]]></dc:creator>
		<pubDate>Fri, 30 May 2025 12:03:29 +0000</pubDate>
				<category><![CDATA[Анализ исходного кода]]></category>
		<category><![CDATA[pt application inspector]]></category>
		<guid isPermaLink="false">https://icore.kz/?p=14124</guid>

					<description><![CDATA[В условиях стремительного развития цифровых технологий и увеличения числа киберугроз, обеспечение безопасности приложений становится приоритетом для компаний. Одним из эффективных инструментов в этой области является Application Inspector от компании Positive Technologies.
]]></description>
										<content:encoded><![CDATA[<h1><strong>Современный подход к анализу исходного кода с PT Application Inspector</strong></h1>
<p>В условиях стремительного развития цифровых технологий и увеличения числа киберугроз, обеспечение безопасности приложений становится приоритетом для компаний. Одним из эффективных инструментов в этой области является Application Inspector от компании Positive Technologies<strong>.</strong></p>
<h3><strong>Обзор PT Application Inspector</strong></h3>
<p>PT Application Inspector — это комплексное решение для анализа безопасности исходного кода, сочетающее методы статического (SAST), динамического (DAST) и интерактивного (IAST) тестирования. Такой подход позволяет выявлять уязвимости на ранних этапах разработки, снижая риски и затраты на устранение проблем в будущем.</p>
<h3><strong>Ключевые возможности</strong></h3>
<ul>
<li style="list-style-type: none;">
<ul>
<li>Поддержка различных языков программирования<strong>:</strong> C#, Go, Java, JavaScript, Kotlin, PHP, Python, Ruby, SQL, Solidity и TypeScript.</li>
<li>Интеграция с популярными IDE<strong>:</strong> Visual Studio Code, IntelliJ IDEA, PhpStorm, WebStorm и PyCharm.</li>
<li>Автоматическая генерация безопасных эксплойтов<strong>:</strong> Позволяет подтвердить наличие уязвимостей и ускорить процесс их устранения.</li>
<li>Интерактивные диаграммы потоков данных (DFD)<strong>:</strong> Обеспечивают наглядное представление о распространении уязвимостей в приложении.</li>
</ul>
</li>
</ul>
<h3><strong>Преимущества</strong></h3>
<ul>
<li style="list-style-type: none;">
<ul>
<li>Снижение затрат на устранение уязвимостей<strong>:</strong> Раннее обнаружение проблем позволяет сократить расходы на их исправление.</li>
<li>Повышение качества программного обеспечения<strong>:</strong> Интеграция безопасности в процесс разработки способствует созданию более надёжных продуктов.</li>
<li>Соответствие нормативным требованиям<strong>:</strong> PT Application Inspector помогает обеспечить соответствие стандартам безопасности и требованиям регуляторов.</li>
</ul>
</li>
</ul>
<p>Ссылки на источники:<br />
<a href="https://sourceforge.net/software/product/PT-Application-Inspector" target="_blank" rel="noopener">https://sourceforge.net/software/product/PT-Application-Inspector</a><br />
<a href="https://addons.ptsecurity.com/en/jbptaien" target="_blank" rel="noopener">https://addons.ptsecurity.com/en/jbptaien<br />
</a><a href="https://global.ptsecurity.com/about/news/positive-technologies-at-gisec-global-2025" target="_blank" rel="noopener">https://global.ptsecurity.com/about/news/positive-technologies-at-gisec-global-2025</a></p>
<p><strong>Перевод и компиляция:</strong><br />
Герасименко Иван</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Четыре плюс Один всадника безопасной разработки Приложений</title>
		<link>https://icore.kz/chetyre-plyus-odin-vsadnika-bezopasnoj-razrabotki-prilozhenij/</link>
		
		<dc:creator><![CDATA[ICORE]]></dc:creator>
		<pubDate>Thu, 11 Jan 2024 10:05:14 +0000</pubDate>
				<category><![CDATA[Анализ исходного кода]]></category>
		<category><![CDATA[hcl appscan]]></category>
		<category><![CDATA[pt application inspector]]></category>
		<guid isPermaLink="false">https://icore.kz/?p=13168</guid>

					<description><![CDATA[С каждым годом культура разработки растёт — многие компании начинают использовать методологию DevSecOps. Основной её задача заключается в том, что должен обеспечиваться непрерывный контроль безопасности на каждой стадии создания продукта, при этом процессы DevSecOps максимально автоматизированы.
]]></description>
										<content:encoded><![CDATA[<h1><strong>Четыре плюс Один всадника безопасной разработки Приложений</strong></h1>
<p>С каждым годом культура разработки растёт — многие компании начинают использовать методологию DevSecOps. Основной её задача заключается в том, что должен обеспечиваться непрерывный контроль безопасности на каждой стадии создания продукта, при этом процессы DevSecOps максимально автоматизированы.</p>
<p>Новые проблемы в сфере ИБ (например, рост числа атак на API и цепочки поставок ПО) требуют более инновационных и эффективных решений. Непрерывное развитие рынка и его современные запросы приводят к появлению новых технологий и изменениям инструментального стека.</p>
<p>Безопасность приложений охватывает широкий спектр инструментов и методологий, но все они преследуют одну и ту же цель: выявить слабые места (уязвимости) и исправить их до того, как они будут использованы злоумышленником. Причём на протяжении всего жизненного цикла (SDL/SDLC, или Software Development Lifecycle), — а это последовательность этапов от анализа требований, планирования, проектирования и дизайна до непосредственной разработки ПО, тестирования и развёртывания.</p>
<p>Первоначально концепция SDLC рассматривала обеспечение безопасности как задачу, выполняемую в рамках этапа тестирования. Но недостаток такого подхода — это несвоевременное обнаружение уязвимостей и ошибок.</p>
<p>Сегодня очевидно, что интеграция требований безопасности на каждом этапе SDLC помогает обнаруживать и устранять уязвимости раньше, сводя к минимуму длительность процесса и уменьшая количество дорогостоящих исправлений на более поздних этапах разработки. Поэтому идея об оценке безопасности на всех этапах разработки ПО (тестирование на проникновение, моделирование угроз, проверка кода, анализ архитектуры и т.д.) быстро завоевала популярность и признание в индустрии и получила название Secure SDLC/SSDLC, или «безопасный SDLC».</p>
<h2><strong>Основные преимущества применения SSDLC-подхода:</strong></h2>
<ul>
<li>Безопасность приложения контролируется на всех этапах его жизненного цикла.</li>
<li>Заинтересованные стороны осведомлены о функциях безопасности.</li>
<li>Раннее обнаружение дефектов.</li>
<li>Снижение затрат и рисков благодаря раннему выявлению и решению проблем.</li>
</ul>
<p>Глубоко детализированный SDLC, хоть и не в своём первозданном виде, рассматривается в методологиях таких мастодонтов, как OWASP SAMM, BSIMM, OpenSAMM.</p>
<p>Подход и важность безопасной разработки определены. Предлагаю рассмотреть пару популярных инструментов, которые могут нам помочь в этом нелегком процессе.</p>
<h3><strong>№1. SAST</strong></h3>
<p>SAST (Static Application Security Testing) позволяет разработчикам находить уязвимости безопасности в исходном коде приложения на ранних этапах жизненного цикла разработки ПО. SAST также обеспечивает соответствие руководствам и стандартам кодирования без фактического выполнения базового кода.</p>
<p>Одной из ключевых сильных сторон SAST является широкий охват языков программирования и платформ разработки. Для практически любого основного языка найдётся несколько вендоров, предлагающих инструменты по статическому анализу кода. Ещё одним плюсом является то, что SAST легко внедряется — весьма просто добавить статический сканер в конвейер разработки или в IDE. Наконец, разработчики извлекают выгоду из того, что анализ выполняется с точки зрения статического исходного кода: это включает в себя обратную связь о точном местоположении потенциальной проблемы.</p>
<p>К SAST предъявляются следующие требования:</p>
<ul>
<li>Наличие качественных технологий и алгоритмов для глубокого анализа кода и выявления уязвимостей.</li>
<li>Регулярно обновляемая база правил с возможностями гибкой настройки и расширения.</li>
<li>SAST должен предоставлять в виде отчётов исчерпывающие обоснования наличия уязвимости и давать подробные рекомендации по устранению последней.</li>
<li>SAST должен сопоставлять результаты анализа при повторном сканировании отредактированного кода (выделение исправленных, неисправленных, вновь появившихся уязвимостей).</li>
<li>SAST должен поддерживать большое число языков программирования.</li>
<li>SAST должен интегрироваться со средами разработки, системами контроля версий и отслеживания ошибок.</li>
<li>Обеспечение связи между разработчиками и экспертами, отвечающими за безопасность.</li>
<li>Минимальное количество ложных срабатываний.</li>
<li>Представление результатов анализа в удобном для восприятия виде.</li>
<li>Наличие средств автоматического составления отчётов.</li>
<li>Возможность проводить анализ кода удалённо.</li>
</ul>
<p>Наличие ошибок, уязвимостей и закладок в разрабатываемом приложении несёт в себе серьёзные риски для информационной безопасности. Использование SAST позволяет существенно снизить эти риски и контролировать качество разработки без привлечения внешних экспертов. SAST является практичным инструментом для разработчиков, который удобно встраивается в процессы DevSecOps. На мировом рынке представлено множество различных анализаторов — как от известных вендоров в области безопасности, так и от нишевых игроков, занимающихся только разработкой SAST.</p>
<h3><strong>№2. DAST</strong></h3>
<p>Dynamic Application Security Testing (DAST) — это одна из практик безопасной разработки. В рамках DAST проводится автоматизированный анализ развёрнутого и функционирующего приложения. Динамический сканер проверяет все точки доступа по HTTP, имитирует внешние атаки с применением распространённых уязвимостей, моделирует случайные действия пользователей. Инструмент определяет, какие API есть у сервиса, отправляет проверочные запросы, например подставляет, где это возможно, неправильные данные (кавычки, разделительные знаки, спецсимволы и другое). Поиск уязвимостей происходит в результате анализа отправленного запроса и полученного ответа от сервиса, а также их сравнения с обычным запросом. Динамический сканер отправляет и анализирует большое количество запросов — это позволяет находить разные проблемы безопасности.</p>
<p>DAST также может пролить свет на такие проблемы как:</p>
<ul>
<li>проблемы аутентификации и конфигурации сервера</li>
<li>недостатки, видимые только при входе известного пользователя</li>
</ul>
<p>Обнаружить это с помощью статистического анализа нельзя</p>
<p>К DAST предъявляются следующие требования:</p>
<p>Качество сканирования</p>
<p>Это — соотношение найденных и пропущенных уязвимостей. С ходу понять, насколько качественно анализирует сканер, невозможно. Для этого нужно иметь хотя бы примерное представление о том, какие уязвимости есть в приложении, чтобы потом сравнить их с результатами сканирования.</p>
<p>Краулинг</p>
<p>Если дополнительной информации о приложении нет и нужно проанализировать его «с нуля», важно понимать, как много путей и переходов получится собрать в нём, то есть насколько точным будет краулинг. Для этого нужно посмотреть настройки продукта. Необходимо выяснить, умеет ли он мониторить запросы от фронтенда к бэкенду, парсить, например, Swagger- или WSDL-приложения, находить ссылки в HTML или JS. Ещё стоит изучить процесс получения информации о приложении. Можно перед сканированием уточнить, какие именно API используются: нужно понять, что поможет инструменту совершить полноценную проверку приложения. В процессе выбора сканера полезно составить список того, что может импортировать каждый инструмент, и подумать, получится ли встроить это в процесс.</p>
<p>Скорость сканирования</p>
<p>Этот параметр также важен, особенно если проверки интегрированы в разработку: они могут тормозить процесс и в результате приводить к тратам времени и денег. Скорость сканирования во многом зависит от того, как оперативно приложение отвечает на запросы, сколько одновременных подключений оно способно обработать, и от ряда других факторов. Поэтому чтобы сравнить скорость работы различных инструментов, нужно запускать их применительно к одному и тому же ПО в примерно одинаковых условиях.</p>
<p>Детальная настройка</p>
<p>У инструментов автоматического анализа должны быть детальные настройки. Они позволят убрать лишние запросы и ограничить зону проверки, за счёт этого повысятся качество процесса и скорость анализа. Чем детальнее настройки, тем точнее получится обозначить задачи инструменту. Существуют «умные» сканеры, которые сами подстраиваются под приложения. Но у таких инструментов всё равно должна быть ручная настройка, поскольку цели у проверок бывают разные. Например, иногда нужно просканировать приложение в нескольких вариантах, начиная тотальной проверкой и заканчивая поверхностным анализом; в таком случае ручная настройка точно будет кстати. При выборе инструмента нужно обращать внимание на количество параметров, а также на то, как легко их настраивать. Чтобы сравнить работу разных инструментов, можно создать в каждом из них несколько профилей сканирования: быстрый и поверхностный для начального анализа, полный и максимальный — для полноценного.</p>
<p>Интеграция</p>
<p>Чтобы динамический анализ был максимально эффективным, стоит интегрировать эту практику в процесс разработки и периодически запускать сканер во время сборки. Нужно заранее сформировать перечень того, что используется в процессе CI / CD, составить примерный план запуска инструмента. Это поможет проанализировать сканер с точки зрения интеграции и понять, насколько легко получится внедрить его в процесс разработки и удобно ли использовать его API.</p>
<p>Технологии</p>
<p>Выбирать сканер нужно с учётом технологий, которые использует ваша компания в разработке. Для этого можно проанализировать приложения и сформировать список технологий, языков и фреймворков, которые применяются в продуктах. Перечень может получиться весьма обширным, особенно если компания велика. Поэтому уместно выбрать всего несколько параметров в качестве критериев оценки сканеров: количество технологий и фреймворков, которые охватывает инструмент, возможность поддержки ключевых технологий, которые компания использует в своих самых важных сервисах.</p>
<p>Запись последовательности логина</p>
<p>Для динамических сканеров крайне важна технология записи последовательности логина, поскольку для входа в приложение обязательно нужно пройти аутентификацию. Но в этом процессе кроется много подводных камней, например хеширование пароля перед отправкой или его шифрование общим ключом на фронтенде; это далеко не весь список. Поэтому нужно заранее проверить, справится ли инструмент со всеми нюансами. Для этого необходимо выбрать максимально разные приложения и посмотреть, сможет ли сканер пройти в них этап логина. Также нужно проверить, как поведёт себя инструмент при разлогинивании. Сканер в процессе анализа отправляет много запросов, в ответ на некоторые из них сервер может «выбросить» пользователя из системы. Инструмент должен заметить это и снова войти в приложение.</p>
<p>Обновления инструмента</p>
<p>Технологии постоянно развиваются, поэтому при выборе инструмента важно также учитывать, насколько часто выходят его обновления или новые версии сигнатур / паттернов или правил анализа. Стоит изучить эту информацию на сайте продукта или запросить её у вендора. Это покажет, внимательно ли разработчик следит за тенденциями и насколько актуальной будет ваша база проверок. Также нужно выяснить, сможете ли вы влиять на развитие продукта и как разработчик обрабатывает запросы на добавление новых функций. Это покажет, насколько быстро в продукте будут появляться те функциональные возможности, которые вам нужны, и как устроено общение с вендором в рамках обновления опций.</p>
<p>При выборе динамического анализатора стоит использовать отмеченные выше в этой статье критерии, но применять их нужно правильно. Каждая компания уникальна, имеет свои нюансы и особенности — всё это необходимо учитывать в связке со всеми критериями. Также нужно заранее определить свои потребности и понять, каких результатов вы хотите от инструмента. На рынке сейчас осталось не так много продуктов. С одной стороны, это плохо, с другой — не придётся слишком долго выбирать. Но, чтобы не ошибиться, нужно проводить полноценное тестирование различных вариантов, сравнивать их между собой и выбирать наилучшее решение с учётом потребностей компании и параметров качества.</p>
<h3><strong>№3. IAST</strong></h3>
<p>IAST &#8212; интерактивное тестирование безопасности приложений. SAST и DAST являются относительно старыми технологиями, поэтому бытует мнение, что они не лучший выбор для тестирования современных:</p>
<ul>
<li>Веб-приложений</li>
<li>Мобильных приложений</li>
</ul>
<p>Например, SAST плохо работает с:</p>
<ul>
<li>Библиотеками</li>
<li>Фреймворками</li>
</ul>
<p>А все это присутствует практически в каждом современном приложении.</p>
<p>Статические инструменты видят только исходный код приложения, которому они могут следовать. Более того, библиотеки и сторонние компоненты часто приводят к зависанию статических инструментов, создавая сообщения:</p>
<ul>
<li>«lost sources»</li>
<li>«lost sinks»</li>
</ul>
<p>Аналогично и с фреймворками. Статический инструмент не обнаружит ничего неправильного в:</p>
<ul>
<li>API</li>
<li>веб-сервисе</li>
<li>конечной точке REST</li>
</ul>
<p>Все потому, что он не может понять их структуру.</p>
<p>IAST разработан для устранения недостатков SAST и DAST путем объединения элементов обоих подходов. IAST выполняет весь анализ в режиме реального времени:</p>
<ul>
<li>в любом месте процесса разработки IDE</li>
<li>непрерывной интегрированной среде</li>
<li>производственной среде</li>
</ul>
<p>Поскольку IAST работает внутри приложения, он может анализировать:</p>
<ul>
<li>код приложения</li>
<li>потоки данных</li>
<li>конфигурации</li>
<li>HTTP-запросы и ответы</li>
<li>библиотеки, фреймворки и другие компоненты</li>
<li>информацию о внутреннем подключении</li>
</ul>
<p>По сравнению с SAST или DAST доступ ко всей этой информации позволяет механизму IAST:</p>
<ul>
<li>покрывать больше кода</li>
<li>выдавать более точные результаты</li>
<li>проверять более широкий спектр правил безопасности</li>
</ul>
<h3><strong>№4. RASP</strong></h3>
<p>RASP (Run-time Application Security Protection) — защита безопасности приложений во время выполнения. Как и IAST работает внутри приложения, но это скорее инструмент безопасности, а не тестирования. Он подключается к приложению или его среде выполнения и может контролировать выполнение приложения. Это позволяет RASP защитить приложение, даже если защита периметра сети нарушена, а приложения содержат уязвимости безопасности.</p>
<p>RASP позволяет приложению проводить непрерывные проверки безопасности и отвечать на атаки в реальном времени, завершая сеанс злоумышленника и предупреждая защитников об атаке.</p>
<p>RASP перехватывает все вызовы из приложения в операционную систему, обеспечивая их безопасность, и проверяет запросы данных непосредственно внутри него. Технология не влияет на дизайн программы, поскольку функции обнаружения и защиты RASP выполняются на сервере, где работает приложение.</p>
<p>Развёртывая RASP, разработчики могут выявлять уязвимости в своих приложениях. Кроме того, решение RASP может блокировать попытки использования уже известных уязвимостей.</p>
<p>Функции мониторинга в RASP позволяют обнаруживать широкий спектр угроз, включая атаки «нулевого дня». Когда в приложении происходит событие из области безопасности, RASP берёт программу под свой контроль и решает проблему. В режиме диагностики RASP-продукт просто подаст сигнал тревоги о том, что что-то не так. В режиме защиты он попытается остановить происходящее — например, прервать выполнение инструкций для базы данных, которые выглядят как атака с использованием SQL-инъекции.</p>
<p>Другие действия, которые может предпринять RASP, включают в себя завершение сеанса работы пользователя, остановку выполнения приложения, оповещение пользователя или сотрудников службы безопасности.</p>
<p>Разработчики могут интегрировать RASP несколькими способами: получить доступ к технологии с помощью вызовов функций, включённых в исходный код приложения, или взять готовую программу и поместить её в оболочку, которая позволяет защитить приложение одним нажатием кнопки. Первый подход более точен, поскольку разработчики могут принимать конкретные решения о том, что именно они хотят защитить в приложении — например, логины, запросы к базе данных или административные функции.</p>
<p>Какой бы метод ни использовался с RASP, конечный результат будет похож на объединение WAF с контекстом выполнения приложения. Тесная интеграция с приложением означает, что RASP может быть настроен более точно в соответствии с потребностями по безопасности приложения.</p>
<p>RASP имеет некоторую общность с традиционными межсетевыми экранами. Например, он просматривает трафик и контент и может завершать сеансы. Однако межсетевые экраны защищают периметр и не могут видеть, что происходит внутри приложений. Кроме того, с ростом облачных вычислений и распространением мобильных устройств периметр стал более прозрачным. Это снизило эффективность как межсетевых экранов общего назначения, так и брандмауэров для веб-приложений (WAF).</p>
<p>Преимущество RASP заключается в том, что он может обезопасить систему, как только злоумышленник проникнет через защиту периметра. Он имеет представление о логике приложений, конфигурации и потоках событий данных. Это означает, что RASP может с высокой точностью отражать атаки. RASP-продукт способен различать реальные атаки и валидные запросы на информацию, что уменьшает количество ложных срабатываний.</p>
<p>Как и в случае с WAF, RASP также не исправит исходный код приложения. Однако RASP интегрируется с базовыми библиотеками и защищает уязвимые области на уровне исходного кода. Когда клиент вызывает функцию содержащую параметры, которые могут нанести вред веб-приложению, RASP перехватывает вызов, регистрируя или блокируя его в зависимости от конфигурации. Этот принцип защиты веб-приложения принципиально отличается от используемого в WAF.</p>
<p>Любой RASP-продукт должен предлагать поддержку распространённых «корпоративных» языков программирования (например, Java, .NET), а также более новых языков и связанных с ними платформ (PHP, Python, Ruby и т. п.).</p>
<p>Разработчики должны тщательно выбирать решение RASP, взвешивая его по следующим параметрам:</p>
<ul>
<li>RASP должен быть легко развёртываемым и требовать минимального обслуживания, в противном случае он может стать неэффективным при изменении характера угроз.</li>
<li>RASP должен обладать широкими возможностями для обнаружения и обработки широкого спектра уязвимостей, как традиционных, так и неизвестных.</li>
<li>RASP должен оказывать минимальное влияние на показатели производительности приложения, без которых уровень безопасности теряет всякий смысл. Ни один разработчик не променяет комфорт пользователей на дополнительную функцию защиты.</li>
<li>RASP должен действовать точно и с наименьшим количеством ложных срабатываний, чтобы не блокировать легитимный пользовательский трафик.</li>
<li>RASP должен легко работать с другими инструментами безопасности, такими как WAF.</li>
<li>RASP должен обеспечивать поддержку нескольких фреймворков и языков.</li>
<li>RASP должен быть автономным, обеспечивать поддержку облачного анализа с круглосуточным мониторингом и блокировать вредоносные запросы.</li>
<li>RASP должен предоставлять всеобъемлющий и полезный отчёт обо всех обработанных угрозах и обучаться на поведении приложения во время выполнения, чтобы динамически защищать его как от пассивных инцидентов, так и от активных.</li>
</ul>
<p>Самозащита приложений во время их выполнения (RASP) — это инновация в экосистеме безопасности программ, предназначенная для борьбы с атаками на прикладном уровне за счёт обеспечения большей видимости скрытых уязвимостей. По сути это — программный комплекс, который интегрируется с приложением или средой его выполнения и постоянно перехватывает программные вызовы для проверки их безопасности. На мировом рынке представлено множество различных продуктов — как от известных вендоров в области безопасности, так и от нишевых игроков, занимающихся только разработкой RASP.</p>
<h3><strong>№5. SCA</strong></h3>
<p>Решения для анализа состава программного обеспечения (SCA) анализируют корпоративные приложения, как правило, уже в процессе разработки, чтобы идентифицировать встроенные open source компоненты и, иногда, коммерческие продукты внутри проектов заказчика. Кроме этого, инструменты SCA выявляют известные уязвимости в этих пакетах, что повышает эффективность разработки, т.е. снижает затраты на исправление дефектного кода. Они также могут определять лицензию, под которой распространяется конкретный компонент, что облегчает оценку юридических рисков.</p>
<p>Бизнесу стоит рассматривать инструменты SCA как основополагающие решения для контроля продуктов с открытым исходным кодом (OSS) и артефактов сторонних производителей и выявления их уязвимостей. Это поможет определить риски цепочек поставок ПО, обеспечить целостность компонентов Open Source и проанализировать их лицензионную чистоту.</p>
<p>В качестве вызовов, влияющих на развитие и распространение подобных решений, можно выделить следующие:</p>
<p>Большое количество пакетов с открытым исходным кодом, их взаимозависимостей и использованных языков программирования порождают сложную структуру. Чтобы справиться с ней, компаниям приходится комбинировать несколько решений — это усложняет реализацию анализа безопасности и затраты на этот процесс;</p>
<p>SCA-инструменты при выявлении вредоносного кода полагаются на публичные базы данных уязвимостей и часто обходят стороной коммерческие библиотеки ПО, которые также могут быть полезны при поиске опасных брешей;</p>
<p>SCA-системы существуют уже не менее десяти лет. Но растущая популярность открытого исходного кода, а также изменения в способах сборки приложений изо множества компонентов способствовали формированию целого ряда различных типов решений. Они варьируются от свободно распространяемых сканеров до специализированных коммерческих инструментов и комплексных решений по безопасности приложений. Некоторые решения для разработки и сопровождения ПО также предоставляют базовые возможности SCA.</p>
<p>SCA-системы полезно оценивать по следующим возможностям и параметрам:</p>
<ul>
<li>Удобство для разработчиков.</li>
<li>Экосистемность и интеграционные возможности.</li>
<li>Анализ зависимостей.</li>
<li>Обнаружение, приоритизация, исправление уязвимостей.</li>
<li>Управление и контроль.</li>
<li>Составление отчётов.</li>
<li>Автоматизация и расширяемость.</li>
<li>Безопасность облачных приложений.</li>
</ul>
<p>Каждая организация имеет разные потребности, которые будут различаться в зависимости от различных факторов, таких как технологический стек, вариант использования и, конечно же, доступный бюджет и приоритеты безопасности. Не существует универсального инструмента SCA. Но, по крайней мере, если приходится принимать поспешные решения, необходимо убедиться, что выбранный инструмент SCA способен точно обнаружить все используемые компоненты с открытым исходным кодом, а также любые уязвимости и лицензии, связанные с ними.</p>
<p><strong>Заключение</strong></p>
<p>Сегодня мы наблюдаем резкий рост значимости безопасности в контексте создания приложений, что приводит к увеличению популярности DevSecOps и более глубокому проникновению подходов безопасной разработки в процессы компаний. В целом технологический пул практик AppSec проявляет высокую чувствительность к современным трендам кибербезопасности и в результате трансформируется.</p>
<p><strong><span style="color: #2d2d2d;">Источник</span>:</strong></p>
<ol>
<li>Юрий Сергеев &#8212; основатель и генеральный партнер Swordfish Security &#8212; DevSecOps и практики разработки защищенного ПО в контексте современных вызовов<br />
Ссылка: <a href="https://habr.com/ru/companies/swordfish_security/articles/702732/" target="_blank" rel="noopener">https://habr.com/ru/companies/swordfish_security/articles/702732/</a></li>
<li>Артем Пузанков &#8212; Департамент защиты приложений VK &#8212; Кто такие Security Champions?<br />
Ссылка:<a href="https://habr.com/ru/companies/vk/articles/725088/" target="_blank" rel="noopener"> https://habr.com/ru/companies/vk/articles/725088/</a></li>
<li>Екатерина Быстрова – Журналист Anti-Malware.ru &#8212; Разработка безопасных приложений.<br />
Ссылка: <a href="https://www.anti-malware.ru/analytics/Market_Analysis" target="_blank" rel="noopener">https://www.anti-malware.ru/analytics/Market_Analysis</a></li>
<li>Юрий Шабалин – Ведущий архитектор Swordfish Security &#8212; Выбираем динамический анализатор: на что обратить внимание?<br />
Ссылка: <a href="https://www.anti-malware.ru/analytics/Technology_Analysis/Dynamic-program-analysis-choosing" target="_blank" rel="noopener">https://www.anti-malware.ru/analytics/Technology_Analysis/Dynamic-program-analysis-choosing</a></li>
<li>Безопасная разработка: SAST, DAST, IAST и RASP<br />
Ссылка: <a href="https://habr.com/ru/companies/alexhost/articles/535128/" target="_blank" rel="noopener">https://habr.com/ru/companies/alexhost/articles/535128/</a></li>
</ol>
<p><strong>Адаптация и редакция:</strong><br />
Сапиев А.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
