Author

Topic: Как защитить пользователей от мошеннико&#1074 (Read 162 times)

newbie
Activity: 13
Merit: 0
Например, у Вас есть какой-нибудь криптообменник или интернет-магазин, продающий за криптовалюту или еще какой-то раскрученный сервис. Но потом по какой-либо причине Вам нужно сменить адрес сайта. Или Вы открываете на другом адресе еще какой-то свой сервис. Как доказать своим пользователям, что этот новый адрес тоже Ваш? Что это не мошенник какой-то действует от Вашего имени, который тупо соберет деньги с пользователей и кинет их.

Пожалуй, самый известный в русскоязычном Интернете пример того как сервис пытается решить эту проблему - "азино три топора". Они выпускают отдельные ролики на тему того: "посмотрите и запомните как выглядит наш сайт и не попадитесь уловки мошенников". Но мы то знаем, что мошенники внешний вид сайта подделать могут очень просто. Поэтому такое доказательство принадлежности сайта именно "азино трем топорам" - недостаточное.

Это касается любых сервисов, не имеющих строго заданного центра. Конечно, если центр есть, то именно в нем располагаются ссылки на все существующие сайты группы компаний. Как например, на правительственных сайтах выкладывают ссылки на разные министерства и ведомства. Если центра нет, то у пользователей всегда есть риск попасться на развод.

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

Например: ключ сервиса "ya_normalny_pacan". Вопрос пользователя "how do you do". Скрипт проверки сцепляет строки. Получается строка: "how do you doya_normalny_pacan". Потом считает хэш полученного слова: "b7fe1c279a92ce3f59fea88f0135943de7323c7000ca15f53e7cad69d2cc3a30". Пользователь сверяет это слово с тем, что ему выдает заведомо правильный сайт. Если совпадает, то все окей.

Мошенник не знает слова "ya_normalny_pacan". Допустим, он наугад выбрал другое слово "ya_nenormalny_pacan". Тогда его ответ пользователю получится такой: "9fdb5b905c96a9e1559ff9cecf147881b0243836afcaba03cd5ed8f6f22bc779". Пользователь видит, что ответ отличается и уходит с сайта мошенника.

Как то так. Конечно, 64-значные ответы сложно сравнивать простому человеку, поэтому надо немного усложнить скрипт расчета ответа таким образом, чтобы он выдавал ответ в виде 4-8 символов. Тогда человек точно без шпаргалок сможет сверить ответ сервиса. Еще для зарегистрированных пользователей можно сделать ответ, заданный ими самими. Например, пользователь у себя в личном кабинете указывает, что на вопрос "how do you do" сайт должен отвечать "ofigenno". И этот ответ должен ретранслироваться на все сайты сервиса.

Еще, чтобы мошенник не закурлил ответ с оригинального сайта, можно ответ отправлять на емаил пользователя (но, как вы понимаете, это работает только для уже зарегистрированных на другом сайте сервиса пользователей). И конечно, в письме желательно написать ссылку на настоящий сайт, чтобы пользователь по ошибке не продолжил свои действия на мошенническом сайте.

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

Я на гитхаб https://github.com/ilyamain/dear выложил простой бесплатный скрипт, который вот это вот делает. Если кому надо более сложный скрипт - обращайтесь, решим вопрос Wink
Jump to: