"Запомнить меня": защита аккаунта от воровства куки

Клиент - инвестиционный портал.

Задача: Предотвратить случаи несанкционированного доступа в аккаунт пользователя связанные с воровством куки.

Решение: Верификационный хеш с использованием слепка браузера и других параметров. Запретит доступ при воровстве куки даже при заражении компьютера вирусом и использования его же браузера для управления аккаунтом.

Защита аккаунта от взлома

 

Не санкционированный доступ к аккаунту с использованием воровства куки может произойти в двух случаях:

  1. торян, который ворует куки и получает доступом к сайту на удаленном сервере.
  2. троян удаленного доступа, который использует прямо твой браузер для действий в личном аккаунте пользователя.

 

Слепок браузера, который генерирует система KillBot идеально подходит для решения задачи воровства куки.

 

При конверсионном действии происходит контроль браузера пользователя: построение слепка браузера и хеш контроль на стороне сервера. На стороне клиента это реализовано простой установкой галочки "Я не робот". 

Перестроение слепка при установке галочки "Я не робот"

При нажатии на "Я не робот" строится слепок браузера и осуществляется расчет контрольных сумм, что пользователь использует тот же браузер.

Контрольная сумма на стороне сервера рассчитывается так:

md5($killbot_snapshot.$canvas_fingerprint);

Здесь:

  • $killbot_snapshot - слепок браузера
  • $canvas_fingerprint - уникальный идентификатор на основе железа пользователя - можете гуглануть что это такое.

Слепок браузера защитит от автоматизированной атаки, так как слепок программы автоматизированного доступа на сайт будет другим. Дополнительный параметр, такой как canvas_fingerprint  нужен чтобы исключить возможность ручной подмены куки в настоящем браузере на стороне злоумышленника.

Для усиления защиты в контрольную сумму можно добавить и любые дополнительные параметры.

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

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


 

Теги