О вирусах для пальм, экосистемах и преемственности
От редакции: Автор этого поста — Виктор Яблоков, руководитель отдела разработки мобильных решений «Лаборатории Касперского».Совсем недавно мы отмечали 10-летие первой вредоносной программы для смартфонов. Обнаружение Cabir привело к интересным изменениям в «Лаборатории Касперского», в частности, приобретенные тогда для натурного тестирования червя смартфоны Nokia стали первыми в коллекции, ныне насчитывающей более 250 устройств.
Антивирус для смартфонов Symbian появился уже после Cabir, хотя мы в течение нескольких дней сделали утилиту для удаления DeCabir именно этого червя. Но это не значит, что мобильных продуктов у нас до 2004 года не было. Еще в 2001 году первой программой подобного типа стал антивирус для КПК на базе Palm OS.
Откопать в архивах старый карманный компьютер, дистрибутивы нашего софта, ключи и документацию к ним было непросто. Еще сложнее оказалось вспомнить, как это все настраивается и работает. Зато стало понятнее, что ждет современные мобильники лет через 15. Современные железо, софт, средства разработки, багтрекеры, да и сетевые сервисы к тому времени безнадежно устареют. А вот опыт, возможность предвидеть развитие индустрии в целом и киберугроз в частности — останутся. Об этом всем и поговорим.Программная Атлантида
Это карманный компьютер Handspring Visor Edge. Выпущен 13 лет назад, весной 2001 года. В отличие от более ранних КПК, синхронизируется с компьютером через USB, а не через последовательный порт (и на том спасибо), но экран у него монохромный, что впрочем положительно сказывается на времени автономной работы. Железный корпус, живой аккумулятор, набор софта и аксессуаров в комплекте — в общем, как пишут на eBay, «perfect condition». В нашей коллекции, к сожалению, есть десяток нерабочих устройств, скончавшихся от старости, но этот — исключение. То ли сделан так хорошо, «на века», то ли ломаться там нечему.
Все бы хорошо, но попытка его оживить, скажем так, программно, стала настоящим квестом. Для начала простое задание: синхронизация с компьютером. После череды слияний и поглощений все активы Palm оказались у HP, и софт (Palm Desktop и HotSync Manager) можно скачать на сайте HPWebOS. Даже здесь наблюдается некая ирония судьбы: в одном цифровом склепе покоятся две программные платформы, одна из которых была популярной десяток лет, а другая — просто не взлетела.
HotSync не работает в 64-битных версиях Windows. Под Windows Vista/7 тоже работает не очень, нужна (недавно также похороненная) Windows XP. Альтернативный вариант — старенький ноутбук с Windows 98, там все работает, но нет USB — только совместимый с КПК инфракрасный порт, через который данные копируются целую вечность. В общем, такая простая задача, как синхронизация с компьютером, уже заняла приличное время. И тут мне стало интересно:, а как вообще поживает инфраструктура для устройств 14-летней давности? Не то, чтобы она сильно мне была нужна, но все-таки, все-таки…
А инфраструктура была богатая. Выше — страница из буклета для КПК, рекламирующего разнообразные модули расширения, включая модули сотовой и пейджинговой (!) связи, банки памяти, игры, навигацию GPS, фотокамеры. У каждого модуля свой разработчик, сайт, набор софта, возможность прикупить дополнительное ПО.
Вот, например, модуль HandyGPS — работающий и поныне GPS-приемник. Читаем инструкцию: «Для того, чтобы скачать навигационное ПО, зайдите на наш сайт и введите серийный номер устройства. Дополнительные карты вы можете приобрести в магазине по адресу…». Ничего нет. Ни сайта производителя, ни магазина софта, серийник вводить некуда. Апдейты и карты качать неоткуда. Пустыня Каракумы. Китеж-град. Программная Атлантида. Железо работает, но без софта вам доступно процентов десять его возможностей. Компании, выпускавшие в начале 21-го века и устройства, и аксессуары, и софт, с тех пор обанкротились, были перепроданы, десяток раз сменили сферу деятельности. А веб-сайты, когда-то бывшие опорой и надеждой еще не лопнувшего дотком-пузыря, захвачены сквоттерами. На фоне этой разрухи, кстати, сама система GPS выглядит эталоном стабильности: хотя старый модуль и запускается по 10–15 минут, не имея всех появившихся за десяток лет улучшений, но со спутниками общается без проблем. Может потому, что программирование для устройств на орбите купирует позывы переписать все с нуля?
Еще одна жертва прогресса — камера-надстройка для КПК Handspring Eyemodule. Сама камера работает отлично, но для того, чтобы сконвертировать фото из закрытого формата в обычный JPEG нужна соответствующая программа для Windows. Диска с софтом к камере мы не нашли, а в сети программу оказалось невозможно найти.
Почему все так плохо? Ответ вроде бы лежит на поверхности: Palm OS — тупиковая ветвь развития мобильных устройств, так? КПК — тупиковая ветвь развития мобильных устройств. Получается, что и Windows Mobile — тоже тупиковая ветвь развития. На самом деле все несколько сложнее.
Начнем с карманных компьютеров. Они стали предвестниками эпохи всеобщей мобилизации, и для своего времени были весьма удобны и полезны. Но довольно быстро они проиграли борьбу смартфонам. В том же 2001 году Handspring прекратила разработку серии Visor, и начала работать над смартфонами Treo — и они какое-то время были достаточно популярными. Все становится понятнее, если считать, что КПК были предками не смартфонов, а планшетов. То есть у вас компактное устройство для ведения заметок, задач, контактов, чтения книг и чего-то еще, но не для звонков. Более того, первое устройство, созданное основателем и Palm, и Handpsring Джеффом Хокинсом, как раз было планшетом:
Грань между смартфонами, планшетами и даже ноутбуками, конечно, очень тонкая, и становится все тоньше со временем. Но преемственность некоторая наблюдается: в 2000-м году КПК соседствовал с мобильником, в 2014-м — смартфон дополняется планшетом.
Получается, что Palm OS была недостаточно хороша, чтобы пройти тест временем? Отчасти да. Соблюдая баланс между производительностью и автономностью, ее сделали однозадачной. Этот недостаток пытались исправить, но так и не смогли: анонсированная в 2004 году многозадачная Palm OS 6 Cobalt так и осталась платформой без железа. Отчасти Palm разделила судьбу Symbian, да и Windows Mobile — все три системы были родом из 90-х, и их богатая родословная со временем утащила их на дно. Впрочем, однозадачность Palm является и достоинством: несмотря на смешную по современным меркам производительность, программы на Visor Edge работают очень быстро. Современный планшет такое «ощущение скорости» обеспечивает не одним процессором на 33 Мгц, а четырьмя по 2 Ггц каждый, да и то не всегда получается.
Проблемы программные, аппаратные и «жизненные» дополнялись чисто деловыми. Банкротства, не самые удачные слияния с другими компаниями, давление акционеров на руководство некогда успешных предприятий. Во многом именно деловые проблемы привели к тому, что большая часть экосистемы Palm просто исчезла из сети, расползлась по чуланам коллекционеров, не получив никакого развития. Исключением стали относительно небольшие частные компании, менее подверженные мало предсказуемым вещам вроде колебаний рынка или собраний акционеров. Например, остались на плаву разработчики популярной на Palm читалки iSilo: потихоньку пилят версию для Android и продают абсолютно все старые версии. Я даже ради интереса купил ключ для «пальмовой» читалки за 10 долларов через PayPal, чем наверняка очень удивил сейлз-менеджера на той стороне.
Есть ли вирусы на пальмах?
Честно признаюсь, что наш софт для Palm OS был близок к тому, чтобы утонуть вместе с тысячами других программ и аксессуаров для этой платформы. Если вы попытаетесь найти дистрибутив Антивируса Касперского для Palm OS, то скорее всего не найдете. Дело в том, что полноценная триальная версия софта для Palm OS у нас отсутствовала —, а именно наличие триалок является залогом долгой жизни программы даже после прекращения разработки — за счет различных софтовых сайтов и коллекций (да и торрентов, что уж там). Защита по меркам начала 2000-х у нашего продукта тоже была приличная — нужен был отдельный ключ, который синхронизировался вместе с программой через HotSync. К счастью, в наших внутренних архивах были обнаружены и дистрибутивы, и ключи.
Так были ли вредоносные программы для пальм? Представьте себе, да. Хотя, опять же, по нынешним меркам — ну что там ломать? Интернета (в большинстве случаев) нет, все программы как правило устанавливаются через компьютер, в общем, пока пользователь сам, своими руками, десяток раз нажав на кнопки и сотню раз ответив «Да» не поставит вирус на КПК, да еще его и не запустит — ничего не получится.
Я конечно утрирую, но немногочисленные вирусы на Palm OS действительно распространялись скорее благодаря социальной инженерии, а не хитрым программным приемам. Типичный пример: троянец PalmOS/LibertyCrack. Выдает себя за полезную программу, а при установке на КПК и запуске — стирает всю информацию на устройстве. Типичный пальмовый вирус маскировался под крэк какой-нибудь программы или игры, и распространялся соответственно.
В любом случае, и от таких вредоносных программ пользователей надо было защищать. Первая версия Kaspersky Anti-Virus for Palm OS была выпущена в апреле 2001 года. А чуть позже появилось приложение Kaspersky DataSafe for Palm: не антивирус, а средство защиты данных пользователя. Уже тогда мы понимали, что защищать пользователя надо не только от вирусов, но и от вообще любых неавторизованных попыток доступа к данным.
Утилита DataSafe позволяла установить пароль на доступ к устройству, с автоматической блокировкой — даже такая простая функция тогда не была встроена по умолчанию в Palm OS. Более того: выбранные пользователем приложения и данные к ним (данные в любом случае не могли существовать отдельно от приложений) можно было зашифровать — сначала алгоритмом XOR, потом — с помощью RC4 (еще до того, как этот алгоритм окончательно признали ненадежным).
ФрагментацияМобильные решения «Лаборатории Касперского» развивались вместе с индустрией, и это, скажу я вам, было весело. За небольшой, по историческим меркам, период в 10 с лишним лет произошло следующее:
— Устройства на базе Palm OS (КПК и смартфоны) из лидеров рынка превратились в аутсайдеров.— Появились первые смартфоны на Symbian, и скоро эта платформа стала самой популярной (но ненадолго)— От нее, впрочем, старалась не отставать Microsoft со своей Windows Mobile— Apple выпустила iPhone— Появились первые устройства на базе Android— Планшеты стали новым форм-фактором мобильных устройств.— Android заняла первое место на рынке мобильных устройств, вместе с Apple выдавив с рынка и Palm (уже с WebOS), и BlackBerry, и Microsoft (ей пришлось переписывать мобильную платформу с нуля), и Nokia c Symbian.— А еще была BlackBerry, и имела немалый вес на корпоративном рынке.
Нам нужно было успевать везде: платформ было много, они были разные, и для каждой требовалось разработать свою версию защитного ПО (потому как каждая платформа становилась, так или иначе, объектом внимания киберпреступников). Более того, для Windows Mobile, например, приходилось разрабатывать, по сути, два продукта одновременно — так как «смартфонная» версия ОС и редакция для КПК заметно отличались друг от друга. Аналогичная история произошла с устройствами на Palm OS 4 (и более ранними) и Palm OS 5 — программно и аппаратно они серьезно отличались.
Чтобы не запутывать наших покупателей, довольно быстро мы решили использовать единое название мобильного приложения для всех платформ, и по возможности, обеспечивать единую функциональность. Последняя версия, поддерживающая Palm OS — Kaspersky Security 5.5 for PDA — была выпущена в 2006 году. А сейчас версии для Symbian, BlackBerry и Windows Mobile, хотя и не разрабатываются, но поддерживаются нами в корпоративном решении для защиты мобильных устройств. Начиная с прошлого года мы и вовсе не делим продукты по типу устройств: как я уже говорил, чем дальше, тем меньше различий между ноутбуком, планшетом и мобильником с точки зрения пользователя (но не разработчика, конечно).
Светлое будущее
Все, что происходило с мобильной индустрией с начала 2000-х — это этапы очень бурного развития. Мой краткий экскурс в экосистему Palm заставляет усомниться в том, что в настоящее время у нас все устаканилось. До «застоя» в смартфонах и планшетах еще далеко: достаточно сравнить между собой Android версий 4.0 и 4.4 — между релизами прошло всего два года, а насколько заметна разница даже в интерфейсе, не говоря уж о 4-х ревизиях API.
С технической точки зрения от эпохи разработки под Symbian, Blackberry и Windows Mobile мы не унаследовали ничего — средства разработки, инструменты, багтрекеры — все это пришлось осваивать заново, а старое — замораживать и бережно хранить. Да и не велика проблема. Двигаясь вместе с индустрией и даже помогая ей меняться, важно сохранять не код, а опыт. Именно опыт становится мостиком между Palm OS и Android, КПК и планшетами, смартфонами и тем, что придет им на смену.
Опыт помогает двигаться дальше. Традиции и наследство (как в случае с Symbian) — бывает, что и мешают. Впрочем, резкий и бездумный отказ от старых экосистем я тоже одобрять не стал бы. Именно поэтому мы до сих пор поддерживаем и Windows XP, и Android 2.3, и даже (пусть и ограниченно) Symbian с Windows Mobile. Это имеет смысл делать, пока наши клиенты пользуются соответствующими устройствами. Но все проходит, рано или поздно все суперновинки становятся музейными экспонатами, как этот КПК Handspring.
Интересно, найдется ли среди читателей этого поста человек, до сих пор активно использующий КПК на Palm OS?