В НовГУ предложили гибридный метод поиска скрытых уязвимостей в программах
Существующие инструменты проверки безопасности в некоторых приложениях пропускают до 75% путей выполнения кода. Исследователи Новгородского университета и ИСП РАН описали подход, который должен закрыть эти «слепые зоны».

Учёные Новгородского университета и Института системного программирования имени Иванникова РАН описали в исследовании новый подход к поиску уязвимостей в программах. По их данным, популярные инструменты кибербезопасности иногда пропускают угрозы: в некоторых приложениях до 75% путей выполнения сливаются воедино, и вредоносный код остаётся незаметным.
Причина в том, что встроенные счётчики таких сканеров «слепнут» на высоких частотах. Они не отличают 200 повторений потенциально вредоносного цикла от 2000. Злоумышленники к тому же прячут вирусы за сложным сжатием и шифрованием, и структура кода становится видна только при исполнении.
По выводу авторов, ни один существующий инструмент в чистом виде не подходит для точного анализа безопасности всей системы. Павел Довгалюк, кандидат технических наук НовГУ, считает, что будущее за гибридным подходом.
Если мы хотим точно выявлять поверхность атаки и находить редко выполняемые, а значит потенциально уязвимые участки кода, нам необходимо безошибочно связывать исходный текст с машинными инструкциями
Предложенный метод сочетает два способа оценки покрытия: по базовым блокам кода и по рёбрам, то есть переходам между блоками. Он не требует менять исходный код до запуска программы, поэтому подходит для зашифрованных приложений и кода, который создаётся системой во время работы. Машинные инструкции связываются с исходным текстом через отладочную информацию.
Главная цель — соединить карту покрытия кода с анализом потоков чувствительных данных, таких как пароли и ключи доступа. Так специалисты увидят, какие функции находятся под прицелом. Разработчики смогут находить редко выполняемые и плохо проверенные участки кода, где чаще всего прячутся уязвимости.
Чтобы не перегружать диски огромными логами, исследователи предлагают динамическое сжатие файлов во время выполнения программы или раздельное хранение данных в компактных хеш-таблицах. Конечная цель — расширенная таблица модулей с информацией о каждом процессе, которая позволит анализировать систему целиком.




Комментарии
Пока никто не написал. Будьте первым.