Технический форум
Вернуться   Технический форум > Программирование > Форум программистов


Ответ
 
Опции темы Опции просмотра
Старый 19.05.2017, 15:38   #1 (permalink)
Жучар
Новичок
 
Регистрация: 19.05.2017
Сообщений: 2
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
Smile Делаем антивирус на JavaScript

В анналах сети увековечены попытки сделать антивирус в CMD, Exel, HTML
Так чем же javascript хуже? А ни чем не хуже... И значит нужно попытаться сделать свой антивирус на нем (я кстати так и не нашел попытку реализации этой задачи на js).

Сказано - сделано
Появился на свет простенький антивирусный сканер по хешам вирусов написанный на чистом JS (ну разве только с прикрученным HTML5 File API).
Все до ужаса просто в реализации... Имя этому безобразию BugJSAV.

Это конечно язык не поворачивается назвать антивирусом, но зато есть кучка полезных функций окормя:

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

В библиотеки используются стандартные решения на js для нахождения хеша MD5, а также HTML5 File API для чтения содержимого файла.

Но почему бы не развить тему антивируса и не попытаться реализовать и сканер по маскам (эвристика)... Собственно если есть у кого идеи - пишите.
Вложения
Тип файла: zip bugjsav_lib.zip (23.2 Кб, 9 просмотров)
Жучар вне форума   Ответить с цитированием

Старый 19.05.2017, 15:38
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

Возможно, ваша ваша проблема уже имеет решение на нашем форуме

JavaScript
Javascript бот
JavaScript

Старый 15.01.2018, 16:39   #2 (permalink)
Olej
Member
 
Аватар для Olej
 
Регистрация: 10.01.2018
Сообщений: 38
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Цитата:
Сообщение от Жучар Посмотреть сообщение
Это конечно язык не поворачивается назвать антивирусом, но зато есть кучка полезных функций окормя:
Такие упражнения, безусловно, полезны (теоретически), с одной стороны, чтобы научиться понимать логику поиска сигнатур вирусов и троянов.

Но такие методы, с другой стороны (практически), абсолютно бесполезны для поиска и идентификации реальных вирусов и троянов.
Потому что современные вирусы - мутирующие, они меняют свои сигнатуры (от поколения к поколению заражения) ... стелс-технологии.
Поиск (перебор вариантов) самошифрующихся сигнатур даже быстрым компилированным кодом с языков C, C++, Go и т.д. - это тысячи сканирований на 1 файл, и многие десятки секунд времени выполнения на 1 файл.
А скорость выполнения кода JS в сотни (а иногда и тысячи) раз медленнее C/C++, и эти скоростные характеристики ставят крест на идее создания практических антивирусных средств на таких инструментах.
Olej вне форума   Ответить с цитированием
Старый 24.04.2018, 13:40   #3 (permalink)
Жучар
Новичок
 
Регистрация: 19.05.2017
Сообщений: 2
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
Smile

Цитата:
Такие упражнения, безусловно, полезны (теоретически), с одной стороны, чтобы научиться понимать логику поиска сигнатур вирусов и троянов.
На самом деле нашел одно практическое и как показывает практика полезное применение - поиск bat-вирусов)) Вернее сказать сканер вредоносного кода полностью реализованный на JS (FileAPI). Сейчас есть проекте AntiBatVir На что-то серьезное не претендую, но люблю все изучать на практике...

Цитата:
Но такие методы, с другой стороны (практически), абсолютно бесполезны для поиска и идентификации реальных вирусов и троянов.
Потому что современные вирусы - мутирующие, они меняют свои сигнатуры (от поколения к поколению заражения) ... стелс-технологии.
Поиск (перебор вариантов) самошифрующихся сигнатур даже быстрым компилированным кодом с языков C, C++, Go и т.д. - это тысячи сканирований на 1 файл, и многие десятки секунд времени выполнения на 1 файл.

Вы знаете, посмотрел алгоритмы некоторых (вполне известны[) антивирусных продуктов c открытыми кодами - в основном все сводится к обычному сканированию и сравнению с БД хешей извстных вирусов. Эвристика весьма слабая и ничего особенного в ней нет (те же сигнатуры). ИМХО - эффективно, но интереснее поведенческий анализ.
Жучар вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 20:33.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.