PDA

Просмотр полной версии : Скорсть антивируса



werewolf
30.09.2004, 08:01
Много чего говориться о скорости антивируса. Мол, этот тормозит, а этот не тормозит. А есть какие-нибудь определённые параметры? Ну, там сколько оперативки жрёт. Или всё это основывается на личном мнении пользователя?

Dr.Xmas
30.09.2004, 10:49
Много чего говориться о скорости антивируса. Мол, этот тормозит, а этот не тормозит. А есть какие-нибудь определённые параметры? Ну, там сколько оперативки жрёт. Или всё это основывается на личном мнении пользователя?

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

drongo
30.09.2004, 12:06
было бы полезно , если бы в тестах указывалось количество съедаемой оперативной памяти (для компонентов монитора ,сканера )
пока ни в одном тесте такого не видел ???

Geser
30.09.2004, 12:44
было бы полезно , если бы в тестах указывалось количество съедаемой оперативной памяти (для компонентов монитора ,сканера )
пока ни в одном тесте такого не видел ???


Сомневаюсь что это сейчас актуально. При минимальном объеме оперативки рекомендуемом для Windows 2000/XP 256 Мб если монитор возьмёт 10 или 40Мб особого значения не имеет.

Geser
30.09.2004, 12:46
Много чего говориться о скорости антивируса. Мол, этот тормозит, а этот не тормозит. А есть какие-нибудь определённые параметры? Ну, там сколько оперативки жрёт. Или всё это основывается на личном мнении пользователя?

Тормоза обычно связаны не с объёмом оперативки, а со скоростью проверки. Т.е. сколько Мб/сек. Обычно в логе сканера это указано.

serge
30.09.2004, 16:06
Тормоза обычно связаны не с объёмом оперативки, а со скоростью проверки. Т.е. сколько Мб/сек. Обычно в логе сканера это указано.

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

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

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

Dr.Xmas
30.09.2004, 16:18
Тормоза обычно связаны не с объёмом оперативки, а со скоростью проверки. Т.е. сколько Мб/сек. Обычно в логе сканера это указано.

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

Geser
30.09.2004, 18:32
Мб/сек - характеристика весьма относительная. Например она может очень сильно меняться в зависимости от типов проверяемых файлов. Например, диск с фильмами или mp3-шками будет проверяться очень быстро, тот же диск, содержащий кучу относительно мелких исполняемых файлов, завернутых в несколько слоев упаковщиков и крипторов, будет проверяться на много порядков медленнее.



Средняя скорость сканирования это как средняя температура по больнице :) На самом деле важна не обсолютная скорость, а скорость относительно других антивирусов. Но даже это не даёт никакой уверенности что на спицифическом компе всё не будет наоборт :)
Кроме того есть всякие фокусы что бы ускорить работу сканера. КАВ, например, подсчитывает контрольные суммы, и повторную проверку делает на порядок быстрее.
Это приводит например к тому, что более быстрый Др.Веб в определённых ситуациях может проиграть более медленному КАВ

serge
01.10.2004, 18:34
Кроме того есть всякие фокусы что бы ускорить работу сканера. КАВ, например, подсчитывает контрольные суммы, и повторную проверку делает на порядок быстрее.
Это приводит например к тому, что более быстрый Др.Веб в определённых ситуациях может проиграть более медленному КАВ

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

Кстати, механизм кэширования результатов предыдущих проверок для увеличения быстродействия используется антивирусом Vba32 начиная с версии 3.007, которая была выпущена еще в 2001 году. То есть на несколько лет раньше, чем в KAV, хотя маркетологи Касперского, как обычно, не постеснялись поднять шум - первые в мире, уникальная технология и т.д. :)

Geser
01.10.2004, 18:37
Тем хуже Др.Веб'у. Даже если антивирус работает достаточно быстро, это не значит, что не следует использовать дополнительные возможности по увеличению быстродействия.

У них в принципе тоже есть такое, но используется только резидентным монитором, и нужно ручками настраивать размер кеша.

Кстати, механизм кэширования результатов предыдущих проверок для увеличения быстродействия используется антивирусом Vba32 начиная с версии 3.007, которая была выпущена еще в 2001 году. То есть на несколько лет раньше, чем в KAV, хотя маркетологи Касперского, как обычно, не постеснялись поднять шум - первые в мире, уникальная технология и т.д.
У них разница в том что контрольные суммы в КАВ хранят не в памяти, а цепляют потоками к файлу, насколько я понимаю.

serge
01.10.2004, 19:08
Кстати, механизм кэширования результатов предыдущих проверок для увеличения быстродействия используется антивирусом Vba32 начиная с версии 3.007, которая была выпущена еще в 2001 году. То есть на несколько лет раньше, чем в KAV, хотя маркетологи Касперского, как обычно, не постеснялись поднять шум - первые в мире, уникальная технология и т.д.

У них разница в том что контрольные суммы в КАВ хранят не в памяти, а цепляют потоками к файлу, насколько я понимаю.

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

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

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

Geser
01.10.2004, 19:12
Кстати, как вычисляют сигнатуры? Есть стандартный способ, или в каждом случае по своему?

serge
04.10.2004, 12:30
Кстати, как вычисляют сигнатуры? Есть стандартный способ, или в каждом случае по своему?

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

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

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

Geser
04.10.2004, 14:00
Спасибо за разъяснение, это тоже интересно :)
Но я имел в виду сигнатуры по которым антивирус определяет вирусы.

Dr.Xmas
04.10.2004, 19:48
Спасибо за разъяснение, это тоже интересно :)
Но я имел в виду сигнатуры по которым антивирус определяет вирусы.

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

Geser
04.10.2004, 19:58
у каждого антивируса есть специальные алгоритмы, которые в общем случае можно назвать "движок". вирусные аналитики готовят для "движка" специальные записи, по которым можно детектировать вируса или трояна. примерно это выглядит как некоторые специальные "точки" или последовательность точек. это и называют сигнатурой. у полиморфных вирусов может не быть вообще устойчивых сигнатур, для таких случаев создают специальный код для детектирования.

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

Dr.Xmas
05.10.2004, 13:00
Собственно я почему спросил. Если алгоритм создания сигнатур стандартный, то можно при первом сканировании для каждого файла на диске создать сигнатуру, а потом проверять только не совпадает ли данная сигнатира с сигнатурами вирусов.

тут "две большие разницы", как говорят в Одессе. "сигнатура" применяется именно по отношению к вирусу, т.е. это совокупность данных, по которым можно чётко определить вирус. по отношению к файлу нельзя выделить "сигнатуру", по файлу можно посчитать CRC32 или MD5, а потом контролировать это значение.
выше об этом писАли, что и iChecker Касперского, и "кэш" Vba32 использует именно алгоритмы подсчёта какой-то контрольной суммы, чтобы не перепроверять один и тот же файл несколько раз.

Geser
05.10.2004, 14:18
Ясно. Ещё одна вещь которая меня всегда интересовала, это как работает эвристический анализ, и как он может находить неизвестные вирусы.

Dr.Xmas
05.10.2004, 14:58
Ясно. Ещё одна вещь которая меня всегда интересовала, это как работает эвристический анализ, и как он может находить неизвестные вирусы.

это проще пареной репы. берём простейший вирус. его алгоритм:
1. найти первый файл с расширением COM
2. открыть файл
3. записать своё тело в конец
4. закрыть файл
5. найти следующий файл
антивирусная программа, которая "знает" последовательность этих действий, находит на диске файл, у которого такой алгоритм, лезет в свою базу известных, его там нет, тогда пишет "похож на "Search.COM.virus"

maXmo
10.10.2004, 19:19
Лучше, конечно, использовать криптографическую хэш-функцию вроде MD5, чтобы содержимое файла нельзя было подогнать под конкретное значение контрольной суммы (существовали вирусы, которые добивались того, чтобы значение CRC инфицированных файлов совпадало со значением "чистых" файлов). Хотя недавно была новость, что какие-то математики нашли способ в определенных случаях подогнать содержимое файла и под конкретное значение MD5.не, я слышал, что её нафиг взломали, но тогда это подняло бы сильный шум, само название Message digest показывает, что этот алгоритм используется для получения подписи документа, ну, есть ещё SHA1

Geser
10.10.2004, 20:15
не, я слышал, что её нафиг взломали

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

maXmo
10.10.2004, 20:48
Взломать это дело нельзя в принципе. Т.е. по MD5 нельзя определить изначальную информацию.Кстати, я не помню, утверждали ли они, что им удалось получить исходный текст по контрольной сумме... хотя как прикажешь понимать фразу "получить исходный текст с заданной контрольной суммой"? она двусмысленная, но означает именно взлом, даже если подразумевает составление исходного текста с нуля.

Minos
10.10.2004, 22:11
Кстати, я не помню, утверждали ли они, что им удалось получить исходный текст по контрольной сумме... хотя как прикажешь понимать фразу "получить исходный текст с заданной контрольной суммой"? она двусмысленная, но означает именно взлом, даже если подразумевает составление исходного текста с нуля.

Сообщение о слабине публиковалось в Компьютерре, на конференции посвещенной безопасности группа израильских математиков представила способ дескридитации некоторых хеш функций, в частности для MD5 удалось представить способ получения одинаковой контрольной суммы для двух разных файлов.
Подробнее http://protection.net.ru/item/dloc-ec-n-d-cdn-cc-n-l-li-o-ce-nu-e-cne

У меня другое предложение, можно ускорить работу мониторов за счет исключения из баз с которыми работает монитор не актуальных для данной операционной системы вирусов. Например, если монитор установлен на XP SP2, то из баз можно исключить *nix вирусы, если на машине нет Perl-a, то незачем постоянно контролировать присутствие Script вирусов для этого интерпритатора, а так же можно не контролировать основные DOS вирусы. Экономия ресурсов -налицо

Geser
10.10.2004, 22:37
Кстати, я не помню, утверждали ли они, что им удалось получить исходный текст по контрольной сумме... хотя как прикажешь понимать фразу "получить исходный текст с заданной контрольной суммой"? она двусмысленная, но означает именно взлом, даже если подразумевает составление исходного текста с нуля.

В таком смысле вломать можно любой код. Только если на это потребуется 1000 лет работы компютара, то можно не принимать во внимание :)
Теперь если почитать статью:

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

Minos
10.10.2004, 22:46
Теперь если почитать статью:Т.е. что бы изменить программу таким образом что бы она подошла под желаемый хеш нужно несколько часов работы компютера, а то и больше. Т.е. что бы обмануть сканер использующий MD5 хеш вирус должен потратить несколько часов для заражения одного файла, при загрузке процессора близком к 100%. Сомнител
ьный метод :)
Другое дело когда на сайте дают скачать программу, и что бы определить её целостность дают MD5 хеш. Тут можно встроить троянчика, и MD5 хеш останется тем же. Но зачем подбиреть MD5 хеш несколько часов, если есть более лёгкие способы? :)


Нет, можно сделать все проще, подменить стандартный файл из поставки windows заранее "обработанным", в результате антивирусы контролирующие MD5 функцию не заметят подмены и какое-то время данный файл проверять не будут. Троян делает свое черное дело, затем производит обратную подмену и удаляется с машины. Все шито-крыто. Ч.Т.Д.

Geser
10.10.2004, 22:59
Нет, можно сделать все проще, подменить стандартный файл из поставки windows заранее "обработанным", в результате антивирусы контролирующие MD5 функцию не заметят подмены и какое-то время данный файл проверять не будут. Троян делает свое черное дело, затем производит обратную подмену и удаляется с машины. Все шито-крыто. Ч.Т.Д.

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

serge
11.10.2004, 11:56
Теперь если почитать статью:Т.е. что бы изменить программу таким образом что бы она подошла под желаемый хеш нужно несколько часов работы компютера, а то и больше. Т.е. что бы обмануть сканер использующий MD5 хеш вирус должен потратить несколько часов для заражения одного файла, при загрузке процессора близком к 100%. Сомнител
ьный метод :)
Другое дело когда на сайте дают скачать программу, и что бы определить её целостность дают MD5 хеш. Тут можно встроить троянчика, и MD5 хеш останется тем же. Но зачем подбиреть MD5 хеш несколько часов, если есть более лёгкие способы? :)

Насколько я понимаю статью, за эти несколько часов удается сгенерировать 2 файла с совпадающим MD5. Это несколько отличается от того, чтобы имея один "хороший" файл (например какой-то конкретный файл из винды), сделать "плохой" файл с тем же MD5.

То есть подогнать значение MD5 пока можно только лишь, если ты автор обоих файлов с совпадающим MD5. Например, можно сначала выложить для скачивания "хороший" файл, отдать его на тестирование/сертификацию/куда-либо еще, а потом тихо подменить его на "плохой". Если для проверки подлинности этого файла будут использовать MD5, то подмену могут и не заметить :)

Minos
11.10.2004, 19:01
Это только начало, когда ломали CRC, с этого тоже начиналось. По поводу хороших троянов - так если троян выпущен единичным теражом, то антивирусы его и так не видят, а md5 маскировка пригодится для маскировки от различных дисковых ревизоров, например многие *nix ревизоры используют именно этот алкоритм для вычисление контрольной суммы.

maXmo
16.10.2004, 20:36
Насколько я понимаю статью, за эти несколько часов удается сгенерировать 2 файла с совпадающим MD5. Это несколько отличается от того, чтобы имея один "хороший" файл (например какой-то конкретный файл из винды), сделать "плохой" файл с тем же MD5.

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