Новое исследование Digital Security выявило множественные уязвимости в SAP NetWeaver

20.06.2016

Исследование компании Digital Security, специализирующейся на анализе защищенности систем, выявило многочисленные уязвимости в SAP NetWeaver, программном решении компании SAP, которое является технической основой для всех приложений SAP Business Suite. Продукты на базе SAP NW используются в тысячах компаний по всему миру, в том числе – в России и СНГ.
Ваагн Вардянян, исследователь департамента аудита безопасности SAP, автор работы, провел анализ безопасности JAVA-компонентов SAP NetWeaver. Сканирование проводилось по 7348 SAP-серверам, доступным через Интернет. На сервере, где проводилось исследование, было установлено около 1400 компонентов (приложений). 

Эксплуатация уязвимостей

В ходе анализа безопасности SAP NetWeaver было обнаружено множество уязвимостей, включая уязвимость разглашения информации, SQL injection, ошибку хеширования паролей. Совместное использование этих проблем безопасности в некоторых случаях дает возможность получить сначала логины пользователей, потом зашифрованные пароли, далее, вследствие неправильной реализации хеширования, – завладеть паролем любого пользователя SAP JAVA.

Если злоумышленник обнаружит одну или несколько из перечисленных уязвимостей, последствия могут быть разными. К примеру, используя только багу разглашения логинов пользователей, он может получить логины пользователей и открыть портал по адресу /irj/portal. Далее, если он начнет вводить неправильные пароли к логинам, после 3-5 попыток будут заблокированы все учетные записи, и бизнес-процессы атакуемой компании просто остановятся, пока администраторы не разблокируют их в ручном режиме.

Другой вектор атак может быть связан с SQL injection. Используя эту уязвимость, злоумышленник может отправить 3-10 веб-запросов на сервер SAP NW JAVA и запросить от базы большой объем данных. Далее, БД задействует все ресурсы сервера для удовлетворения запроса атакующего, при этом сервер перестанет отвечать на все легитимные запросы от сотрудников SAP. И перед нами – классическая картина DoS. Кроме того, злоумышленник может просто получить любые данные, включая критичные, из БД SAP NW JAVA без организации DoS-атаки.

И, наконец, эксплуатация SQL injection позволит добыть хеши пользователей. А если будет задействована и уязвимость, связанная с ошибкой хеширования паролей, то возможно будет «в один клик» завладеть паролем администратора или бухгалтера, похитить денежные средства со счетов компании и перевести их в какой-либо банк, а также получить полную базу пользователей, доступ к персональной информации с возможностью последующей продажи.

Исследование показало, что уязвимости разглашения информации подвержено около 1013 серверов (~14% от общего числа отсканированных серверов, 7348).

Статистика по каждому порту

 Порт  Количество уязвимых серверов   Просканировано всего серверов
  80   178 (12%)   1446
  443   223 (11%)   1899
  50 000   612 (15%)   3983

Также красноречиво выглядит статистика доступности сервлета, в котором может содержаться уязвимость SQL injection: 2174 серверов (т.е. ~30% от общего числа отсканированных серверов, 7348).

 Порт  Количество уязвимых серверов   Просканировано всего серверов
  80   397 (27%)   1446
  443   1176 (61%)   1899
  50 000   601 (15%)   3983

Исследователь Digital Security уведомил компанию SAP о найденных уязвимостях, вендор оперативно выпустил патчи и рекомендовал своим пользователям произвести обновления. Некоторым из обнаруженных проблем безопасности был присвоен критичный уровень риска (9.1/10, по классификации SAP).

Патчи доступны по ссылкам:

1) Разглашение пользователей https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2016-3973 https://service.sap.com/sap/support/notes/2255990

2) SQL injection https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2016-2386 https://service.sap.com/sap/support/notes/2101079

3) Ошибка хеширования паролей https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2016-1910 https://service.sap.com/sap/support/notes/2101079

Стоит подчеркнуть, что данные получены за счет анализа серверов, выставленных «наружу», т.е. в Интернет. Остается только гадать, какое количество уязвимых серверов находятся за файерволами.