Вирусная активность в сети

МЕТОДЫ ОБНАРУЖЕНИЯ СЕТЕВОЙ ВИРУСНОЙ АКТИВНОСТИ

Ю.В. Шевчук, С.В. Бурчу

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

Это "классические" вирусы, сетевые и почтовые черви, "троянские кони", backdoor-программы и др.

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

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

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

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

Существует несколько видов обнаружения подобной активности:

  1. Возросшая сетевая активность.
  2. Жалобы пользователей-жертв.
  3. В случае уже известных вирусов обнаружение возможно благодаря антивирусным фильтрам, как на почтовых(SМТР) серверах, так и установленных пользователем.

Если со вторым случаем сделать что-то довольно трудно, то в первом и третьем случаях администратору сети предоставляется довольно широкий выбор уже существующих методов борьбы с "вирусной эпидемией", начиная от установки антивирусных программ на сервера, и кончая обыкновенной блокировкой трафика при помощи сетевого экрана (firewall). Антивирусы обычно предназначены для какого-либо конкретного сервиса, через который могут распространиться вирусы: почта, скачанные из сети файлы (http, ftp протоколы). Применить антивирус для фильтрации всего трафика достаточно труднореализуемо, ресурсоемко и не гарантирует полной идентификации из-за возможности шифрования трафика. Так же существуют так называемые "системы обнаружения вторжения". Их особенностью является то, что они, используя либо возможности сетевого экрана либо так называемые "ловушки"(honeypot) для обнаружения вторжения (вирус тоже вторжение!). Именно на этих системах мы и остановимся подробнее.

Авторы данной статьи придумали свой метод обнаружения вирусной активности. Основой его является описание работы обычного TCP-соединения.

Обычно установка TCP-соединения происходит в три стадии (3-way handshake): клиент выбирает и передает серверу порядковый номер (sequence number, назовем его C-SYN), в ответ на это сервер высылает клиенту пакет данных, содержащий подтверждение (С-АСК) и собственный порядковый номер сервера (S-SYN). Теперь уже клиент должен выслать подтверждение (S-ACK). После этого соединение считается установленным и начинается обмен данными. При этом каждый пакет имеет в заголовке поле для порядкового номера и подтверждения. Данные числа увеличиваются при обмене данными и позволяют контролировать корректность передачи. В случае вирусов, довольно часто TCP-соединение просто не доходит до обмена данными, ограничиваясь начальным C-SYN и не получая обратного. Таким образом, считая количество SYN пакетов в обе стороны (входящие и исходящие) и имея существенную разницу (3, 5, 10 раз-устанавливается экспериментально) в количестве, мы можем предположить ненормальную сетевую активность и, либо блокировать трафик, либо предпринимать дальнейшие меры обнаружения в целях детальной идентификации причин возникновения подобной активности.

На основе вышеописанного метода авторами предполагается создать систему обнаружения вирусной сетевой активности в целях предотвращения вирусных эпидемий в локальной сети СТ "Ботик", Ярославская область, г. Переславль-Залесский. Первая тестовая версия уже создана и проходит режим тестирования.

Проблема эпидемии сетевых червей актуальна для любой локальной сети. Рано или поздно может возникнуть ситуация, когда в ЛВС проникает сетевой или почтовый червь, который не детектируется применяемым антивирусом. Сетевой вирус распространяется по ЛВС через не закрытые на момент заражения уязвимости операционной системы или через доступные для записи общие ресурсы. Почтовый вирус, как следует из названия, распространяется по электронной почте при условии, что он не блокируется клиентским антивирусом и антивирусом на почтовом сервере. Кроме того, эпидемия в ЛВС может быть организована изнутри в результате деятельности инсайдера. В данной статье мы рассмотрим практические методики оперативного анализа компьютеров ЛВС с применением различных средств, в частности с помощью авторской утилиты AVZ.

Постановка задачи

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

  • обнаружить зараженные ПК в сети;
  • найти образцы вредоносной программы для отправки в антивирусную лабораторию и выработки стратегии противодействия;
  • принять меры для блокирования распространения вируса в ЛВС и его уничтожения на зараженных компьютерах.

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

Рассмотрим более подробно решение каждой из поставленных задач.

Поиск зараженных ПК

Для поиска зараженных ПК в сети можно применять как минимум три методики:

  • автоматический удаленный анализ ПК — получение информации о запущенных процессах, загруженных библиотеках и драйверах, поиск характерных закономерностей — например процессов или файлов с заданными именами;
  • исследование трафика ПК с помощью сниффера — данный метод очень эффективен для отлова спам-ботов, почтовых и сетевых червей, однако основная сложность в применении сниффера связана с тем, что современная ЛВС строится на базе коммутаторов и, как следствие, администратор не может осуществлять мониторинг трафика всей сети. Проблема решается двумя путями: запуском сниффера на маршрутизаторе (что позволяет осуществлять мониторинг обмена данными ПК с Интернетом) и применением мониторинговых функций коммутаторов (многие современные коммутаторы позволяют назначить порт мониторинга, на который дублируется трафик одного или нескольких портов коммутатора, указанных администратором);
  • исследование нагрузки на сеть — в данном случае очень удобно применять интеллектуальные коммутаторы, которые позволяют не только оценивать нагрузку, но и удаленно отключать указанные администратором порты. Данная операция существенно упрощается при наличии у администратора карты сети, на которой имеются данные о том, какие ПК подключены к соответствующим портам коммутатора и где они расположены;
  • применение ловушек (honeypot) — в локальной сети настоятельно рекомендуется создать несколько ловушек, которые позволят администратору своевременно обнаружить эпидемию.

Автоматический анализ ПК можно свести к трем основным этапам:

  • проведение полного исследования ПК — запущенные процессы, загруженные библиотеки и драйверы, автозапуск;
  • проведение оперативного обследования — например поиск характерных процессов или файлов;
  • карантин объектов по определенным критериям.

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

  1. Поместить AVZ в открытую для чтения сетевую папку на сервере.
  2. Создать в этой папке подкаталоги LOG и Qurantine и разрешить пользователям запись в них.
  3. Запустить AVZ на компьютерах ЛВС при помощи утилиты rexec или логон-скрипта.

Запуск AVZ на шаге 3 должен производиться при таких параметрах:

\\my_server\AVZ\avz.exe Priority=-1 nw=Y nq=Y HiddenMode=2 Script=\\my_server\AVZ\my_script.txt

Рис. 1. Редактор скриптов AVZ

Рассмотрим три типовых скрипта, которые могут пригодиться в ходе борьбы с эпидемией. Во-первых, нам потребуется скрипт для исследования ПК. Задача скрипта — произвести исследование системы и создать протокол с результатами в заданной сетевой папке. Скрипт имеет следующий вид:

// Включение сторожевого таймера на 10 минут

// Запуск сканирования и анализа

//Завершение работы AVZ

В ходе выполнения данного скрипта в папке LOG (предполагается, что она создана в каталоге AVZ на сервере и доступна пользователям для записи) будут создаваться HTML-файлы с результатами исследования компьютеров сети, причем для обеспечения уникальности в имя протокола включается имя исследуемого компьютера. В начале скрипта располагается команда включения сторожевого таймера, который принудительно завершит процеcc AVZ через 10 минут в случае, если в ходе выполнения скрипта возникнут сбои.

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

// Включение сторожевого таймера на 10 минут

// Поиск вредоносной программы по имени

QuarantineFile(‘%WinDir%\smss.exe’, ‘Подозрение на LdPinch.gen’);

QuarantineFile(‘%WinDir%\csrss.exe’, ‘Подозрение на LdPinch.gen’);

//Завершение работы AVZ

В этом скрипте задействуется функция QuarantineFile, которая совершает попытку карантина указанных файлов. Администратору остается только проанализировать содержимое карантина (папка Quarantine\сетевое_имя_ПК\дата_каратина\) на наличие помещенных в карантин файлов. Следует учесть, что функция QuarantineFile автоматически блокирует помещение в карантин файлов, опознанных по базе безопасных AVZ или по базе ЭЦП Microsoft. Для практического применения данный скрипт можно усовершенствовать — организовать загрузку имен файлов из внешнего текстового файла, проверять найденные файлы по базам AVZ и формировать текстовый протокол с результатами работы:

// Поиск файла с указанным именем

function CheckByName(Fname : string) : boolean;

if Result then begin

case CheckFile(FName) of

-1 : S := ‘, доступ к файлу блокируется’;

1 : S := ‘, опознан как Malware (‘+GetLastCheckTxt+’)’;

2 : S := ‘, подозревается файловым сканером (‘+GetLastCheckTxt+’)’;

3 : exit; // Безопасные файлы игнорируем

AddToLog(‘Файл ‘+NormalFileName(FName)+’ имеет подозрительное имя’+S);

//Добавление указанного файла в карантин

SuspNames : TStringList; // Список имен подозрительных файлов

// Проверка файлов по обновляемой базе данных

if FileExists(GetAVZDirectory + ‘files.db’) then begin

AddToLog(‘База имен загружена - количество записей = ‘+inttostr(SuspNames.Count));

for i := 0 to SuspNames.Count - 1 do

AddToLog(‘Ошибка загрузки списка имен файлов’);

Для работы данного скрипта необходимо создать в папке AVZ доступные пользователям для записи каталоги Quarantine и LOG, а также текстовый файл files.db — каждая строка данного файла будет содержать имя подозрительного файла. Имена файлов могут включать макросы, наиболее полезные из которых — %WinDir% (путь к папке Windows) и %SystemRoot% (путь к папке System32). Другим направлением анализа может стать автоматическое исследование списка процессов, запущенных на компьютерах пользователей. Информация о запущенных процессах есть в протоколе исследования системы, но для автоматического анализа удобнее применять следующий фрагмент скрипта:

// Обновление списка процессов

AddToLog(‘Количество процессов = ‘+IntToStr(GetProcessCount));

// Цикл анализа полученного списка

for i := 0 to GetProcessCount - 1 do begin

S1 := S1 + ‘,’ + ExtractFileName(GetProcessName(i));

// Поиск процесса по имени

if pos(‘trojan.exe’, LowerCase(GetProcessName(i))) > 0 then

S := S + GetProcessName(i)+’,’;

AddLineToTxtFile(GetAVZDirectory+’\LOG\_alarm.txt’, DateTimeToStr(Now)+’ ‘+GetComputerName+’ : ‘+S);

AddLineToTxtFile(GetAVZDirectory+’\LOG\_all_process.txt’, DateTimeToStr(Now)+’ ‘+GetComputerName+’ : ‘+S1);

В завершение рассмотрим последний из полезных скриптов анализа — скрипт автоматического карантина всех файлов, которые не опознаются по базе безопасных AVZ и по базе ЭЦП Microsoft:

Автоматический карантин изучает запущенные процессы и загруженные библиотеки, службы и драйверы, около 45 способов автозапуска, модули расширения браузера и проводника, обработчики SPI/LSP, задания планировщика, обработчики системы печати и т.п. Особенностью карантина является то, что файлы в него добавляются с контролем повторов, поэтому функцию автокарантина можно вызывать многократно.

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

Исследование трафика можно проводить тремя способами:

  • вручную при помощи снифферов;
  • в полуавтоматическом режиме — в данном случае сниффер собирает информацию, и затем его протоколы обрабатываются либо вручную, либо некоторым ПО;
  • автоматически при помощи систем обнаружения вторжений (IDS) типа Snort (http://www.snort.org/) либо их программных или аппаратных аналогов. В простейшем случае IDS состоит из сниффера и системы, анализирующей собираемую сниффером информацию.

Система обнаружения вторжений является оптимальным средством, так как позволяет создавать наборы правил для обнаружения аномалии в сетевой активности. Второе ее преимущество состоит в следующем: большинство современных IDS позволяют размещать агенты мониторинга трафика на нескольких узлах сети — агенты собирают информацию и передают ее. В случае же применения сниффера очень удобно пользоваться консольным UNIX-сниффером tcpdump. Например, для мониторинга активности по порту 25 (протокол SMTP) достаточно запустить сниффер с командной строкой вида:

tcpdump -i em0 -l tcp port 25 > smtp_log.txt

В данном случае ведется захват пакетов через интерфейс em0; информация о захваченных пакетах будет сохраняться в файле smtp_log.txt. Протокол сравнительно просто анализировать вручную, в данном примере анализ активности по порту 25 позволяет вычислить ПК с активными спам-ботами.

В качестве ловушки (Honeypot) можно использовать устаревший компьютер, производительность которого не позволяет применять его для решения производственных задач. Например, в сети автора в качестве ловушки успешно применяется Pentium Pro c 64 Мбайт оперативной памяти. На этот ПК следует установить наиболее распространенную в ЛВС операционную систему и выбрать одну из стратегий:

  • Установить операционную систему без пакетов обновлений — она будет индикатором появления в сети активного сетевого червя, эксплуатирующего любую из известных уязвимостей для данной операционной системы;
  • установить операционную систему с обновлениями, которые установлены на других ПК сети — Honeypot будет аналогом любой из рабочих станций.

Каждая из стратегий имеет как свои плюсы, так и минусы; автор в основном применяет вариант без обновлений. После создания Honeypot следует создать образ диска для быстрого восстановления системы после ее повреждения вредоносными программами. В качестве альтернативы образу диска можно использовать системы отката изменений типа ShadowUser и его аналогов. Построив Honeypot, следует учесть, что ряд сетевых червей ищут заражаемые компьютеры путем сканирования диапазона IP, отсчитываемого от IP-адреса зараженного ПК (распространенные типовые стратегии — X.X.X.*, X.X.X+1.*, X.X.X-1.*), — следовательно, в идеале Honeypot должен быть в каждой из подсетей. В качестве дополнительных элементов подготовки следует обязательно открыть доступ к нескольким папкам на Honeypot-системе, причем в данные папки следует положить несколько файлов-образцов различного формата, минимальный набор — EXE, JPG, MP3.

Рис. 2. Создание и настройка предупреждения о сетевой активности

В качестве предупреждения удобнее всего использовать сообщения электронной почты, отправляемые на почтовый ящик администратора, — в этом случае можно получать оперативные оповещения от всех ловушек в сети. Кроме того, если сниффер позволяет создавать несколько предупреждений, есть смысл дифференцировать сетевую активность, выделив работу с электронной почтой, FTP/HTTP, TFTP, Telnet, MS Net, повышенный трафик более 20-30 пакетов в секунду по любому протоколу (рис. 3).

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

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

Рис. 4. Главное окно утилиты APS

Дистанционное удаление вредоносных программ

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

  • по ряду независимых от администратора сети причин образы могут не дойти до антивирусной лаборатории;
  • недостаточная оперативность антивирусной лаборатории — в идеале на изучение образцов и их внесение в базы уходит не более 1-2 часов, то есть в пределах рабочего дня можно получить обновленные сигнатурные базы. Однако не все антивирусные лаборатории работают столь оперативно, и обновления можно ждать несколько дней (в редких случаях — даже недель);
  • высокая работоспособность антивируса — ряд вредоносных программ после активации уничтожают антивирусы или всячески нарушают их работу. Классические примеры — внесение в файл hosts записей, блокирующих нормальную работу системы автообновления антивируса, удаление процессов, службы и драйверов антивирусов, повреждение их настроек и т.п.

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

// Эвристическая чистка системы

Данный скрипт удаляет один заданный файл (или несколько файлов, так как команд DeleteFile в скрипте может быть неограниченное количество) и затем производит автоматическую чистку реестра. В более сложном случае вредоносная программа может защищаться от удаления (например, пересоздавая свои файлы и ключи реестра) или маскироваться по руткит-технологии. В этом случае скрипт усложняется и будет иметь следующий вид:

// Включение протоколирования BootCleaner

// Импорт в задание BootCleaner списка файлов, удаленных скриптом

В этом топике расскажу как можно в пару скриптов наладить простой сбор статистики по аномальной активности в сети.

Аномальным для нас будет на момент снятия статистики:

1. Более 20 исходящих коннектов по 25 порту с 1 IP.
2. Более 100 исходящих коннектов по 80 порту с 1 IP.
3. Более 100 исходящих коннектов по 53 порту с 1 IP.
4. Придумывайте сами, всё гибко.

Статистику будем вынимать из кэша netflow маршрутизаторов. Будет ли это Cisco или FreeBSD — не важно. О настройке netflow на FreeBSD я рассказывал в предыдущих своих статьях.

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

7206#sh ip cache flow
IP packet size distribution (50885M total packets):
1-32 64 96 128 160 192 224 256 288 320 352 384 416 448 480
.000 .367 .018 .009 .005 .004 .019 .005 .004 .002 .015 .001 .002 .003 .002

512 544 576 1024 1536 2048 2560 3072 3584 4096 4608
.002 .003 .012 .030 .486 .000 .000 .000 .000 .000 .000

IP Flow Switching Cache, 4456704 bytes
14372 active, 51164 inactive, 1424895745 added
595073185 ager polls, 0 flow alloc failures
Active flows timeout in 30 minutes
Inactive flows timeout in 15 seconds
IP Sub Flow Cache, 1057544 bytes
14372 active, 18396 inactive, 1424881570 added, 1424881570 added to flow
0 alloc failures, 0 force free
2 chunks, 63 chunks added
last clearing of statistics never
Protocol Total Flows Packets Bytes Packets Active(Sec) Idle(Sec)
-------- Flows /Sec /Flow /Pkt /Sec /Flow /Flow
TCP-Telnet 2394420 0.5 2 59 1.2 1.6 17.3
TCP-FTP 693781 0.1 12 67 1.9 4.1 7.6
TCP-FTPD 16673 0.0 4116 815 15.9 29.6 10.9
TCP-WWW 705969510 164.3 46 843 7698.6 4.6 11.0
TCP-SMTP 4790885 1.1 16 593 18.5 4.8 8.6
TCP-X 586390 0.1 3 176 0.5 1.0 17.5
TCP-BGP 377369 0.0 3 490 0.3 11.7 17.2
TCP-NNTP 492 0.0 6 270 0.0 4.5 10.8
TCP-Frag 1878 0.0 27 194 0.0 12.3 17.2
TCP-other 283995180 66.1 37 715 2505.0 5.9 12.1
UDP-DNS 42291343 9.8 1 73 10.1 0.0 19.3
UDP-NTP 1781711 0.4 1 76 0.6 7.4 17.9
UDP-TFTP 49776 0.0 5 52 0.0 21.6 17.3
UDP-Frag 293665 0.0 352 106 24.0 15.7 18.1
UDP-other 347985517 81.0 18 618 1503.7 4.4 18.7
ICMP 33442833 7.7 2 80 21.9 5.0 18.4
IGMP 2 0.0 2 28 0.0 0.9 26.5
IPv6INIP 178 0.0 4 68 0.0 13.4 18.1
GRE 60567 0.0 2878 162 40.5 185.4 15.4
IP-other 150016 0.0 89 614 3.1 69.2 17.0
Total: 1424882186 331.7 35 781 11846.6 4.7 13.5

SrcIf SrcIPaddress DstIf DstIPaddress Pr SrcP DstP Pkts
Gi0/1 80.75.131.2 Null 123.456.123.14 06 40A0 0050 29
Gi0/1 82.116.35.44 Null 123.456.123.23 06 D52A 0050 5
Gi0/2.105 123.456.789.54 Null 195.151.255.253 06 0050 F9F0 3
Gi0/1 217.172.29.5 Null 123.456.123.33 06 E469 0050 279
Gi0/1 217.172.29.5 Null 123.456.123.43 06 E46B 0050 25
Gi0/1 217.172.29.5 Null 123.456.123.53 06 E46D 0050 51
Gi0/1 82.116.35.44 Null 123.456.123.64 06 D531 0050 5
Gi0/1 217.172.29.5 Null 123.456.123.73 06 E46E 0050 55
Gi0/1 217.172.29.5 Null 123.456.123.13 06 E46F 0050 23
Gi0/1 217.172.29.5 Null 123.456.123.23 06 E464 0050 39
Gi0/2.105 123.456.789.54 Null 67.195.111.40 06 0050 E9FC 5
Gi0/2.105 123.456.789.53 Null 83.167.97.145 06 0050 CF77 7
Gi0/2.105 123.456.789.56 Null 213.180.199.34 11 C479 0035 1
Gi0/2.103 123.456.789.30 Null 123.456.123.56 11 BB7D 0035 1
Gi0/2.105 123.456.789.56 Null 123.456.123.30 11 0035 BB7D 1

[--cut--] дальше еще много-много похожих строчек[--cut--]

даёт вот такой вот вывод, верхняя его часть нам не интересна, там общая статистика.

[root@border] /root/> /usr/sbin/flowctl netflow show
SrcIf SrcIPaddress DstIf DstIPaddress Pr SrcP DstP Pkts
lo0 123.456.161.48 vlan3 212.119.237.214 6 0f93 0050 6
lo0 123.456.153.8 vlan2 154.153.8.109 17 6df4 f45f 20
lo0 123.456.164.126 vlan2 154.164.126.104 17 68eb eb5f 16
lo0 123.456.134.168 vlan2 154.134.168.139 17 8b2c 2c5f 40
lo0 123.456.169.132 vlan2 154.169.132.219 17 db31 315f 28
lo0 123.456.153.13 vlan2 154.153.13.62 17 3e3a 3a5f 28
lo0 123.456.147.214 vlan2 154.147.214.54 17 3658 585f 4
lo0 123.456.161.167 vlan2 154.161.167.102 17 66f5 f55f 4
lo0 123.456.144.147 vlan2 154.144.147.248 17 f88b 8b5f 4
lo0 123.456.162.220 vlan2 154.162.220.42 17 2adc dc5f 27
lo0 123.456.170.119 vlan2 154.170.119.198 17 c60a 0a5f 64

[--cut--] дальше еще много-много похожих строчек[--cut--]

Анализируем вывод этой статистики:

Получаем для 25 порта:
[root@border] /root/>flowctl netflow show | grep 0019 | awk '' | sort | uniq -c | awk ' < if( $1 >20 ) print $2 >'
123.456.123.10
123.456.123.17
123.456.123.140
123.456.123.220

Для 80 порта:
[root@border] /root/>flowctl netflow show | grep 0050 | awk '' | sort | uniq -c | awk ' < if( $1 >100 ) print $2 >'
123.456.123.10
123.456.123.17
123.456.123.165

Для 53 порта:
[root@border] /root/>flowctl netflow show | grep 0035 | awk '' | sort | uniq -c | awk ' < if( $1 >100 ) print $2 >'
123.456.123.17
123.456.123.19

Что делать с этими адресами решайте сами.
У меня, например, по крону, раз в 5 минут, адреса добавляются в БД, с которой работает radius сервер.
Клиента выкидывают из интернета, а при следующей авторизации он блокируется полностью. Также при обращении по 80 порту выдается сообщение о нарушении регламента сети из-за вирусной активности на его компьютере.

Преступность постепенно уходит в интернет – такой вывод можно сделать из августовского доклада Генпрокуратуры РФ. Если общее число преступлений в стране за последний год выросло на 1,9%, то в Сети злоумышленники стали активнее на 46,8%.

Компьютерные вирусы появились одновременно с самими компьютерами. На роль первого зловреда претендует Elk Cloner, созданный в 1981 году 15‑летним американским школьником Ричардом Скрентой. То был невинный розыгрыш: программа попадала на магнитную дискету, и при считывании с нее информации на дисплей ПК выводился стишок-дразнилка.

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

Второй вариант – украсть пользовательские данные с целью продажи в Darknet. Так работают вирусы-трекеры, фиксирующие активность пользователя в браузере – вплоть до списка контактов, паролей, местонахождения. Банковские трояны отслеживают финансовые операции и крадут номера банковских карт.

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

Одна из главных задач ботнетов в последние годы – скрытая добыча криптовалюты (криптоджекинг), также ресурсоемкая и требующая слаженной работы множества девайсов. В 2017 году, когда биткоин дорожал с каждым месяцем, количество атак с целью криптоджекинга показало феноменальный рост: +8500% за год (данные Symantec). В прошлом году биткоин стабилизировался, что немного успокоило и хакеров. И все же по итогам года криптомайнеры, по данным Check Point, стали самым распространенным типом вирусов (37% атак), обогнав и банковские трояны (13%), и шифровальщиков (4%). Сейчас топ‑3 самых распространенных вирусов в России также составляют криптомайнеры: Cryptoloot, XMRig и Jsecoin (в июне атаковали 11%, 9% и 7% организаций соответственно; данные Check Point).

Вообще, развитие криптовалют привело к всплеску киберпреступности по многим направлениям. Сюда входит и хищение криптокошельков, и организация мошеннических ICO, и использование криптовалют в качестве анонимного способа получить от жертвы выкуп. В общем, что скорее принесет миру эта технология – пользу или вред, еще предстоит разобраться.


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

Отдельный класс кибератак заточен под мобильные устройства. Их тоже становится все больше: в 2012‑м насчитывалось 214 тыс. известных вредоносов, в 2014‑м – 1,55 млн, в 2018‑м – свыше 4 млн (данные GData). Самый распространенный механизм проникновения – тот же фишинг, только вместо зараженных сайтов носителем вируса выступают фальшивые приложения (fake applications). Они маскируются под обычный софт, вплоть до полного копирования интерфейса и функций.


Дети – самая уязвимая категория пользователей

Впрочем, вредоносы хранятся и в официальном Android-маркете, хотя их доля составляет менее 1% от общего количества программ. Как выяснили специалисты Сиднейского университета, проанализировав более миллиона приложений из GooglePlay, около двух тысяч оказались поддельными. Топ‑3 мобильных вирусов на сегодняшний день по версии Check Point – Lotoor, Triada и Ztorg – также разработаны под ОС Android.

Прежде всего Ильин советует обзавестись на устройстве новой версией антивируса и следить за его обновлениями. Звучит банально, но на практике исполняется не всегда. Более того, проблема своевременного обновления ПО касается не только антивирусов. Согласно исследованию Avast’s PC Trends Report 2019, более половины программ, установленных на компьютерах по всему миру, не имеют критических обновлений.

А многие пользователи отказываются переходить на новые версии Windows, не желая привыкать к интерфейсу. Скоро им придется принимать трудное решение: в январе 2020‑го Microsoft перестанет выпускать обновления безопасности для популярной Windows 7.

Если заражение все-таки произошло, нельзя соглашаться на условия злоумышленника – например, перечислять выкуп за разблокировку устройства. Ведь сам вирус останется в системе, а значит, киберзлодей может повторить тот же трюк. Лучше сделать снимок экрана и обратиться к специалистам: поскольку проблема массовая, с ней научились разбираться. Идеальный вариант – иметь на внешнем винчестере резервную копию важных данных. Тогда шифровальщики нипочем: достаточно отформатировать зараженный компьютер, установить новую ОС, и как будто ничего не было.

А вот сохранность персональных данных, увы, несколькими простыми шагами не обеспечить.


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

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

Lotoor – вирус, использующий уязвимости в ОС Android для получения root-доступа к устройству.

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

Piom – рекламное ПО, отслеживающее активность пользователя в браузере и показывающее таргетированные объявления.

Источник: Check Point Global Threat Index, июль 2019 года.

XMRig – программа для майнинга криптовалюты Монеро, впервые обнаруженная в мае 2017 года.

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

Dorkbot – червь, запускающий удаленное исполнение кода и загрузку на компьютер рекламного ПО.

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

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

Agentesla – вирус, крадущий пароли. Перехватывает ввод с клавиатуры, делает снимки экрана, собирает пользовательскую информацию в браузере.

Trickbot – мощный банковский троян, регулярно совершенствуемый для обхода антивирусных систем.

Ramnit – троян, крадущий данные банковских карт, пароли,и личные данные из браузера.

вирус, крадущий пароли, делающий скриншоты, перехватывающий ввод с клавиатуры. Может устанавливать на ПК другие вирусы.

Cryptoloot – программа для криптоджекинга и блокчейн-операций.

Источник: Check Point Global Threat Index, июль 2019 года.

Читайте также:

Пожалуйста, не занимайтесь самолечением!
При симпотмах заболевания - обратитесь к врачу.

Copyright © Иммунитет и инфекции