Веб-приложения – это сайты, которые взаимодействуют с пользователями. Например, электронная почта, личный кабинет банка или интернет-магазина, корпоративный портал для сотрудников и т.п. Такие интерактивные ресурсы стали еще более актуальными за время пандемии, когда многие активности перешли в онлайн и интернет стал ключевым каналом взаимодействия с клиентами, бизнес-партнерами и коллегами.
«Плохо защищенное веб-приложение открывает злоумышленникам массу возможностей. Это может быть доступ в локальную сеть компании, контроль над сервером, нарушение работы самого приложения, распространение вредоносного ПО, кража базы данных и многое другое. При этом большинство уязвимостей и недостатков, которые мы находим в ходе тестирований на проникновение, имеют достаточно низкую сложность эксплуатации, то есть провести удачную атаку с их помощью могут даже хакеры-любители, не говоря уже о профессиональных киберпреступниках. Это делает веб-приложение одним из самых уязвимых элементов внешнего периметра. Поэтому важно анализировать защищенность разрабатываемых приложений до их вывода в продуктив, а также в процессе обновлений, чтобы максимально исправить критические уязвимости», – отметил руководитель отдела анализа защищенности компании «Ростелеком-Солар» Александр Колесов.
Самые распространенные веб-уязвимости – это некорректная настройка прав доступа и раскрытие конфигурационных данных. Некорректная настройка прав доступа позволяет пользователю выполнять действия, на которые у него не должно быть прав, например, повысить свою учетную запись до уровня администратора. Эта уязвимость связана со сложной логикой современных веб-приложений, которые включают в себя различную функциональность для большого количества пользовательских ролей.
При раскрытии конфигурационных данных злоумышленник получает информацию о структуре веб-приложения (внутренние IP-адреса, API-ключи, отладочные сценарии, журналы приложений). При этом в журналах приложений, помимо технической информации, иногда можно найти и персональные данные клиентов и сотрудников организации.
Некоторые обнаруженные уязвимости позволяют проникнуть в сеть компании даже без полного «захвата» приложения. Например, подделав запрос на стороне сервера (SSRF). С помощью данной уязвимости злоумышленник может отправлять от имени сервера запросы как к внешним, так и к внутренним ресурсам и извлекать закрытую информацию из системы. Такой сценарий возможен, когда приложение, получив URL-адрес или HTTP-сообщение, не проверяет адреса назначения перед отправкой запроса.
Также в некоторых системах эксперты нашли ошибки, позволяющие совершить атаку непосредственно на пользователя (например, межсайтовый скриптинг – XSS). Такие атаки работают по следующему принципу: в приложение внедряется JavaScript-код, который затем исполняется в браузере жертвы. Цели у хакеров могут быть разные: выполнение действий от имени пользователя, кража его личных данных, майнинг криптовалют и многое другое.
Помимо веб-приложений также вероятной точкой проникновения в корпоративную сеть являются системы удаленного доступа (например, VPN или RDP). В период пандемии количество подобных атак значительно выросло, так как многие компании перешли на удаленный режим работы. Распространенным недостатком здесь являются отсутствие дополнительного фактора аутентификации при подключении к сервису, а также слабые и повторяющиеся пароли пользователей. Часто злоумышленники получают доступ в сеть через VPN-подключение с помощью ранее скомпрометированного пароля.