Клиент - инвестиционный портал.
Задача: Предотвратить случаи несанкционированного доступа в аккаунт пользователя связанные с воровством куки.
Решение: Верификационный хеш с использованием слепка браузера и других параметров. Запретит доступ при воровстве куки даже при заражении компьютера вирусом и использования его же браузера для управления аккаунтом.
Не санкционированный доступ к аккаунту с использованием воровства куки может произойти в двух случаях:
- торян, который ворует куки и получает доступом к сайту на удаленном сервере.
- троян удаленного доступа, который использует прямо твой браузер для действий в личном аккаунте пользователя.
Слепок браузера, который генерирует система KillBot идеально подходит для решения задачи воровства куки.
При конверсионном действии происходит контроль браузера пользователя: построение слепка браузера и хеш контроль на стороне сервера. На стороне клиента это реализовано простой установкой галочки "Я не робот".
При нажатии на "Я не робот" строится слепок браузера и осуществляется расчет контрольных сумм, что пользователь использует тот же браузер.
Контрольная сумма на стороне сервера рассчитывается так:
md5($killbot_snapshot.$canvas_fingerprint);
Здесь:
- $killbot_snapshot - слепок браузера
- $canvas_fingerprint - уникальный идентификатор на основе железа пользователя - можете гуглануть что это такое.
Слепок браузера защитит от автоматизированной атаки, так как слепок программы автоматизированного доступа на сайт будет другим. Дополнительный параметр, такой как canvas_fingerprint нужен чтобы исключить возможность ручной подмены куки в настоящем браузере на стороне злоумышленника.
Для усиления защиты в контрольную сумму можно добавить и любые дополнительные параметры.
В случае не совпадения контрольного хеш будет осуществел выход из акаунта и предложение залогинится с использованием дублирующей двухфакторной аутентификации на смс и e-mail. Взломать одновременно телефон и электронную почту пользователя сложнее.
Обратите внимание, что эффект воровства куки может быть вызван и осознанным импортом куки с одного браузера на другой. Поэтому наш подход использования двух двухфакторных аутентификаций надёжен, так как в случае этого события реальный пользователь пройдет аутентификацию без проблем, а злоумышленнику это будет затруднительно, так как ему нужно будет перехватить уже две сущности - смс и e-mail. Но, в любом случае, финальное решение при выявление этого действия можно изменить - все зависит от требований. Можно, например, связываться с клиентом для подтверждения действия.