Вышел Solar appScreener с корреляцией результатов SAST и DAST

Вышел Solar appScreener с корреляцией результатов SAST и DAST

Вышел Solar appScreener с корреляцией результатов SAST и DAST

Компания «РТК-Солар» представила обновление Solar appScreener, комплексного решения для контроля безопасности программного обеспечения и информационных систем. В новой версии появилась возможность корреляции результатов статического анализа кода (SAST) с результатами динамического сканирования (DAST).

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

В версии Solar appScreener 3.12 в дополнение к статическому анализу кода (SAST) реализована возможность провести динамическое сканирование (DAST) приложения. При динамическом анализе происходит выявление уязвимостей через эмуляцию внешних атак. По ответу от приложения система делает вывод, есть ли в нем уязвимости. При статическом анализе не происходит выполнения программы, а анализируется весь ее код. Преимуществом метода является покрытие большего количества уязвимостей.

Для проверки приложения в Solar appScreener 3.12 достаточно указать URL приложения и запустить сканирование. По результатам корреляции результатов двух методов анализа пользователь Solar appScreener 3.12 предоставляет единый отчет. В нем отражены уязвимости и НДВ, обнаруженные с помощью статического анализа кода, и отдельно выделены те из них, которые были подтверждены динамическим тестированием приложения. Отчет, как и прежде, содержит подробные рекомендации по устранению выявленных ошибок и повышению безопасности тестируемого ПО.

Даниил Чернов, директор центра Solar appScreener компании «РТК-Солар»: «Ранее специалисты по безопасности ПО вынуждены вручную сопоставлять результаты сканирования, проведенные с помощью отдельных SAST и DAST-решений. Разработав алгоритмы корреляции результатов двух методов анализа, нам удалось снизить количество ложных срабатываний и достичь более точных результатов поиска уязвимостей и НДВ. Это позволит значительно сократить время обработки результатов анализа уязвимостей, полученных из двух различных инструментов SAST и DAST, благодаря чему — снизить нагрузку на специалистов, отвечающих за безопасность приложений и информационных систем. В будущем мы планируем развивать модуль корреляции, добавляя другие технологии, что позволит еще более эффективно выявлять уязвимости в ПО».

В новой версии Solar appScreener внесен целый ряд изменений для повышения удобства пользователей при работе с анализатором. В частности, в интерфейсе теперь отображается процесс загрузки файлов на анализ, что позволит избежать ошибок при загрузке больших проектов. Кроме того, улучшена работа с группами уязвимостей, благодаря чему пользователь может выбрать любые уязвимости в списке и изменить статус/критичность или оставить комментарий для всей группы. Дополнительно была оптимизирована работа с приватными репозиториями благодаря интеграции при помощи авторотационных токенов и SSH-ключей из интерфейса SolarappScreener.

В обновлении изменилась логика работы с шаблонами экспорта отчета. В системе появилась возможность создать глобальный шаблон, не привязанный к определенному проекту. Начиная с Solar appScreener 3.12 пользователи смогут запускать сканирование по расписанию и настраивать автоматическую отправку отчетов, указав адреса конкретных получателей.

Сегодня Solar appScreener поддерживает 36 языков программирования и 9 форматов исполняемых файлов и является мировым лидером по этому показателю. В новой версии решения были добавлены новые паттерны поиска уязвимостей для поддерживаемых языков программирования, расширена база правил для Android, улучшен taint-анализ для Python и поддержка проектов на Java 17. Кроме этого, добавлена возможность сканирования только по исходному коду приложения на Java и появилась поддержка фреймворка Symphony языка PHP.

 

На днях Anti-Malware.ru поговорил с Даниилом Черновым о новой версии Solar appScreener, ставшей самым ожидаемым релизом, невероятном скачке российского рынка, собственном патентованном ядре Fuzzy Logic Engine и корреляции данных анализа SAST и DAST.

Критическую уязвимость в ядре Linux x86 не замечали с 2020 года

В ядре Linux обнаружили уязвимость, которая тихо жила в системе несколько лет — и притом в одном из самых чувствительных мест. Речь идёт о механизме обработки page fault на архитектуре x86, то есть о коде, который срабатывает каждый раз, когда процессор фиксирует некорректный доступ к памяти.

Проблема тянулась как минимум с 2020 года и была связана с тем, что в ряде сценариев аппаратные прерывания оказывались включёнными в момент, когда ядро ожидало их отключения.

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

На уязвимость обратил внимание инженер Intel Седрик Син (Cedric Xing), внимательно изучавший код обработки исключений. Как выяснилось, логика в функции do_page_fault() опиралась на устаревшее и, по сути, ошибочное допущение.

В комментариях прямо говорилось, что отследить состояние прерываний на всех возможных ветках выполнения почти невозможно — и разработчики много лет балансировали между «комбинаторным кошмаром» из патчей и попытками аккуратно чинить отдельные случаи.

Но проблема оказалась глубже. Код смешивал два разных понятия — адрес (пользовательский или ядерный) и контекст выполнения. Обычно они совпадают, но не всегда.

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

Особенно показательной оказалась ветка __bad_area_nosemaphore(), где предпринимается попытка «восстановить правильное состояние», но на деле это происходило не всегда и не одинаково. В результате возникала асимметрия: в зависимости от пути выполнения система могла оказаться в неожиданном состоянии.

В итоге разработчики пришли к простому, но радикальному выводу: латать отдельные ветки бессмысленно. Вместо этого было принято решение гарантированно и безусловно отключать прерывания в одном конкретном месте — прямо перед возвратом управления в низкоуровневый обработчик page fault. Без условий, без проверок, без попыток «угадать» контекст.

Патчи уже вошли в ветку Linux 6.19, а также планируются к бэкпорту в поддерживаемые стабильные версии. Фактически оно устраняет дефект, появившийся ещё во времена Linux 5.8.

RSS: Новости на портале Anti-Malware.ru