Интервью с главным разработчиком Dr.Web СureIt! 7.0

    Дорогие хабравчане, совсем недавно мы выпустили бету Dr.Web СureIt! 7.0 – нашей бесплатной утилиты, которой пользуются миллионы во всем мире. Сегодня мы представляем вашему вниманию интервью с одним из основных разработчиков Dr.Web СureIt! и руководителем этого проекта – Константином Юдиным.

    image


    image
    В новом CureIt! – абсолютно новый интерфейс. В связи с чем он был полностью переработан, какие цели за этим стояли?

    В первую очередь, Dr.Web CureIt! — лечащая утилита, поэтому ее основной функционал — быстрый поиск активных угроз и их лечение. В связи с этим мы упростили интерфейс. Убрали Полную проверку под капот, чтобы акцентировать внимание пользователя на задаче — проверить на вирусы, либо вылечить систему от активных угроз. Все остальное на второй план.

    Ну а другое изменение, также не менее важное – Dr.Web CureIt! стал полностью самостоятельным продуктом – отдельный модуль со своими фичами, функциональностью, а не сканер в обертке, с кучей раздражающих пользователя сообщений. Тем не менее он узнаваем и похож на своего большого брата (Dr.Web Security Space), дабы пользователю сильно не переучиваться.

    На ваш взгляд, пользоваться новым CureIt! стало еще удобнее? Не могли бы вы поставить себя на место пользователя и привести скажем 3 отличия со старым CureIt!

    Лечение для нас и раньше было приоритетным. Теперь в Dr.Web CureIt! мы сделали его еще более простым и эффективным. Ну, вот смотрите, человек запускает утилиту, у него есть кнопка «Начать проверку» и не нужно задумываться, какие варианты проверки ему надо выбрать --полную, быструю или кастомную, как раньше.

    Его задача вылечить угрозу, либо проверить PC на наличие активных угроз. Теперь все это — одно прямое действие «начать проверку». В прошлом варианте пользователи чаще всего запускали полную проверку, т.к. считали, что она самая безопасная и гарантированно найдет все, что нужно. На самом же деле, полная проверка — проверка всех дисков на PC, она может длиться несколько часов или даже дней (в зависимости от контента и его объема у пользователя), а это совсем не сопоставляется с представлением о Dr.Web CureIt!, как лечащей утилиты («запустить, проверить, закрыть»). Теперь есть только одна кнопка – не промахнешься :)

    Другое отличие, которое наверное также стоит отметить, — возможность в режиме выборочной проверки просканировать любые элементы: проверить только диски, загрузочный сектор, проверить на руткиты либо точки восстановления Windows. Если пользователь опытный и знает, что конкретно ищет, то есть возможность выбрать необходимый пункт. В прошлой версии Dr.Web CureIt! была быстрая проверка, в которой все эти пункты проверялись монолитно и отключить их проверку было нельзя. Теперь мы добавили «гибкости», если позволите, для более продвинутых пользователей.

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

    За счет чего резко повысилась скорость проверки? Не отразится ли это на безопасности пользователей?

    Прежде всего, благодаря переходу на многопоточный сканирующий сервис Dr.Web Scanning Engine, который задействует все ядра процессора для проверки файлов параллельно.
    Также за счет новой подсистемы поиска руткитов, которая активируется только тогда когда необходимо, о чем сказано выше.

    Если быстрая проверка старым Dr.Web CureIt! могла занимать 30-40 минут, теперь она идет в пределах 7-13 минут. Это минимум времени, который нельзя перепрыгнуть, если не отключить часть функционала, что делать нежелательно т.к. основная задача — выявить все активные угрозы и вылечить компьютер.

    Мы говорим о том, что повысилась и стабильность работы. Но разве раньше пользователи на это часто жаловались?

    Одна из больших проблем, не только Dr.Web CureIt!, но и прошлого сканера, была в том, что при долгой проверке машина могла уходить в синий экран. Это опять же происходило из-за того, что терабайты данных проверялись через антируткит. И мало кто знает, что на борту у нас под капотом своя мини-ОС, что тоже не добавляет стабильности. В 7.0 версии мы серьезно пересмотрели видение как все должно работать быстро и безопасно, и без снижения качества.

    И второй момент – уменьшили количество конфликтов. Ведь Dr.Web CureIt! — утилита, которая работает везде, даже со сторонними антивирусами. Мы убрали спорные моменты, из-за которых системы иногда конфликтовали, за счет этого повысили надежность. Как показала версия 7.0, за последние полгода мы перестали получать в техподдержку запросы с проблемами синего экрана, они же BSOD.

    Значительно расширены возможности выборочной проверки компьютера –для чего это было сделано?

    В первую очередь для пользовательского удобства.

    В седьмой версии лечащей утилиты предусмотрена возможность блокировки сетевого подключения в процессе проверки компьютера – насколько это важно для безопасности компьютера? Необходимо ли это делать всем пользователям?

    В седьмой версии появилась новая фишка – возможность заблокировать сетевые соединения при работе Dr.Web CureIt!.. Суть ее, в первую очередь, предотвращение повторного заражения в момент проверки и лечения. Т.е. если у вас есть какая то угроза, которая пытается соединятся с командным центром, для загрузки новой нагрузки (payload), то этой опцией можно обрубить ей поход к хозяину. Либо какой-либо сетевой червь, который пытается постоянно вам на машину попасть, или из Интернета эксплойты постоянно приходят. Включив эту опцию, вы обезопасите свою машину на момент проверки и лечения. Повторного заражения из этих источников не последует.

    Что можно ожидать в финальной версии?

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

    Вторая доработка еще под вопросом, возможно появятся такая функция, которая будет при работе Dr.Web CureIt! запрещать низкоуровневую запись на диск. Делается это для предотвращения повторного заражения загрузочных секторов и защиты от буткитов. Вопрос это спорный, мы будем думать на тему того, включать ее или нет.

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

    Доктор Веб
    Компания

    Комментарии 38

      –3
      Картинка с женщиной классная).
        +9
        Женщины вообще классные!
        0
        MBRLock научился полноценно лечить? Прошлый релиз не справился с задачей
          0
          О каком именно релизе речь? Какого примерно числа качали? Подобных проблем не было
            0
            Около 2 месяцев назад
              0
              для понимания нужно больше деталей. возможно детекта на тот момент еще небыло в базах. если у вас есть еще проблема и возможность проверить, то можно по пробовать разобраться.
            0
            скорее всего речь все же о новой бете а не релизе. в первой бета-сборке был баг с лечением дисков, его исправили через пару часов. но это не релиз в нашем понимании, а публичная бета-версия.
            +1
            Спасибо. пользуюсь Вашей утилитой.
            Будет ли возможность одной кнопкой восстановить убитый очередным локером запуск explorer.exe при удалении файла? чаще всего нормальный запуск системы после лечения требует низкоуровневого вмешательства.
              0
              да. мы работаем над этим в данный момент. а для продвинутых, будет так же мощный скриптовый язык для лечения и/или анализа системы.
                0
                необходима скачка утилиты с рандомного ip адреса, при нахождении вируса на компьютере он просто блочит известные сервера антивирусов и не дает скачать утилиту. Правда я не понимаю как это реализовать).
                  0
                  Наши все IP пробить и добавить в черный список не большая проблема. Тут нужно что то вроде CDN. Как показывает практика, блокировка нас по IP не популярна, по доменному имени лочат, а так же по имени файла, cureit.exe/launch.exe и все что содержит подстроку «drweb» давно в черном списке, поэтому файл отдается со случайным именем при загрузки. Так же могут блокировать по артефактам в исполняемом файле, информации из ресурсов, версии файла, строк в файле, цифровой подписи, заголовкам окон и т.п. Эта вечная борьба очень увлекательна.
                    0
                    может с обменниками договорится, пусть держут у себя текующую версию релиза. А при запросе в яндексе cureit подсовывать рекламу для скачки файла на дружественный сервер. Список дружественных серверов пусть меняется раз в месяц.- генерировать новые объявления с новыми партнерами раз в месяц… тогда тяжело заблочить по ip или домену. Правда геморрой тот еще)
                    Да может и злоумышленник сделать фейк если не известен какой ресурс официальный…
                0
                Не могу скачать по ссылке. 404 ошибка.
                  +1
                  проверил, курит скачивается нормально.
                    0
                    Спасибо, теперь да, скачалось.
                    +1
                    Мне (сабжу) дали возможность продолжить тут общение, так что если есть что спросить, буду рад ответить на ваши вопросы, либо помочь.
                      0
                      Привет, Костя! Как дела? Как там Ренат? Когда вы выйдете на американский рынок? А то Касперский вот на каждом углу продается)) И приезжайте в гости!))
                        0
                        Привет! Заняты активно 8.0 и Windows 8. Рынки это не мое, мне руткиты и т.п. малварь интересней.
                        0
                        А когда планируется обновление DrWeb Enterprise Suite до 7 версии?
                          0
                          Честно, незнаю. Я корпоративными версиями не занимаюсь. У меня однопользовательские версии, куриты, куринеты, ресеч.
                        +1
                        Молодец, главный разработчик. Тулза нормальная, юзаю местами. Сорцы бы вашей ВМ не помешали бы )
                          +3
                          Я, честно говоря, ждал от статьи технических подробностей о внутреннем устройстве программы. А тут какой-то один маркетинг…
                            0
                            А что именно интересует?
                              +2
                              Ну так как интервью с главным разработчиком, то было бы интересно послушать историю разработки, как продукт развивался, какие проблемы заковыристые возникали и как были решены. Про какие-нибудь интересные архитектурные или алгоритмические решения… Ну и т.п.
                                +1
                                Можно и на форум заглянуть или в бета-тестировании поучаствовать :)
                                forum.drweb.com/index.php?&showforum=17
                                  +9
                                  Продукт CureIt! уже как таковой существует довольно давно. Я подхватил его разработку года 3 назад. По сути это был тот же сканер что и в домашней версии. Реализовал новый стартер, который запускает курит, и служит защитой от обнаружения малварью, при старте программы, усилил самозащитой. Раньше это был sfx-rar архив со сканером внутри. Разработка версии 7.00 началась в прошлом году, это первая версия которая не является сканером, а отдельный модуль. Первая проблема, это придумать новый имидж, простой и эффективный.

                                  Самая сложная проблема, возникшая при разработке, это адаптация нашего Scanning Engine (многопоточный сканирующий сервис) модуля к диким условиям. Его пришлось серьезно усилить, чтобы он мог запускаться и работать совместно с активными руткитами. Max++ (ZeroAccsess) и его клоны доставили нам не мало хлопот, убивая нас из ядра, придумали как скрываться от них эффективно, чтобы они нас даже не увидели.

                                  Алгоритмических решений по сравнению с существующей версией CureIt! очень много, фактически мы написали новый продукт. Придумали новый модуль для поиска и нейтрализации активных угроз (dwarkapi.dll), реализовали его с нуля, учитывая весь опыт борьбы. Разработали новый модуль для отложенного лечения малвари. Реализовали новые алгоритмы лечения буткитов, избавились от хард-ресетов на x64 системах (позже и на x86 будет). попутно улучшая самозащиту. Так же рискнули, и начали использовать впервые подсистему Shark для поиска и нейтрализации угроз. Shark — это подсистема, в драйвере Shield, которая использует очень низкоуровневый доступ к системным данным и структурам ядра ОС, очень многое не документировано. Но зато позволяет обходить все руткиты. Для эффективного лечения сделали песочницу, на уровне ядра, чтобы угроза не размножалась и не перезаражала систему. Это постоянно активно улучшается.

                                  Реализовали проверку системного BIOS компьютера, насколько мне известно мы единственный вендор который это может. Это был вызов, мы его приняли и справились. Хотя бсодов по началу было полно. Очень многие вендоры биосов и оем не соблюдают стандарты, данные в служебных заголовках попадались кривые. В «депо» компьютерах например такое было, насколько я помню.

                                  Я могу об этом писать долго, т.к. это мое хобби и жизнь. Жена, сейчас наверно улыбнется, прочитав. Но понимаю что пост надо закончить уже.
                                    +2
                                    Спасибо большое за интересный и содержательный комментарий! Удачи вам, и это здорово, что вы занимаетесь любимым делом!
                              0
                              Как насчёт локализаций? Будет ли сервер, на котором добровольцы смогут „помочь“ с переводом?
                                0
                                Локализации встроены в модуль и не могут меняться или загружаться из вне. Все основные локализации, которые официально нами поддерживаются, уже включены в курит. Если у Вас есть желание добавить новый перевод, то можно связаться с нами по этому вопросу, написав запрос в тех. поддержку.
                                0
                                И мало кто знает, что на борту у нас под капотом своя мини-ОС, что тоже не добавляет стабильности.

                                Эта фраза сильно резанула глаз. Она _очень_ сильно смахивает на рафинированный маркетоидный буллшит. Очень прошу разъяснить, что именно имелось в виду.
                                  +2
                                  В общих словах все просто, наш сканер, курит, теперь еще любой клиент кто использует dwarkapi, живет в свое эко-системе уровня ядра, никто не видит как мы читаем или пишем на диск по секторно, читаем или пишем в реестр… Мы не пользуемся ядром ОС, мы не используем дисковую подсистему, файловые драйвера, всем тем что загружено в реальной ОС. У нас все свое, безопасное и защищенное от внешнего мира. Чтобы все это заработало как часы в реальности а не в теории, нам потребовался не один год. Но это наша гордость.
                                  0
                                  Кстати, совсем не в теме сейчас, как обстоят дела со стелсами и полиморфами сейчас? В поздне-досовские времена все более-менее распространенные вирусы были полиморфны и пытались маскироваться от антивирусов, а сейчас складывается впечатление, что вирусописатели «начали халявить» и просто удовлетворяются тем, что новый вирус не детектится существующими антивирусами, но сигнатура у него постоянная и добавить ее в базу несложно. Так ли это, и «в детстве даже вирусы были лучше», или и сейчас есть вирусы, которые доставляют сильную головную боль писателям антивирусов?
                                    +1
                                    Тенденция сейчас, заработать денег различными путями. Поэтому порог вхождения в отрасль достаточно низкий, никто не изобретает сверх сложных вирусов, большинство из входящего потока это юзер-модные образцы малвари. Полиморфики по пальцам можно пересчитать, xpaj, virut… редко но метко. Популярный пример например, маячок, ничего особенного, но держится за счет постоянной перепаковки упаковщика. У нас он в топе по статистики CureIt! уже не первый месяц. Хотя, обычная dll с инжектом в процессы через appinit_dll, без какой либо защиты. С руткитами тоже тенденция к упрощению, из ядра возвращаются в юзер-мод. Берут массовостью, под сотню тысяч образцов в сутки приходит.

                                    Головную боль доставляют уже несколько лет, только руткиты/буткиты, вроде эпохальных TDL/TDSS (3-4 поколения), их мало но это шедевры, я и мои ребята с ними и боремся. Почти год без остановки шли сражения, придумывали новые алгоритмы, обходили защиты, смотрели как нас обходят буквально через месяц уже, больше 30 вариантов руткита было в паблике. Была реальная Война. Потом придумали универсальный подход и забыли о нем. Сейчас затишье, ждем.
                                      0
                                      Да о вас и ваших войнах прям кино можно снимать.
                                      Я по-доброму =)
                                    0
                                    Так и есть…
                                      0
                                      Спасибо всем за вопросы. Заходите в гости на форум, всем будем рады. Передаю бразды правления обратно. До новых встреч!
                                        –1

                                        На всякий случай, а то может кто забыл, что было решено не иметь с Dr. Web никаких отношений: https://habr.com/en/post/381989/

                                        Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                                        Самое читаемое