Автор: Дарья Старичнева, Brand Manager
В свете быстрого развития технологий искусственный интеллект приобретает все более существенную роль в различных отраслях. В разработке программного обеспечения ИИ показал большие перспективы в автоматизации задач, создании кода и оптимизации процессов. Несмотря на то, что интеграция искусственного интеллекта в процесс разработки дает множество преимуществ, важно осознавать и потенциальные риски, связанные с его использованием.
Основные угрозы безопасности и способы их предотвращения
Проблемы с соответствием
Код, сгенерированный искусственным интеллектом, часто вызывает беспокойство относительно соответствия стандартам, поскольку автоматизированные процессы не всегда учитывают необходимость соответствовать нормативным требованиям и отраслевым стандартам. Часто такой код содержит уязвимости, которые в будущем могут повлечь за собой несоответствие общепринятым стандартам типа ISO 27001, PCI DSS.
XSS и SQLi уязвимости в сгенерированном коде
GitHub Copilot или другие инструменты разработки, основанные на ИИ, могут извлечь код из любых источников, включая неавторизованные, и поэтому требует более тщательного анализа, большего количества тестов и просмотров. Инструмент также может подтягивать старые, уязвимые версии кода, проигнорировав последние патчи и обновления.
Лицензирование и соответствие авторским правам
Сгенерированный искусственным интеллектом код может содержать фрагменты из разных источников, что может привести к нарушению условий лицензирования и авторских прав. Для обеспечения соответствия этим требованиям рекомендуется использовать инструменты анализа состава программного обеспечения (SCA). SCA могут идентифицировать фрагменты кода, проверять их лицензии и информацию об авторских правах, минимизируя риск правовых проблем, связанных с кодом, созданным решениями на основе ИИ.
Злоумышленники могут подделывать ответы на популярные запросы
Чем более распространен запрос – тем с меньшей вероятностью он будет безопасен. Злоумышленники будут пытаться разместить вредоносный код в общедоступных хранилищах, подделав названия популярных библиотек и компоненты, что может повлечь за собой потенциальную эпидемию уязвимости.
Внешне правильный код, создающий уязвимость бизнес-логики
Внешне правильный код, отвечающий всем стандартам безопасности, может стать уязвимым после имплементации в сборку. OWASP считает уязвимости, связанные с бизнес-логикой, более критичными с точки зрения последствий, поскольку они глубоко связаны с процессами компании. Проверить подобные уязвимости можно с помощью продвинутых инструментов DAST сканирования в решениях от Invicti Security. Инструмент разработан как часть WAS решений Invicti, Acunetix и называется Business Logic Recorder. Он позволяет записать типичную последовательность действий пользователя веб-ресурса и дать команду проверить безопасность этого пути с точки зрения бизнес-логики.
Вывод
Внедрение искусственного интеллекта в процесс разработки предоставляет превосходные перспективы для интеграции инноваций и увеличения эффективности. Однако очень важно знать о рисках, сопровождающих эту технологию.
Уязвимости в сгенерированном коде, несоответствие лицензионным нормам и стандартам, а также возможные ошибки, связанные с бизнес-логикой, являются одними из ключевых проблем, требующих внимания.
DAST позволяет командам разработчиков выявлять и решать проблемы безопасности в режиме реального времени, обеспечивая создание безопасного и надежного программного обеспечения, отвечающего самым высоким стандартам качества и безопасности. Это позволяет своевременно выявлять и исправлять недостатки безопасности, уменьшая риск потенциальных нарушений данных и обеспечивая разработку безопасных и надежных программ.
Invicti является поставщиком платформ AppSec на основе технологий DAST с добавлением IAST и SCA. Продукты Invicti базируются на более чем пятнадцатилетнем опыте устранения многих типовых недостатков DAST, в частности, благодаря уникальной технологии Proof-based scanning сканеры имеют самый низкий уровень ложноположительных результатов на рынке и способны точно определять местоположение уязвимости в коде.







