Принцип работы Chapter Cloud Virus Scan



Nbsp;  

Научно-практическая конференция школьников «Первые шаги в науку»

Возрастная категория: «Юный исследователь»

Секция: информационные технологии

Название работы:

«Эффективная защита от шифровальщиков»

Автор работы:

Куранин Илья Александрович

г.о. Тольятти, МБУ «Школа № 90», 8 класс

 

Г. Тольятти

2017


Оглавление

 

Оглавление.. 2

Введение.. 3

Ransomware, или программы-вымогатели.. 3

Главные цели работы... 4

Принцип работы Chapter Cloud Virus Scan.. 6

Принцип работы Kuranin Anti-Ransomware.. 8

Разработка интерфейса программного обеспечения.. 12

Авторское право на приложения.. 12

Выводы... 12

Список литературы... 13

Приложение.. 14


 

Введение

Любому человеку, так или иначе знакомому с цифровым миром, приходилось слышать понятие “компьютерный вирус”. С момента появления информационных технологий до создания первого образца вредоносного программного обеспечения прошло совсем немного времени. Первые разновидности относились преимущественно к программам-шуткам, которые разрабатывались исключительно в целях саморекламы или развития навыков программирования.

Так, первый червь имени аспиранта Корнеллского университета Роберта Морриса, был написан автором исключительно для проведения эксперимента и не предусматривал глобального распространения по сети ARPANET[1]. Однако из-за ошибки в коде программа не только “атаковала” компьютеры, подключенные к сети, которая в то время была очень популярна, но и постоянно перезаписывала себя на уже зараженной машине, вызывая переполнение памяти вплоть до полного отказа операционной системы. Другой вирус, известный под названием “Jerusalem”, проявлял свои деструктивные действия в пятницу 13 числа, удаляя затрагиваемые пользователем данные. Впервые это случилось в 1987 году.

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

 

Ransomware, или программы-вымогатели

“Ransomware” образовано от слова “ransom”, обозначающего выкуп, откуп. Несложно догадаться, что данный термин включает в себя понятие всех вредоносных программ-вымогателей. Однако в первую очередь он обозначает наиболее распространенных троянских программ-шифровальщиков, или шифраторов, история которых начинается не так давно. Сама идея разработки вирусов[2] подобного вида заключалась в том, чтобы было невозможно исправить нанесенный ими ущерб самостоятельно, или прибегая к помощи других лиц, к примеру, компьютерных мастеров, тем самым заставляя жертву заплатить выкуп.

Первая атака с применением предшественника шифровальщиков была реализована в 2006 году в России. Распространяемый образец имел наименование Cryzip Ransomware. После его запуска на компьютере он помещал все файлы документов и изображений пользователя в архивы, защищенные паролем, после чего удалял их, оставляя записку с требованием оплаты расшифровки. Работа современных Ransomware построена именно по такому принципу и отличается лишь более продвинутыми способами блокировки данных с использованием алгоритмов шифрования XOR, TEA, RSA, SHA256 и др.

 

Главные цели работы

При реализации проекта были поставлены следующие цели и требования:

 

Ø Разработать две антивирусные утилиты различной направленности. Задача первой из них – вылечить уже зараженную систему от любых типов вредоносного ПО, в т. ч. от троянских программ (Trojan), червей (Worm), рекламного ПО (Adware), тулбаров[3], затрудняющих работу пользователя, шпионских модулей (Spyware), потенциально нежелательных приложений (PUP[4]) и т. д. Задача второй заключается в предотвращении возможного заражения в режиме реального времени, делая акцент преимущественно на троянских программах-шифровальщиках.

Ø Не конфликтовать с другим легальным программным обеспечением, исключить ложные обнаружения как со стороны разрабатываемых утилит, так и со стороны сторонних антивирусных вендоров[5].

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

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

Ø Разработать сайты для каждой утилиты, обеспечить защищенное SSL[6] соединение для защиты передаваемых данных.

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

                                                                                               

Для антивирусного сканера были предъявлены следующие требования:

 

Ø Антивирусный сканер должен интегрироваться с облаком и работать на 28 антивирусных двигателях разных компаний-производителей, занимать исключительно малое пространство на жестком диске и в оперативной памяти, не нагружать процессор во время работы;

Ø Быстрое соединение с главным сервером по защищенному протоколу SFTP, создание для каждого пользователя отдельно выделенной временной директории для анализа поступающих объектов;

Ø Создание на сервере распределенной многоуровневой системы анализа и виртуального запуска исполняемых файлов с использованием технологий песочницы SandBoxie для вынесения вердикта относительно “поведения” работающего процесса и его безопасности (эвристический, или поведенческий анализ в облаке);

Ø Регулярное обновление всех используемых антивирусных двигателей на сервере;

Ø Использование для сервера оборудования с большой мощностью для обеспечения высокой скорости проверки и анализа объектов, а также по причине высоких системных требований антивирусных двигателей;

Ø Возможность отсеивания объектов по встроенному белому списку для сокращения времени сканирования директорий;

Ø Возможность замены подмененных системных файлов на оригинальные;

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

 

Для утилиты Anti - Ransomware были предъявлены следующие требования:

 

Ø Проверка любых затрагиваемых файлов “на лету”, т. е. непосредственно при взаимодействии с ними пользователя;

Ø Иметь собственные антивирусные сигнатуры и дополнять их новыми записями раз в два дня;

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

Ø Иметь модуль сканирования по требованию как исполняемых (exe) файлов, так и скриптов;

Ø Наличие усиленной самозащиты программы и ее модулей от посторонней выгрузки;

Ø Возможность работать от имени System (системы) с наивысшими привилегиями с помощью регистрации модулей в сервисах, планировщика и использования стандартных библиотек Windows (kernel32.dll, ntdll.dll)

Ø Иметь встроенное изолированное хранилище вирусов (карантин), используемое до принятия окончательного решения пользователем;

Ø Модуль предотвращения сетевых вторжений извне (сетевой экран), анализирующий IP адреса входящих и исходящих подключений, выполняющий их поиск в черном списке, в случае обнаружения оповещающий пользователя об опасности с предоставлением возможности разрыва и постоянной блокировки соединения;

Ø Компонент анализа подключаемых съемных накопителей информации и поиска на них autorun-вирусов;

Ø HIPS[7] защита, предотвращающая вредоносную активность самых новых угроз, еще не добавленных в базу данных;

Ø Возможность создания “умных” точек восстановления по расписанию, которые сохраняются по оригинальному алгоритму и, в отличие от теневых копий, не подлежат удалению со стороны вредоносного ПО. В случае повреждения каких-либо компонентов Windows будет произведен их возврат в работоспособное состояние.

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

 

Принцип работы Chapter Cloud Virus Scan

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

 

1. 2 ГБ оперативной памяти

2. 64-битная архитектура

3. Операционная система: Windows 2012 Server

 

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

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

 

1. Home Ftp Server (Open Source) для подключения клиента через анонимный Ftp; поставлены соответствующие ограничения.

2. Http File Server (Open Source) с тонкой настройкой для передачи файлов в двустороннем порядке.

3. Набор антивирусных двигателей (SDK), среди которых есть ClamAV, XVirus, Emsisoft Command line и т. д.

4. Sandboxie (Open Source) для запуска в виртуальной среде файлов и их поведенческой проверки;

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

6. Компоненты Windows Sysinternals, включая диспетчеры процессов.

Антивирусный сканер Chapter при запуске проверяет наличие подключения к сети Интернет и доступность сервера при помощи извлечения из своей структуры скрипта, выполняющего команду Ping:

 

@echo off setlocal enabledelayedexpansion ping -n 1 46.8.208.188 if %errorlevel%==0 (echo 1 >"%temp%\check") else (echo 0 >"%temp%\check") del /f %0

 

Это наиболее простой пример кода. Использование команды setlocal enabledelayedexpansion позволяет изменить переменную среду в текущем пакетном файле командной строки и дает возможность применять бо́льшее число переменных, помимо %*, %0 - %9.

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

Если доступ в сеть имеется, будет предложено просканировать критические системные директории Windows, System32, Wbem и папки Temp на наличие угроз в облаке (см. Рисунок 1). При этом для ускорения операции пропускаются те файлы, которые точно являются системными и безопасными. Для этого утилита, по порядку выбирая название файла из составленного списка, получает его контрольную хеш-сумму MD5[8] при помощи класса MD5Hash.cls, после чего сверяет с белым списком, имеющим вид

 

[название файла]@[стандартное расположение]$[контрольная MD 5 сумма]

 

Если хотя бы одно условие не совпадает, файл отправляется на детальный анализ путем его передачи на сервер. Проверка выполняется 5-10 секунд, после чего от сервера приходит ответ касательно безопасности объекта. По окончании сканирования будет предложено обезвредить найденные угрозы (см. Рисунок 2 и Рисунок 3).

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

 

 

Private Sub TerminateProcess(app_exe As String) Dim Process As Object For Each Process In GetObject("winmgmts:").ExecQuery("Select Name from Win32_Process Where Name = '" & app_exe & "'")    Process.Terminate Next End Sub

 

 


Дата добавления: 2019-02-22; просмотров: 113; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!