Автор:

Рубрика: Информатика

Опубликовано в Молодой учёный №13 (147) март 2017 г.

Дата публикации: 29.03.2017

Статья просмотрена: 10 раз

Библиографическое описание:

Ганиев А. А. Обнаружения вредоносных программ-ботнетов на основе облака ОС Android // Молодой ученый. — 2017. — №13. — С. 6-9. — URL https://moluch.ru/archive/147/41193/ (дата обращения: 25.04.2018).



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

Рис. 1.

На этапе анализа вредоносных программ система принимает приложение от пользователя, выполняет анализ вредоносных программ и сбор данных.

На этапе кластеризации данных система выполняет многоуровневую кластеризацию на основе данных, собранных на первом этапе.

Этап анализа вредоносного программного обеспечения состоит из загрузки ненадежного Android приложения с пользовательской стороны, и Java приложения для управления хранилищем базы данных и вредоносного ПО со стороны сервера. Система выполняет анализ вредоносных программ в среде VirtualBox; реальные устройства также могут быть подключены. Контроль потока, виртуальная маршрутизация и сбор данных из различных инструментов осуществляется с помощью модульных скриптов Perl.

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

Система может быть подразделена на три основных компонента:

  1. Java приложение
  2. Perl скрипты
  3. VirtualBox.

Java приложение получает приложения Android. Приложение также анализирует собранные данные для прогнозирования поведения вредоносной программы и ее ботнет семьи. Среда VirtualBox инстанцирует несколько ОС Android с виртуальным маршрутизатором Vyatta, контролирующим сетевые конфигурации и пересылку трафика.

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

Рис. 2.

Серверная часть приложения располагается на Ubuntu которая имеет прямой доступ к среде VirtualBox. Это будет основной точкой входа для анализа приложений.

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

Рис. 3 Поток управления приложением Java

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

Затем сервер приложений Java вытаскивает генерируемые файлы журнала из машины VirtualBox Android и использует их вместе с информацией сетевого трафика. Это используется для генерации двух значений: вредоносного значения и значения ботнета. На основе этих двух значений, приложение вводиться как точка данных на 2D пространстве известных точек данных.

Модульные Perl скрипты используются для управления установкой вредоносных программ, захватывания журнала сбора и сетевого трафика. При использовании VirtualBox система может быть легко развернута в облаке. Из одного базового образа может быть инициирован ряд экземпляров ОС Android во время работы. Также любые изменения, внесенные вредоносной программой, помещаются в базу в среде VirtualBox и возврат и удаление любого экземпляра ОС Android прост.

Скрипты Perl управляют VirtualBox. Уникальный идентификатор и МАС-адрес присваивается экземпляру Android во время ее клонирования с использованием основного образа. Для установки на приложения удаленно с помощью команд Android Debug Bridge (ADB) основное изображение Android настраивается со всеми требуемыми конфигурациями и исключениями безопасности. ОС Android может быть инстанцирована в двух режимах: без графического интерфейса (без ГПИ) или в обычном режиме (ГПИ).

Помимо ОС Android, у VirtualBox есть виртуальный маршрутизатор Vyatta, работающий на ней, который отвечает за связь между хост-машиной (ами) и инстанцированной ОС Android. Маршрутизатор Vyatta также запускает службу DHCP и выполняет необходимую передачу трафика.

Виртуальный маршрутизатор Vyatta обеспечивает отличную виртуальную сеть и функции маршрутизации. Управление несколькими экземплярами ОС Android на уровне сети является сложной задачей. Сопоставляя конкретный IP-адрес с идентификатором ОС Android на VirtualBox также является сложной задачей. Инструменты, используемые для сбора данных. Monkey является входным сигналом генератора, который генерирует псевдослучайный поток пользователей и событий на уровне системы.

Трассирование используется для контроля системных вызовов, сделанных приложением. В Android двоичный код трассирования добавляется в система директория VirtualBox из образа Android. Трассирование выполняется за определенное количество времени. Выход трассирования анализируется и хранится в базе данных. Набор системных вызовов, характерные для вредоносных программ и бот-сетей, записывается на этапе обучения. На этапе выделения признаков, используется мера сходства системных вызовов установленного приложения с вредоносными системными вызовами, чтобы получить оценку злонамеренности приложения.

Поток данных, передающихся по сети Протокол netflow используется для мониторинга сетевого трафика. Он дает статистику данных, проходящих через интерфейс на Ubuntu сервер. Выход из коллектора обрабатывается и хранится в базе данных.

Чтение logcat уровень применения данных функциональный вызов собирается из LogCat. Синтаксический и белый список используется, чтобы избежать длинных логов. Журналы LogCat собираются удаленно с помощью АDB.

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

Wireshark/Tcpdump Сетевой трафик специфичный для каждого виртуального экземпляра Android переадресуется на виртуальный интерфейс сервера и хранится в файле.pcap. Tcpdump также используется для захвата трафика на интерфейсе устройства.

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

Рис. 4. Алгоритм потока

Алгоритм первого уровняизвлекает объекты из запущенных экземпляров приложения с помощью функции извлечения, таких как трассирование, sysdump и Wireshark. При анализе особенностей тестируемого приложения по сравнению с этим набором значений признаков с использованием Евклидова расстояния на основе меры сходства. Сходство каждой функции приводит к значению для каждой функции. Эти значения затем умножаются с конкретными значениями веса таким образом, чтобы получить значение между 0–10. Это значение вычисляется дважды: один раз с набором функций, соответствующей ботнетов, называемой «ботнет значение», и один раз с набором функций, соответствующей общим сигнатурах, называется «вредоносное значение».

Алгоритм второго уровняпостроение данных вредоносного ПО и значение стоимости Ботнет имеет место. Значения вредоносных программ и ботнетов представляют собой подозрительный характер применения на стадии рассмотрения. Набор данных обучения уже нанесен на график, что приводит к высокой плотности и областей данных с низкой плотностью. Вес присваивается каждой точке нанесенных данных, а также к боковым точкам, чтобы создать гладкий взвешенный граф.

Финальный алгоритм обнаружениявместе с создания взвешенного графа, рассматриваемая применимая семья ботнета определяется с помощью binnimg. Взвешенные построения рассмотрены в предыдущем разделе результатов бумага повышенной плотности на графике, который также называется, как уровень доверия в этом регионе. Если приложение попадает под обзор наносятся в любых регионах с высоким уровнем доверия, то алгоритм градиента потомка используется для биннинг приложения к одному из Ботнет семьи области на графике. Это приводит к предварительным прогнозирования ботнета семейства вредоносной программы.

Литература:

  1. Min Zheng; Mingshen Sun, Lui J. C. S., «Droid Analytics: A Signature Based Analytic System to Collect, Extract, Analyze and Associate Android Malware», Trust, Security and Privacy in Computing and Communications (TrustCom), 2013 12th IEEE International Conference on, vol., no., pp.163, 171, 16–18 July 2013.
  2. Alam M. S.; Vuong S.T. «Random Forest Classification for Detecting Android Malware», Green Computing and Communications (GreenCom), 2013 IEEE and Internet of Things (iThings/CPSCom), IEEE International Conference on and IEEE Cyber, Physical and Social Computing, vol., no., pp.663,669, 20–23 Aug. 2013.
  3. A. J. Alzahrani and A. A. Ghorbani. «SMS mobile botnet detection using a multi-agent system: research in progress», in 1st International Workshop on Agents and CyberSecurity(ACySE '14), New York, NY,USA, 2014.
Основные термины (генерируются автоматически): ОС Android, VirtualBox Android, вредоносных программ, среде virtualbox, машинами virtualbox android, машин virtualbox android, машины virtualbox android, ненадежного android приложения, приложения android, облака ОС android, ОС Android прост, этапе кластеризации данных, and associate android, экземпляров ОС android, инстанцированной ОС android, идентификатором ОС android, экземплярами ОС android, связи android устройства, помощью команд android, виртуального экземпляра android.

Обсуждение

Социальные комментарии Cackle
Задать вопрос