Защита WM Keeper Classiс и «Интернет.Кошелька»
изучение защиты от несанкционированного доступа в программных клиентах двух российских платежных систем
Об удобствах, которые предоставляют современные системы цифровой наличности, знают все, кто хоть раз ими пользовался. Однако многие далеко не сразу задумываются о необходимости реализации в таких системах столь важной функции, как защита денежных средств пользователей. Ведь если по Интернету бродят электронные денежные знаки, обязательно найдутся люди, которые попытаются часть этих знаков присвоить себе.
Безусловно, разработчики систем онлайн-платежей прикладывают усилия к тому, чтобы обеспечить всестороннюю защиту, включая безопасность и надежность серверов и серверного программного обеспечения, шифрование передающихся по Интернету данных, а также защиту от несанкционированного доступа к электронным средствам со стороны пользовательского ПО. Последний тип защиты представляет особый интерес, поскольку именно здесь у любой электронной системы находится самое уязвимое место — благодаря сильному влиянию человеческого фактора в лице конечного пользователя. В идеале процесс авторизации пользователя в системе должен предоставлять пользователю как можно меньше неудобств, но в то же время быть как можно более надежным.
Рассмотрим, как функция защиты от несанкционированного доступа реализована в программных клиентах двух крупнейших российских платежных систем — WebMoney и «Яндекс.Деньги». На момент написания статьи WebMoney Keeper Classic дожил до версии 3.6.0.2, а "Интернет.Кошелек" — до 2.7.0.11.
WebMoney Keeper Classic
Регистрация в системе WebMoney предусматривает присвоение пользователю уникального 12-значного идентификатора WMID. Одновременно создается так называемый файл ключей, то есть файл с приватным и публичным ключами, предназначенными для проверки цифровой подписи, а также шифрования и дешифрирования данных. Кроме того, пользователь предоставляет о себе всевозможную обязательную и необязательную информацию, в частности основной адрес электронной почты.
Доступ пользователя к своим кошелькам в самом простом случае обеспечивается введением в соответствующие поля идентификатора WMID (который не является секретной информацией) и пароля. Так что если некий злоумышленник сумеет каким-то образом получить полный контроль над вашим компьютером, то от вашего электронного капитала его, по сути, будет отделять всего одна последовательность символов. К счастью, столь экстремальный случай на практике случается редко: обычно электронные деньги пытаются украсть удаленно.
Авторизация в WebMoney Keeper Classic |
Достучаться до ваших WM-денег с другого компьютера тоже вполне реально — в конце концов, вы должны иметь возможность приобрести новый компьютер или переустановить ОС, не потеряв своих денег, — но данную процедуру уже нельзя назвать тривиальной. Для ее проведения необходимо, во-первых, обладать резервной копией файла ключей, соответствующего данному WMID, а во-вторых, знать код доступа к этому файлу (этот код отличается от пароля входа). Введение пароля входа в Keeper Classic тоже требуется. Таким образом, чтобы наложить лапы на чужие сбережения, злоумышленнику понадобится не только украсть файл ключей, но и подобрать или выпытать у вас два пароля.
Но жизнь злоумышленнику можно усложнить и другими способами. В частности, в Keeper Classic может быть задействована система активации. В ряде случаев, среди которых присутствует также запуск программы на другом компьютере (в другой операционной системе), Keeper Classic перед использованием следует активировать. Это означает, что требуется ввести некий числовой код, который генерируется на сервере системы WebMoney. Код этот высылается на основной e-mail-адрес, указанный при регистрации. Следовательно, перед злоумышленником встанет задача получить также доступ к вашему почтовому ящику. А это — еще один пароль (который, надо надеяться, отличается от пароля к WMID, кода доступа к файлам ключей, даты вашего дня рождения и клички вашей собаки).
Еще одна ступень защиты от несанкционированного доступа — блокировка по IP-адресу. Это довольно жесткая мера: даже если злоумышленник обладает вашим файлом ключей и знает все ваши пароли, он не сможет войти в Keeper Classic с компьютера, чей IP-адрес не удовлетворяет указанным критериям, а именно, либо не совпадает с постоянным IP-адресом вашего компьютера, либо, в случае с динамическим IP, не принадлежит к некому диапазону адресов (уточняется у интернет-провайдера). Следует понимать, что функция блокировки по IP отличается от системы активации, поскольку в системе активации IP-адрес не проверяется.
Разумеется, у пользователя есть возможность такую блокировку при необходимости снять — и злоумышленник может попытаться этой возможностью воспользоваться. Но сделать это ему будет очень непросто, поскольку код для снятия блокировки высылается либо на электронный ящик пользователя, либо на мобильный телефон. Пользователю рекомендуется указать почтовый ящик, который отличается от введенного в регистрационных данных WMID — и совершенно справедливо, поскольку иначе совместное использование блокировки по IP и системы активации не имеет никакого смысла.
Как видим, хотя при входе в программу от пользователя в подавляющем большинстве случаев требуется ввести только один пароль, сидящему за другим компьютером злоумышленнику, кроме файла ключей, может понадобиться знание сразу четырех паролей (либо же знание трех паролей и наличие мобильного телефона пользователя).
Настройки безопасности WebMoney Keeper Classic |
Но и это еще не все возможности WebMoney Keeper Classic по защите от несанкционированного доступа к электронным кошелькам. Файл ключей вовсе не обязательно хранить на жестком диске, где его теоретически можно выкрасть с помощью вредоносных программ, используя бреши в защите компьютера. После установки специальных плагинов система позволяет держать этот файл на защищенных USB-ключах вроде eToken PRO и ruToken. Данные на подобных внешних устройствах в обязательном порядке шифруются при помощи современных криптографических алгоритмов.
Ну а если вы не готовы платить деньги за дополнительное устройство, к процедуре авторизации в WebMoney Keeper Classic можно подключить ваш мобильный телефон или КПК. Система авторизации E-num предполагает генерацию случайного числа-вопроса, которое вы должны «пропустить» через Java-апплет на мобильном устройстве, получить, таким образом, число-ответ и ввести его в поле диалога авторизации.
Иными словами, если у вас нет привычки пользоваться одним и тем же паролем на все случаи жизни, выбирать в качестве этого пароля девичью фамилию матери и рассказывать об этом по секрету случайным знакомым, можете считать, что вашими WM-деньгами никто, кроме вас, распорядиться не сумеет. Еще лучше, если у вас нет также и привычки забывать свои пароли. В системе WebMoney предусмотрены процедуры восстановления доступа к своей электронной наличности в случае утраты пароля входа и кода доступа к файлу ключей, однако на практике они могут потребовать от вас времени, энергии и даже денежных средств (впрочем, небольших). Ничего не попишешь — все-таки речь идет о защите денег.
"Интернет.Кошелек"
Теперь рассмотрим, как обстоят дела с защитой от несанкционированного доступа к электронному кошельку пользователя платежной системы "Яндекс.Деньги", скачавшего и установившего последнюю версию "Интернет.Кошелька". При первом запуске программа предложит создать пароль, а также позволит, собственно, зарегистрировать новый счет. Для создания ключа, предназначенного для защиты пользовательской информации, будет предложено нажать в случайном порядке 60 клавиш (запоминать последовательность нажатий не требуется).
Задание пароля для «Интернет.Кошелька» |
Заданный при установке программы пароль не следует забывать ни в коем случае, поскольку способа его восстановить попросту не предусмотрено. При этом утрата пароля равнозначна утрате доступа к счету в системе "Яндекс.Деньги". Однако и записывать пароль на бумажке, как советуют разработчики платежной системы, вряд ли целесообразно — ведь основная проблема "Интернет.Кошелька" как раз и состоит в том, что данный пароль, по сути дела, является единственным значимым барьером между злоумышленником и деньгами пользователя.
Одним из способов получения несанкционированного доступа может быть взлом защиты операционной системы с последующим копированием содержимого папки "Интернет.Кошелька" — по умолчанию это c:\iWallet\. При этом, как нами было замечено, ни сама программа, ни сопутствующие данные от копирования никак не защищены, а копия кошелька так же функциональна, как и оригинал, что позволяет производить любые платежи без ограничений сразу после ввода пароля. Впрочем, этот недостаток "Интернет.Кошелька" можно использовать и во благо: например, для повышения безопасности вполне допустимо перенести содержимое папки iWallet на флеш-карту или на внешний жесткий диск.
Достаточно интересным представляется и тот факт, что "Интернет.Кошелек" полноценно работает... посредством удаленного доступа — например, при обращении к нему по локальной сети. О системах удаленного администрирования и говорить нечего, а потому вряд ли можно рекомендовать устанавливать такие кошельки, например, на рабочих местах либо в интернет-кафе.
Таким образом, совершенно очевидно, что защита "Интернет.Кошелька" не выдерживает никакой критики, даже если не сравнивать ее с защитой WebMoney Keeper Classic. Единственное утешение состоит в том, что онлайновая версия кошелька "Яндекс.Денег" этих недостатков в некоторой степени избежала.