Исследование компании Digital Security, выявило многочисленные уязвимости в SAP NetWeaver, программном решении компании SAP, которое является технической основой для всех приложений SAP Business Suite. Продукты на базе SAP NW используются в тысячах компаний по всему миру, в том числе – в России и СНГ.
Ваагн Вардянян, исследователь департамента аудита безопасности SAP, автор работы, провел анализ безопасности JAVA-компонентов SAP NetWeaver. Сканирование проводилось по 7348 SAP-серверам, доступным через Интернет. На сервере, где проводилось исследование, было установлено около 1400 компонентов (приложений).
Эксплуатация уязвимостей
В ходе анализа безопасности SAP NetWeaver было обнаружено множество уязвимостей, включая уязвимость разглашения информации, SQLinjection, ошибку хеширования паролей. Совместное использование этих проблем безопасности в некоторых случаях дает возможность получить сначала логины пользователей, потом зашифрованные пароли, далее, вследствие неправильной реализации хеширования, – завладеть паролем любого пользователя SAPJAVA.
Если злоумышленник обнаружит одну или несколько из перечисленных уязвимостей, последствия могут быть разными. К примеру, используя только багу разглашения логинов пользователей, он может получить логины пользователей и открыть портал по адресу /irj/portal. Далее, если он начнет вводить неправильные пароли к логинам, после 3-5 попыток будут заблокированы все учетные записи, и бизнес-процессы атакуемой компании просто остановятся, пока администраторы не разблокируют их в ручном режиме.
Другой вектор атак может быть связан с SQL injection. Используя эту уязвимость, злоумышленник может отправить 3-10 веб-запросов на сервер SAP NW JAVA и запросить от базы большой объем данных. Далее, БД задействует все ресурсы сервера для удовлетворения запроса атакующего, при этом сервер перестанет отвечать на все легитимные запросы от сотрудников SAP. И перед нами – классическая картина DoS.
Кроме того, злоумышленник может просто получить любые данные, включая критичные, из БД SAP NW JAVA без организации DoS-атаки.
И, наконец, эксплуатация SQLinjectionпозволит добыть хеши пользователей. А если будет задействована и уязвимость, связанная с ошибкой хеширования паролей, то возможно будет «в один клик» завладеть паролем администратора или бухгалтера, похитить денежные средства со счетов компании и перевести их в какой-либо банк, а также получить полную базу пользователей, доступ к персональной информации с возможностью последующей продажи.
Исследование показало, что уязвимости разглашения информации подвержено около 1013 серверов (~14% от общего числа отсканированных серверов, 7348).
Статистика по каждому порту
Порт |
Количество уязвимых серверов |
Просканировано всего серверов |
80 |
178 (12%) |
1446 |
443 |
223 (11%) |
1899 |
50000 |
612 (15%) |
3983 |
Также красноречиво выглядит статистика доступности сервлета, в котором может содержаться уязвимость SQL injection: 2174 серверов (т.е. ~30% от общего числа отсканированных серверов, 7348).
Порт |
Количество уязвимых серверов |
Просканировано всего серверов |
80 |
397 (27%) |
1446 |
443 |
1176 (61%) |
1899 |
50000 |
601 (15%) |
3983 |
Исследователь DigitalSecurityуведомил компанию SAPо найденных уязвимостях, вендор оперативно выпустил патчи и рекомендовал своим пользователям произвести обновления. Некоторым из обнаруженных проблем безопасности был присвоен критичный уровень риска (9.1/10, по классификации SAP).