Введение 4
1. Обзор 6
1.1. Существующие решения 6
1.1.1. Сторонние компании 6
1.1.2. Прототип 7
1.2. Системы для организации распределенных вычислений . 7
1.2.1. На основе систем добровольных вычислений ... 9
1.2.2. На основе облачных вычислений 10
1.2.3. На основе систем для работы с большими данными 10
1.2.4. На основе непрерывной интеграции 11
1.3. Berkeley Open Infrastructure for Network Computing ... 12
1.3.1. Архитектура 12
1.3.2. Устройство сервера 13
1.3.3. Структура заданий 15
1.3.4. Обработка заданий 17
1.3.5. Устройство клиента 19
2. Описание решения 22
2.1. Сервер 22
2.2. Клиентское приложение 23
2.3. Приложение на виртуальной машине 24
3. Эксперименты 26
4. Заключение 28
Список литературы
Борьба с вредоносными программами - одна из самых острых проблем компьютерной безопасности. Каждый день появляется около 332 тыс. уникальных вредоносных объектов. Для борьбы с ними чаще используют так называемый сигнатурный подход. Он заключается в анализе существующих угроз и поиске шаблонов атак: ищутся известные файлы компьютерных вирусов, опасные сетевые пакеты, блокируются известные вредоносные воздействия на систему. Однако с появлением новейших видов вредоносного ПО сигнатурные методы противодействия все больше показывают свою неэффективность и технологическое отставание. Они позволяют противостоять лишь известным, старым угрозам. Существуют и другие методы борьбы с вредоносными программами. Например, методы, основанные на поиске аномалий в работе программ.
Для проверки эффективности алгоритмов обнаружения вредоносных программ используются системы массового запуска внутри виртуальных машин, изолированных от внешнего мира. Такие тесты проводятся, например, компаниями, занимающиеся аналитикой и тестированием антивирусных защит.
Целью данной бакалаврской работы является создание подобной системы, позволяющей эффективно тестировать алгоритмы обнаружения вредоносных программ. Планируется использовать ее, главным образом, для проекта КОДА [1] - это система противодействия вредоносным программам, разрабатываемая с 2009 г. на кафедре системного программирования СПбГУ. Проведенные эксперименты показали, что алгоритмы КОДА позволяют выявлять вредоносную активность. На данный момент, основной задачей проекта является разработка способа оценки степени угрозы потока процесса по характеристикам, полученным с помощью этих алгоритмов. Для этого решено использовать алгоритмы машинного обучения. Таким образом, необходимо провести большое количество тестов, чтобы получить выборку исходных данных для обучения.
Ручное тестирование методов борьбы с вредоносными воздействиями очень затратная по времени задача. Был создан прототип системы тестирования (разд. 1.1.2), однако, даже с использованием нескольких потоков, этот процесс занимает существенное время. Необходимо масштабировать систему тестирования для работы на нескольких компьютерах. Для решения этой задачи применяются распределенные вычисления.
Таким образом, можно выделить следующие задачи:
• Провести масштабирование системы
• Улучшить существующую систему
• Протестировать систему под нагрузкой
В рамках данной работы были получены следующие результаты.
• Произведено масштабирование системы. Скорость тестирования возросла пропорционально числу узлов в распределенной сети.
• Система доработана.
• Проведено тестирование системы.
Все цели были достигнуты, а задачи выполнены.
В качестве дальнейшего развития, можно различными способами улучшать реализованную тестирующую систему, масштабировать ее на более серьезные производительные мощности, тестировать с помощью нее новые алгоритмы обнаружения и получать более состоятельные результаты.
Данная работа была представлена на Всероссийской научной конференции по проблемам информатики СПИСОК 2016 [7].