Блог → Старое интервью с Михаилом Калиниченко из Kaspersky Labs

Недавно нашёл в своих закромах старое интервью с Евгением Касперским и сотрудниками его компании - техническим директором Михаилом Калиниченко и PR-менеджером Светланой Трофимовой. Это было в 2001 году, а "Лаборатория Касперского" на тот момент была довольно молодой компанией, но тем не менее, уже один из лидеров "антивирусной индустрии" в России. Думаю, будет любопытно почитать, что было тогда, что думалось и говорилось, и переосмыслить это всё, с учётом нынешнего опыта. Основным собеседником был Михаил Калиниченко, так что именно ему адресован первый вопрос.



В: Сразу о главном: трудно ли заниматься антивирусами? По сравнению, скажем, с разработкой других коммерческих продуктов?

О: Знаете, очень сложно сказать. Понятие "коммерческой разработки", мягко говоря, не монолитно... В любом случае - заниматься этим очень интересно, потому что для нашей страны то, что мы делаем - достаточно уникальная вещь. У нас ведь очень немного компаний, делающих действительно массовые продукты.

В: ...заметные на мировом рынке?

О: Да, и это тоже. Но главное - предназначенные для массового потребителя. Ведь кто-то пользуется издательскими системами, кто-то - бухгалтерскими, кто-то - редакторами, средствами разработки... Но антивирусами пользуются все. Интересна возможность работать в "абсолютной шкале ценностей". То есть - бухгалтерию, например, можно сделать популярной в России за счёт локализации: русский язык, русская система учета... А вот антивирус нельзя сделать русскоязычным - и надеяться, что его будут покупать, просто потому что он - на русском языке. И то, что необходимо постоянно соперничать с конкурентами - вот это интересно.

В: Можно - буквально в двух словах - об истории фирмы?

О: Сам антивирусный продукт Евгений Касперский начал разрабатывать более 10 лет назад (если точно - в 1989), и сначала разработка была обычным хобби. Потом Евгений перешел в фирму "Ками"», где был организован отдел, занимавшийся разработкой антивирусов. Однако для "Ками" это был скорее интересный маркетинговый ход.

Но именно тогда и начались первые попытки сделать антивирус коммерческим продуктом. Это, в основном, заслуга Натальи Касперской, потому что именно она стала заниматься продвижением антивируса как коммерческого продукта. Собственно фирма "Лаборатория Касперского" была организована более 3 лет назад, и с этого момента началась история "Антивируса Касперского", тогда ещё под торговой маркой AVP - как коммерческого продукта.

В: И - сразу пошло?

О: Нет, не сразу. Поначалу были, конечно, внутренние проблемы - потому что далеко не сразу фирма стала разрабатывать антивирус именно как коммерческий продукт. К сожалению, одна из причин, почему в России так мало успешных компаний в области программирования - в том, что большинство фирм не готовы подходить к разработке как к бизнесу.

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

В: А как вообще выглядит "технологический цикл" ваших программистов?

О: Ну, я бы сказал - технологический цикл компании. Потому что технологический цикл собственно программистов - это только малая его часть. Начинается - с анализа рынка, с функционального определения потребности людей в продукте. Что конкретно требуется от продукта? Какой набор функций? Какие возможности являются наиболее интересными, более важными или менее важными? Для какой категории пользователей предназначен продукт? Потому что для одних - важен красивый интерфейс, для других - возможность иметь массу настроек, для третьих - возможность установить продукт (нажать кнопку Install) - и забыть. И нельзя сделать продукт, который подошел бы всем.

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

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

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

В: Хорошо, но это ведь - только первый этап разработки?

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

Вообще, разработка в данный момент состоит из четырех подразделений: собственно антивирусная лаборатория, которая занимается борьбой с вирусами, разрабатывает антивирусное ядро - и три отдела по платформам: Windows, UNIX и Novell - которые, собственно, и делают прикладные программы (интерфейсы, сервисы) - то, что уже является продуктом с точки зрения пользователя. Здесь и заканчивается цикл разработки как таковой; после этого продукты передаются в тестовую лабораторию, осуществляется тестирование готовых продуктов, сборка дистрибутивов, локализация на другие языки, создаётся техническая документация и т.д. После этого продукт поступает в продажу, и обратная связь идет через службу технической поддержки и консалтинга.

В: В принципе, это похоже на логику работы многих софтверных компаний. А именно ваша специфика?

О: Ну, прежде всего, специфика разработки антивируса - в том, что тут практически не имеет смысла понятие "версии". То есть обычно компания вкладывает силы в разработку определённой версии продукта, выпускает её - и дальше уже тратит лишь незначительные силы на её поддержание (кроме, может быть, выпуска пары-тройки "заплаток" - патчей), после чего с этой версией сталкивается разве что служба технической поддержки.

У нас совсем по-другому, поскольку у антивирусной компании работа не кончается в тот момент, когда выпускается очередная версия. Антивирусная лаборатория ежедневно выпускает обновления антивирусной базы, которые защищают пользователей от новых вирусов. Здесь нет четкого понятия "проекта" и "версии", у нас все проекты являются критическими и непрерывными.

В: А как выглядит работа программиста, занимающегося именно "борьбой с вирусами"?

О: Это - работа вирусного аналитика. Честно говоря, в представлении большинства людей это нечто такое "романтическое". На самом деле - это очень рутинный процесс... Приходят, как правило, "подозрительные файлы" - файлы с подозрением на вирус. Есть два основных канала их поступления: непосредственно от наших клиентов, и через обмен коллекциями вирусов между антивирусными компаниями. Существует неформальная сеть по обмену вирусами, куда входят практически все, кто занимается этим "общим делом".

В: А дальше - дизассемблер, дебаггер...?

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

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

В: Вообще - насколько сейчас прогрессировала технология вирусов? Что новенького?

Технология, конечно, прогрессировала очень сильно. Основной шум постоянно поднимается вокруг "тупых" email-вирусов, но для нас основная головная боль - изобилие многокомпонентных вирусов, которые используют не один, а несколько разных способов проникновения, инфицирования, содержат множество побочных эффектов... Вирус может иметь компоненты макро-вируса, червя, файлового вируса, деструктивные эффекты типа "Чернобыль" с разнообразными или случайными условиями активации. Практически все серьёзные вирусы используют шифрование и рассредоточение кода, полиморфизм, механизмы маскировки и противодействия отладке и лечению.

Во-первых, такие вирусы достаточно сложно бывает проанализировать, особенно на предмет лечения возможных побочных эффектов. Вторая особенность связана с тем, что Windows перестала быть монолитной платформой, много версий самой Windows, очень много национальных версий - в том числе с поддержкой восточных языков - и, как следствие, появились вирусы, которые "правильно" функционируют только на специфических версиях Windows. Такие вирусы очень сложно корректно обрабатывать, поскольку никогда не известно на 100%, как они себя поведут в другом специфичном окружении. Третья тенденция - появление достаточно интересных вирусов для Linux. В последнее время было несколько достаточно нашумевших эпидемий, и мне кажется, что это будет только усиливаться, поскольку инсталлированная база достаточно велика, и используется весьма активно - особенно в сетевых приложениях.

Вообще, эта эпидемия, в возможность которой еще год назад никто не верил - пожалуй, самое значительное событие в нашей сфере за последнее время. Для атак использовались три известные дыры в защите web-серверов на базе Linux, причём соответствующие патчи для ОС были давно выпущены (ещё за несколько месяцев до эпидемии), но понятно, что никто их не ставил... Самое забавное - был вирус, который, проникая в систему, ставил эти заплатки, то есть - воспользовавшись некоторой дыркой, потом её "закрывал за собой" - и даже докладывал, что, дескать, "система пропатчена, дырки в защите закрыты"!

В: А как обстоят дела на других платформах? UNIX, Novell...?

О: UNIX-системы, в отличие от Linux на PC, очень разнообразны в техническом плане и относительно слабо документированы, поэтому вирусов там мало. Для Novell вирусов нет, но Novell по-прежнему удерживает очень большую долю файловых серверов, и наши продукты для Linux и Novell позиционируются прежде всего как средства защиты каналов связи. Поскольку сейчас большинство вирусов (не только почтовые скрипт-вирусы) активно используют электронную почту как метод распространения, как канал передачи данных. И защита Linux - это в первую очередь защита электронной почты.

Хотя нуждаются в защите и непосредственно сетевые каналы. Многие вирусы проникают через Web - FTP и HTTP протоколы. Для противодействия этому, в частности, предназначены антивирусы для работы с Firewall - средства для защиты трафика, перехватывающие трафик определенного типа и сканирующие его на предмет наличия вирусов.

В: Скажите, а производители операционных систем не проявляют интереса к антивирусам? На предмет интеграции - или хотя бы сотрудничества?

О: Насколько я помню, только во времена Windows 3.11 была попытка интеграции с Symantec'oвcким Norton AntiVirus. Nогда он одно время входил в поставку ОС. А вообще - создатели "массовых" ОС традиционно думают в первую очередь об удобстве и функциональности своих систем, а потом уже - о защите и безопасности. Тут дело в том, что любая защита - это сложные настройки, пароли, системы привилегий... Для домашнего пользователя это все слишком сложно и неудобно. Поэтому об антивирусной защите пока приходится заботиться исключительно "сторонним" компаниям, тем, кто занимается этим эксклюзивно и профессионально.

Вообще, сейчас антивирус - это очень многокомпонентная система, большой набор различных программ. Наш корпоративный комплект состоит более чем из 10 модулей - антивирусы для всех версий Windows, всех версий Novell, Linux, FreeBSD, Solaris, Exchange, Lotus, Firewall... Ещё несколько лет назад антивирус воспринимали как некую утилиту типа Scandisk - запустил, проверил и успокоился. А сейчас антивирусное программное обеспечение - это достаточно серьёзный комплекс, который учитывает всю специфику крупных корпоративных систем. Ведь антивирус надо раз в день обновлять, нужно иметь соответствующие способы обновления и администрирования в рамках, скажем, сети большого масштаба. Когда в компании тысячи рабочих станций, и многие - совершенно разных типов, нужно иметь возможность корректно устанавливать и настраивать систему в любой возможной конфигурации... И мы столкнулись с тем, что развёртывание систем такого масштаба и сложности требует создания отдела консалтинга, который будет заниматься именно работой у клиентов.

В: А с точки зрения "рядового программиста" компании: что от него требуется, какие качества и умения? Насколько он загружен, насколько специализирован?

О: У нас в компании очень высокий уровень специализации. С одной стороны - это минус, у нас очень серьёзные проблемы с тем, чтобы найти человека с необходимой нам квалификацией. В первую очередь - это знания по конкретным платформам: чтобы заниматься антивирусной защитой Exchange или Firewall - надо досконально представлять себе их устройство и функционирование. Такие знания достаточно уникальны...

В: То есть - приходится "растить кадры"?

О: Да, порой приходится заниматься обучением. С другой стороны - мы ищем людей с необходимыми нам навыками по всей стране. Чуть ли не половина программистов, работающих сейчас в компании - приехали из других городов. На самом деле, основная проблема - в уровне, мы стараемся поддерживать очень высокий уровень квалификации. И сотрудники должны, с одной стороны, быть достаточно инициативны - чтобы решать очень нетривиальные задачи в весьма сжатые сроки, а с другой - понимать особенности коллективной работы: то, что называется коммерческим (или корпоративным) программированием. И в России сложнее найти даже не людей с определенными техническими знаниями - а людей с навыками профессиональной работы. У нас, к сожалению, этому совершенно не учат...

В: Можно какие-нибудь технические детали - например, какие-то интересные вирусы в последнее время? Какие-то забавные случаи?

О: Знаете, это всё равно, что разведчика спрашивать: "расскажите о чем-нибудь выдающемся и интересном" :) Известными ведь становятся только провалившиеся разведчики... Так и у нас: если нет никакого шума и паники вокруг новых вирусов - значит, мы работаем хорошо. Из тяжелых случаев за последнее время... Ну, например, появление очень опасного вируса "Magistr" в марте этого года.

В: Будут ли еще более опасные вирусы?

О: Гм... Ну, самый опасный вирус - это, конечно, "фотография Анны Курниковой" (или "I LOVE YOU" и т.д.). Пожалуй, ничего интереснее нет и не предвидится, поскольку фактически - здесь вирус использует человека для своего распространения... Любопытна даже сама постановка вопроса: как вирус может использовать человека в своих целях! Можно ведь долго говорить об антивирусной защите, стратегиях, софте, администрировании... Но когда секретарша получает от босса письмо с заголовком "I Love You" и радостно его открывает - вот тут, получается, никакая защита не поможет...

В: А всё-таки - кто сегодня побеждает в противостоянии "вирус-антивирус"? Понятно, что это - вечная борьба снаряда и брони, но на данном этапе - кто сильнее? Похоже, "снаряд" уже качественно не изменяется - только количественно?

О: Ну, действительно, сейчас качественно новых вирусов почти нет. Все ключевые идеи - способы заражения, хитрости типа шифрования и полиморфизма - давно известны, и появляются в основном новые вариации (и комбинации) старых вирусов. А побеждаем - разумеется, мы. Можем иногда немного опаздывать - но побеждаем всегда. Тут, на мой взгляд, важное обстоятельство - кто занимается написанием вирусов. Ведь для того, чтобы создать действительно серьезный новый вирус - нужен, с одной стороны, огромный профессионализм, а с другой стороны - должна быть какая-то причина этим заниматься. То есть у человека либо, скажем мягко, некоторые отклонения, либо человеку просто нечем заняться. А настоящий профессионал, которому нечем заняться... Такое, к счастью, редко бывает. Правда, есть одна опасная тенденция: в наше время информация сама по себе становится все более ценным товаром. И если появляется глобальная необходимость в получении критической информации любыми путями -то вирусы могут начать разрабатывать как настоящие профессиональные инструменты...

В: Вирус как отмычка?

О: Да, как отмычка. Или как оружие... Вот тут уже действительно - дело может стать очень серьезным. И можно рассчитывать только на высочайший собственный профессионализм.

В: Но в принципе - вы к этому готовы?

О: Надеемся, что да :-)