ПРИМЕНЕНИЕ ИНТЕЛЛЕКТУАЛЬНЫХ ТЕХНОЛОГИЙ ДЛЯ ОБНАРУЖЕНИЯ ВРЕДОНОСНЫХ ПРОГРАММ В ОПЕРАЦИОННОЙ СИСТЕМЕ (ОС) ANDROID

Научная статья
DOI:
https://doi.org/10.18454/IRJ.2016.47.123
Выпуск: № 5 (47), 2016
Опубликована:
2016/05/20
PDF

 Жернаков С.В.1, Гаврилов Г. Н. 2

1 Доктор технических наук, профессор 2 Аспирант, Уфимский государственный авиационный технический университет

ПРИМЕНЕНИЕ ИНТЕЛЛЕКТУАЛЬНЫХ ТЕХНОЛОГИЙ ДЛЯ ОБНАРУЖЕНИЯ ВРЕДОНОСНЫХ ПРОГРАММ В ОПЕРАЦИОННОЙ СИСТЕМЕ (ОС) ANDROID

Аннотация

В данной работе поставлена цель повышения эффективности обнаружения вредоносных программ в ОС для мобильных устройств (на примере ОС Android). Она была решена разработкой методики на основе машины опорных векторов и нечеткой логики.

Ключевые слова: Android, вредоносная программа, машина опорных векторов, нечетная логика.

Zhernakov S. V. 1, Gavrilov G. N. 2

1PhD in Engineering, Professor,  2Postgraduate student, Ufa State Aviation Technical University

APPLICATION OF INTELLIGENT TECHNOLOGY TO DETECT MALWARE IN THE OPERATING SYSTEM (OS) ANDROID

Abstract

In this paper we set the objective of increasing the efficiency of detection of malicious software in the operating system for mobile devices (for example, the Android OS ) . It was achieved by developing a technique based on support vector machines and fuzzy logic.

Keywords: Android, malicious software, support vector machines, fuzzy logic.

ОС для мобильных устройств типа Android “нацелена” на охват широкого круга пользователей. В настоящее время она занимает 75-80% рынка всех мобильных устройств. Она имеет широкие возможности за счет минимального количества ограничений по отношению перечню доступных функций, что отрицательно влияет на защищенность. Данная ОС имеет открытый исходный код, большую свободу действий в отношении доступных функциональных возможностей. Данные факторы и прочие уязвимости, присутствующие в ОС данного типа являются удобным способом для распространения и “заражения” вредоносными программами. Популярность и развитие современной сети Интернет позволяет с большой скоростью распространить программы данного типа на множество мобильных устройств. Таким образом, угроза со стороны вредоносных программ является актуальной проблемой в данной области. Встроенная модель безопасности ОС типа Android имеет надежные механизмы защиты, но обладает рядом недостатков по отношению к вредоносным программам [1]. Сторонние антивирусные программы, работающие по классическому методу, основанному на сигнатурном анализе, обладают недостатком, согласно которому новая или модифицированная вредоносная программа при отсутствии в антивирусной базе сигнатур не будет обнаружена. Вышеизложенное послужило поводом для исследований в области обнаружения вредоносных программ на основе их поведенческого характера.

Цель данной работы повышение эффективности обнаружения вредоносных программ в ОС для мобильных устройств типа Android путем разработки методики обнаружения вредоносных программ на основе их поведения.

Анализ поведенческого характера вредоносных программ. С целью выделения признаков необходимых для описания поведения вредоносных программ был выполнен анализ перечня разрешений системы разрешений, системных вызовов и формализация кода образцов вредоносных программ ОС для мобильных устройств [9]. Согласно полученным данным была разработана экспериментальная выборка описывающая поведение как вредоносных так безопасных программ. Фрагмент выборки представлен в таблице 1.

Таблица 1 – Фрагмент обучающей выборки

image001

Таблица 1 представляет собой экспериментальную выборку, заданную в бинарной форме (0 – отсутствует, 1 – присутствует) и включает в себя 100 векторов поведения программ. Столбцы с 1 по 10 содержат в себе информацию о выявленных в процессе формализации признаках программ. С 10 по 162 список всех разрешений. Столбец 163 и 164 содержат в себе значения, полученные путем анализа используемых системных процессов в ОС для мобильных устройств.

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

Пусть image004— множество программ, image006— множество состоящее из двух классов: virus, ok. В качестве метрики выбрано Евклидово расстояние между объектами.

image007

Задана конечная экспериментальная выборка объектов.

image009

Требуется разбить выборку на непересекающиеся подмножества, называемые кластерами, так, чтобы каждый кластер состоял из объектов, близких по метрике image012 , а объекты разных кластеров существенно отличались. При этом каждому объекту image014приписывается номер кластера image016 [31, 36].

Решение задачи: Требуется определить функцию image018 , которая любому объекту image020 ставит в соответствие номер кластера image022 . Множество image006  в некоторых случаях известно заранее, однако чаще ставится задача определить оптимальное число кластеров, с точки зрения того или иного критерия качества кластеризации.В качестве критерия точности и качества работы классификаторов будем использовать следующую формулу:

image024 где ОК – общий процент, как вредоносных, так и безопасных программ ошибки классификации; ЧН – суммарное число наблюдений; ЧО – число ошибок классификации.

Методика обнаружения вредоносных программ. На основе проделанных экспериментов был предложен метод обнаружения вредоносных программ на основе машины опорных векторов. Поскольку данный метод на фоне большого уровня помех, то есть размытости кластеров совершает ошибки классификации, была задействована нечеткая логика [3, 5], позволяющая выполнять дополнительную классификацию, то есть выполнить коррекцию, а также дополнить результат работы машины опорных векторов с учетом сильных помех. Метод обнаружения вредоносных программ объединяет в себе связку двух методов: машина опорных векторов и нечеткая логика [4].

В качестве входных данных выступает разработанная экспериментальная выборка, а также на ней производится обучение машины опорных векторов. В состав обучающей выборки вошли 67 составленных векторов программ. Тестовая выборка включала в себя 33 вектора программ с внесением изменений с целью усложнить задачу обнаружения вредоносных программ. Далее формализуются дополнительные признаки и задаются в виде функций принадлежности для нечеткой логики. В состав функций принадлежности также входит результат предсказания машиной опорных векторов. Затем формируется база правил для корректного функционирования нечеткой логики. На основании всех признаком и работы машины опорных векторов получаем результат, выраженный в процентах.

Алгоритм функционирования метода обнаружения вредоносных программ состоит из следующих шагов: извлечение и формирование вектора признаков из программы — подается вектор признаков программы (вредоносная или безопасная программа) на вход SVM-классификатора — осуществляется классификация машиной опорных векторов на два класса virus и ok — результат классификации и дополнительные признаки, заданные в виде функций, подаются блоку система поддержки принятия решений — на основании правил производится анализ результатов — выводится результат в процентах.

На основе предложенного метода был разработан исследовательский прототип программы, который представляет собой программу имитирующую поведение двух типов программ, условий и помех, собирающую статистику и ведущую журнал событий. Главное окно программы представлено на рисунке 2.

image025

Рис. 2 –  Главное окно программы

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

Заключение. Можно сделать вывод, что антивирусные программы обладают плохой эффективность обнаружения новых вредоносных программ [6], результат лучшего составил 60%, средний результат по всем рассматриваемым образцам составил 23,4%. Разработанный исследовательский прототип модели системы обнаружения вредоносных программ показал лучший результат в 80% и сравнительно небольшое количество ложных срабатываний равное в количестве 8 программ из 100 рассматриваемых образцов, что составило 19,35%, но при этом не учитывался результат работы аппарата нечеткой логики, который выполнил уточнение и коррекцию результат путем дополнительной классификации. Машина опорных векторов ошиблась, выдав вредоносную программу за безопасную, но нечеткая логика показала результат: подозрительная 45% и опасная 65%, таким образом, дополнив работу машины опорных векторов и улучшив показатели эффективности обнаружения. Следовательно, предложенный метод обнаружения вредоносных программ позволяет выполнять обнаружение путем анализа поведенческого характера программ, а также увеличить эффективность обнаружения, что положительно сказалось на защите информации в целом. Данный метод позволяет своевременно обнаружить и нейтрализовать угрозу со стороны как новых так уже имеющихся типов вредоносных программ, а также может выступать в дополнении к уже имеющимся классическим методам обнаружения.

Литература

  1. Жернаков С.В., Гаврилов Г.Н. Обзор современного состояния защиты информации в мобильных системах // Вестник БГТУ им. В.Г. Шухова. 2016, № 2. С. 171–176.  [S.V. Zhernakov, G.N. Gavrilov, “Overview of the current state of information security in mobile systems” (in Russian), in Vestnik BGTU V.G. Shukhov, vol. 2, pp. 171-176, 2016.]   [file:///D:/Documents/Downloads/2_2016_1.pdf]
  2. Жернаков С.В., Гаврилов Г.Н. Детектирование вредоносного программного обеспечения с применением классических и нейросетевых методов классификации // Вестник ВГУИТ. 2015, № 4. С. 85–92.  [S.V. Zhernakov, G.N. Gavrilov, “Detection of malicious software using classical and neural network classification methods” (in Russian), in Vestnik VGUIP, vol. 4, pp. 85-92, 2015.]   [file:///D:/Documents/Downloads/node800.pdf]
  3. Андрейчиков А.В., Андрейчикова О.Н. Интеллектуальные информационные системы: Учебник. М.: Финансы и статистика, 2004. – 424 с. [Andreychikov A.V., Andreichikova O.N. Intelligent information systems: Textbook, (in Russian). Moscow: Finance and Statistics, 2004.]
  4. Васильев В.И. Интеллектуальные системы защиты информации: Учебное пособие. М.: МАШИНОСТРОЕНИЕ, 2013. – 82 с. [Vasilyev V.I. Intelligent protection of information systems: Textbook. Moscow: ENGINEERING, 2013.]
  5. Головко В.А. Нейронные сети: обучение, организация и применение. Кн. 4: Учеб. пособие для вузов. М.: ИИРЖР, 2001. – 178 с. [Golovko V.A. Neural networks: education, organization and application. Bk. 4: Proc. manual for schools. Moscow: IIRZHR, 2001.]
  6. Зак Ю.А. Принятие решений в условиях нечетких и размытых данных: Fuzzy-технологии. – М.: ЛИБРОКОМ, 2013 – 179 с. [Zach Yu Decision-making in a fuzzy and blurry data: Fuzzy-technology. Moscow: LIBROKOM, 2013.]
  7. Сравнения антивирусов, DLP и других средств защиты [Электронный ресурс]. URL: http://www.anti-malware.ru/compare?????!!!! (дата обращения: 18.02.2016). [Comparisons antivirus, DLP and other remedies [Online], (in Russian). Avaliable: http://www.anti-malware.ru/compare?????!!!!]    9. Ken Dunham, Shane Hartman, Manu Quintans, Jose Andre Morales, Tim Strazzere. Android Malware and Analysis. NY, CRCPress, 2015. 91 p

References

  1. Zhernakov S.V., Gavrilov G.N. Obzor sovremennogo sostojanija zashhity informacii v mobil'nyh sistemah // Vestnik BGTU im. V.G. Shuhova. 2016, № 2. S. 171–176.  [S.V. Zhernakov, G.N. Gavrilov, “Overview of the current state of information security in mobile systems” (in Russian), in Vestnik BGTU V.G. Shukhov, vol. 2, pp. 171-176, 2016.]   [file:///D:/Documents/Downloads/2_2016_1.pdf]
  2. Zhernakov S.V., Gavrilov G.N. Detektirovanie vredonosnogo programmnogo obespechenija s primeneniem klassicheskih i nejrosetevyh metodov klassifikacii // Vestnik VGUIT. 2015, № 4. S. 85–92.  [S.V. Zhernakov, G.N. Gavrilov, “Detection of malicious software using classical and neural network classification methods” (in Russian), in Vestnik VGUIP, vol. 4, pp. 85-92, 2015.]   [file:///D:/Documents/Downloads/node800.pdf]
  3. Andrejchikov A.V., Andrejchikova O.N. Intellektual'nye informacionnye sistemy: Uchebnik. M.: Finansy i statistika, 2004. – 424 s. [Andreychikov A.V., Andreichikova O.N. Intelligent information systems: Textbook, (in Russian). Moscow: Finance and Statistics, 2004.]
  4. Vasil'ev V.I. Intellektual'nye sistemy zashhity informacii: Uchebnoe posobie. M.: MAShINOSTROENIE, 2013. – 82 s. [Vasilyev V.I. Intelligent protection of information systems: Textbook. Moscow: ENGINEERING, 2013.]
  5. Golovko V.A. Nejronnye seti: obuchenie, organizacija i primenenie. Kn. 4: Ucheb. posobie dlja vuzov. M.: IIRZhR, 2001. – 178 s. [Golovko V.A. Neural networks: education, organization and application. Bk. 4: Proc. manual for schools. Moscow: IIRZHR, 2001.]
  6. Zak Ju.A. Prinjatie reshenij v uslovijah nechetkih i razmytyh dannyh: Fuzzy-tehnologii. – M.: LIBROKOM, 2013 – 179 s. [Zach Yu Decision-making in a fuzzy and blurry data: Fuzzy-technology. Moscow: LIBROKOM, 2013.]
  7. Arp D., Spreitzenbarth M., Hubner M., Gascon H., Rieck K. DREBIN: Effective and Explainable Detection of Android Malware in Your Pocket. NDSS Symposium 2014, Switzerland, 2014, vol. 4, no. 1   Available at: https://user.informatik.unigoettingen.de/~krieck/docs/2014-ndss.pdf (Accessed 08 March 2015).8.  Sanz B., Santos I., Nieves J., Laorden C., Alonso-Gonzalez I., G. Bringas P. MADS: Malicious android applications detection through string analysis. Network and System Security, Springer Berlin Heidelberg, 2011, vol. 5, no.  Available at: http://goo.gl/hnTnVX (Accessed 08 March 2015).