Как работают антивирусы?

Так что я недавно думал о вирусах и задавался вопросом, как именно антивирусные программы поддерживают? Учитывая, что кто-то, кто кодировал несколько недель, мог взломать что-то, что-то делает неприятные, неприятные вещи на чей-то компьютер, только количество просто сделало бы простой список хешей непозволительным, и как это делают антивирусы? Контролируют ли они активность процесса и имеют правило 3 ударов для выполнения подобных вирусов вещей? И если да, то что мешает ему запускать совершенно безобидные вещи (например, перемещать файлы в \ system32)?

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

5 Solutions collect form web for “Как работают антивирусы?”

В этой статье из 2002 года говорится о создании антивирусного ядра.

В статье будут описаны основные идеи, концепции, компоненты и подходы к разработке антивирусной программы с нуля с точки зрения разработчика / программного обеспечения. Он сосредоточится на основных элементах антивирусного ядра (в дальнейшем называемом AV-движком) и исключит такие аспекты, как графические пользовательские интерфейсы, мониторы в реальном времени, драйверы файловой системы и плагины для определенного прикладного программного обеспечения, такого как Microsoft Exchange или Microsoft Office. Хотя AV-двигатели, работающие / сканирующие для отдельных платформ (например, Palm OS или EPOC / Symbian OS), могут быть сконструированы таким же образом, в этой статье основное внимание будет уделено разработке многоплатформенных механизмов сканирования, которые намного сложнее.

Существует также статья об эвристических методах обнаружения инфекций. Это также интересное чтение.

Около года назад я посетил лекцию Микко Хайппонен, одного из главных исследователей F-Secure. Он показал свою автоматизированную сеть тестирования, где они создают виртуальные машины для каждого отправленного им образца, анализируют его структуру, запускают, регистрируют все, что он делает, перекрестно ссылаются на предыдущие образцы и генерируют сводку для человека, которую нужно проверить позже. Если человек приходит к выводу, что это вирус, система автоматически генерирует подпись обнаружения и отправляет обновление клиентам. Я полагаю, что другие производители имеют аналогичные системы, чтобы обновлять базы данных подписи.

Как работает антивирусное ПО? (AntivirusWorld):

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

Для достижения этого антивирусное ПО обычно использует два разных метода:

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

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

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

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

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

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

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

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

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

Проблемы, вызывающие озабоченность

Макро-вирусы, возможно, самые разрушительные и распространенные компьютерные вирусы, могут быть предотвращены гораздо дешевле и эффективнее, и без необходимости всех пользователей покупать антивирусное программное обеспечение, если Microsoft устранит недостатки безопасности в Microsoft Outlook и Microsoft Office, связанные с Выполнение загруженного кода и способность макросов документа распространяться и наносить ущерб.

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

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

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

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

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

(Мне нравится эта статья, и я просто копирую и вставляю ее из AntivirusWorld.)

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

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

Элитные вирусописатели – исследователи безопасности, а не сценаристы. Их определение вируса: «вирус – это фрагмент кода, который может размножаться». Вот и все. Как вы можете видеть, здесь нет деструктивных функций. Все вирусы, обязательные быть злыми – это FUD, которые вы получаете от проприетарных антивирусов, чтобы они могли продавать свое программное обеспечение.

ИМХО разумно рассматривать вирусы как часть всей экосистемы программного обеспечения, а не как вне злых «инопланетян».

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

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

http://en.wikipedia.org/wiki/List_of_computer_viruses

Interesting Posts

Туннелирование 4in6 (через OpenVPN?)

Как узнать, какую версию Linux я запускаю?

Интерфейс VirtualBox и беспроводной интерфейс?

Я подключен ко ВСЕМ людям, которые в настоящее время загружают / посещают этот файл Bittorrent?

Внезапное всплывающее окно во всех браузерах на некоторых сайтах – Как удалить?

Вставка файлов SVG в документ Microsoft Word

Название патча меняется после входа в систему

Настройка яркости дисплея ноутбука не работает в Linux Mint 14

Как обновить прошивку моего iPod Touch в Ubuntu?

Как установить фиксированный пользовательский пароль в Teamviewer (сервер) без отправки регистрационных данных?

Есть ли способ, которым я могу поделиться 3,42 ГБ загрузки Windows 8.1 из Windows Store?

В Firefox я случайно нажал «Начать новую сессию» после сбоя. Как я могу вернуть все свои вкладки?

PfSense для маршрутизации между несколькими подсетями в одной локальной сети

Windows 8 Asus laptop: Яркость экрана автоматически регулируется, несмотря на то, что она отключена

Как показать скрытые папки в Windows 8 из современного пользовательского интерфейса?

Давайте будем гением компьютера.