Защита WM Keeper Light и «Яндекс.Денег»
изучение защиты от несанкционированного доступа в онлайн-клиентах двух российских платежных систем
Сравнительный анализ защиты от несанкционированного доступа Windows-клиентов для работы с платежными системами WebMoney и «Яндекс.Деньги» показал, что все преимущества здесь имеет WebMoney Keeper Classic. Однако обе системы, помимо программных клиентов, предлагают и онлайновые сервисы. И это правильно, поскольку в наши дни все большее число пользователей отказывается от обычных программ в пользу тех или иных веб-приложений. В этой тенденции, безусловно, есть рациональное зерно: веб-приложения не занимают места на жестком диске, способны работать в различных операционных системах, существенно упрощают миграцию пользователей с компьютера на компьютер и обеспечивают сохранность пользовательских данных независимо от работоспособности операционной системы и оборудования.
В свете этого вполне логично выяснить, как справляются с защитой электронных денег, находящихся на кошельках пользователей, онлайн-клиенты означенных систем.
WebMoney Keeper Light
WebMoney Keeper Classic, программа-клиент, предназначенная для работы с интернет-кошельками в платежной системе WebMoney, показалась нам достаточно надежной в плане защиты пользовательского аккаунта от несанкционированного доступа. Посмотрим теперь, как обстоят дела с WebMoney Keeper Light — веб-приложением с аналогичным функционалом.
Защита кошельков здесь, как и в случае с программой-клиентом, обеспечивается при помощи персонального сертификата, который создается при регистрации на сервисе. Именно этот сертификат является тем самым ключом, который открывает доступ к кошелькам и позволяет осуществлять платежи.
В отличие от WebMoney Keeper Classic при работе с веб-приложением сертификат устанавливается в так называемое "хранилище сертификатов" используемого веб-браузера, причем при установке требуется указать пароль к данному сертификату. После этого, чтобы начать работу с веб-приложением, достаточно лишь перейти по адресу light.webmoney.ru и выбрать метод авторизации посредством сертификата X.509.
Обычный вход в WebMoney Keeper Light |
По завершении сеанса работы с сервисом сертификат рекомендуется удалить из хранилища, чтобы исключить возможность несанкционированного доступа к аккаунту. С теоретической точки зрения подобный подход гарантирует едва ли не стопроцентную безопасность — при том условии, что сам сертификат хранится в безопасном месте (например, на отдельном носителе) и защищен надежным паролем. Однако трудно поверить в то, что на практике каждый пользователь и в самом деле будет регулярно удалять сертификат из хранилища и перезапускать браузер по завершении работы.
К чему может привести подобная безответственность? Что ж, приведем конкретный пример. Предположим, что пользователь, отдающий предпочтение браузеру Firefox, закончив работу с кошельком, не удалил за собой сертификат. Это означает, что нехитрая манипуляция по простому переносу содержимого пользовательских папок браузера с одного компьютера на другой (в операционных системах семейства Windows это будет папка вида C:\Documents and Settings\Username\Local Settings\Application Data\Mozilla\Firefox\Profiles\4lsbml8c.default) приведет ко вполне предсказуемому результату: при первом же обращении к WebMoney Keeper Light злоумышленник сможет воспользоваться сертификатом и без проблем осуществить любую платежную операцию.
Подчеркнем, однако, что подобная ситуация может возникнуть лишь из-за небрежности пользователя, а потому в данном случае создателей платежной системы упрекнуть не в чем. Тем более что они позаботились и о возможности ограничения доступа к кошельку только для пользователя с определенным IP-адресом или группой адресов. Помимо этого предусмотрены и альтернативные способы авторизации, наиболее удобным и безопасным из которых нам видится авторизация при помощи E-num.
После регистрации на данном сервисе вы получаете возможность установить на свой мобильный телефон особое Java-приложение — шифроблокнот E-num. В дальнейшем при входе в онлайновый кошелек вам потребуется указать свой электронный адрес, после чего на экране появится контрольное число. Правильный ответ на это контрольное число может быть сгенерирован только вашим шифроблокнотом, поскольку каждый такой шифроблокнот уникален.
E-num-авторизация в WebMoney Keeper Light |
Преимущества этого способа авторизации очевидны. Во-первых, не требуется совершать никаких манипуляций, связанных с установкой и удалением сертификата. Во-вторых, владелец кошелька больше не прикован к своему домашнему компьютеру и может пользоваться кошельком в любом месте, где есть доступ к Интернету. Причем даже в этом случае безопасность вряд ли пострадает, особенно если защитить Java-приложение паролем — а такая возможность разработчиками тоже предусмотрена.
Еще одной полезной функцией E-num является уведомление по электронной почте о каждой попытке авторизации, осуществленной при помощи сервиса. Это означает, что, если кто-либо попытается воспользоваться этой системой для доступа к вашим кошелькам, вы немедленно получите сообщение об этом и сможете попросту отключить возможность авторизации с использованием E-num.
Кстати, наличие подобного способа авторизации имеет еще одну немаловажную роль: вероятность того, что пользователь потеряет одновременно и свой сертификат, и свой мобильный телефон, не так уж велика. Это означает, что сложной и достаточно длительной процедурой восстановления утраченного контроля над аккаунтом пользоваться, скорее всего, не придется.
Такая процедура тем не менее существует и четко регламентирована. Она предполагает, в частности, предъявление ксерокопий документов, подтверждающих личность пользователя (при регистрации в системе WebMoney пользователь предоставляет о себе такую информацию, как настоящие фамилия, имя и отчество, адрес и т. п.).
"Яндекс.Деньги"
Онлайн-версия кошелька "Яндекс.Денег" защищена на первый взгляд несколько лучше, чем программа "Интернет.Кошелек", рассмотренная нами ранее. Ведь помимо действующей авторизации на «Яндексе» (сервис "Яндекс.Паспорт"), для осуществления платежей пользователю требуется ввести платежный пароль, причем, если со времени предыдущего ввода пароля прошло более пятнадцати минут, сессия авторизации истекает и пароль требуется вводить заново.
Платежный пароль задается пользователем непосредственно при создании онлайнового кошелька. Он должен состоять не менее чем из шести символов и не может совпадать с паролем авторизации на "Яндексе". Кроме того, при регистрации сервис потребует ввести кодовое число, в котором должно быть пять или больше символов, а также попросит указать номер телефона. И кодовое число, и введенный номер телефона выполняют роль контрольных вопросов, которые будут заданы при восстановлении платежного пароля в случае его утраты.
Заведение платежного пароля на «Яндексе» |
Такой набор кодовых вопросов может показаться несколько странным, если не знать, какой логикой руководствовалась команда разработчиков. А дело все в том, что рядовые вопросы-подсказки типа "Девичья фамилия матери" или "Имя домашнего любимца" здесь сочли недостаточно безопасными, поскольку данные такого рода легко обнаружить в блогах, на форумах и в социальных сетях. Идея о том, чтобы дать пользователю выбрать кодовый вопрос на собственное усмотрение, также была отметена как недостаточно зрелая, поскольку, по мнению сотрудников компании, заметное число пользователей используют в подобных случаях вопросы типа "сколько будет дважды два" с соответствующим ответом.
Однако разработчики не учли одной особенности психологии пользователей, подавляющее большинство которых при регистрации на каком бы то ни было веб-сервисе выбирают опцию по умолчанию. В данном случае по умолчанию предлагается, по сути дела, ввести номер паспорта или ICQ.
Насколько это безопасно? Что ж, взлом кошелька в данном случае будет сведен к "угону" почтового ящика — ведь именно по почте будет выслана ссылка на восстановление пароля. После этого узнать номер телефона, номер "аськи" и номер паспорта может стать делом нескольких минут. К счастью, работа взломщика осложняется тем, что при восстановлении платежного пароля даются всего лишь четыре попытки на ввод кода и номера телефона, после чего система автоматического напоминания пароля блокируется для данного аккаунта навсегда.
Восстановление платежного пароля на «Яндексе» |
Интересный момент: как показала практика, введенное кодовое число запоминает далеко не каждый пользователь. Да и воспроизвести указанный при регистрации телефон тоже не всегда легко, ведь номер мог быть записан разными способами — например, с региональным префиксом или без него. В связи с чем возникает вполне естественный вопрос: от кого подобная система более надежно защищает платежный пароль — от злоумышленника или от добропорядочного пользователя? Ответ очевиден: в отличие от законного владельца кошелька взломщик вряд ли когда-либо забудет, что при регистрации сервис рекомендует вводить именно номер паспорта или ICQ.
В случае блокировки доступа к системе автоматического восстановления пароля денежные средства можно будет вернуть только после личного обращения в офис компании и предъявления документов, удостоверяющих личность, либо путем отправки заявления обычной почтой с нотариально заверенной подписью. Однако такая возможность доступна только тем, кто при регистрации на сервисе указал свои паспортные данные, что, однако, не является обязательным условием для создания кошелька в данной платежной системе.
Выводы, пожалуй, очевидны: хотя онлайновая версия "Яндекс.Денег" предоставляет несколько более серьезную защиту от несанкционированного доступа, чем программа "Интернет.Кошелек", назвать ее всесторонней никоим образом нельзя. Грамотная реализация хотя бы такой функции, как ограничение доступа по IP-адресу, могла бы существенно эту защиту укрепить, однако разработчики сервиса за два с половиной года, прошедших с момента запуска веб-интерфейса, по каким-то загадочным причинам этого не сделали.