Интересно ваше мнение:разработка интеллектуального алгоритма - Выбор домашних средств защиты - Форумы Anti-Malware.ru Перейти к содержанию
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

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

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

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

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


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

  • Сообщения

    • demkd
      А ничего с этим не сделать старые версии windows проблемные там система сама балуется внедрением потоков при очень низком уровне защиты системных процессов, а эцп вообще ничего не гарантирует когда речь заходит о внедренных потоках, зловред вполне может внедрить поток в системный процесс как с помощью подкинутой в правильное место "легитимной" dll, так и просто создав его, а тот уже в свою очередь внедрить в следующий системный и ищи концы среди вот этого вот всего.
      Все это усугубляется тем что тот же SVCHOST.EXE который был когда запущен может оказаться совсем не системным, хотя путь у него будет правильным как и файл будет иметь валидную эцп и запущен он будет якобы services.exe, в 10ке такое провернуть уже сложнее, а вот 7ке легко, потому урезать лог по принципу "оба файла имеют эцп" никак нельзя.
    • PR55.RP55
      uVS v5.0.6v x64 [http://dsrt.dyndns.org:8888]: Windows 7 Home Basic x64 (NT v6.1 SP1) build 7601 Service Pack 1 [C:\WINDOWS] (!) ПРЕДУПРЕЖДЕНИЕ: Ф зафиксировал внедрение потока C:\WINDOWS\SYSTEM32\SERVICES.EXE [428] внедрил поток [380] в процесс: C:\WINDOWS\SYSTEM32\SVCHOST.EXE [876]   C:\WINDOWS\SYSTEM32\SVCHOST.EXE [1060] внедрил поток [1276] в процесс: C:\WINDOWS\SYSTEM32\SVCHOST.EXE [336] и т.д.  А есть ли смысл выводить в лог десяток - другой аналогичных записей, если все эти файлы  в базе проверенных и у них легальная цифровая?  
    • demkd
      ---------------------------------------------------------
       5.0.6
      ---------------------------------------------------------
       o Добавлено 4 новых ключа автозапуска в список для проверки.

       o Добавлен новый статус "UWP".
         Его получают пакеты приложений универсальной платформы Windows (Universal Windows Platform Apps).

       o Добавлен новый твик #46: Отключить Windows Terminal и очистить реестр.
         Если Windows Terminal активен, в лог выдается предупреждение.
         При обнаружении подозрительных настроек Windows Terminal в конфигурационных файлах, реестре или в каталогах с фрагментами в лог выводится предупреждение.
         Если подозрительная строка найдена в JSON-файле настроек, то в список автозапуска добавляется этот файл с содержимым со статусом "подозрительный".
         В любом случае рекомендуется отключить Windows Terminal, а еще лучше немедленно удалить это из системы.
         Windows Terminal — крайне уязвимый и неоптимизированный кусок кода.

       o Улучшена функция масштабирования удаленного рабочего стола, повышено качество аппаратного апскейла, добавлен параметр "Резкость".
         (Требуется D2D и DX11 на клиентском компьютере)

       o Исправлена старая ошибка в функции отправки ответов серверной части uVS.
         Из-за ошибки в редких случаях могло происходить подвисание серверной и клиентской частей uVS при работе с удаленной системой.

       o Исправлена ошибка в функции завершения серверной части при выходе из удаленной системы.

       o Оптимизирована функция подключения к удаленной системе.

       o Оптимизирована функция сжатия фреймов для DDAL/DDAw режимов: шрифты теперь не теряют яркость, а картинка DDAL практически неотличима от DDA1/DDA2 на глаз, 
         при этом размер сжатого фрейма вырос лишь незначительно.

       o Добавлена x64 версия report_crash.

       o Обновалена функция сбора дампа при падении uVS, функция перенесена в утилиту report_crash, что позволит
         получить максимально точную информацию о произошедшей ошибке.

       o Временно добавлена аппаратная функция обнаружения разрушения списка автозапуска в памяти uVS, что позволит отлавливать сложные в обнаружении ошибки.
         Есть 5 дампов, по которым не удалось выяснить точное место ошибки и эта функция должна помочь найти проблемное место.
         Функция снижает скорость формирования списка на ~5% на современных процессорах.

       o Исправлена ошибка в функции подсчета удаленных ключей реестра.

       o Исправлена ошибка в функции записи параметров при выходе из uVS.

       o Исправлена ошибка разбора JSON-файлов.

       o Исправлена ошибка проверки переменных окружения загруженного пользователя.

       o Из списка доступных для подключения IP-адресов удалены адреса активных VPN.

       
    • PR55.RP55
      * адрес страницы (ReferrerUrl) и адрес самого файла (HostUrl) в метке появились в Windows 10 версии 1703, их записывают браузеры, например Edge и Chrome. В статье показано, как посмотреть эти данные в Windows 11 https://www.comss.ru/page.php?id=22105
    • Ego Dekker
      ESET Cyber Security 10.0.2100  (macOS 13/14/15/26/27)
                                                                                  ●
              Руководство пользователя ESET Cyber Security 10  (PDF-файл)
                                                           
      Полезные ссылки:
      Технологии ESET
      Удаление антивирусов других компаний
      Как удалить ESET Cyber Security?
×