Анализ безопасности программного обеспечения киберфизических систем с использованием методов


Download 1.46 Mb.
Pdf ko'rish
bet10/14
Sana14.12.2022
Hajmi1.46 Mb.
#1003321
TuriАвтореферат
1   ...   6   7   8   9   10   11   12   13   14
Bog'liq
autoref-analiz-bezopasnosti-kiberfizicheskikh-sistem-s-ispolzovaniem-metodov-mashinnogo-obucheniya


 
где анализируемый путь выполнения, – количество достижимых вызовов функций, 
– вызываемая функция, – оценка опасности функции , – количество 
предыдущих вызовов функции , – глубина анализа ГПУ. При оценке потенциальной 
опасности косвенных вызовов функций, когда неизвестна вызываемая функция,

В результате отслеживания символьных переменных (taint-анализа), используемых в 
условиях достижения требуемой точки
программы строится формула
в логике 
первого порядка, содержащая символьные переменные, например:

где

– символьные переменные, от значений которых зависит достижимость точки 

Построенная формула передается SMT-решателю для нахождения допустимых значений 
символьных переменных для достижения целевой точки
программы. Предлагаемый 
алгоритм анализа программы и выявления СФВ представлен на рисунке 4. 
Основной проблемой приоритизации анализируемых путей выполнения программы 
только на основе предварительной оценки опасности вызываемых системных функций 
является неточность оценки для путей, содержащих большое количество косвенных 
вызовов функций. 
Для повышения эффективности процесса динамического анализа путей выполнения 
программы предложен метод, основанный на применении алгоритма машинного обучения 
с подкреплением, позволяющий накапливать имеющуюся информацию о вызываемых 
функциях и их апостериорной оценке опасности с использованием предложенных 
критериев опасности выполняемых операций с учетом порождаемых информационных 
потоков. В качестве алгоритма машинного обучения с подкреплением используется 
алгоритм Q-обучения (Q-learning), относящийся к классу алгоритмов на основе временных 
различий (Temporal Difference, TD) с разделенной оценкой ценности стратегий. 
Использование Q-обучения позволяет оптимизировать алгоритм выбора путей для анализа 
с учетом получаемой в ходе выполнения программы информации о функциях, вызываемых 
с использованием косвенной адресации. 
Обучение с подкреплением заключается во множественном взаимодействии агента 
с окружающей средой, где агент выбирает доступное для выполнения действие, а среда в 
ответ на действие генерирует численное вознаграждение


14 
Выполнение 
следующей 
инструкции 
c
i
Если 
бесконечный 
цикл
ДА
Если call / jmp
Анализ функции f
ДА
НЕТ
НЕТ
ДА
НЕТ
Начало
Если f считывает 
внешние данные
Пометить (tainting) 
входные данные для 
отслеживания
Если f изменяет 
внешние данные
Оценить опасность 
функции
Если условный 
переход
Анализ путей 
выполнения и 
расчет метрик M(p
i
)
Если 
M(p
1
) M(p
2
)
Сохранение 
состояния 
выполнения S
i
(p
1

Построение 
символьного 
уравнения
Решение уравнения и 
изменение условий 
перехода
НЕТ
Cov < Cov
max
и T < T
max
Завершение 
процесса/потока
ДА
Возврат к 
состоянию 
выполнения S
i
(p
1
)
ДА
Сохранить информацию
о вызове функции и 
условиях выполнения
Сохранить информацию
о вызове функции
ДА
ДА
Конец
НЕТ
НЕТ
НЕТ
ДА
НЕТ
ДА
Рисунок 4 – Блок-схема алгоритма динамического анализа путей выполнения программы
с 
применением технологии символьного выполнения 
В данной задаче агентом будет являться подпрограмма, получающая на каждом 
временном шаге описание состояния анализируемой программы
, характеризующееся 
базовым блоком, на инструкции условного перехода которого в данный момент 
остановлен динамический анализ программы. На основе имеющейся информации о 
потенциальной опасности возможных путей дальнейшего выполнения программы 
выбирается действие
. Выбор осуществляется между следованием по текущему пути 
выполнения программы, определяемому текущим состоянием памяти и регистров, либо 
построением и решением символьной формулы и изменением пути выполнения 
программы. Окружающей средой является процесс выполнения выбранного пути 
программы с использованием средств динамической бинарной инструментации (ДБИ) до 
следующей инструкции условного перехода.  
Решение агента о выборе пути дальнейшего выполнения принимается на основе 
анализа ожидаемого вознаграждения для каждого из возможных путей. На следующем 
временном шаге агент получает вознаграждение, рассчитываемое как

Download 1.46 Mb.

Do'stlaringiz bilan baham:
1   ...   6   7   8   9   10   11   12   13   14




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling