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

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

Я сделал немного поиска с помощью Google, но обычные места особенно не помогли, и я не мог найти простофилю здесь, таким образом, я думал, что будет хорошо спросить :)

54
задан 16.04.2010, 22:47

5 ответов

Эта статья с 2002 говорит о создании антивирусного механизма.

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

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

17
ответ дан 07.12.2019, 08:25
  • 1
    Я испытываю новооткрытое уважение к антивирусам после чтения этого, довольно умного материала! – Phoshi 20.10.2009, 13:00
  • 2
    Они - невероятно сложные приложения. К сожалению, они были превращены их во что-то, что терпеть не может много людей, включая меня. Пользовательские, неаккуратные, неинтуитивные интерфейсы, функции, прикрепляемые на только для добавления другого пункта маркированного списка к списку функций, чрезмерному увеличению размера. Это - материал, который превратил их в кошмары. Вещи оборачиваются, хотя; самым прекрасным примером хорошего решения AV является MSE. – alex 20.10.2009, 13:05
  • 3
    Это был материал эвристики, который снабдил подсказкой его, жаль joe :P Хороший ответ независимо :) @alex; увы, я должен согласиться, но понимание сложностей ниже заставляет меня симпатизировать больше. Это - сложный материал и не имело бы достаточного смысла соблазнять потенциального клиента, тогда как "Настраиваемый цветной GUI!" мог бы :( – Phoshi 20.10.2009, 13:19

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

13
ответ дан 07.12.2019, 08:25

От того, Как работает антивирусное программное обеспечение? (AntivirusWorld):

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

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

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

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

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

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

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

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

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

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

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

Проблемы беспокойства

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

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

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

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

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

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

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

4
ответ дан 07.12.2019, 08:25
  • 1
    Это - какова подпись. Часть злонамеренного машинного кода это характерно больше чем для одного вируса. – alex 20.10.2009, 13:06
  • 2
    Если AV сравнивает файл со словарем, говорят 10 000 известных вирусов, то, почему это - тот FAST? Каким образом каждый файл берет миллисекунды для сканирования.. – LantisGaius 20.10.2009, 16:21

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

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

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

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

3
ответ дан 07.12.2019, 08:25
  • 1
    Ну, я действительно спрашивал, как работа AVS, таким образом, я думаю ответы..., отвечает, что вполне хорошо, но Вы делаете очень правильное замечание, Это - что-то для размышления о :) – Phoshi 20.10.2009, 18:38
  • 2
    Наблюдение двух антивирусов на том же компьютере, пытающемся уничтожал друг друга, также веселое. Не стесняющиеся задающиеся вопросом, почему они делает тот :-) – geek 20.10.2009, 20:45

Один очень важный способ посмотреть на вирусы наоборот. Как Вирусы ставят под угрозу системы. Это обычно через программные уязвимости. Антивирусное программное обеспечение знает об этих уязвимостях и ищет программное обеспечение, влияющее на эти уязвимости. Так или иначе вирусы всегда ДЕЛАЮТ что-то. Таким образом, им нужен рабочий процесс, чтобы сделать независимо от того, что они прилагают все усилия. Иногда это находится в существующем, иногда они создают один themselfs.

Однако БОЛЬШИНСТВО вирусов работает похожими способами, помогающими вирусному сканеру различать их. Существуют многие различные вирусы, использующие ту же уязвимость!

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

1
ответ дан 07.12.2019, 08:25

Теги

Похожие вопросы