Перейти к содержимому


Фото
- - - - -

Как работает сигнатурный анализ


  • Please log in to reply
23 ответов в этой теме

#1 Полимер

Полимер

    Бетатестёр

  • Beta Testers
  • 3 134 Сообщений:

Отправлено 30 Октябрь 2009 - 14:53

Вопрос следующий. Есть три файла 1 2 3.
Справедливо равенство: СА 1 + СА 2 + СА 3 = СА 1+2+3 ?
Под 1+2+3 понимается "склееный" файл из 1 2 3.

#2 Borka

Borka

    Забанен за флуд

  • Members
  • 19 512 Сообщений:

Отправлено 30 Октябрь 2009 - 15:32

Вопрос следующий. Есть три файла 1 2 3.
Справедливо равенство: СА 1 + СА 2 + СА 3 = СА 1+2+3 ?
Под 1+2+3 понимается "склееный" файл из 1 2 3.

ИМХО, нет.
С уважением,
Борис А. Чертенко aka Borka.

#3 hadjamme

hadjamme

    Newbie

  • Posters
  • 43 Сообщений:

Отправлено 30 Октябрь 2009 - 15:32

Честно сказать - вопрос не понятен, уж очень загадочно он как-то у вас описан.
Объяснения о работе простого сигнатурного анализа есть тут:
http://av-school.ru/article/a-45.html
Жаль что вебовцы не делают ничего подобного ...

#4 Полимер

Полимер

    Бетатестёр

  • Beta Testers
  • 3 134 Сообщений:

Отправлено 30 Октябрь 2009 - 15:37

Честно сказать - вопрос не понятен, уж очень загадочно он как-то у вас описан.
Объяснения о работе простого сигнатурного анализа есть тут:
http://av-school.ru/article/a-45.html
Жаль что вебовцы не делают ничего подобного ...

ИМХО, работа СА - часть коммерческой тайны. Меня интересует только результат.

#5 Полимер

Полимер

    Бетатестёр

  • Beta Testers
  • 3 134 Сообщений:

Отправлено 30 Октябрь 2009 - 15:39

Вопрос следующий. Есть три файла 1 2 3.
Справедливо равенство: СА 1 + СА 2 + СА 3 = СА 1+2+3 ?
Под 1+2+3 понимается "склееный" файл из 1 2 3.

ИМХО, нет.

Жаль. А почему?

#6 Borka

Borka

    Забанен за флуд

  • Members
  • 19 512 Сообщений:

Отправлено 30 Октябрь 2009 - 16:04

Вопрос следующий. Есть три файла 1 2 3.
Справедливо равенство: СА 1 + СА 2 + СА 3 = СА 1+2+3 ?
Под 1+2+3 понимается "склееный" файл из 1 2 3.

ИМХО, нет.

Жаль. А почему?

ИМХО on
Если я правильно понимаю, сигнатура - это определенная последовательность байтов по определенному смещению в файле. Поэтому сигнатура для маленького файла может не подойти к большому.
ИМХО off
С уважением,
Борис А. Чертенко aka Borka.

#7 hadjamme

hadjamme

    Newbie

  • Posters
  • 43 Сообщений:

Отправлено 30 Октябрь 2009 - 16:08

ИМХО, работа СА - часть коммерческой тайны.

Это ещё почему? :) никто же не запрещает разбирать движок для поиска сигнатур вида:
69 73 ?? ?? 0A * 83 26 00
Другое дело - это сами сигнатуры, вот их я могу осознать что можно считать по праву интеллектуальной собственностью. А теперь вот представьте как можно искать сигнатуру в одном файле, допустим в файле СА1 она отсутсвует, в файле СА2 и СА3 есть. Теперь я не понимаю что означает "+" в вашей записи. Это значит что вы хотите склеить все 3 файла и произвести поиск?

#8 Полимер

Полимер

    Бетатестёр

  • Beta Testers
  • 3 134 Сообщений:

Отправлено 30 Октябрь 2009 - 16:12

Вопрос следующий. Есть три файла 1 2 3.
Справедливо равенство: СА 1 + СА 2 + СА 3 = СА 1+2+3 ?
Под 1+2+3 понимается "склееный" файл из 1 2 3.

ИМХО, нет.

Жаль. А почему?

ИМХО on
Если я правильно понимаю, сигнатура - это определенная последовательность байтов по определенному смещению в файле. Поэтому сигнатура для маленького файла может не подойти к большому.
ИМХО off

Т.е. для маленького проверяется сигнатуры (С) длиной не больше длины его файла?
Ну и что. Просто большой файл будет немножко дольше проверяться из-за большего кол. С
Меня интересует в принципе, есть ли препятствия для такого сравнения.

#9 Полимер

Полимер

    Бетатестёр

  • Beta Testers
  • 3 134 Сообщений:

Отправлено 30 Октябрь 2009 - 16:16

ИМХО, работа СА - часть коммерческой тайны.

Это ещё почему? :) никто же не запрещает разбирать движок для поиска сигнатур вида:
69 73 ?? ?? 0A * 83 26 00
Другое дело - это сами сигнатуры, вот их я могу осознать что можно считать по праву интеллектуальной собственностью. А теперь вот представьте как можно искать сигнатуру в одном файле, допустим в файле СА1 она отсутсвует, в файле СА2 и СА3 есть. Теперь я не понимаю что означает "+" в вашей записи. Это значит что вы хотите склеить все 3 файла и произвести поиск?

1. Я думаю логика проверки является уникальной, а не база сигнатур. :)
2. Если С присутствует в файле 1, то она останется в файле 1+2+3.
3. Правильно.

#10 hadjamme

hadjamme

    Newbie

  • Posters
  • 43 Сообщений:

Отправлено 30 Октябрь 2009 - 16:36

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

1. Соответствует ли расширение файла какому-либо формату, подпадающему под сканирование?
2. К какому формату относится файл? (PE/DLL/DOC/XLS)

Далее я пожалуй не буду расписывать о самом процессе проверки файла, поскольку об эвиристическом анализе едва ли могу что-то знать. Но например техники статического исполнения файла у DrWeb обязаны присутствовать, более подробно сдесь: http://av-school.ru/article/a-62.html
И далее допустим перед каждым вызовом эмулируемой апи функции делать сигнатурный скан по всему адресному пространству процесса. Либо для того что б ускорить - делать его только перед тем как будут вызываться какие-то определённые функции, например: ZwCreateFile, ZwDeleteFile, функции для работы с памятью, находящуюся в АП сторонних процессов ... и т.п. Тут всё очень сложно и запутано.

2. Если С присутствует в файле 1, то она останется в файле 1+2+3.

если это был вопрос, то ответ - да

#11 Полимер

Полимер

    Бетатестёр

  • Beta Testers
  • 3 134 Сообщений:

Отправлено 30 Октябрь 2009 - 16:41

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

#12 hadjamme

hadjamme

    Newbie

  • Posters
  • 43 Сообщений:

Отправлено 30 Октябрь 2009 - 16:54

Повторяю:

QUOTE (Полимер @ 30/10/2009 17:16) *
2. Если С присутствует в файле 1, то она останется в файле 1+2+3.

если это был вопрос, то ответ - да


то есть сработка будет

#13 Borka

Borka

    Забанен за флуд

  • Members
  • 19 512 Сообщений:

Отправлено 30 Октябрь 2009 - 17:20

Вопрос следующий. Есть три файла 1 2 3.
Справедливо равенство: СА 1 + СА 2 + СА 3 = СА 1+2+3 ?
Под 1+2+3 понимается "склееный" файл из 1 2 3.

ИМХО, нет.

Жаль. А почему?

ИМХО on
Если я правильно понимаю, сигнатура - это определенная последовательность байтов по определенному смещению в файле. Поэтому сигнатура для маленького файла может не подойти к большому.
ИМХО off

Т.е. для маленького проверяется сигнатуры (С) длиной не больше длины его файла?
Ну и что. Просто большой файл будет немножко дольше проверяться из-за большего кол. С

Только в том случае, если сигнатура ищется по всему файлу.
С уважением,
Борис А. Чертенко aka Borka.

#14 mrbelyash

mrbelyash

    Беляш

  • Members
  • 25 897 Сообщений:

Отправлено 30 Октябрь 2009 - 18:51

Вопрос следующий. Есть три файла 1 2 3.
Справедливо равенство: СА 1 + СА 2 + СА 3 = СА 1+2+3 ?
Под 1+2+3 понимается "склееный" файл из 1 2 3.

ИМХО, нет.

Жаль. А почему?

ИМХО on
Если я правильно понимаю, сигнатура - это определенная последовательность байтов по определенному смещению в файле. Поэтому сигнатура для маленького файла может не подойти к большому.
ИМХО off

Т.е. для маленького проверяется сигнатуры (С) длиной не больше длины его файла?
Ну и что. Просто большой файл будет немножко дольше проверяться из-за большего кол. С

Только в том случае, если сигнатура ищется по всему файлу.

А разве

-сигнатуры не ищутся в опред. месте? А разве в базе не прошито определенное место сигнатуры в exe/dll/vxd/com...для опред. вируса?

Я почему-то всегда думал что у Веба в базах прописано

-где искать

-что искать

(пока что про усеивание пятнами не беру)

Хотелось бы более подробно для общего развития :)
wiki https://drw.sh/endjcv | Утилиты https://drw.sh/dgweku | Лечить удаленно https://drw.sh/wmzdcl | Скрытые процессы https://drw.sh/tmulje | Логи https://drw.sh/ruy | Песочница https://drw.sh/exhbro

#15 hadjamme

hadjamme

    Newbie

  • Posters
  • 43 Сообщений:

Отправлено 30 Октябрь 2009 - 20:22

-сигнатуры не ищутся в опред. месте? А разве в базе не прошито определенное место сигнатуры в exe/dll/vxd/com...для опред. вируса?

Я почему-то всегда думал что у Веба в базах прописано


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

#16 mrbelyash

mrbelyash

    Беляш

  • Members
  • 25 897 Сообщений:

Отправлено 30 Октябрь 2009 - 20:41

-сигнатуры не ищутся в опред. месте? А разве в базе не прошито определенное место сигнатуры в exe/dll/vxd/com...для опред. вируса?

Я почему-то всегда думал что у Веба в базах прописано


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

А зачем его извлекать на жёсткий диск? :)
wiki https://drw.sh/endjcv | Утилиты https://drw.sh/dgweku | Лечить удаленно https://drw.sh/wmzdcl | Скрытые процессы https://drw.sh/tmulje | Логи https://drw.sh/ruy | Песочница https://drw.sh/exhbro

#17 hadjamme

hadjamme

    Newbie

  • Posters
  • 43 Сообщений:

Отправлено 30 Октябрь 2009 - 20:48

А зачем его извлекать на жёсткий диск? blink.gif

На жёсткий диск такие файлы бросают так называемые "дропперы" ... вы же всё сами прекрасно знаете. А если не бросают - значит там какой-то PE loader, но это в реальном вредоносное программное обеспечениее. А я веду речь не о вредоносное программное обеспечениее, а об абсолютно нормальной программе, просто в ресурсах которой сидит вредоносное программное обеспечение. Каким тогда макаром сигнатурный анализ даёт срабатывание? Предположим что сканер проверяет ВСЕ ресурсы в РЕ файлах, тогда делаем обман: убираем из ресурсов вредоносный код и помещаем его в секцию данных. Опять же нет никаких ссылок в коде самой программы на "нехорошие" данные. Компилируем приложение .... и оба-на - сработка. Как ? Почему ? Неужто DrWeb делает скан всего РЕ файла на наличае каких-то определённых сигнатур? Думаю что тут проход идёт допустим по самым распространённым сигнатурам, таким как pinch ... Причём подчеркну - анализ всего файла! Что затормаживает работу программы-антивируса.

#18 mrbelyash

mrbelyash

    Беляш

  • Members
  • 25 897 Сообщений:

Отправлено 30 Октябрь 2009 - 20:57

На жёсткий диск такие файлы бросают так называемые "дропперы" ... вы же всё сами прекрасно знаете.


ох ё...мы знакомы? :)

--------------------------------


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

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

но логически..имеет ли смысл в памяти искать никсовые вирусы в виндовой системе?Макровирус в памяти?

Сообщение было изменено mrbelyash: 30 Октябрь 2009 - 21:01

wiki https://drw.sh/endjcv | Утилиты https://drw.sh/dgweku | Лечить удаленно https://drw.sh/wmzdcl | Скрытые процессы https://drw.sh/tmulje | Логи https://drw.sh/ruy | Песочница https://drw.sh/exhbro

#19 hadjamme

hadjamme

    Newbie

  • Posters
  • 43 Сообщений:

Отправлено 30 Октябрь 2009 - 21:03

но логически..имеет ли смысл в памяти искать никсовые вирусы в виндовой системе?Макровирус в памяти?

ну так такого и нет вроде! Нужно пробовать ...

#20 Полимер

Полимер

    Бетатестёр

  • Beta Testers
  • 3 134 Сообщений:

Отправлено 30 Октябрь 2009 - 21:19

Еще сужаю условия вопроса. Если обнаружен вирус в 1 или 2 или 3, то при анализе 1+2+3 будет обнаружен вирус?


Читают тему: 0

0 пользователей, 0 гостей, 0 скрытых