ИКРБС
№ 223062900004-4Отчёт "Исследование и разработка методов глубокого статического анализа с учетом отдельных путей выполнения и потока чувствительных данных" по проекту РФФИ 20-01-00581 (заключительный). Этап 3.
28.12.2022
За время проекта исследовались различные аспекты межпроцедурного чувствительного к путям статического анализа, который позволяет выполнять алгоритмы анализа потока чувствительных данных. Были разработаны алгоритмы анализа программы сверху вниз по графу вызовов (в дополнение к основной схеме анализа снизу вверх), в которых производится исследование свойств, которые не обладают всеобщностью и справедливы для некоторого контекста вызова или цепочки вызовов функций. На основе данного анализа разработаны детекторы помеченных данных для непроверенных целых чисел и строк, поддержаны аннотации полей структур и аргументов функций. Все алгоритмы реализованы и апробированы в среде статического анализа Svace.
Также исследованы алгоритмы распространения чувствительных данных на основе задачи межпроцедурной достижимости на графах (IFDS-задача), которые реализованы в качестве экспериментального прототипа в среде Irbis. Разработан метод эффективного распространения чувствительных данных через глобальные переменные; алгоритм обработки внешних для анализатора вызовов (системных, библиотек и пр.) через специальный формат аннотаций на основе JSON, позволяющий указать источники, стоки и распространители чувствительных данных; межпроцедурный алгоритм анализа вызовов по указателю, также основанный на варианте IFDS-задачи; алгоритм снятия пометок о чувствительности с целочисленных данных. На основе реализованных алгоритмов разработаны и реализованы четыре детектора с разными определениями помеченных данных, используемыми для нахождения выхода за границы буфера, использования освобождённой памяти, использования константных паролей и утечек данных. Также с использованием предложенных методов межпроцедурного анализа разработан алгоритм поиска использований освобожденного ресурса в коде на языке C# и реализован в среде SharpChecker, входящей в семейство анализаторов Svace.
По результатам анализа разработанных методов поиска ошибок, связанных с использованием чувствительных данных, можно заключить, что подход, предложенный в рамках инструмента Svace, дает меньше ложных срабатываний, но может пропускать некоторые ошибки, тогда как подход инструмента Irbis дает лучшее покрытие за счет большего количества ложных срабатываний
ГРНТИ
50.05.17 Теоретические основы системного программного обеспечения
50.41.17 Системное программное обеспечение
Ключевые слова
УЧЕТ ЧУВСТВИТЕЛЬНЫХ ДАННЫХ.
SMT-РЕШАТЕЛИ
СИМВОЛЬНОЕ ВЫПОЛНЕНИЕ
ЧУВСТВИТЕЛЬНОСТЬ К ПУТЯМ
СТАТИЧЕСКИЙ АНАЛИЗ
Детали
Заказчик
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ УЧРЕЖДЕНИЕ "РОССИЙСКИЙ ФОНД ФУНДАМЕНТАЛЬНЫХ ИССЛЕДОВАНИЙ"
Исполнитель
Федеральное государственное бюджетное учреждение науки Институт системного программирования им. В.П. Иванникова Российской академии наук
Бюджет
Средства фондов поддержки научной и (или) научно-технической деятельности: 1 176 000 ₽
Похожие документы
Исследование и разработка методов глубокого статического анализа с учетом отдельных путей выполнения и потока чувствительных данных. Проект РФФИ 20-01-00581.
0.947
НИОКТР
Исследование и разработка методов глубокого статического анализа с учетом отдельных путей выполнения и потока чувствительных данных. Проект РФФИ 20-01-00581.
0.947
НИОКТР
Отчёт "Разработка методов статического анализа бинарного кода для поиска ошибок в программах" по проекту РФФИ 18-07-01154 (заключительный). Этап 3.
0.919
ИКРБС
Отчёт о научно-исследовательской работе "Системное программирование и информационная безопасность" (промежуточный), этап 2.
0.917
ИКРБС
Отчёт о научно-исследовательской работе "ИССЛЕДОВАНИЕ И РАЗРАБОТКА МЕТОДОВ СТАТИЧЕСКОГО АНАЛИЗА ИСХОДНОГО И БИНАРНОГО КОДА ДЛЯ ВЫЯВЛЕНИЯ ОШИБОК И УЯЗВИМОСТЕЙ" по теме: "Методы организации детерминированного межпроцедурного статического анализа для поиска ошибок и уязвимости переполнения буфера" (заключительный).
0.916
ИКРБС
Анализ и трансформация программ для обеспечения информационной безопасности
0.911
ИКРБС
Отчёт "Методология построения статического анализа программ для поиска ошибок и уязвимостей в исходном коде программ" по теме: "Исследование и разработка методов выявления дефектов производительности и архитектуры приложений для современных мобильных и параллельных вычислительных систем" (заключительный).
0.908
ИКРБС
Анализ и трансформация программ для обеспечения информационной безопасности
0.908
ИКРБС
Анализ и трансформация программ для обеспечения информационной безопасности
0.906
ИКРБС
Отчёт «Исследование и разработка методов направленного динамического анализа программ» по проекту РФФИ 17-07-00702 (итоговый).
0.904
ИКРБС