Перейти к содержанию
Mag3d

Интересно ваше мнение:разработка интеллектуального алгоритма

Recommended Posts

Mag3d

Очень интересно услышать ваше мнение:

я пытаюсь разработать алгоритм обнаружения вирусов, при этом:

1) на вход подается исполняемый файл;

2) распаковывается (если чем-то упакован) - частично решена задача;

3) дизассемблирую виртуальный образ - решена задача;

4) строю диаграмму потоков управления (смысл в диаграмме - перечисление всех возможных путей выполнения программы (трасс)) - частично решена задача;

5) на этой диаграмме выделяю языковые конструкции, характерные для вирусов (по-большому счету всеравно: хоть программных закладок) - только начал классификацию признаков делать;

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

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

Как вы считаете насколько такой антивирус будет эффективен для новых, модифицированых, упакованных вирусов?

Если есть уже такая реализации (максимально близкая), то какой антивирус?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
broker

Mag3d

очень похоже на анансированное творение майкрософта.

только начал классификацию признаков делать;

в этом как раз и вся проблема.

Как вы считаете насколько такой антивирус будет эффективен для новых, модифицированых, упакованных вирусов?

если полностью решите задачу 2 - то эффективен для упакованных

если качественно решите задачу 5 - то эффективен для модифицированных

обнаружение новых реализаций старых конструкций зависит от задачи 3.

А вот обнаружение абсолютно новых вирусов - это дело вашей опытности и изобретательности и касается п 5.

короче вы пишите ещё один эвристик?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Inkogn
...насколько такой антивирус будет эффективен для новых... вирусов?

Любой алгоритм является замкнутой системой (по моему).Новых вирусов вне рамок он детектить как таковых не будет,даже если и констатировать факт новой деятельности/файла сможет,что само по себе,я думаю,очень сложно.Узнать,что есть новая деятельность,которая вне рамок,можно задавая вопросы и отдавая в руки другого сказать.Теоретически такая связка гарантирует 100%-ую защиту.Можно раздвигать рамки,но не до бесконечности.Таким образом безвопросная прога имеет всегда дыру - что вне рамок.Есть,конечно,отдельный случай,где безвопросная (но констатирующая новую деятельность/файл) прога гарантирует 100%-ую защиту - правило "запрещено всё,что не разрешено" (только логи нужны,чтобы потом разобраться,что разрешить).Но это оказывается хуже при углублении.Наверно,этого не избежать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Mag3d

Для упаковщиков я сделал эмулятор IA32 и некоторых мех-мов ОС: SEH, TEB, PEB.

Правда не могу с эмулировать обработку многокаскадных seh, как в Yoda например, что-то не могу сообразить в чем проблема - где-то ошибся.

А простенькие упаковщики типа UPX, PeCompact, AsPack, NsPack, WinUpack, PeTite хорошо распаковывает.

C дизассемблером известная проблема:

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

> очень похоже на анансированное творение майкрософта.

А где это можно по-подробнее прочитать?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Сергей Ильин

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

Изюминка аглоритма, конечно, - п. 6, о чем-то похожем я лично не слышал.

Как вы считаете насколько такой антивирус будет эффективен для новых, модифицированых, упакованных вирусов?

Если есть уже такая реализации (максимально близкая), то какой антивирус?

Для новых модификаций, такой алгоритм обещает быть эффективным (мое мнение), а вот так быть с так называемыми угрозами zero-day, которые наиболее опасны? Когда вдруг появляется вредоносная программа с новыми свойствами, эксплотирующая неизвестную до этого уязвимость.

Добавлено спустя 44 секунды:

А где это можно по-подробнее прочитать?

Вот тут обсуждение этой новости идет

http://www.anti-malware.ru/phpbb/viewtopic.php?t=756

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Михаил Кондрашин
Mag3d

очень похоже на анансированное творение майкрософта.

Ничего подобного. Подозреваю, что у Microsoft исследуемая программа просто запускается в песочнице.

только начал классификацию признаков делать;

в этом как раз и вся проблема.

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

Как вы считаете насколько такой антивирус будет эффективен для новых, модифицированых, упакованных вирусов?

Конечно будет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
broker
Ничего подобного. Подозреваю, что у Microsoft исследуемая программа просто запускается в песочнице.

запуск в песочнице может не выявить всех угроз.

Например отложенный запуск.

Но как метод выявления основных признаков, конечно самый быстрый и интересный.

Изюминка аглоритма, конечно, - п. 6,

это всего на всего решающее правило.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Михаил Кондрашин

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

1. Создается единый алгоритм анализа

2. Он прогоняется по огромной базе вредоносного кода и легитимных файлов.

3. С каждыой ошибкой проводится разберательство и

- либо меняется алогритм.

- либо только некоторые веса (это может быть сделано автоматически, тогда речь идет об обучении нееросети или линейной регрессии).

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

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

5. "подкручивание" выпускается в виде обновления для пользователей.

6. "эффективность" --- это сколько ловит всякого нового алгоритм между обновлениями.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
broker
1. Создается единый алгоритм анализа

и всего то. :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Михаил Кондрашин
1. Создается единый алгоритм анализа

и всего то. :)

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
broker

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

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

Добавлено спустя 1 минуту 5 секунд:

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

да да!!!

Поделиться сообщением


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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
broker

всё таки, решающее правило тут не самое главное..

хотя смотря какие задачи решать :)

Если нейросеть или что-то другое использовать именно для классификации и при этом полность полагаться на классификации, то это уже нечто другое :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

  • Сообщения

    • Ego Dekker
    • ArktiTig
      Арктика - северная полярная область Земли, включающая окраины материков Евразии и Северной Америки, почти весь Северный Ледовитый океан с островами и прилегающие к нему части Атлантического и Тихого океанов. Название её происходит от греческого слова arctos (медведь) и связано со звёздами: Полярная звезда, находящаяся почти точно в зените над Северным полюсом, принадлежит к созвездию Малая Медведица.
    • ArktiTig
      Арктика - северная полярная область Земли, включающая окраины материков Евразии и Северной Америки, почти весь Северный Ледовитый океан с островами и прилегающие к нему части Атлантического и Тихого океанов. Название её происходит от греческого слова arctos (медведь) и связано со звёздами: Полярная звезда, находящаяся почти точно в зените над Северным полюсом, принадлежит к созвездию Малая Медведица.
    • PR55.RP55
      .xml  файлы taskschd.msc Могут быть подписаны  цифровой подписью. Думаю будет нелишним, если uVS будет это фиксировать. т.е. проверять не только подпись целевого файла, но и подпись самого файла\задачи. и писать в ИНфО .  
    • demkd
      ---------------------------------------------------------
       4.15.2
      ---------------------------------------------------------
       o Исправлена ошибка при работе с образом автозапуска.
         Для некоторых процессов команда unload не добавлялась в скрипт при нажатии кнопки "принять изменения".  o Добавлена плашка окна на таскбаре для окна удаленного рабочего стола.
         (при работе с удаленной системой) -----------------------------------------------------------
      Есть проблема с локализацией глюка в редких случаях приводящему к аварийному завершению uVS при активном флаге "Проверять весь HKCR".
      На основе дампов его найти не получается, нужна копия реестра системы с такой проблемой, если кому-то попадется такая проблема, то присылайте архив с копией реестра системы мне на почту.  
×