Примечательно, что вопросы безопасности прорабатываются еще на этапе разработки, в этом случае один из эффективных инструментов — SAST. SAST (Static Application Security Testing), или же статистическое тестирование безопасности приложений, представляет собой процесс анализа исходного кода или бинарных файлов без их фактического выполнения. Важная особенность SAST — его способность обнаруживать потенциальные ошибки, уязвимости и недочеты в коде на ранних этапах разработки, когда их можно оперативнее исправить.
Сотрудники кафедры МКиИТ факультета «Информационные технологии» МТУСИ доктор технических наук, профессор Юрий Леохин и кандидат технических наук, доцент Тимур Фатхулин исследовали проблемы статического тестирования в жизненном цикле разработки безопасного программного обеспечения и предложили пути их решения.
Специалисты рассмотрели аспекты применения SAST, проанализировали опасности и риски, связанные с недостаточным управлением данными. «В ходе исследования были рассмотрены практические решения, используемые в таких организациях как Институт системного программирования РАН (инструмент Svace) и ПАО «Ростелеком» (анализатор ПО Solar appScreener). При сравнении наиболее часто применяемых систем управления результатами SAST выбраны три основных критерия: скорость обработки данных, точность обнаружения уязвимостей и простота использования», — рассказал Юрий Леохин.
Исследователи разработали рекомендации по использованию программных инструментов, которые позволят повысить эффективность применения SAST при создании ПО для определенных типов задач.
Рекомендуется применять автоматизацию с помощью искусственного интеллекта и методов машинного обучения, что позволит улучшить обнаружение угроз. Важна интеграция в DevSecOps и создание инструментов для новых языков программирования и многопоточных систем. Исследователи отметили, что использование гибкой политики безопасности дополнит защиту данных, делая разработку ПО с использованием SAST более эффективной и надежной.
Исследование опубликовано в трудах конференции 2024 Systems of Signals Generating and Processing in the Field of on Board Communications.