Перейти к содержанию
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

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

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

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

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


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

Создайте учетную запись или войдите, чтобы комментировать

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Сообщения

    • xxxzionxxx
      Качественные автомобильные чехлы из экокожи. Заводские лекала. Респектабельный внешний вид. http://autopelt.ru/ 
      Также вступайте в нашу группу где наш менеджер ответит на все интересующие Вас вопросы. https://vk.com/autopelt 
    • PR55.RP55
      Образ:  http://rgho.st/6XQWrPGf7
    • PR55.RP55
      + Получается, что по файлу есть две записи. Полное имя                  C:\PROGRAM FILES\NVIDIA CORPORATION\DISPLAY\NVTRAY.EXE
      Имя файла                   NVTRAY.EXE
      Тек. статус                 АКТИВНЫЙ ПРОВЕРЕННЫЙ [СЕТЕВАЯ_АКТИВНОСТЬ]
                                  
      Сохраненная информация      на момент создания образа
      Статус                      АКТИВНЫЙ ПРОВЕРЕННЫЙ [СЕТЕВАЯ_АКТИВНОСТЬ]
      Процесс                     32-х битный
      File_Id                     506B36F01C4000
      Linker                      10.0
      Размер                      1820520 байт
      Создан                      25.01.2013 в 17:04:40
      Изменен                     03.10.2012 в 06:28:55
                                  
      TimeStamp                   02.10.2012 в 18:48:16
      EntryPoint                  +
      OS Version                  5.0
      Subsystem                   Windows graphical user interface (GUI) subsystem
      IMAGE_FILE_DLL              -
      IMAGE_FILE_EXECUTABLE_IMAGE +
      Тип файла                   32-х битный ИСПОЛНЯЕМЫЙ
      Цифр. подпись               Действительна, подписано NVIDIA Corporation
                                  
      Оригинальное имя            nvtray.exe
      Версия файла                7.17.13.0697
      Версия продукта             7.17.13.0697
      Описание                    NVIDIA Settings
      Производитель               NVIDIA Corporation
                                  
      Доп. информация             на момент обновления списка
      pid = 3020                  USER01-PC\USER01
      CmdLine                     "C:/Program Files/NVIDIA Corporation/Display/nvtray.exe" -user_has_logged_in 1
      Процесс создан              21:14:29 [2018.10.16]
      С момента создания          01:02:58
      CPU                         0,00%
      CPU (1 core)                0,00%
      parentid = 1424             C:\PROGRAM FILES\NVIDIA CORPORATION\DISPLAY\NVXDSYNC.EXE
      UDP                         127.0.0.1:48001
      SHA1                        99F3E0CA5C45ED5061E0131ABC12758F051A795F
      MD5                         D610CDEDF1F702EB0A86B0FBD9BB49E5
                                  
      Ссылки на объект            
      Prefetcher                  C:\WINDOWS\Prefetch\Layout.ini
                                  
      Образы                      EXE и DLL
      NVTRAY.EXE                  C:\PROGRAM FILES\NVIDIA CORPORATION\DISPLAY
                                  
      Загруженные DLL             ИЗВЕСТНЫЕ и ПРОВЕРЕННЫЕ
      ADVAPI32.DLL                C:\WINDOWS\SYSTEM32
      APISETSCHEMA.DLL            C:\WINDOWS\SYSTEM32
      COMCTL32.DLL                C:\WINDOWS\WINSXS\X86_MICROSOFT.WINDOWS.COMMON-CONTROLS_6595B64144CCF1DF_5.82.7601.17514_NONE_EC83DFFA859149AF
      COMCTL32.DLL                C:\WINDOWS\WINSXS\X86_MICROSOFT.WINDOWS.COMMON-CONTROLS_6595B64144CCF1DF_6.0.7601.17514_NONE_41E6975E2BD6F2B2
      COMDLG32.DLL                C:\WINDOWS\SYSTEM32
      CRTDLL.DLL                  C:\WINDOWS\SYSTEM32
      DNSAPI.DLL                  C:\WINDOWS\SYSTEM32
      DWMAPI.DLL                  C:\WINDOWS\SYSTEM32
      EASYDAEMONAPIU.DLL          C:\PROGRAM FILES\NVIDIA CORPORATION\UPDATE COMMON
      FWPUCLNT.DLL                C:\WINDOWS\SYSTEM32
      GDI32.DLL                   C:\WINDOWS\SYSTEM32
      GDIPLUS.DLL                 C:\WINDOWS\WINSXS\X86_MICROSOFT.WINDOWS.GDIPLUS_6595B64144CCF1DF_1.1.7601.17825_NONE_72D273598668A06B
      IMM32.DLL                   C:\WINDOWS\SYSTEM32
      IPHLPAPI.DLL                C:\WINDOWS\SYSTEM32
      KERNEL32.DLL                C:\WINDOWS\SYSTEM32
      KERNELBASE.DLL              C:\WINDOWS\SYSTEM32
      LPK.DLL                     C:\WINDOWS\SYSTEM32
      MSCTF.DLL                   C:\WINDOWS\SYSTEM32
      MSIMG32.DLL                 C:\WINDOWS\SYSTEM32
      MSVCRT.DLL                  C:\WINDOWS\SYSTEM32
      MSWSOCK.DLL                 C:\WINDOWS\SYSTEM32
      NAPINSP.DLL                 C:\WINDOWS\SYSTEM32
      NLAAPI.DLL                  C:\WINDOWS\SYSTEM32
      NSI.DLL                     C:\WINDOWS\SYSTEM32
      NTDLL.DLL                   C:\WINDOWS\SYSTEM32
      NVUI.DLL                    C:\PROGRAM FILES\NVIDIA CORPORATION\DISPLAY
      NVUIR.DLL                   C:\PROGRAM FILES\NVIDIA CORPORATION\DISPLAY
      NVUPDT.DLL                  C:\PROGRAM FILES\NVIDIA CORPORATION\UPDATE COMMON
      NVUPDTR.DLL                 C:\PROGRAM FILES\NVIDIA CORPORATION\UPDATE COMMON
      OLE32.DLL                   C:\WINDOWS\SYSTEM32
      OLEACC.DLL                  C:\WINDOWS\SYSTEM32
      OLEAUT32.DLL                C:\WINDOWS\SYSTEM32
      PNRPNSP.DLL                 C:\WINDOWS\SYSTEM32
      PROFAPI.DLL                 C:\WINDOWS\SYSTEM32
      RASADHLP.DLL                C:\WINDOWS\SYSTEM32
      RPCRT4.DLL                  C:\WINDOWS\SYSTEM32
      SECHOST.DLL                 C:\WINDOWS\SYSTEM32
      SHELL32.DLL                 C:\WINDOWS\SYSTEM32
      SHLWAPI.DLL                 C:\WINDOWS\SYSTEM32
      TV_W32.DLL                  C:\PROGRAM FILES\TEAMVIEWER\VERSION8
      USER32.DLL                  C:\WINDOWS\SYSTEM32
      USERENV.DLL                 C:\WINDOWS\SYSTEM32
      USP10.DLL                   C:\WINDOWS\SYSTEM32
      UXTHEME.DLL                 C:\WINDOWS\SYSTEM32
      VERSION.DLL                 C:\WINDOWS\SYSTEM32
      WINMM.DLL                   C:\WINDOWS\SYSTEM32
      WINNSI.DLL                  C:\WINDOWS\SYSTEM32
      WINRNR.DLL                  C:\WINDOWS\SYSTEM32
      WINSPOOL.DRV                C:\WINDOWS\SYSTEM32
      WINSTA.DLL                  C:\WINDOWS\SYSTEM32
      WS2_32.DLL                  C:\WINDOWS\SYSTEM32
      WSHTCPIP.DLL                C:\WINDOWS\SYSTEM32
      WTSAPI32.DLL                C:\WINDOWS\SYSTEM32
                                  
      Прочие файлы                отображенные в память
      OLEACCRC.DLL                C:\WINDOWS\SYSTEM32
      LOCALE.NLS                  C:\WINDOWS\SYSTEM32
      SORTDEFAULT.NLS             C:\WINDOWS\GLOBALIZATION\SORTING
    • PR55.RP55
      Полное имя                  C:\PROGRAM FILES/NVIDIA CORPORATION/DISPLAY/NVTRAY.EXE
      Имя файла                   PROGRAM FILES/NVIDIA CORPORATION/DISPLAY/NVTRAY.EXE
      Тек. статус                 [Запускался неявно или вручную]
                                  
      Сохраненная информация      на момент создания образа
      Статус                      [Запускался неявно или вручную]
                                  
      Доп. информация             на момент обновления списка
      CmdLine                     "C:/Program Files/NVIDIA Corporation/Display/nvtray.exe" -user_has_logged_in 1
       --------------------- Было несколько образов  с аналогичными данными. Как видно Инфо. в несколько усечённом виде. ---------------------------- " Насчет отображения всех сертификатов, что использованы в ЭЦП " И как я помню в наших любимых драйверах от NVIDIA два сертификата.          
    • Алена Орлова
      Хотите сделать татуировку? Или перекрыть старую и некачественную работу? Записывайтесь в нашу студию! Предлагаем услуги мастера художественной татуировки. Опыт работы более 12 лет. Работаем во всех стилях, все материалы одноразовые, студия в самом центре города. Разработка индивидуального эскиза по вашей идее в подарок Больше работ через личные сообщения
        Услуги сертифицированного мастера пирсера Любые виды проколов, установка любых микродермалов. Для очень нежных есть обезболивающая мазь. Все материалы стерильны, мастер принимает в оборудованной студии в центре города. Украшение для прокола можно приобрести у нас Для уточнения цен на проколы пишите в личные сообщения
      hurtland.ru
      https://vk.com/hurtlandtattoo
×