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


Download 1.46 Mb.
Pdf ko'rish
bet9/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

Потенциально опасной операцией будет являться операция, в результате которой 
создаются информационные потоки, хоть один из которых нарушает следующие правила: 
1. 
Если показатель доверия к источнику передаваемой информации меньше 
показателя критичности получателя данных , то выполняемая операция является 
потенциально опасной операцией изменения данных. Примером служит изменение 
критического системного файла или модификация памяти процесса. 
2. 
Если показатель критичности источника передаваемой информации  по операции 
чтения больше показателя доверия к получателю Dst исходящего потока, то выполняемая 
операция: 
— 
является потенциально опасной операцией чтения данных, если получателем 
выступает анализируемый процесс. Примером служит считывание критических 
данных анализируемой программой; 
— 
является потенциально опасной операцией передачи данных, если 
получателем выступает сторонний объект. Примером служит отправка критических 
данных на удаленный сервер. 
3. 
Если показатель доверия к источнику информации , которому передается 
управление, меньше показателя критичности получателя данных целевого контекста 
выполнения кода , то выполняемая операция является потенциально опасной 
операцией передачи управления. Примером служит загрузка неподписанных динамических 
исполняемых модулей с наличием признаков защиты кода от исследования. 
Выявление опасных функциональных возможностей ПО заключается в определении 
множества доступных для выполнения программой потенциально опасных операций на 
основе динамического анализа. Для этого необходимо обеспечить максимизацию 


11 
покрытия исполняемого кода программы с учетом потенциальной опасности путей ее 
выполнения. 
Предложен метод оценки потенциальной опасности путей выполнения программы 
на основе результатов предварительной кластеризации основных анализируемых 
системных функций, позволяющий осуществлять выбор наиболее опасных участков 
программы для проведения их выборочного динамического анализа. Оценка 
потенциальной опасности анализируемых путей выполнения программы основывается на 
совокупной оценке опасности вызываемых системных функций. Опасность системных 
функций оценивается на основе результатов предварительной кластеризации функций на 
три класса: безопасные операции, подозрительные операции, потенциально опасные 
операции. Статистика встречаемости функций в выборках была получена на основе 
статического анализа исполняемых файлов легитимного и вредоносного ПО. В качестве 
алгоритмов кластеризации использовался метода k-средних, анализируемая выборка 
состояла из 100 тысяч исполняемых файлов. На рисунке 2 представлены полученные 
результаты кластеризации. Показатель отражающий оценку опасности функции на 
основе собранной статистики, рассчитывается на основе следующей формулы: 
где – анализируемая системная функция, значение равно 1 при наличии 
функции в –м файле вредоносной выборки, иначе – 0, значение  равно 1 при 
наличии функции в –м файле вредоносной выборки, – общее количество 
вредоносных файлов, – общее количество легитимных файлов. 
Рисунок 2 – Результат кластеризации системных функций на основе алгоритма k-средних 
Полученное в результате кластеризации функций разбиение используется 
для расчета значения оценки потенциальной опасности вызова системной функции
следующим образом: 


12 

где – показатель, отражающий преобладание встречаемости функции во вредоносной 
выборке по сравнению с легитимной, – результат кластеризации: для 
«безопасной» функции = 1, для «подозрительной» функции = 2, для 
«потенциально опасной» функции = 3. 
Одной из важных проблем проведения динамического анализа ПО является наличие 
в исполняемом коде скрытых функциональных возможностей, выполнение которых будет 
осуществляться только при соблюдении условий, предъявляемых анализируемой 
программой к среде исполнения. К таким условиям, прежде всего, относится отсутствие в 
ОС средств защиты и анализа, а также соответствие системы характеристикам целей 
проводимой ЦА. 
Для возможности определения условий выполнения целевого кода программы 
предложен алгоритм выявления скрытых функциональных возможностей (СФВ) в ПО с 
применением технологии динамического символьного выполнения. Применение 
технологии динамического символьного выполнения позволяет отслеживать зависимости 
поведения программы от внешних относительно анализируемой программы данных и 
определять требуемые их значения для реализации СФВ. 
Пример анализа путей выполнения программы для выявления СФВ в ПО 
представлен на рисунке 3. В данном примере осуществляется анализ двух путей A и B 
выполнения программы, доступных из базового блока кода с функцией ReadFile, 
осуществляющей считывание внешних данных. Принятие решения о дальнейшем пути 
выполнения программы основывается на анализе опасности достижимых из точки Z 
функций.
 
Рисунок 3 – Пример анализа потенциальной опасности путей выполнения программы


13 
Для каждого анализируемого пути выполнения программы рассчитывается 
показатель
, основанный на оценке опасности достижимых функций, для заданной 
глубины   анализа графа передачи управления (ГПУ):

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