Портал Mz-Don

Меню
  • Контакты
  • Статьи
  • Блог

Обнаружение вирусов по трафику

Разное.

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

Впрочем, смакование подковерной борьбы оставим традиционным газетам форматов от A4 до Tabloid. Важнее результат. Хоть какая-то призрачная надежда на перемены к лучшему угасла. Прежний министр, прежние люди, прежний тотальный непрофессионализм, безграмотность и "бескорыстное" лоббирование.

Только лицензий и сертификатов обещают сделать больше. Что бы независимые операторы не расслаблялись, и платили, платили. Нет, не государству конечно, что за глупость. Есть же специальные частные фирмы для этого! Тут надо дать слово профессионалу - Особенности национальной сертификации и Черная дыра Антона Богатова.

Традиционная цитата. Можно много говорить о достоинствах и недостатках отечественной сертификации вообще и системы ССС в частности. Ясно одно: сертификация в России нуждается в радикальной реформе, поскольку в нынешнем виде имеет место элементарная профанация международной практики подтверждения соответствия, что наносит серьезный ущерб и национальным операторам связи, и поставщикам и производителям оборудования, а главное - мировой репутации России.

И с этим трудно не согласиться - тем более на фоне "возвращения" минсвязи.
:-(

Перейдем к забавному. На дворе весна, и нужно поздравить читателей с наступлением садово-огородного сезона (прислал Sergei Bershadsky).


Вот интересно, подвязывать малину можно только патчкордами Категории 5, или Категория 3 то же сгодится?

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


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

Однако порт целый, компьютер абонента целый, остальные защиты целые. Разорван основной защитный элемент (высоковольтный стабилитрон), оплавлен провод заземления, линейные элементы (диоды) целые. Что могло случиться - загадка до сих пор.

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

Краткий смысл проекта. Деньги получают абоненты - владельцы интернет-ресурсов (ftp-архивов). Если у пользователя есть файловый архив и он зарегистрирован в каталоге КАБiNET, то за каждый мегабайт трафика, скачанный с него абонентами КАБiNET из других сегментов, на его лицевой счет перечисляется 5 копеек. Для того, кто трафик скачивает, он стоит 20 копеек.

С момента начала проекта прошло всего несколько дней, но уже можно говорить о успехе. В каталоге зарегистрировано более 300 ресурсов пользователей (это из почти 6000 абонентов сети). Подробной статистики нет, но известно, что одному пользователю за день было начислено 72 рубля (т.е. с его компьютера было скачано 1440 мегабайт).

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

Если сделать приблизительную прикидку, то с 300 ресурсов и при распространении идеи в массах абонентов, можно будет получать около $500 в день, или $10-15 к$ в месяц. Не то, что бы это было очень много для сети такого большого масштаба, но лишние $1-2 с абонента получить вполне вероятно. А это уже совсем не плохо.

Конечно есть и подводные камни - при активном потреблении внутренних ресурсов может упасть более выгодный (для оператора) внешний трафик. Хотя это маловероятно - "тяжелые" ресурсы в Екатеринбурге мало кто потребляет в заметных объемах, это слишком дорого (3-4 рубля за мегабайт). С другой стороны, у "перепродажи" внутреннего трафика есть резерв роста - сейчас подсчет ведется только между сегментами, внутри (а это 200-300 пользователей) ничего не считается.

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

Обновления в разделах.

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

При широкополосном подключении достаточно одного неосторожного клика мышью. И компьютер превращается в бомбу немедленного, или, хуже того, замедленного действия. Да, в 95% случаев в появлении вирусов виноваты сами пользователи. Но бывает, что от неприятностей не спасает даже 15-ти летний опыт работы в интернет.

Поэтому предлагаю текст, который написал Эдуард Афонцев, Екатеринбург.

Пакетные фильтры и их модификации.

К первой группе несомненно относится linux netfilter - штатный файерволл в современных linux ядрах. После наложения дополнительного патча становится возможно настраивать пакетный фильтр для фильтрации по содержимому пакетов. Например, для блокирования вируса Code Red достаточно запретить прохождение пакетов, содержащих подстроку "cmd.exe" :

iptables -I INPUT -j DROP -p tcp -m string --string "cmd.exe"

Layer 7 filter - это новый пакетный классификатор для ядра linux. В отличие от других классификаторов, данный выполняет поиск регулярных выражений на уровне приложений. Практически представляет собой патч для linux ядра и iptables. В принципе является расширением netfilter для обработки layer 7 трафика.

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

IDS (системы детектирования вторжений).

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

Расширения проксирующих серверов по принципу встраивания в цепочку передаваемых данных.

По сути php скрипт, осуществляющий антивирусную проверку в сложной цепочке:

В настоящее время проект заморожен.

Mod_clamav - это Apache 2 фильтр, который сканирует контент, доставляемый модулем mod_proxy, используя clamav антивирус. Для того, чтобы при обработке больших файлов браузер не выдавал таймаут, браузеру раз в минуту передается по байту запрошенного содержимого.

Mod_vscan является аналогом mod_clamav, только для проверок используется open antivirus.

Squid-vscan представляет собой патч для прокси сервера squid, позволяющий сканировать передаваемые данные на наличие вирусов. Входит в проект open antivirus.

В принципе dansguardian предназначен для фильтрации передаваемого контента в связке с прокси сервером squid. Существует патч для добавления антивирусных проверок.

Расширения прокси серверов на основе специальных протоколов.

Вероятно, первыми были программисты фирмы CheckPoint, предложившие для своих продуктов протокол CVP (Content Vectoring Protocol). Однако в силу нераспространенности мы его рассматривать не будем.

По пути использования протокола icap пошли такие известные производители программного обеспечения как drweb, symantec, trend micro. Думаю, что ожидаются и другие.

Рассмотрим некоммерческие решения.

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

Основанный на ICAP программный комплекс для фильтрации интернет контента.

Расширение известного прокси сервера squid для поддержки ICAP протокола. Наиболее перспективное решение, позволяющее осуществлять антивирусную (и не только) обработку кэшируемого контента. Недаром программисты DrWeb, сначала использовавшие подход viralatora, в дальнейшем перешли на squid + ICAP (практически разработав ICAP сервер с функциями антивирусной проверки).

Выводы.

Практически все решения на основе пакетных фильтров базируются на расширении функций подсистемы netfilter ядра ОС linux. Очевидно, что полноценная антивирусная проверка в данном случае трудновыполнима - ведь на транспортном уровне (TCP/IP) данные представлены в виде отдельных блоков. Наиболее просто осуществлять поиск отдельных регулярных выражений (вирусных сигнатур), что и реализуется. В принципе, на мой взгляд, аналогичное решение можно выполнить, используя netgraph ОС FreeBSD, но пока подобных проектов нет.

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

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

Широкораспространенный прокси сервер squid (http, ftp) допускает подключение внешних программ (редиректоров) для манипуляций с обрабатываемыми url. Запрашиваемый клиентом url передается редиректору, который может с ним манипулировать и возвращать результат для дальнейшей обработки прокси серверу. Недостатки данного метода для антивирусной проверки выражаются в том, что обращение к редиректору происходит до скачивания данных прокси сервером и необходимо принимать дополнительные меры для кэширования и предотвращения таймаутов для клиентской программы.

Остается применение прокси сервисов с поддержкой протокола ICAP - наиболее современное и развивающееся на сегодня решение. По этому пути пошли известные производители антивирусных решений, такие как Symantec, Trend Micro, Dr Web. Однако к великому огорчению некоммерческого программного продукта (сервера icap с антивирусной проверкой) пока нет.

Небольшие зарисовки.

Вот так выглядит "малобюджетная стойка".



Прислал Юрий, компания Имилайн

Небольшая зарисовка о интернете в Казахстане, прислал Дибров Вадим.

Раньше жил я в Казахстане, в Кустанайской области (граничит с Челябинской) и сейчас иногда туда езжу.

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

Самое распространенное подключение, diulUp есть 2-х видов, внутренний и внешний. Они так его и называют, казахский интернет и российский интернет. Единый модемный пул, универсальный для любого региона, как и тарифы. Как руснет так и казнет, номера телефонов отличаются незначительно. Набирается как межгород, через 8-ку. Подключение через КазНет ограничивает работу только казахскими ресурсами, видимо по IP. Внешние ресурсы не пингуются.

В моем городе других вариантов подключения нет. Слово "провайдер" там не знают. Даже крупнейшее в регионе предприятие – горно-обогатительный комбинат (3 огромнейших карьера, добывающих железную руду) до недавнего времени ходило в нет через обычные модемы. Совсем недавно на этом предприятии появился xDSL.

Установка антенн на здании (прислал Александр Авдеев):


Думаю что здание на фотографиях представлять не нужно.

Верхолазы.

Вот так вот приходится иногда ставить антенны (прислал Yury Green):


Это явно не крыша 5-ти этажки. Да и антенна серьезная планируется.

Анонс

  • Зарисовки узлов разных провайдеров (в основном стойки). Наконец-то ожидаются "положительные" примеры.
  • Переход через железную дорогу (несколько фотографий);
  • В галерее - сети в Якутске.
  • Сети учебных заведений в Германии (долгострой);
  • Традиционный пункт - ссылки на интересные места Сети. Присылайте письма - они очень нужны для обзоров. Обязательно сообщайте, нужна ли Ваша подпись, ссылка, или лучше обойтись без нее;
  • В "ужастиках" - "узел в холодильнике", Улан-Удэ.

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

Антивирусы делятся на сканеры и резидентные модули. Сканеры находят файлы на дисках, читают их и делают вывод об инфицировании вирусом. Резидентные антивирусы постоянно работают в оперативной памяти и проверяют каждый новый файл и программу на заражение вирусом. При таком подходе расходуются ресурсы компьютера: процессор и оперативная память. Именно из-за этого некоторые пользователи не любят антивирусы, не хотят собственноручно замедлять работу компьютера. Но работать без антивируса сегодня небезопасно, так можно делать только в случае полной уверенности в своих действиях и посещаемых ресурсах в интернете.

Методы обнаружения вредоносного ПО

В самом простом случае используется определение по сигнатурам. Сигнатура – это кусок кода вируса, который не изменяется. Базы данных антивирусов содержат именно сигнатуры известных вирусов. Простое сравнение программного кода по базе сигнатур 100% позволяет определить есть вирус или нет. Но и вирусы не стоят на месте, они используют полиморфные алгоритмы, с помощью которых сигнатура меняется. Также создаются новые вирусы, которые невозможно определить по имеющимся базам.

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

Какие угрозы обнаруживаются антивирусами

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

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

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

  • Получают доступ к ядру ОС
  • Изменяют системные файлы
  • Маскируются под системные процессы
  • Загружаются до запуска операционной системы
  • Работают в теневом режиме

Всё это осложняет обнаружение и удаление руткитов.

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

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

Ransomware – это вымогатели, которые шифруют личные и рабочие документы на дисках. Вымогатель требует выкуп за получение ключа расшифровки. Как правило, выкуп просят в биткоинах, но никакого ключа расшифровки не существует. Лечения от вымогателя не существует, данные теряются навсегда.

Следуйте правилам безопасности, работая за компьютером и в интернете, используйте антивирусное ПО, например Total AV.

Проблема эпидемии сетевых червей актуальна для любой локальной сети. Рано или поздно может возникнуть ситуация, когда в ЛВС проникает сетевой или почтовый червь, который не детектируется применяемым антивирусом. Сетевой вирус распространяется по ЛВС через не закрытые на момент заражения уязвимости операционной системы или через доступные для записи общие ресурсы. Почтовый вирус, как следует из названия, распространяется по электронной почте при условии, что он не блокируется клиентским антивирусом и антивирусом на почтовом сервере. Кроме того, эпидемия в ЛВС может быть организована изнутри в результате деятельности инсайдера. В данной статье мы рассмотрим практические методики оперативного анализа компьютеров ЛВС с применением различных средств, в частности с помощью авторской утилиты 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 списка файлов, удаленных скриптом

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

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