Защита от известных вирусов

Обновлено: 24.04.2024

Вредоносный софт сегодня — определённо не единственная угроза безопасности для пользователей (как индивидуальных, так и корпоративных), однако основой любых решений по безопасности остаются инструменты для выявления и борьбы именно с

12 сентября 2013

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

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

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

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

За проактивную защиту в Kaspersky Endpoint Security для Windows с восьмой версии отвечает компонент System Watcher. В его состав ходит набор шаблонов (Behavior Stream Signatures, BSS) — моделей вредоносного поведения, по которым можно вычислить неизвестное вредоносное программное обеспечение ещё до того, как информация о нём заносится в базы сигнатур.

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

Для дополнительного ускорения работы компонентов антивирусной защиты Kaspersky Endpoint Security для Windows с файлами на компьютере ещё в восьмой версии были реализованы две функции под названием iSwift и iChecker.

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

iSwift — это вариант iChecker, написанный для файловой системы NTFS. Преимущество этой файловой системы заключается в том, что каждому объекту в ней присваивается свой NTFS-идентификатор. iSwift сравнивает NTFS — идентификатор cо значениями, которые она хранит в специальной базе данных. И в случае, если значения в базе данных не совпадают с NTFS-идентификаторами, то объект проверяется.

Необходимость высчитывать контрольную сумму при этом отсутствует, благодаря чему iSwift может работать с файлами любых размеров (в отличие от iChecker). Файл, однако, заново проверяется при копировании, так как технология привязана к конкретному местоположению. К тому же, iSwift можно использовать только в файловой системе NTFS.

Помимо описанных сигнатурного и проактивного методов защиты, в наших корпоративных продуктах применяется ещё один способ оперативного выявления новых угроз: речь идёт об интеграции System Watcher с Kaspersky Security Network.

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

В свою очередь, уровень детектирования эвристических методов, даже самых продвинутых, составляет в среднем 50-70%, соответственно, 30-50% вновь появляющихся угроз эвристики не детектируют.

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

KSN также активно применяется для борьбы с вредоносными ссылками и спамом. Подробную информацию о принципах работы Kaspersky Security Network можно найти здесь.

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

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

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

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

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

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

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

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

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

Публикации на схожие темы

Анализ результатов эксплуатации сервиса MDR, H1 2019

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

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

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

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

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

Принято разделять сканеры на следующие:

- транзитные, периодически запускаемые для выявления и ликвидации вирусов,

- резидентные (постоянно находящиеся в оперативной памяти), проверяющие заданные области памяти системы при возникновении связанных с ними событий (например, проверка файла при его копировании или переименовании).

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

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

7. Сигнатурный анализ. Сканирование

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

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

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

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

Определение сигнатуры вируса довольно сложная задача.

Все вместе сигнатуры известных вирусов составляют антивирусную базу.

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

Конечно, программам-сканерам не обязательно хранить в себе сигнатуры всех известных вирусов. Они могут, например, хранить только контрольные суммы сигнатур.

Сигнатурный анализ осуществляет:

1) выявление характерных идентифицирующих черт каждого вируса;

2) поиск вирусов путем сравнения файлов с выявленными чертами.

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

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

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

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

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

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

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

Важное дополнительное свойство сигнатур - точное и гарантированное определение типа вируса.

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

Полифаги - Антивирусные программы-сканеры, которые могут удалить обнаруженные вирусы.

Самой известной программой-сканером является Aidstest Дмитрия Лозинского.

Aidstest выполняет поиск вирусов по их сигнатурам. Поэтому он обнаруживает только простейшие полиморфные вирусы.

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

Для выявления указанных маскирующихся вирусов используются специальные методы, например - метод эмуляции процессора.

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

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

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

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

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

Именно поэтому все наиболее крупные эпидемии вызываются новыми вирусами.

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

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

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

В соответствии с этими проявлениями вирусов, антивирусные программы можно классифицировать по пяти основным группам:, детекторы, доктора, ревизоры, фильтры, вакцинаторы.

11.1. Антивирусные программы: детекторы, доктора

Программы-детекторы (сканеры) – рассчитаны на обнаружение конкретных вирусов.

Наибольшее распространение в России получили программы-детекторы.

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

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

Полифаги – позволяют лечить большое число вирусов.

Широко распространены программы-детекторы, одновременно выполняющие и функции программ-докторов.

Примеры: AVP (автор Е. Касперский), Aidstest (Д. Лозинский), Doctor Web (И. Данилов).

11.2. Программы-ревизоры. Обнаружение изменений ( Защита от неизвестных вирусов )

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

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

Контроль целостности обеспечивает защищенность информационного ресурса от:

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

сбоев и отказов системы и среды.

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

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

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

1) предварительно запоминают эталонные характеристики вычислительной системы, которые подвергаются нападению вируса, (в основном всех областей диска)

2) а затем периодически сравнивают эталонные характеристики с текущими характеристиками вычислительной системы (отсюда происходит их название программы-ревизоры).

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

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

Обычно контролируемыми характеристиками являются:

загрузочные сектора дисков.

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

Обычно программы-ревизоры запоминают в специальных файлах образы:

главной загрузочной записи,

загрузочных секторов логических дисков,

параметры всех контролируемых файлов,

также информацию о структуре каталогов

номера плохих кластеров диска.

Могут проверяться и другие характеристики компьютера:

объем установленной оперативной памяти,

количество подключенных к компьютеру дисков и их параметры.

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

Ревизоры, как и сканеры, делятся на: транзитные и резидентные.

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

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

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

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

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

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

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

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

Простейшая программа-ревизор Microsoft Anti-Virus (MSAV) входит в состав операционной системы MS-DOS. Основным, и возможно единственным ее достоинством является то, что на нее не нужно дополнительно тратить деньги.

Значительно более развитые средства контроля предоставляет программа-ревизор Advanced Diskinfoscope (ADinf), входящая в состав антивирусного комплекта АО “ДиалогНаука”.

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