Создание антивируса

Презентация научно – практичесой работы

Создание антивируса

Инфоурок › Информатика ›Научные работы›Презентация научно – практичесой работы “Создание собственного антивируса”

Описание презентации по отдельным слайдам:

1 слайдОписание слайда:

Создание собственного антивируса

2 слайдОписание слайда:

Тема: Как создать собственный сканер-антивирус ЦЕЛЬ: Изучить алгоритм работы существующих антивирусов и создать собственный антивирус Задача: Создать программу, позволяющую проверять систему на наличие вредоносных программ Продукт проекта: Сканер-антивирус Гипотеза: Можно ли создать антивирус и встроить его в браузер Методы решения: Сравнения работы антивирусов и их исследования, тестирование и отладка программы Актуальность: Антивирусы – актуальны в наше время. Они защищают компьютеры от вредоносных программ. Самые популярные антивирусы разрабатываются многими кампаниями, такими как: KasperskyLab, AVG, DrWEB, Avast!, Norton, Panda и т. д.

3 слайдОписание слайда:

История антивирусов История вирусов и антивирусов началась приблизительно в 2000 году. Появление первых вирусов привело к тому, что стало необходимостью создание антивирусной программы. Самая первая такая разработка принадлежала Российской компании «Диалог-Наука». Ее антивирус выпускался на двух дискетах. Обновления выходили на таком же носителе каждую неделю.

Удивительным фактом было то, что при обнаружении какого-либо вируса удаление не происходило. Для этого требовалось отослать результаты в лабораторию Москвы. Здесь уже разрабатывалось лекарство. Именно эта организация в последствие организовала известную во всем мире Лабораторию Касперского. Одновременно организация «Диалог-Наука» работала над созданием антивируса Dr.

Web.

4 слайдОписание слайда:

Антивирус-сканер Scan+ На сегодняшний день существует множество антивирусов, но в каждом есть свои плюсы и минусы. Создание антивируса включает в себя следующие подзадачи и процессы: 1. Создание «движка» антивируса 2. Разработка графического интерфейса 3.

Создание базы вирусов Существует только два способа реализации алгоритма проверки кода вируса. Первый способ – это перебор строк кода вируса, второй способ – перебор букв кода вируса. И первый и второй способы помогут создать «движок» антивируса.

Но второй способ очень объёмный в написании кода и не подходит для создания базы вирусов.
5 слайдОписание слайда:

Алгоритм проверки файлов Происходит перебор кода вируса

6 слайдОписание слайда:

WinLocker Trojan.Winlock (Винлокер) — семейство вредоносных программ, блокирующих или затрудняющих работу с операционной системой, и требующих перечисление денег злоумышленникам за восстановление работоспособности компьютера, частный случай Ransomware (программ-вымогателей). Впервые появились в конце 2007 года.

Широкое распространение вирусы-вымогатели получили зимой 2009—2010 годов, по некоторым данным оказались заражены миллионы компьютеров, преимущественно среди пользователей русскоязычного Интернета. Второй всплеск активности такого вредоносного ПО пришёлся на май 2010 года. Часто эти вирусы удаляют загрузочный файл hal.

dll, который позволяет компьютеру произвести загрузку системы Windows. Winlocker невозможно убрать стандартными средствами Windows(перезагрузка ПК, запуск безопасного режима и т.д.) Winlocker удаляется только сторонними программами(LiveCD, Dr.Web, AVZ tool).

Для удаления Winlocker’а я разработал специальный модуль к своему антивирусу – AWT.

7 слайдОписание слайда:

Модуль AWT Модуль AWT (AntiWinlockTool) поможет, если компьютер «заразился» вредоносной программой WinLocker.

AWT – консольное приложение, содержащее набор команд, которые удаляют Winlocker и восстанавливают систему путём создания нового файла hal.

dll Для полного доступа к процессам использовалась библиотека Assembler. AWT запускается сам, если окно Winlocker’а запущено. Затем происходит удаление Winlocker’a.

8 слайдОписание слайда: Команда check(проверка) Команда check проверяет наличие файла hal.dll без использования процессора. Проверка происходит через ОЗУ. Если файла нет, то AWT восстановит систему.
9 слайдОписание слайда:

Команда restore(восстановить) Команда restore восстановит систему в любом случае, независимо от того, есть ли файл или нет.

10 слайдОписание слайда:

Тест антивируса Для теста антивируса можно воспользоваться сайтом VirusTotal. VirusTotal – это сайт для сканирования файлов. На сайте существует возможность зарегистрировать свой продукт на срок 10 дней.

11 слайдОписание слайда:

Результаты сканирования Сканирование показало, что собственный антивирус Scan+ распознал загруженный файл как Haxdoor.Fam

12 слайдОписание слайда:

Сравнительная карта антивирусов Антивирусы   Ситуация AVG Kaspersky Lab Avast! Norton Dr.

Web Scan+ Вирус на носителе Прямое удаление угрозы Перемещение в карантин Перемещение в карантин Сканирование носителя и удаление угрозы Сканирование носителя и удаление по решению пользователя Прямое удаление угрозы Вирус на винчестере или SSD Прямое удаление угрозы Перемещение в карантин и удаление Удаление угрозы по решению пользователя Сканирование и удаление угрозы Сканирование и удаление по решению пользователя Прямое удаление угрозы Вредоносный сайт Предупреждение Предупреждение Блокировка сайта Предупреждение Блокировка сайта Блокировка сайта ZIP или RAR архивы Сканирование архива через папку TEMP Сканирование архива напрямую – – Сканирование архива через папку TEMP Сканирование архива через папку TEMP Загрузка угрозы с Интернета Прямое удаление угрозы (дополнение) Перемещение в карантин (дополнение) – – – Прямое удаление угрозы ZIP или RAR архивы с паролем – Сканирование – – Сканирование –

13 слайдОписание слайда:

Добавление модуля Scan+ в браузер ZIC, разработанный мной

Общая информация

Источник: https://infourok.ru/prezentaciya-nauchno-praktichesoy-raboti-sozdanie-sobstvennogo-antivirusa-1039222.html

Пишем свое вредоносное ПО. Часть 1: Учимся писать полностью «не обнаружимый» кейлогер

Создание антивируса

Хакерский мир можно условно разделить на три группы атакующих:

1) «Skids» (script kiddies) – малыши, начинающие хакеры, которые собирают известные куски кода и утилиты и используя их создают какое-то простое вредоносное ПО.

2) «Byuers» — не чистые на руку предприниматели, тинэйджеры и прочие любители острых ощущений. Покупают услуги по написанию такого ПО в интернете, собирают с ее помощью различную приватную информацию, и, возможно, перепродают ее.

3) «Black Hat Сoders» — гуру программирования и знатоки архитектур. Пишут код в блокноте и разрабатывают новые эксплоиты с нуля.

Может ли кто-то с хорошими навыками в программировании стать последним? Не думаю, что вы начнете создавать что-то, на подобии regin (ссылка) после посещения нескольких сессий DEFCON. С другой стороны, я считаю, что сотрудник ИБ должен освоить некоторые концепты, на которых строится вредоносное ПО.

Зачем ИБ-персоналу эти сомнительные навыки?

Знай своего врага. Как мы уже обсуждали в блоге Inside Out, нужно думать как нарушитель, чтобы его остановить. Я – специалист по информационной безопасности в Varonis и по моему опыту – вы будете сильнее в этом ремесле если будете понимать, какие ходы будет делать нарушитель.

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

Теперь более подробно.

Для этого неформального класса «hacking 101» вам необходимы небольшие знания в программировании (С# и java) и базовое понимание архитектуры Windows. Имейте ввиду, что в реальности вредоносное ПО пишется на C/C++/Delphi, чтобы не зависеть от фреймфорков.

Кейлогер

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

Зачастую эту функцию внедряют в другое, более сложное ПО, например, троянов (Remote Access Trojans RATS), которые обеспечивают доставку перехваченных данных обратно, к атакующему. Также существуют аппаратные кейлогеры, но они менее распространены, т.к.

требуют непосредственного физического доступа к машине.

Тем не менее создать базовые функции кейлогера достаточно легко запрограммировать. ПРЕДУПРЕЖДЕНИЕ. Если вы хотите попробовать что-то из ниже следующего, убедитесь, что у вас есть разрешения, и вы не несёте вреда существующей среде, а лучше всего делать это все на изолированной ВМ.

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

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

Начнем.

Для подключения к клавиатуре вам всего лишь нужно использовать 2 строки на C#:

1. [DllImport(“user32.dll”)]2. 3. public static extern int GetAsyncKeyState(Int32 i);

Вы можете изучить больше про фунцию GetAsyncKeyState на MSDN:

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

1. while (true)2. {3. Thread.Sleep(100);4. for (Int32 i = 0; i < 255; i++)5. {6. int state = GetAsyncKeyState(i);7. if (state == 1 || state == -32767)8. {9. Console.WriteLine((Keys)i);10. 11. }12. }13. }

Что здесь происходит? Этот цикл будет опрашивать каждые 100 мс каждую из клавиш для определения ее состояния. Если одна из них нажата (или была нажата), сообщение об этом будет выведено на консоль. В реальной жизни эти данные буферизируются и отправляются злоумышленнику.

Умный кейлогер
Погодите, а есть ли смысл пытаться снимать всю подряд информацию со всех приложений?

Код выше тянет сырой ввод с клавиатуры с любого окна и поля ввода, на котором сейчас фокус.

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

ценная для взломщика информация может к тому времени устареть.

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

Вторая версия кода:

1. while (true) 2. {3. IntPtr handle = GetForegroundWindow();4. if (GetWindowText(handle, buff, chars) > 0)5. {6. string line = buff.ToString();7. if (line.Contains(“Gmail”)|| line.Contains(” – Log In or Sign Up “))8. {9. //проверка клавиатуры 10. }11. }12. Thread.Sleep(100);13. }

Этот фрагмент будет выявлять активное окно каждые 100мс. Делается это с помощью функции GetForegroundWindow (больше информации на MSDN). Заголовок страницы хранится в переменной buff, если в ней содержится gmail или , то вызывается фрагмент сканирования клавиатуры.

Этим мы обеспечили сканирование клавиатуры только когда открыто окно браузера на сайтах и gmail.

Еще более умный кейлогер

Давайте предположим, что злоумышленник смог получить данные кодом, на подобии нашего. Так же предположим, что он достаточно амбициозен и смог заразить десятки или сотни тысяч машин.

Результат: огромный файл с гигабайтами текста, в которых нужную информацию еще нужно найти. Самое время познакомиться с регулярными выражениями или regex.

Это что-то на подобии мини языка для составления неких шаблонов и сканирования текста на соответствие заданным шаблонам. Вы можете узнать больше здесь.

Для упрощения, я сразу приведу готовые выражения, которые соответствуют именам логина и паролям:

1. //Ищем почтовый адрес2. [\w!#$%&'*+\-/=?\_`{|}~]+(\.[\w!#$%&'*+\-/=?\_`{|}~]+)*@((([\-\w]+\.)+[a-zA-Z]{2,4})|(([0-9]{1,3}\.){3}[0-9]{1,3}))$3. 4. 5. //Ищем пароль6. (?=.{6,}$)(?=.*\d)(?=.*[a-zA-Z])

Эти выражения здесь как подсказка тому, что можно сделать используя их. С помощью регулярных выражений можно искать (т найти!) любые конструкции, которые имеют определенный и неизменный формат, например, номера паспортов, кредитных карт, учетные записи и даже пароли.

Действительно, регулярные выражения не самый читаемый вид кода, но они одни из лучших друзей программиста, если есть задачи парсинга текста.

В языках Java, C#, JavaScript и других популярных уже есть готовые функции, в которые вы можете передать обычные регулярные выражения.

Для C# это выглядит так:

1. Regex re = new Regex(@”[\w!#$%&'*+\-/=?\_`{|}~]+(\.[\w!#$%&'*+\-/=?\_`{|}~]+)*@((([\-\w]+\.)+[a-zA-Z]{2,4})|(([0-9]{1,3}\.){3}[0-9]{1,3}))$”);2. Regex re2 = new Regex(@”(?=.{6,}$)(?=.*\d)(?=.*[a-zA-Z])”);3. string email = “Oded.awask@gmail.com”;4. string pass = “abcde3FG”;5. Match result = re.Match(email);6. Match result2 = re2.Match(pass);

Где первое выражение (re) будет соответствовать любой электронной почте, а второе (re2) любой цифро буквенной конструкции больше 6 символов.

Бесплатно и полностью не обнаружим

В своем примере я использовал Visual Studio – вы можете использовать свое любимое окружение – для создания такого кейлогера за 30 минут.

Если бы я был реальным злоумышленником, то я бы целился на какую-то реальную цель (банковские сайты, соцсети, тп) и видоизменил код для соответствия этим целям.

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

Остался один вопрос: действительно такое ПО будет не обнаруживаемым для защитных программ?

Я скомпилировал мой код и проверил exe файл на сайте Virustotal. Это веб-инструмент, который вычисляет хеш файла, который вы загрузили и ищет его в базе данных известных вирусов. Сюрприз! Естественно ничего не нашлось.

В этом основная фишка! Вы всегда можете менять код и развиваться, будучи всегда на несколько шагов раньше сканеров угроз. Если вы в состоянии написать свой собственный код он почти гарантированно будет не обнаружим. На этой странице вы можете ознакомиться с полным анализом.

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

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

Источник: https://habr.com/ru/company/varonis/blog/302458/

Пишем свой антивирус на C++

Создание антивируса
Coding-не забудь подписаться

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

Впрочем, это относится к большинству вирусов, червей и практически ко всем троянам, поэтому написанный нами сканер имеет право на жизнь 🙂

Что такое сигнатура

Сигнатура в простом представлении является уникальной частью (последовательностью байт) в файле.

Однако эта часть должна максимально однозначно выделять файл среди множества других файлов.

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

На практике помимо самой последовательности применяются ещё дополнительные параметры, позволяющие максимально однозначно сопоставлять сигнатуру файлу.

Введение дополнительных параметров также направлено на ускорение поиска сигнатуры в файле.

Такими параметрами, например, могут являться размер файла, смещение последовательности байт, тип файла, специальные маски (отражение того, как примерно должен выглядеть файл, чтобы в нём могла содержаться искомая сигнатура) и многие другие.

В нашем сканере в качестве дополнительного параметра мы будем использовать смещение последовательности в файле относительно начала.

Данный метод довольно универсален в том плане, что подходит абсолютно для любых файлов независимо от типа.

Однако у использования смещения есть один очень значимый минус: чтобы “обмануть” сканер, достаточно слегка “передвинуть” последовательность байт в файле, т.е. изменить смещение последовательности (например, перекомпилировав вирус или добавив символ в случае скрипт-вируса).

Для экономии памяти и повышения скорости обнаружения, на практике обычно используется контрольная сумма (хэш) последовательности.

Таким образом перед добавлением сигнатуры в базу считается контрольная сумма выбранного участка файла. Это также помогает не обнаруживать вредоносный код в собственных базах 🙂

Антивирусная база

Антивирусная база представляет собой один или несколько файлов, содержащих записи о всех известных сканеру вирусах.

Каждая запись обязательно содержит имя вируса (пользователь же должен знать,что за зверь поселился у него в системе), также в записи обязательно присутствует сигнатура, по которой выполняется поиск.

Помимо имени и сигнатуры, запись может содержать некоторую дополнительную информацию, например инструкции по лечению.

Алгоритм работы сканера

Алгоритм работы сканера, использующего сигнатуры, можно свести к нескольким пунктам:

1. Загрузка базы сигнатур

2. Открытие проверяемого файла

3. Поиск сигнатуры в открытом файле

4. Если сигнатура найдена 

– принятие соответствующих мер

5. Если ни одна сигнатура из базы не найдена

– закрытие файла и переход к проверке следующего

Как видите, общий принцип работы сканера весьма прост.

Впрочем, достаточно теории. Переходим к практике.

Все дополнительные моменты будут разобраны в процессе написания сканера.

Подготовка к реализации

Прежде чем начинать писать код, стоит определить все составные части сканера и то, как они будут взаимодействовать.

Итак, для обнаружения вредоносных файлов нам необходим непосредственно сам сканер.

Сканеру для работы необходимы сигнатуры, которые хранятся в антивирусной базе.

База создается и наполняется специальной программой.

В итоге получается следующая зависимость:

Программа создания базы -> База -> Сканер

Однако прежде чем создавать базу, необходимо определиться с её форматом, который в свою очередь зависит от хранимой информации.

Информация сигнатуры

Сигнатура будет состоять из:

– Смещения последовательности в файле

– Размера последовательности

– Хэша последовательности

Для хэширования будем использовать алгоритм MD5.

Каждый MD5-хэш состоит из 16 байт, или 4 двойных слов.

Для хранения смещения и размера последовательности отведём по 4 байта для каждого.

Таким образом сигнатуру можно описать следующей структурой:

[Offset * 4 ] [Lenght * 4 ] [Hash * 16 ]

Запись антивирусной базы

Запись будет содержать:

– Сигнатуру

– Размер имени файла

– Имя файла

Под размер имени файла выделим 1 байт. Этого больше чем достаточно, плюс экономия места =)

Имя файла может быть произвольного размера до 255 символов включительно.

После раскрытия структуры сигнатуры получается вот такая запись:

[Offset * 4 ] [Lenght * 4 ] [Hash * 16] [NameLen * 1 ] [Name … ]

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

Помимо самих записей в файле базы должен быть заголовок, в котором будет содержаться число записей в базе и сигнатура файла “AVB” (не антивирусная 🙂 ). Назначение сигнатуры – удостоверится, что это именно файл базы.

Переходим к написанию кода

Реализация

Базовые структуры

Структур не много, всего 2.

Данные структуры будут использоваться как сканером, так и программой создания антивирусной базы.

Во-первых, необходимо объявить все нужные нам структуры.

Первой структурой будет структура сигнатуры SAVSignature.

Следующей структурой будет структура записи SAVRecord, объединяющая сигнатуру с именем.

Данная структура для удобства также содержит функцию выделения памяти под имя зловреда (allocName).

Все структуры будут находиться в заголовочном файле avrecord.h

Листинг : Базовые структуры

———————————————————————————————————

#ifndef _AVRECORD_H__INCLUDED_

#define _AVRECORD_H__INCLUDED_

#include 

//! Структура сигнатуры

typedef struct SAVSignature{

SAVSignature(){

this->Offset = 0;

this->Lenght = 0;

memset(this->Hash, 0, sizeof(this->Hash));

}

DWORD Offset; // – Смещение файле

DWORD Hash[4]; // – MD5 хэш

DWORD Lenght; // – Размер данных

} * PSAVSignature;

//! Структура записи о зловреде

typedef struct SAVRecord{

SAVRecord(){

this->Name = NULL;

this->NameLen = 0;

}

~SAVRecord(){

if(this->Name != NULL) this->Name;

}

//! Выделение памяти под имя

void allocName(BYTE NameLen){

if(this->Name == NULL){

this->NameLen = NameLen;

this->Name = new CHAR[this->NameLen + 1];

memset(this->Name, 0, this->NameLen + 1);

}

}

PSTR Name; // – Имя

BYTE NameLen; // – Размер имени

SAVSignature Signature; // – Сигнатура

} * PSAVRecord;

#endif

——————————————————————————————————-

Класс работы с файлом базы

Теперь необходимо написать класс для работы с файлом антивирусной базы.

Если точнее, то классов будет несколько:

– Базовый класс файла “CAVBFile”

– Класс чтения файла “CAVBFileReader”

– Класс добавления записи “CAVBFileWriter”

Объявления всех этих классов находятся в файле CAVBFile.h

Вот его содержимое:

Листинг : Объявления классов работы с файлом базы

——————————————————————————————————–

#ifndef _AVBFILE_H__INCLUDED_

#define _AVBFILE_H__INCLUDED_

#include 

#include 

#include “avrecord.h”

using namespace std;

/* Формат файла антивирусной базы

[AVB] // – Сигнатура

[RecordCount * 4 ] // – Число записей

[Records … ]

Record:

[Offset * 4 ] // – Смещение

[Lenght * 4 ] // – Размер

[Hash * 16 ] // – Контрольная сумма

[NameLen * 1 ] // – Размер имени

[Name … ] // – Имя зловреда

*/

//! Класс Файла антивирусной базы

typedef class CAVBFile{

protected:

fstream hFile; // – Объект потока файла

DWORD RecordCount; // – Число записей

public:

CAVBFile();

//! Закрытие файла

virtual void close();

//! Проверка состояния файла

virtual bool is_open();

//! Получение числа записей

virtual DWORD getRecordCount();

} * PCAVBFile;

//! Класс для записи файла

typedef class CAVBFileWriter : public CAVBFile{

public:

CAVBFileWriter() : CAVBFile(){

}

//! Открытие файла

bool open(PCSTR FileName);

//! Добавление записи в файл 

bool addRecord(PSAVRecord Record);

} * PCAVBFileWriter;

//! Класс для чтения файла

typedef class CAVBFileReader : public CAVBFile{

public:

CAVBFileReader() : CAVBFile(){

}

//! Открытие файла

bool open(PCSTR FileName);

//! Чтение записи

bool readNextRecord(PSAVRecord Record);

} * PCAVBFileReader;

#endif

——————————————————————————————————–

Теперь перейдем к реализации объявленных классов.

Их реализация будет находиться в файле AVBFile.cpp

Естественно, помним, что необходимо подключить заголовочный файл AVBFile.h

В некоторых функциях нам понадобится проверка существования файла, поэтому сначала напишем именно её.

Листинг : Функция проверки существования файла

———————————————————————————————————

//! Проверка существования файла

bool isFileExist(PCSTR FileName){

return GetFileAttributesA(FileName) != DWORD(-1);

};

———————————————————————————————————

Данный способ проверки существования файла является самым быстрым и используется в большинстве примеров в MSDN, так что его можно считать стандартом для Windows.

Функция GetFileAttributes возвращает атрибуты файла или 0xffffffff в случае, если файл не найден.

Переходим к реализации функций базового класса.

Листинг : Реализация CAVBFile

———————————————————————————————————-

CAVBFile::CAVBFile(){

this->RecordCount = 0;

}

//! Закрытие файла

void CAVBFile::close(){

if(hFile.is_open()) hFile.close();

}

//! Проверка состояния файла

bool CAVBFile::is_open(){

return hFile.is_open();

}

//! Получение числа файлов

DWORD CAVBFile::getRecordCount(){

return this->RecordCount;

}

———————————————————————————————————-

Источник: https://tgraph.io/Pishem-svoj-antivirus-na-C-10-19

Бизнес ликбез: Как создать свой антивирус за месяц?

Создание антивируса

Материал подготовлен Олегом Сычем, техническим директором  антивирусной лаборатории Zillya!

При этом практически 90% рынка контролируются 10 вендорами, о чем свидетельствуют ежегодные отчеты компании OPSWAT.

Обладая значительными ресурсами, такие гиганты антивирусной индустрии, как Лаборатория Касперского, Symantec, McAfee, ESET на сегодняшний день на голову сильнее своих конкурентов из категории “другие”. Это касается как технологической, так и маркетинговой составляющих бизнеса.

Carpe diem

Мало кто знает, что рынок антивирусного ПО насыщен множеством решений. Маркетинговые исследования лаборатории Zillya! показывают, что в мире существует более 300 антивирусов! Как правило, это локальные антивирусные бренды, работающие на рынке одной или нескольких стран.

Суммарная рыночная доля подобных продуктов в редких случаях достигает 10%. Но, если учесть объемы рынка и его рост с момента возникновения индустрии, то даже 10% – это повод для борьбы. К примеру, 10% от украинского рынка антивирусного ПО – это приблизительно 6-7 млн. грн.   

Те компании и предприниматели, которые посчитают антивирусный рынок привлекательным и захотят создать продукт под собственным брендом, столкнуться с различными барьерами входа.

Чтобы создать свой антивирус и повторить технологии защиты из списка “the must”, придется инвестировать серьёзные деньги и потратить на разработку не меньше года.

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

Весомым аргументом может стать прохождение продуктом признанных в мире тестов антивирусов: AV-comparatives,  VB100, AV-test. Для этого понадобиться терпение, деньги и… качественный продукт, поддерживаемый собственной вирусной лабораторией. 

Оценивая технологические барьеры входа в отрасль, затраты на содержание собственной антивирусной лаборатории компании, желающие войти на данный рынок, все чаще прибегают к такой услуге антивирусных вендоров, как co-branding.

Антивирус за 1 месяц: co-branding

Co-branding предполагает создание нового антивирусного продукта на основе уже существующего решения. На практике это означает, все желающие могут начать работу на рынке антивирусного ПО под своим брендом, взяв за основу антивирусные продукты вендора, предлагающего услугу co-branding.

На сайте http://antivirusoem.com/suppliers.html размещен целый список антивирусных компаний, которые располагают такими партнерскими программами. Среди вендоров есть громкие имена: Лаборатория Касперского, ESET, Bitdefender и другие. В списке также представлен украинский разработчик, Антивирусная лаборатория Zillya!

Упрощенно, Co-branding – это изменение дизайна и названия существующего антивирусного продукта и продажа его под другим брендом, где поставщик продукта, вендор, обладающий своей антивирусной лабораторией, обеспечивает новый продукт обновлениями антивирусных баз и оказывает технологическую поддержку co-branding партнеру.

Почему это выгодно вендору? Как правило, вендоры:

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

Популярность ко-брендинга для компаний, которые создают свой антивирусный бренд, также легко объяснима:

  1. Ко-брендинг партнер обходит технологический барьер входа на рынок и уходит от затрат, связанных с созданием антивирусных технологий, поддержкой антивирусных баз, вирусной аналитикой. Компания может сконцентрироваться исключительно на маркетинговой части бизнеса.
  2. Новый антивирус может быть создан всего за 1-2 месяца. Это означает, что уже через 2 месяца ко-брендинговый продукт будет поставлен конечному пользователю.
  3. Создатели нового антивирусного продукта могут оставаться гибкими в вопросе выбора технологий антивирусной защиты и получить продукт, который по качеству может даже превосходить продукт вендора. Как? Очень просто. Подключив сразу несколько антивирусных движков в свой продукт.

В то же время, ко-брендинг имеет и ряд недостатков как для вендора, так и для создателей нового антивирусного бренда.

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

Шансы co-branding антивирусов в Украине

Украинский рынок антивирусов по различных оценкам – это 60-70 млн. грн. В эту сумму входит крупный корпоративный сектор, государственный сектор, рынок конечного потребителя. Крупные вендоры, такие как Лаборатория Касперского, ESET, Avast, Доктор Вэб, Symantec, McAfee контролируют до 95% рынка, при  этом конкуренция на рынке достаточно жесткая.  

Вендоры не жалеют бюджетов на рекламу своих продуктов и подвинуть их с рынка будет очень сложно. Говорить о входе на рынок Украины без серьезных вложений в маркетинг будет сложно.

Примером может служить попытка Panda Antivirus закрепиться на рынке Украины в 2012-2013 годах или проигрыш конкурентной борьбы не менее крупным вендором, Trend Micro, чьи продукты еще 8 лет назад занимали 20% рынка страны.

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

Имея аудиторию пользователей 100 тыс. и выше уже можно подумать, почему бы не создать дополнительный сервис для своих пользователей в виде антивируса под собственным брендом.

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

Однозначно можно сказать лишь одно: создание брендированного антивируса точно позитивно повлияет на корневой бренд самой компании.

Источник: https://ubr.ua/business-practice/own-business/biznes-likbez-kak-sozdat-svoi-antivirus-za-mesiac-305323

Поделиться:
Нет комментариев

    Добавить комментарий

    Ваш e-mail не будет опубликован. Все поля обязательны для заполнения.