Рамблер
Все новости
В миреФильмы и сериалыФутболНовости МосквыОтдых в РоссииХоккейПолитикаОтдых за границейЕдаОбществоАктерыЛайфхакиПроисшествияКрасотаЛичный опытПсихологияНаука и техникаШоу-бизнесЭкономикаТрендыВоенные новостиКомпанииАналитикаЛичный счетИгрыНедвижимостьДетиФигурное катаниеДом и садЛетние виды спорта
Личные финансы
Женский
Кино
Спорт
Aвто
Развлечения и отдых
Здоровье
Путешествия
Помощь
Полная версия

ИИ научили быстро искать уязвимости в программном коде

Российские и казахстанские исследователи разработали на базе систем искусственного интеллекта новую методику поиска уязвимостей в программном коде, которая справляется с этой задачей эффективнее и быстрее, чем специализированные статические анализаторы кода.

Об этом сообщила пресс-служба Сбербанка.

"Работа вносит весомый вклад в развитие технологий на стыке искусственного интеллекта и кибербезопасности, предлагая эффективный инструмент для поиска уязвимостей цифровой инфраструктуры. В эпоху цифровой трансформации подобные технологии становятся стратегически важными для защиты данных клиентов и бизнес-процессов бизнеса", - прокомментировал разработку директор Центра практического искусственного интеллекта Сбербанка Глеб Гусев, чьи слова приводит пресс-служба Сбера.

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

Исследователи из Центра практического искусственного интеллекта Сбербанка и специалисты из России и Казахстана разработали подход, который позволяет использовать для этих целей большие языковые модели, адаптированные для написания кода. В своем исследовании ученые использовали предобученную на большом количестве данных нейросеть WizardCoder и дообучили ее так, чтобы она искала только ошибки.

Как отмечают ученые, при разработке этой системы они значительно повысили качество данных для обучения и отобрали для этого только те примеры, где уязвимость кода точно присутствует. Также разработчикам удалось подобрать такое количество примеров обучения в рамках одного шага оптимизации, которое ускорило примерно в 13 раз процедуру дообучения. Это позволило ученым получить систему ИИ, которая значительно превосходила другие большие языковые модели в умении находить и помечать потенциальные уязвимости.

Для проверки работы системы ученые подготовили набор отрывков кода на популярном языке Java, в рамках которого уязвимости были размечены точнее, чем в других открытых источниках. Последующие проверки показали, что новая система превзошла уже существующие ИИ-подходы по выявлению уязвимостей примерно на 4-5% при работе с самой простой частью этого набора и примерно на 22% при проверке более сложного набора отрывков кода. Это говорит в пользу дальнейшей разработки систем анализа кода на базе больших языковых моделей, подытожили ученые.