[Из песочницы] Не баг, а фича Вконтакте

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

image
Ввел пароль на левом сайте, а через час «ты» уже будешь просить друзей вконтакте закинуть 1000 руб на модем.

Улучшение безопасности


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

image

Конечно, это не предотвратило взломы, но злоумышленникам стало сложнее, ведь перед каждым входом, надо было смотреть из какой страны жертва и настраивать свой прокси или VPN на конкретную страну.

Авторизация: «email и пароль» или «номер и пароль»


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

image

И раз у каждого пользователя привязан мобильный телефон, то давайте откроем вход с помощью мобильного телефона? Вконтакте делает все для удобства пользователей.

image

Проблема


Ничего странного не замечаете? Если пользователь на фишинговом сайте ввел свой телефон и пароль, а не почту и пароль, то проверка ввода цифр телефона становится бессмысленной.

Текущее положение дел


На сайтах, где продают аккаунты, цены на «почта: пароль» и «номер: пароль» сильно различаются. Это говорит нам о том, что злоумышленники предпочитают «номер: пароль», так как не любят возиться с VPN и прокси.

image

Решение проблемы


Как видим, проверка цифр телефона сейчас является неэффективной.
В связи с этим стоит изменить проверку пользователя, который входит с ip другой страны.
Например так:

  • Если с ip другой страны вводят почту и пароль, то спрашивать цифры телефона.
    Если вводят номер телефона и пароль, то спрашивать часть почты.
  • Спрашивать имя или фамилию, а не цифры телефона


P.S
Используйте двухфакторную аутентификацию, она позволяет полностью исключить взлом аккаунта с помощью фишинга.

Если вдруг вы решите ввести свои данные на фишинговом сайте, то вводите почту, а не номер телефона.

© Geektimes