Skip to main content

Как предотвратить подделку сайтов?

Межсайтовая подделка (XSRF или CSRF), также известная под разными именами, включая подделку межсайтовых запросов, обработку сеанса и атаку одним щелчком, является трудным типом эксплойта веб-сайта, который можно предотвратить. Он работает, обманывая веб-браузер, отправляя неавторизованные команды на удаленный сервер. Межсайтовые подделки работают только против пользователей, которые вошли на веб-сайты с аутентичными учетными данными; в результате выход из веб-сайтов может быть простой и эффективной профилактической мерой. Веб-разработчики могут использовать случайно сгенерированные токены, чтобы помочь предотвратить этот тип атаки, но следует избегать проверки реферера или использования куки.

Для подделок межсайтовых атак характерно использование целевых веб-браузеров в так называемой «запутанной атаке депутатов». Считая, что они действуют от имени пользователя, браузер обманом отправляет несанкционированные команды на удаленный сервер. Эти команды могут быть скрыты внутри, казалось бы, невинных частей кода разметки веб-страницы, что означает, что браузер, пытающийся загрузить файл изображения, может фактически отправлять команды в банк, интернет-магазин или сайт социальной сети. Некоторые браузеры теперь включают меры, разработанные для предотвращения мошеннических атак между сайтами, и сторонние программисты создали расширения или плагины, в которых отсутствуют эти меры. Также может быть хорошей идеей отключить электронную почту на языке разметки гипертекста (HTML) в предпочитаемом клиенте, поскольку эти программы также уязвимы для атак с использованием подделок сайтов.

Поскольку мошеннические атаки между сайтами полагаются на пользователей, которые законно зашли на сайт. Учитывая это, одним из самых простых способов предотвращения такой атаки является простой выход из сайтов, которые вы закончили использовать. Многие сайты, которые работают с конфиденциальными данными, в том числе банки и брокерские фирмы, делают это автоматически после определенного периода бездействия. Другие сайты используют противоположный подход и позволяют пользователям постоянно входить в систему в течение нескольких дней или недель. Хотя это может показаться вам удобным, оно подвергает вас атакам CSRF. Найдите параметр «Запомнить меня на этом компьютере» или «Оставьте меня в системе» и отключите его, а также обязательно нажмите на ссылку «Выход из системы» после завершения сеанса.

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