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

Новый антивирус уже в разработке

Recommended Posts

Guest Mihip

Здравствуйте! У меня возникли проблемы. Кто знает что такое AiD? Так вот, я скачал исходник написанный на Delphi. Полностью изменил антивирус, но вдруг... я обнаружил что обязателен файл kernel.dll! А там есть BlackCash ©. И я боюсь выложить эту программу в интернете. На e-mail адрес автора я уже писал, но уже 4 месяца не отвечают. (Каждый месяц по 5 писем). Потом я увиедел, что появился AiD Scanner, настоящий антивирус, и решил зайти на их сайт, но показывает что 404 - чтраница не найдена. Очень обидно... Помогите чем можете! Если что вот e-mail. Жду ответа и совета! Меня зовут Михаил, 12 лет. Увлекаюсь программированием. Мечта - сделать (или хотя бы переделать исходный код) антивирус(а). А какой вопрос у меня был - можно ли это приложение в инете выложить. Кто мне поможет, тому очень большая благодарность! Жду ваших ответов!!!

Не говорите мне, чтоб я сам антивиурс попробовал сделать... я пытался.

Если решится ситуация - объявлю набор в группу KiD AiD Antivirus!!!

Отредактировал Mihip

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


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

:rolleyes:

_______.jpg

post-6726-1349108462_thumb.jpg

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


Ссылка на сообщение
Поделиться на другие сайты
Dmitriy K
Мечта - сделать (или хотя бы переделать исходный код) антивирус(а).

Ложись спать, завтра все пройдет.

  • Upvote 5

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


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

Осень, полнолуние ... :)

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


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

Ладно вам, помогите человеку лучше ссылками на литературу, с чего начать. Никогда не знаешь, что вырастет из идеи :rolleyes:

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


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

Пора уже составлять FAQ по написанию своего антивируса ;)

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


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

:facepalm: А я то думал что мне помогут... Эх..

Отредактировал Mihip

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


Ссылка на сообщение
Поделиться на другие сайты
Зайцев Олег
Пора уже составлять FAQ по написанию своего антивируса ;)

Получатся примерно такие пункты:

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

2. Изучить минимум тысячу ITW зловредов (чем больше, тем лучше - термин "изучить" предполагает не сканирование пресловутой "коллекции на 1000 вирусов" антивирусником, а изучение поведения зловредов, колупание их дизассемлером и т.п. С вопросом "а что такое ITW ?" - на п.п. 1). Четко понимать, как именно зловреды внедряются в систему, как осущетсвляется их запуск, "размножение", что они портят и повреждают в системе, как это проявляется. Принципы маскировки зловредов. Принципы работы файловых инфекторов. Изучить, как именно создатели зловредов обходят антивирусные продукты. Для реализации п.п. 2 как принимум понадобится:

- изучить Ассемблер и C на уровне уверенного чтения и понимания кода. Изучение ассемблера неизбежно потребует изучения базовых принципов работы процессора, способов адресации и т.п.

- изучить операционную систему как минимум на уровне базового системного программирования и администрирования. Четко понимать принципы работы ОС, знать API ...

- изучить инструментарий исследования системы и лечения системы (утилиты мониторинга, антивирусные утилиты, антируткиты, менеджеры автозапуска ...) и его применение на реальных зловредах. Пролечить несколько сотен ПК самостоятельно

- понять, что такое пакер, криптер, обфускатор, инжектор, джоинер, эксплоит ...

- изучить инструментарий исследования зловредов (дизассемлеры, отладчики, детекторы пакеров/криптеров и средства распаковки ... для начала достаточно минимума из IDA и OllyDBG)

3. Ознакомиться с теорией и практикой сетевой безопасности

4. Ознакомиться со всей доступной литературой по предметной области

5. Поработать N лет в предметной области (можно параллельно с п.п. 1-4), желательно админом или безопасником в крупной сети. Если это недлоступно, то как минимум дослужиться до хелпера VirusInfo или аналогично портала

После прохождения п.п. 1-5 произойдет одно из двух:

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

2. --//-- поймет, что в ходе п.п. 1-5 у него возникла идея (или идеи), которые не реализованы в существующих продуктах, и которые могут так или иначе инновационными и повысят качество антивирусной защиты, позволят снизить уровень фолсов, ускорить обнаружение новых угроз и т.п. Он сделает прототип, который покажет, что идея работает, а не является прожектом. В такой ситуации его начинание лостойно всякого уважения, есть резон обсуждать и развивать эти идеи, совершенствовать прототип

  • Upvote 15

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


Ссылка на сообщение
Поделиться на другие сайты
Guest Mihip
Получатся примерно такие пункты:

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

2. Изучить минимум тысячу ITW зловредов (чем больше, тем лучше - термин "изучить" предполагает не сканирование пресловутой "коллекции на 1000 вирусов" антивирусником, а изучение поведения зловредов, колупание их дизассемлером и т.п. С вопросом "а что такое ITW ?" - на п.п. 1). Четко понимать, как именно зловреды внедряются в систему, как осущетсвляется их запуск, "размножение", что они портят и повреждают в системе, как это проявляется. Принципы маскировки зловредов. Принципы работы файловых инфекторов. Изучить, как именно создатели зловредов обходят антивирусные продукты. Для реализации п.п. 2 как принимум понадобится:

- изучить Ассемблер и C на уровне уверенного чтения и понимания кода. Изучение ассемблера неизбежно потребует изучения базовых принципов работы процессора, способов адресации и т.п.

- изучить операционную систему как минимум на уровне базового системного программирования и администрирования. Четко понимать принципы работы ОС, знать API ...

- изучить инструментарий исследования системы и лечения системы (утилиты мониторинга, антивирусные утилиты, антируткиты, менеджеры автозапуска ...) и его применение на реальных зловредах. Пролечить несколько сотен ПК самостоятельно

- понять, что такое пакер, криптер, обфускатор, инжектор, джоинер, эксплоит ...

- изучить инструментарий исследования зловредов (дизассемлеры, отладчики, детекторы пакеров/криптеров и средства распаковки ... для начала достаточно минимума из IDA и OllyDBG)

3. Ознакомиться с теорией и практикой сетевой безопасности

4. Ознакомиться со всей доступной литературой по предметной области

5. Поработать N лет в предметной области (можно параллельно с п.п. 1-4), желательно админом или безопасником в крупной сети. Если это недлоступно, то как минимум дослужиться до хелпера VirusInfo или аналогично портала

После прохождения п.п. 1-5 произойдет одно из двух:

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

2. --//-- поймет, что в ходе п.п. 1-5 у него возникла идея (или идеи), которые не реализованы в существующих продуктах, и которые могут так или иначе инновационными и повысят качество антивирусной защиты, позволят снизить уровень фолсов, ускорить обнаружение новых угроз и т.п. Он сделает прототип, который покажет, что идея работает, а не является прожектом. В такой ситуации его начинание лостойно всякого уважения, есть резон обсуждать и развивать эти идеи, совершенствовать прототип

Ну ассемблер готов, выучил.

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


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

Ну ассемблер готов, выучил.

смею вас уверить, что этого мало даже для закрытия одного из перечисленных пунктов

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


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

Зайцев Олег , ИМХО - забыто описание того что после того как антвирус все таки будет написан - сказка закончится

Перед разработчиком встанет совсем пустяковая задача - справится с ежедневным объемом малвари в качестве вирусного аналитика (я в качестве рабочей гипотезы принял - что сбор оной уже налажен ;) )

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


Ссылка на сообщение
Поделиться на другие сайты
Зайцев Олег
Зайцев Олег , ИМХО - забыто описание того что после того как антвирус все таки будет написан - сказка закончится

Перед разработчиком встанет совсем пустяковая задача - справится с ежедневным объемом малвари в качестве вирусного аналитика (я в качестве рабочей гипотезы принял - что сбор оной уже налажен ;) )

Я это неявно учитывал в п.п. 1 и 2 - когда человек начнет разбираться с технологиями антивирей и попробует сам ловить малверей и лечить ПК, то неизбежно обнаружит, что поток зверья такой, что даже сбор и обработка потребуют создания небольшого такого ЦОД с штатом обслуживающего персонала, плсю стоимость электроэнергии ( даже домашний микро-ЦОД типа системы "кибера" скушает не менее мегавата электроэнергии в месяц ... реальный ЦОД - на порядки больше).

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


Ссылка на сообщение
Поделиться на другие сайты
Guest Mihip
Я это неявно учитывал в п.п. 1 и 2 - когда человек начнет разбираться с технологиями антивирей и попробует сам ловить малверей и лечить ПК, то неизбежно обнаружит, что поток зверья такой, что даже сбор и обработка потребуют создания небольшого такого ЦОД с штатом обслуживающего персонала, плсю стоимость электроэнергии ( даже домашний микро-ЦОД типа системы "кибера" скушает не менее мегавата электроэнергии в месяц ... реальный ЦОД - на порядки больше).

Антивирь готов, но я боюсь в инттернете вылоить, он же не мой полностью...

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


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

Ничего в интернеты выкладывать не надо. В интернетах и без того не протолкнуться.

Если код aid'a (Ассоциации Индийских Девелоперов???) не под открытой лицензией, то тебя посадят, оштрафуют и поставят в угол :)

А вообще - релакс, сырец тобой скаченный явно предназначен для рас/допилки да и предоставлен в свободном доступе, так что...

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


Ссылка на сообщение
Поделиться на другие сайты
Зайцев Олег
Антивирь готов, но я боюсь в инттернете вылоить, он же не мой полностью...

Сколько я помню код многострадального AID, это простейшая реализация простейшего сигнатурного сканера, при нынешних реалиях толку от него ровно нуль. Отсюда один простой вопрос: чем конкретно этот "антивирь" будет отличаться в лучшую сторону от существующих продуктов ?

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


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

Поковырял исходники 5 минут - просто заготовка/конструктор (просится слово "макет") сканера и монитора. Встроены "сигнатуры" в нескольких вариантах - MD5-хэши, подстроки, подстроки с указанием смещения и еще что-то. Разумеется, полноценным антивирусом это назвать нельзя, но для вхождения в тему сойдет.

2 Mihip: Я не думаю, что выложив в инет модифицированную версию этого чудо-творения, вы что-либо нарушите (особенно если оставите где-нибудь в "О программе" ссылку на страницу, с которой вы взяли оригинал). Но я бы на вашем месте крепко подумал - а стоит ли это делать? То, что смогли разобраться в коде и что смогли его модифицировать - уже неплохо, но это только начало пути, описанного Олегом Зайцевым. Современные коммерческие (да и бесплатные) антивирусы кардинально отличаются от этого примера - как функционалом, так и внутренними алгоритмами работы. Разница примерно как между автомобилем и его моделькой - на вид некоторое сходство есть, только масштаб 1:40 и на модельке не покатаешься...

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


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

Значит все таки начать стоит топикстартеру не с изучения ассемблера, а с пункта 1 в списке Олега Зайцева.

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


Ссылка на сообщение
Поделиться на другие сайты
Guest Mihip
Я не думаю, что выложив в инет модифицированную версию этого чудо-творения, вы что-либо нарушите (особенно если оставите где-нибудь в "О программе" ссылку на страницу, с которой вы взяли оригинал). Но я бы на вашем месте крепко подумал - а стоит ли это делать? То, что смогли разобраться в коде и что смогли его модифицировать - уже неплохо, но это только начало пути, описанного Олегом Зайцевым.

Давайте я объясню: я хочу сделать группу антивируса вконтакте и начать набор детей в группу (Таких же как и я, 12 - ти лет).

И мне лишь бы AiD в инете выложить (но так, чтобы я не боялся, что моих родителей в тюрьм посадят, или оштрафуют.) Поэтому и жду помощи! Кстати, я хочу изменить исходники AiD Antivirus Module, а не AID Scanner!!!

Отредактировал Mihip

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


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

Ладно, подойдем к вопросу с другого края

Что планируется получить в итоге

Антивирус или опыт программирования или ...?

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


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

  • Сообщения

    • PR55.RP55
      Можно сделать так чтобы объект в списке отображался не под своим именем, а под именем критерия. ( или по результату проверки на V.T ) - ( по настройке в settings.ini ) Для чего? Например в списке есть: oikgcnjambfooaigmdljblbaeelmeke odbmjgikedenicicookngdckhkjbebpd Но объект  может отображаться внятно: oikgcnjambfooaigmdljblbaeelmeke = T-Сashback1 — кэшбэк-сервис odbmjgikedenicicookngdckhkjbebpd = T-Сashback2 — кэшбэк-сервис  
    • Ego Dekker
      Домашние антивирусы для Windows были обновлены до версии 17.2.8.
    • demkd
    • santy
      demkd, а где сохраняется информация о количестве используемых ядер? в settings.ini? Не увидел там новый параметр при изменения параметра производительности в доп. настройках.
    • demkd
      ---------------------------------------------------------
       4.99.1
      ---------------------------------------------------------
       o Это обновление добавляет поддержку многоядерных процессоров.

       o В меню Настройки->Дополнительные настройки добавлена возможность указать количество рабочих потоков
         для функций:
           o Создание файла сверки                                        (нельзя прервать)
           o Создание образа автозапуска                                  (нельзя прервать)
           o Загрузка производителя [F3]                                  (доступно прерывание функции по ESC)
           o Проверка по базе проверенных файлов [F4]                     (доступно прерывание функции по ESC)
           o Проверка ЭЦП [F6]                                            (доступно прерывание функции по ESC)
           o Проверка по базе критериев [Alt+F7]                          (доступно прерывание функции по ESC)
           o Фильтрация по базе критериев [Ctrl+F7]                       (доступно прерывание функции по ESC)
           o Проверка списка по выбранному критерию                       (доступно прерывание функции по ESC)
           o Проверить весь список на вирусы                              (доступно прерывание функции по ESC)
           o Добавить хэши всех проверенных файлов в базу проверенных     (доступно прерывание функции по ESC)
           o Добавить хэши исполняемых файлов каталога в базу проверенных (доступно прерывание функции по ESC)
         Значение 0 задает количество потоков равным количеству ядер процессора (включая виртуальные), виртуальные ядра
         могут ускорить процесс на лишние 30%.
         Как сказывается использование E-ядер неизвестно, но скорее всего ощутимой разницы с P ядрами не будет,
         поэтому на новых интелах + NVME SSD сокращение времени исполнения функций скорее всего будет огромным.
         При подключении к удаленной системе для серверной части uVS количество потоков всегда равно количеству ядер (включая виртуальные).
         Для клиентской части действует заданное в настройках значение.
         Для системного диска на базе SSD время выполнение функции уменьшается многократно (для 4-х ядерных процессоров вплоть до 4x на SATA SDD),
         для современных конфигов может иметь смысл задание большего числа потоков чем количество ядер у процессора (допустимый максимум - 128).
         Для HDD все гораздо хуже, время проверки немного сокращается (10-20%), однако когда часть файлов находится
         в кэше системы (т.е. в оперативной памяти) разница будет существенной и для HDD.
         Конечно все это верно лишь для процессоров с более чем 1 ядром.
         (!) Прерывание функции по клавише ESC недоступно для удаленных систем.

       o Другие функции, которые можно прервать по ESC:
         o Проверить все НЕПРОВЕРЕННЫЕ файлы на VirusTotal.com
         o Проверить все НЕПРОВЕРЕННЫЕ ИЗВЕСТНЫЕ файлы на VirusTotal.com
         o Проверить НЕПРОВЕРЕННЫЕ файлы в текущей категории на VirusTotal.com (c учетом фильтра)
         o Проверить все НЕПРОВЕРЕННЫЕ файлы на virusscan.Jotti.org
         o Проверить все НЕПРОВЕРЕННЫЕ ИЗВЕСТНЫЕ файлы на virusscan.Jotti.org
         o Проверить НЕПРОВЕРЕННЫЕ файлы в текущей категории на virusscan.Jotti.org (с учетом фильтра)
         o Проверить хэш файла по базе проверенных файлов
         o Добавить в список->Все исполняемые файлы в системных каталогах не старше указанной даты

       o Обновлен функционал окна "История процессов и задач".
         Добавлена информация о текущем состоянии задач зарегистрированных в системном планировщике заданий.
         Добавлена новая кнопка "С момента запуска системы", которая переключает режим отображения истории.
         Если кнопка нажата то история отображается только с момента запуска системы, все что было раньше не попадает в список.
         Если кнопка отжата то отображается вся доступная история процессов и задач,
         что может быть полезно для выявления зловредной активности непосредственно перед перезагрузкой системы.
         Для каждой задачи по двойному щелчку левой кнопки мыши можно просмотреть XML описание задачи.
         Теперь фильтрующий поиск работает на все колонки активного списка одновременно, поддерживается
         фильтрация и списка процессов и списка задач, в зависимости от того какой список активен.
         Фильтрующий поиск применяется на результат работы родительского фильтра.
         Горячая клавиша Backspace больше не влияет на родительский фильтр, для отката уровня родительского
         фильтра используйте клавиши ESC (если строковый фильтр пуст) или Alt+Up (откат со сбросом строкового фильтра).
         (см. подробнее в файле Doc\История процессов и задач.txt)
         (!) Только для Vista и старше.
         (!) Только для активных и удаленных систем.

       o Включение отслеживания процессов и задач теперь увеличивает системный журнал до 50mb,
         отключение возвращает размер по умолчанию.

       o Новая скриптовая команда: deltskname полное_имя_задачи
         Удалить задачу с указанным именем.
         Имя задачи должно начинаться с символа "\", например: \Task
         Допустимо указывать каталоги например: \Microsoft\Задача
         (!) Только для Vista и старше.

       o Возвращено отображение цифровых процентов в заголовке окна, поскольку в некоторых системах графическое отображение
         прогресса выглядит не очень наглядно.

       o В окно выбора каталога/файла добавлен фильтрующий поиск (по обоим спискам одновременно если это выбор файла).
         В окне изменились горячие клавиши:
          o \ - перейти к выбору диска
          o DEL - удалить каталог/файл (с подтверждением)
          o ESC - очистить фильтр, если фильтр пуст то закрыть окно.   
          o Backspace - удалить последний символ фильтра
          o Alt+Вверх - перейти в родительский каталог

       o Функция создания образа автозапуска теперь не использует базы проверенных файлов и все проверенные файлы ДО создания
         образа теряют статус "проверенный". Т.е. в образе статус проверенный имеют лишь файлы прошедшие проверку ЭЦП.

       o Поскольку AutoHotkey используется зловредами то теперь все его актуальные версии выявляются под любым именем по F3 или
         при создании образа автозапуска и получают статус подозрительного файла.
         Соответствующие имени файла скрипты автозапуска добавляются в список автоматически и тоже получают статус подозрительных файлов.
         Содержимое скрипта доступно в окне информации ahk файла.

       o Введены новы лимиты на количество элементов в списке автозапуска для x64 версий в списке может быть до 1 млн. файлов,
         для x86 до 150 тысяч файлов. (Обычно в образе менее 10 тысяч файлов)

       o Оптимизированы функции сортировки, фильтрации и вывода списка.

       o В категории HOSTS добавлен фильтрующий поиск по 2 первым колонкам одновременно.
         Сортировки в этой категории нет, записи представлены в порядке следования в оригинальных файлах.
         Первыми идут записи из HOSTS, что лежит по прописанному в реестре пути, если путь отличается от пути по умолчанию
         то дальше идут записи HOSTS из \Windows\System32\drivers\etc, далее записи из HOSTS.ICS.
         В этой категории теперь работает горячая клавиша DEL.

       o Найдена ошибка в Windows API из-за которой для некоторых файлов не отображался производитель и другая информация о версии файла.
         Сам Windows для таких файлов не отображает случайные параметры на вкладке "Подробно" в свойствах файла.
         Ошибку удалось обойти и теперь в окне информации о файле отображаются все значимые параметры для всех исполняемых файлов.

       o Улучшен альтернативный режим сканирования процессов. (ctrl+p)

       o В контекстное меню окна информации о файле добавлен поиск по имени подписавшего файл.

       o Удалена скриптовая команда EXEC32 за бесполезностью.

       o Из настроек основного списка удален обычный поиск за бесполезностью.

       o Добавлен вывод предупреждения в лог при обнаружении вируса в списке при загрузке производителя и сигнатур про F3.

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

       o Результат выполнения команды gpudpate теперь отображается в логе.

       o Сообщение об отсутствии пользовательского реестра в каталоге "All users"/ProgramData больше не выводится.

       o Немного дополнена документация.

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

       o Исправлено ошибочное сообщение в логе при исполнении 44 твика.

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

       o Исправлена и оптимизирована функция проверки списка по выбранному критерию.

       o Исправлена ошибка с растущим временем отката операции по Ctrl+Z при работе с образом.

       o Исправлена ошибка при определении параметров *OperatingSystemVersion для 64-х битного исполняемого файла.

       o Исправлена ошибка с неправильным откатом операции по HOSTS при работе с образом.

       o Исправлена ошибка подписи образа автозапуска удаленной системы (появилась в v4.15.4)

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

       o Исправлены мелкие интерфейсные ошибки.
       
×