Большинство веб-приложений работают с личными и/или деловыми данными, другими словами, с конфиденциальными данными. Пароли, адреса электронной почты, номера кредитных карт, медицинские данные и многое другое находится в центре борьбы. С одной стороны малые, средние и крупные компании, стремящиеся защититься от вторжений в свои информационные системы. С другой стороны все более опытные злоумышленники, которых привлекает жажда наживы и стимулируют многочисленные нарушения, которые слишком часто игнорируются их будущими жертвами.
Веб-приложения — основные объекты кибер-атак
Будучи открытыми для общественности, веб-приложения, естественно, имеют большую поверхность атаки и, возможно, функциональность с большим количеством различных потенциально уязвимых элементов. Даже на защищенном веб-сервере, работающем под управлением надежной операционной системы, могут оставаться недостатки безопасности, поскольку они в основном связаны с ошибками программирования в самом приложении или ошибками конфигурации сервера, на котором оно размещено.
Внедрение мер безопасности, адаптированных к вашим задачам, повышение осведомленности или обучение ваших команд, а также проведение тестов на проникновение — все это рычаги, доступные для укрепления вашей безопасности и защиты от возможных атак, которые мы представим в этой статье.
Каковы распространенные уязвимости веб-приложений и как вы можете защитить себя
Функция аутентификации
Конечно, веб-приложение может быть атаковано разными способами. Атака на функцию аутентификации является самой прямой и очевидной. Наиболее распространенной атакой на системы аутентификации является атака с перебором. В этом случае злоумышленник, используя специальные инструменты, бомбардирует страницу аутентификации значениями имени пользователя и пароля до тех пор, пока не получит доступ к веб-приложению.
Этот тип атаки облегчается, если в сообщении об ошибке при неудачной аутентификации указывается происхождение ошибки. Например, «Пользователь не существует» позволяет атакующему не пытаться вводить пароли для пользователя, которого нет в базе учетных записей. «Неверный пароль» позволяет атакующему сосредоточиться на этом пользователе, что экономит много времени.
Существует множество вариаций атак методом перебора. Одной из них является «распыление паролей», которое заключается в проверке ограниченного набора паролей на нескольких учетных записях. В этом случае злоумышленники пытаются получить доступ к платформе, проверяя небольшое количество часто используемых паролей на большом количестве учетных записей. Они предполагают, что в большой группе людей, скорее всего, найдется хотя бы один человек, использующий общий пароль, и, к сожалению, так часто и происходит.
Конкретный пример атаки с распылением пароля на SaaS-приложение:
- Извлечение профилей компании в LinkedIn
- Создание электронных писем из имени, фамилии и шаблона
- Перебор паролей в бэкофисе с использованием небольшого списка паролей: Company, company, company2021, company2021, company2021, company2021! и company2021!
- Получение учетной записи администратора с доступом к бэк-офису
- Получение списка всех пользователей с доступом к бэк-офису
- Снова перебор паролей, что позволило получить другие учетные записи
Вот что помогает улучшить безопасность:
- Защита механизма входа в систему путем ограничения количества недействительных входов и увеличения задержки после и между каждой попыткой входа.
- Внедрение системы многофакторной аутентификации (как минимум двух), чтобы убедиться, что процесс входа в систему осуществляется человеком, а не ботом. Это может быть ответ на секретный вопрос, ввод кода, полученного по SMS, или ответ на тест Captcha.
- Другие простые меры (строгая политика паролей, общие сообщения об ошибках, регулярная проверка журналов и т. д.), постоянное повышение осведомленности и обучение веб-безопасности являются хорошими способами защиты от этого типа атак.