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

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

  • Сообщите о возвращении из-за рубежа
  • Немедленно самоизолируйтесь и позвоните на горячую линию Минздрава
  • Задавайте любые вопросы о коронавирусе

Онлайн-карта распространения

Официальное обращение губернатора Пермского края

Ответы на основные вопросы о коронавирусе

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

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

Новая коронавирусная инфекция относится к острым респираторным вирусным инфекциям (ОРВИ), и осложнения у нее могут быть такие же, как и у других ОРВИ: пневмония, бронхит, синусит и другие.

К симптомам следует отнестись максимально внимательно, заниматься самолечением ни в коем случае не стоит. Оставайтесь дома и вызовите врача по номеру 103.

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

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

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

Нельзя покидать место своего проживания, посещать учебу и работу. Если вам нужен больничный лист, обратитесь на горячую линию: +7 (342) 258-07-87 (круглосуточно). Курьер привезет вам больничный прямо на дом. Риск инфицирования членов семьи снижается, если соблюдать основные гигиенические требования: использовать маску, индивидуальную посуду, часто мыть руки и пользоваться кожными антисептиками, регулярно проветривать помещения.

За невыполнение санитарно-гигиенических или противоэпидемических мероприятий предусмотрена административная ответственность (ст. 6.3 Кодекса Российской Федерации об административных правонарушениях):

  • Физические лица — штраф 100-500 руб.;
  • ИП — 500-1000 руб. или приостановление деятельности на срок до 90 суток;
  • Юридические лица — 10-20 тыс. руб. или приостановление деятельности на срок до 90 суток.

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

В случае, если нарушение самоизоляции повлекло массовое заболевание людей, может наступить уголовная ответственность, которая предусматривает различные виды наказания — от штрафа до 80 тыс. рублей и до лишения свободы на срок до 5 лет по ст.236 УК РФ (в случае, если заразившийся от гражданина скончался).

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

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

Медицинская помощь всем пациентам с подозрением на новую коронавирусную инфекцию оказывается на бесплатной основе.

Для постановки диагноза проведения однократного теста недостаточно. Если человек не имеет симптомов ОРВИ, то ему исследования проводят два раза. При наличии симптомов ОРВИ исследования проводят не менее трех раз.

Диагностика новой коронавирусной инфекции осуществляется молекулярно-генетическими методами — ПЦР (полимеразная цепная реакция). Для исследования берется мазок из носа и ротоглотки, а также проводятся другие анализы по назначению врача.

Лечение назначает врач в зависимости от симптомов в соответствии с российскими и международными рекомендациями. Самолечение противопоказано.

Решение о госпитализации принимает проводящий осмотр врач в зависимости от тяжести состояния и близости контактов с заболевшим.

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

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

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

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

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

Да, нужно позвонить по телефону горячей линии: +7 (342) 258-07-87 (круглосуточно). По этому же телефону ответят, как оформить больничный лист. Специалисты примут заявку, и в течение двух дней курьер доставит больничный лист на дом. Больничные листы будут выдаваться здоровым людям независимо от самочувствия.

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

Если у вас признаки ОРВИ (лихорадка, кашель и другое), незамедлительно самоизолируйтесь и вызывайте врача на дом или скорую помощь!

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

Списки направляются в орган местного самоуправления по месту нахождения организации. Если организация находится в г. Перми — в администрацию г. Перми на электронный адрес: main@gorodperm.ru, если в городе Очёре — администрацию города Очера.

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

Лица, нарушившие режим самоизоляции будут привлекаться к: административной ответственности по КоАП РФ, с 01.04.2020 размер штрафов составляет от 15 000 до 300 000 рублей (Федеральный закон № 99-ФЗ от 01.04.2020); уголовной ответственности по УК РФ, наказание от 500 0000 рублей до семи лет лишения свободы(Федеральный закон № 100-ФЗ от 01.04.2020).

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

Да. Но только в ближайшие.

Пункт 5 Указа, который ввел режим самоизоляции, будет действовать до его отмены отдельным указом. Его отмена после 6 апреля не планируется.

Доставка пенсий будет обеспечена в обычном порядке. Для сообщения о месте проживания (пребывания), выбранного для соблюдения режима самоизоляции необходимо обратится на горячую линию территориального отделения Пенсионного фонда РФ Телефон горячей линии: 8 (342) 264 32 04.

В поликлиниках запрещён прием пациентов в плановом порядке. Также не проводятся плановая диспансеризация взрослого населения и плановые профилактические прививки.

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

Женские консультации продолжают работу с ограничением планового приема пациенток.

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

Оказание медицинской помощи жителям Пермского края, имеющим право на льготное лекарственное обеспечение, организовано исключительно на дому. Для вызова врача на дом пациенту необходимо обратиться по телефону в поликлинику по месту прикрепления. Для одиноких маломобильных пациентов предусмотрена доставка льготных рецептов в аптечные организации или доставка льготных лекарств из аптек на дом. Для этого пациент может обратиться по телефону Горячей линии ОНФ: 8 (800) 200 34 11 и Скорой социальной помощи 8 (800) 100 83 05.

Трудно найти пользователя ПК, который никогда не слышал о компьютерных вирусах. Это одна из самых широко известных проблем. Однако она же, наверное, самая запутанная и мифологизированная. Часто даже ИТ-специалисты высказывают крайне противоречивые мнения о компьютерных вирусах. Цель данной статьи — осветить часто задаваемые вопросы о вредоносных программах и организации многоуровневой защиты от них. Как снизить вероятность заражения? Чтобы ответить на этот вопрос, нужно сначала разобраться, от чего же мы хотим себя защитить.

Сложно ли сделать компьютерный вирус? Смотря какой. В самовоспроизведении программы нет принципиальной сложности. Все первые вирусы были написаны одиночками-энтузиастами, часто студентами. Даже сейчас можно создать вирус вообще без специальных средств разработки, с помощью одной только командной строки Windows (см. Bat-вирус). Вот только распространяться по сети он вряд ли будет. С 80-х годов прошлого века ОС существенно поумнели и теперь обладают многоуровневой системой защиты. Они просто не позволят процессу, запущенному рядовым пользователем, менять системные настройки ПК, тем более настройки другого ПК по сети. Подобные простейшие вирусы могут жить только при попустительстве системных администраторов, давших всем полные права на любые действия. Поэтому первый ключевой элемент антивирусной защиты — разграничение прав.

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

Достоинством вируса является возможность многократного применения и глобального охвата. К примеру, вызнать шантажом пароли у 1000 разных человек крайне затруднительно. Для этого нужно создать спецслужбу государственного масштаба. А заразить 1000 ПК вирусом — рядовое, в общем-то, событие. Сразу встаёт другой вопрос: а что ценного есть на 1000 случайно попавшихся ПК? На многих — ничего. На других ценную информацию нужно ещё суметь найти. Именно поэтому так популярны блокировщики рабочего стола, спам и DDoS-боты — они приносят пользу хозяевам после заражения любого ПК. Если же вирус, к примеру, ворует деньги из одной заданной банковской системы, то охват его заражения должен быть максимально широким, иначе он может просто не попасть на ПК, пользователи которых работают с данной системой и имеют солидные суммы на счетах. Если нужен вирус под атаку одного единственного предприятия, то цена данного предприятия должна перекрывать все расходы на создание вируса (смотри выше про Stuxnet и Иран). Поэтому я бы не стал ожидать, что кто-то что-то напишет специально для блокирования кассового ПК на районной автомойке. Скорее, найдут в интернете готовый вирус и принесут на флешке.

В качестве примера массового вируса рассмотрим Kido, он же Conficker. На пике эпидемии им было заражено, по разным оценкам, от 9 до 15 миллионов компьютеров. По оценкам Microsoft, с середины 2010 года до середины 2011 года количество заражённых ПК стабильно держалось в районе 1,7 миллиона. Известно несколько версий Kido, работа которых отличается друг от друга. Все они интересны сложным алгоритмом поведения, включающим в себя многие передовые вирусные технологии. Поэтому анализ Kido позволит точнее определить, от чего же нам в итоге нужно защищаться.

Заражение Kido может произойти по следующим путям:

  • По сети через уязвимость в протоколе RPC системы Windows. Уязвимость закрыта обновлениями, но, к сожалению, не все их себе поставили.
  • По сети через общие папки, к которым Kido подбирает пароль из списка наиболее популярных.
  • Через автозапуск со сменных носителей.

После заражения вирус регулярно проверяет наличие новой версии и, когда она появляется, устанавливает её. В конечном итоге, Kido загружает спам-модуль, т. е. Kido работает по принципу ботнета.

У вируса развитые механизмы самозащиты:

  • Блокировка доступа к сайтам известных производителей антивирусов и сайту Windows Update.
  • Отключение службы Windows Update.
  • Отключение возможности загрузки в безопасном режиме.
  • Ежесекундный поиск и выключение известных антивирусных и диагностических программ.

Что показывает нам пример с Kido как коллективным портретом современного вируса? Вирусы любят пользователей с простыми паролями. Всем, кто пользуется паролями типа qwerty, рекомендую поискать свой пароль в перечне Kido. Ещё вирусы любят автозапуск, особенно если он произойдёт у пользователя-администратора. Тут даже никакие защиты ОС обходить не надо, процесс стартует с полными правами на любые действия. Также вирусы любят, когда у пользователя стоит ОС без обновлений. Причём Kido активно борется с обновлениями путём блокировки Windows Update. И ещё вирусы не любят антивирусы (это у них взаимное). Поэтому профилактика вирусных заболеваний ПК стоит на трёх китах:

  • Разграничение прав пользователей, отключение лишних возможностей
  • Антивирус
  • Регулярная установка обновлений

Как пользователь может заразить ПК вирусом? Вариантов два: явный запуск зловредной программы (к примеру, открытие заражённого exe-файла) или неявная провокация такого запуска (к примеру, вставил сменный носитель, на котором сработал автозапуск, открывший заражённый exe-файл). Как можно снизить риск заражения? В компьютере, как и в жизни, правила осторожности по сути являются ограничением от интересных, но потенциально опасных шагов. Конфликт интересов состоит в том, что интересность некоторых действий понятна всем (так, всем бывает интересно, когда в город приехал новый цирк), а вот опасность — только с определённым жизненным опытом (подумаешь, цирк даёт представление в трейлерном городке в лесополосе за промзоной). Большинство людей сначала игнорируют любые меры безопасности и рассказы о них, пока не столкнутся с проблемами лицом к лицу. Поэтому сначала безопасность обеспечивается принудительными ограничениями со стороны более опытных товарищей (вменяемые родители не пустят детей в упомянутый цирк, а вменяемые системные администраторы максимально защитятся от неопытных пользователей). Затем некоторые пользователи (прямо скажем, не все) дорастут до самостоятельного следования мерам предосторожности.


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


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

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

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

Чтобы найти вредоносный код, антивирус должен постоянно следить за содержащейся в ПК информацией и определять, опасная она или нет. Поэтому первое требование — в ПК должен стоять антивирусный монитор, включающийся при загрузке и постоянно сканирующий данные, тем или иным образом обрабатываемые ПК. Бесплатные программы для одноразового сканирования ПК (к примеру, Dr.Web CureIt! или Kaspersky Virus Removal Tool) не являются средствами защиты. Они помогут удалить вирусы с уже заражённого ПК, но в промежутках между ручными запусками таких программ ПК не защищён.

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

Как антивирус отличает вирусы от невирусов? Технологий несколько, самая известная — сигнатурный поиск. Сигнатура (подпись, если переводить дословно) — это характерный набор отличий, существующий у некоторого вируса и позволяющий отличить его от любых других программ и данных. К примеру, набор байтов с кодом вируса или посылаемое вирусом сообщение. У антивируса есть база сигнатур. Проверяя программы на наличие в них каждой сигнатуры из базы, антивирус определяет, заражены программы или нет. По мере появления новых вирусов базу сигнатур тоже нужно обновлять. Значит, разработчик антивируса должен постоянно собирать данные о вирусах и выпускать обновления, а антивирусный монитор пользователя должен эти обновления загружать и устанавливать (обычно это происходит автоматически). Чем больше база сигнатур, тем больше вычислений приходится делать при проверке, ведь необходимо проверить каждую программу на наличие каждой сигнатуры из базы. Поэтому сигнатурная защита — это достаточно ресурсоёмкая задача.

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

Какой бы антивирус вы ни взяли, появление сигнатур в базах неизбежно будет отставать от появления вирусов. Даже если отставание будет измеряться несколькими часами, за эти часы технически возможно заразить огромное количество ПК (спасибо социальным сетям, смартфонам и прочим средствам массовых коммуникаций). Поэтому мало искать сигнатуры известных вирусов — хороший антивирус должен каким-то образом уметь находить и ещё неизвестные вирусы. Введено даже специальное понятие — 0day, то есть угроза, с момента обнаружения которой прошло нуль дней, и защиты ещё нет. К примеру, Stuxnet использовал неизвестную ранее уязвимость Windows, против которой не существовало патчей. Поэтому Stuxnet — это тоже 0day-угроза. Обнаружение и защита от подобных неприятностей — задача крайне сложная. Для её реализации серьёзные антивирусы помимо сигнатурного поиска могут использовать различные так называемые проактивные технологии: от эвристики (то есть поиска вирусов по некоторым дополнительным гипотезам) до полной виртуализации программ (то есть исполнения программ не на самом ПК, а в некотором его эмуляторе). Ограничение прав пользователей и UAC, кстати, это тоже, в каком-то смысле, проактивная защита. Думаю, что по мере нарастания вирусной армии подобные технологии выйдут на первый план, а гонка за сигнатурами будет в итоге проиграна.

Наконец, антивирус не должен мешать жить рядовому пользователю ПК. Вспоминая неудобства, приносимые UAC, в первую очередь хочется поменьше вопросов от антивируса. Почему антивирус вообще задаёт вопросы? Во-первых, у методов обнаружения вирусов есть определённая погрешность работы. В ряде случаев они приводят к ложным срабатываниям, то есть полезную программу определяют как вирус. Поэтому необходим ручной контроль со стороны пользователя. Во-вторых, нужна определённость, что́ делать с найденными угрозами: блокировать, разрешать, помещать в карантин и т. д. Чтобы снизить количество вопросов, каждый антивирус имеет набор правил: такие-то ситуации разрешаем, такие-то ситуации блокируем автоматически, в таких-то ситуациях всё-таки спрашиваем у пользователя и т. п. Чем богаче набор встроенных правил для массовых программ (тех же браузеров), тем меньше будет вопросов. А значит, опять нужны базы с обновлениями, но уже базы доверенных программ. Хорошо, когда антивирус самообучается (хотя бы на уровне автоматического создания правил по уже полученным ответам). Конечно, нужен удобный интерфейс системных настроек, чтобы быстро найти и поменять неудачное правило.

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

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

И отдельным абзацем про Apple. Есть ботнет под iPhone, ворующий банковские данные (правда, только у iPhone, взломанных их хозяевами). Есть ботнет из Маков, распространяющийся через ошибку в системе безопасности, для закрытия которой нужно ставить обновление. В общем, тех же щей, да пожиже влей.

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

  1. Будьте осторожными, а тому, кто не может быть осторожным, ограничьте права.
  2. Установите хороший антивирусный монитор и следите за продлением подписки.
  3. Ставьте обновления безопасности на все программы.

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

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

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

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