руководство по анализу безопасности

advertisement
[EASSEC-AIAG-ABAP]
ENTERPRISE APPLICATION SOFTWARE SECURITY PROJECT
APPLICATION IMPLEMENTATION ASSESSMENT GUIDE FOR ABAP
РУКОВОДСТВО ПО АНАЛИЗУ БЕЗОПАСНОСТИ ПЛАТФОРМЫ
SAP NETWEAVER ABAP
ИЗДАНИЕ 2013 ГОДА
Авторы:
Александр Поляков
Кирилл Никитенков
При содействии:
Николай Мещерин
Евгений Неёлов
Дмитрий Частухин
Р УКОВОДСТВО ПО АНАЛИЗУ БЕЗОПАСНОСТИ ПЛАТФОРМЫ SAP NET W EAVER ABAP 2013
Содержание
Примечание................................................................................................................................................. 4
Введение ....................................................................................................................................................... 5
Проект EAS-SEC (OWASP-EAS) .............................................................................................................. 6
Открытый проект по безопасности ....................................................................................................... 6
Цели проекта .............................................................................................................................................. 6
Руководство по оценке ............................................................................................................................. 7
Общая информация ................................................................................................................................... 8
Топ-9 критичных областей защиты бизнес-приложений ................................................................. 8
33 шага безопасной настройки SAP NetWeaver ABAP ........................................................... 10
Описание руководства ............................................................................................................................ 10
33 шага на пути к безопасности............................................................................................................ 11
Детальное руководство ...................................................................................................................... 13
1. Недостатки управления обновлениями .......................................................................................... 13
 [EASAI-NA-01] Проверка обновлений компонентов (SAP Notes) ....................................................... 13
 [EASAI-NA-02] Проверка обновлений ядра .................................................................................................... 14
2. Пароли по умолчанию для доступа к приложению ...................................................................... 15
 [EASAI-NA-03] Проверка стандартного пароля для пользователя SAP* ........................................ 16
 [EASAI-NA-04] Проверка стандартного пароля для пользователя DDIC ....................................... 16
 [EASAI-NA-05] Проверка стандартного пароля для SAPCPIC ............................................................... 17
 [EASAI-NA-06] Проверка стандартного пароля для TMSADM .............................................................. 18
 [EASAI-NA-07] Проверка стандартного пароля для EARLYWATCH ................................................... 19
3. Необязательный доступный функционал ...................................................................................... 20
 [EASAI-NA-08] Доступ к RFC-функциям через SOAP-интерфейс......................................................... 21
 [EASAI-NA-09] Доступ к RFC-функциям через FORM-интерфейс ....................................................... 21
 [EASAI-NA-10] Доступ к интеграционному сервису (XI) через SOAP-интерфейс ...................... 22
4. Открытые удаленные интерфейсы управления............................................................................ 22
 [EASAI-NA-11] Неавторизованный доступ к функциям сервиса SAPControl (SAP MMC) ....... 23
 [EASAI-NA-12] Неавторизованный доступ к функциям сервиса SAP Host Control.................... 24
 [EASAI-NA-13] Неавторизованный доступ к функциям сервиса SAP Message Server.............. 26
 [EASAI-NA-14] Неавторизованный доступ к СУБД Oracle....................................................................... 27
www.erpscan.com•www.eas-sec.org•www.owasp.org
2
Р УКОВОДСТВО ПО АНАЛИЗУ БЕЗОПАСНОСТИ ПЛАТФОРМЫ SAP NET W EAVER ABAP 2013
5. Небезопасные настройки ................................................................................................................... 28
 [EASAI-NA-15] Минимальная длина пароля .................................................................................................. 28
 [EASAI-NA-16] Количество неудачных попыток аутентификации до блокировки учетной
записи .................................................................................................................................................................................... 29
 [EASAI-NA-17] Соответствие пароля установленным политикам безопасности ..................... 29
 [EASAI-NA-18] Настройки контроля доступа RFC (reginfo.dat) ........................................................... 30
 [EASAI-NA-19] Настройки контроля доступа RFC (secinfo.dat)............................................................ 31
6. Контроль доступа и SoD-конфликты ............................................................................................... 33
 [EASAI-NA-20] Проверка учетных записей с профилем SAP_ALL ....................................................... 33
 [EASAI-NA-21] Проверка учетных записей, которые могут запускать любые программы . 34
 [EASAI-NA-22] Проверка учетных записей с правами на изменение критичных таблиц с
паролями ............................................................................................................................................................................. 35
 [EASAI-NA-23] Проверка учетных записей, которые могут выполнять команды ОС ............. 36
 [EASAI-NA-24] Проверка отключенных авторизаций .............................................................................. 36
7. Незашифрованные соединения ........................................................................................................ 37
 [EASAI-NA-25] Использование шифрования SSL для защиты HTTP-соединений..................... 38
 [EASAI-NA-26] Использование шифрования SNC для защиты клиентских соединений SAP
GUI ........................................................................................................................................................................................... 39
 [EASAI-NA-27] Использование шифрования SNC для защиты RFC-соединений между
системами ........................................................................................................................................................................... 40
8. Небезопасные доверенные соединения .......................................................................................... 41
 [EASAI-NA-28] RFC-соединения, хранящие аутентификационные данные пользователей42
 [EASAI-NA-29] Доверенные системы с низким классом безопасности........................................... 43
9. Протоколирование событий безопасности .................................................................................... 45
 [EASAI-NA-30] Протоколирование событий безопасности ................................................................... 45
 [EASAI-NA-31] Протоколирование HTTP-запросов.................................................................................... 46
 [EASAI-NA-32] Протоколирование изменений в таблицах ................................................................... 47
 [EASAI-NA-33] Протоколирование доступа к SAP Gateway.................................................................... 48
О компании ............................................................................................................................................... 50
Использованные источники ............................................................................................................ 51
Источники дополнительной информации ................................................................................ 55
Контактная информация ................................................................................................................... 57
www.erpscan.com•www.eas-sec.org•www.owasp.org
3
Р УКОВОДСТВО ПО АНАЛИЗУ БЕЗОПАСНОСТИ ПЛАТФОРМЫ SAP NET W EAVER ABAP 2013
Примечание
Согласно партнерскому соглашению с SAP, мы не имеем право публиковать подробную
информацию о найденных уязвимостях до выпуска официального патча или обновления от
SAP. Поэтому в данном документе подробно описаны только те уязвимости, информацию о
которых мы имеем право раскрывать на данный момент. Однако примеры эксплуатации всех
упомянутых уязвимостей можно найти в видеозаписях конференций, а также на сайте
ERPScan.ru [1].
Этот документ и отдельные его части запрещено копировать и распространять без указания
источника. Компания SAP AG не является ни автором, ни издателем этого документа и не несет
за него никакой ответственности. ERPScan не несет ответственности за ущерб, нанесенный
кем бы то ни было и кому бы то ни было при попытке эксплуатации описанных здесь
уязвимостей либо при конфигурировании SAP-систем согласно данным рекомендациям. В этой
публикации содержатся отсылки к продуктам SAP AG.
SAP NetWeaver и другие продукты SAP, упомянутые в этом документе, являются торговыми
марками или зарегистрированными торговыми марками SAP AG, Германия.
www.erpscan.com•www.eas-sec.org•www.owasp.org
4
Р УКОВОДСТВО ПО АНАЛИЗУ БЕЗОПАСНОСТИ ПЛАТФОРМЫ SAP NET W EAVER ABAP 2013
Введение
Ядро каждой крупной компании – это ERP-система: в ней проходят все критичные для бизнеса
процессы, начиная от закупки, оплаты и доставки и заканчивая управлением человеческими
ресурсами, продуктами и финансовым планированием. Вся информация, хранящаяся в ERPсистемах, имеет огромное значение, и любой неправомерный доступ к ней может понести за
собой громадные потери, вплоть до остановки бизнеса.
Согласно отчету Ассоциации специалистов по расследованию хищений/мошенничества (ACFE,
Association of Certified Fraud Examiners [2]), в 2012 году потери организаций от внутреннего
фрода (мошенничества в области информационных технологий) составили порядка 5
процентов от ежегодной выручки [3].
Распространенный миф о том, что безопасность ERP – это только матрица SoD, за последние
пять лет исчерпал себя и уже кажется многим историей давно минувших дней. За это время
специалистами в области безопасности SAP было представлено множество докладов,
рассказывающих в подробностях о различных атаках на внутренние подсистемы SAP: протокол
обмена данными RFC, систему разграничения доступа SAProuter, на веб-приложения SAP и на
клиентские рабочие станции под управлением SAP GUI [4]. Каждый год интерес к теме
возрастает в геометрической прогрессии: если в 2006 году на специализированных
технических конференциях по взлому и защите был всего 1 доклад про SAP [5], то в 2013 году
их было более 30. За последнее время был выпущен ряд утилит для взлома, подтверждающих
возможность осуществления атак на SAP [6] [7] [8].
Согласно статистике уязвимостей в бизнес-приложениях, за 2009 год было устранено более
100 уязвимостей в продуктах SAP, тогда как за 2010 год их было уже более 500. По состоянию
на октябрь 2013 года насчитывается более 2700 SAP Security Notes — уведомлений об
уязвимостях в тех или иных компонентах SAP.
www.erpscan.com•www.eas-sec.org•www.owasp.org
5
Р УКОВОДСТВО ПО АНАЛИЗУ БЕЗОПАСНОСТИ ПЛАТФОРМЫ SAP NET W EAVER ABAP 2013
Проект EAS-SEC (OWASP-EAS)
Открытый проект по безопасности
Проект EAS-SEC (Enterprise Application Systems Security Project) – некоммерческий проект,
посвященный безопасности корпоративных приложений [9]. Также под именем OWASP-EAS он
входит в состав глобальной группы OWASP (Open Web Application Security Project) – всемирной
некоммерческой организации,
ориентированной на повышение уровня безопасности
программного обеспечения [10].
EAS-SEC является руководством для людей, участвующих в проектировании, внедрении или
разработке приложений большого масштаба, так называемых корпоративных приложений.
Безопасность корпоративных приложений является одной из наиболее обсуждаемых тем в
сфере информационной безопасности. Это связано с тем, что такие приложения, реализуя свои
основные функции, контролируют ресурсы организации, в том числе денежные средства,
значительные потери которых могут стать следствием любого нарушения безопасности.
Цели проекта
Цель проекта EAS-SEC, запущенного в 2010 году – повышение осведомленности пользователей,
администраторов
и
разработчиков
бизнес-приложений
о
проблемах
безопасности
корпоративных приложений, создание руководящих принципов и инструментов для
безопасной настройки и разработки корпоративных приложений. На данный момент был
проведен общий анализ основных бизнес-приложений и собраны ключевые области
безопасности, на которые необходимо обратить внимание как при разработке, так и при
внедрении. Помимо этого, было выполнено три исследования – «Безопасность SAP в цифрах
2011» [11] и “The State of SAP Security 2013: Vulnerabilities, Threats and Trends” («Состояние
безопасности SAP 2013: уязвимость, угрозы и тенденции») [12], который стал анонсом “12
Years of SAP Security in Figures: 2001–2013”. Результаты этих докладов были представлены на
ключевых конференциях, таких как RSA, и освещены в прессе [13].
Данный документ призван повысить осведомленность в области безопасной настройки SAP
NetWeaver ABAP администраторов, специалистов по безопасности и специалистов по
внедрению и помочь им провести первичный анализ безопасности SAP-решений, защитившись
от наиболее важных угроз.
Бизнес-приложения – это очень сложные и громоздкие системы, состоящие из множества
частей, таких как сервер СУБД, сервер приложений, веб-сервер, клиентское программное
обеспечение и прочее. На каждом из этих уровней могут находиться уязвимости и ошибки
конфигурации, которые позволят злоумышленнику получить неавторизованный доступ к
системе.
www.erpscan.com•www.eas-sec.org•www.owasp.org
6
Р УКОВОДСТВО ПО АНАЛИЗУ БЕЗОПАСНОСТИ ПЛАТФОРМЫ SAP NET W EAVER ABAP 2013
Данные
по
наиболее
распространенным
и
опасным
проблемам
были
собраны
и
категорированы нами в ходе исследований защищенности наиболее популярных бизнесприложений, таких как SAP NetWeaver ABAP и J2EE, Oracle E-Business Suite, Oracle PeopleSoft, JD
Edwards, Microsoft Dynamics и прочих, менее известных.
Руководство по оценке
Проект EAS-SEC имеет ряд основных задач, на основе которых сформированы дочерние
проекты:
1. Осведомление широких масс об уязвимостях безопасности корпоративных приложений
посредством выпуска ежегодной статистики уязвимостей безопасности корпоративных
приложений. Дочерний проект: Enterprise Business Application Vulnerability Statistics [14];
2. Помощь компаниям, занимающимся разработкой и доработкой программного обеспечения, в
повышении безопасности их решений посредством создания дочернего проекта Enterprise
Application Systems Development Issues [15];
3.
Разработка
свободно
распространяемых
инструментов
для
оценки
безопасности
корпоративных приложений посредством создания дочернего проекта Enterprise Application
Security Software [16];
4. Помощь компаниям в оценке безопасности корпоративных приложений при их внедрении
посредством создания дочернего проекта Enterprise Application Systems Implementation
Assessment Guide [17].
Данный отчет включает в себя описание и содержание дочернего проекта Enterprise
Application Systems Implementation Assessment Guide (Руководство по оценке безопасности
внедрения корпоративных бизнес-приложений). В этом подпроекте описываются различные
области оценки безопасности корпоративных бизнес-приложений и ERP-систем.
Безопасность бизнес-приложений состоит из следующих разделов:
• Сетевая безопасность;
• Безопасность ОС;
• Безопасность СУБД;
• Безопасность приложений;
• Безопасность Front-End (пользовательской части системы).
Данный документ описывает только аспекты безопасности уровня приложения, так как это
уникальная область.
www.erpscan.com•www.eas-sec.org•www.owasp.org
7
Р УКОВОДСТВО ПО АНАЛИЗУ БЕЗОПАСНОСТИ ПЛАТФОРМЫ SAP NET W EAVER ABAP 2013
Общая информация
Системы планирования ресурсов предприятия (ERP, Enterprise Resource Planning), такие как
SAP, позволяют внести качественные положительные изменения в процессы обработки
информации в организации. Однако, при том что ERP-приложения могут решить ряд
принципиальных вопросов, они создают свои собственные новые риски. Именно поэтому при
внедрении корпоративных бизнес-приложений и ERP-систем наиболее важным аспектом
является безопасность.
В проекте «Руководство по оценке реализации защиты корпоративных бизнес-приложений»
приведены девять наиболее известных проблем безопасности бизнес-приложений на этапе
внедрения и эксплуатации (Top 9 Application Issues). Основной список проблем был составлен
авторами в ходе анализа защищенности множества бизнес-приложений и является
универсальным для каждого приложения. Они являются весомым фактором возникновения
тех или иных угроз и реализации атак в этой области. Предупреждение этих проблем
подразумевает готовность предотвращать большое число атак, направленных на безопасность
корпоративных бизнес-приложений.
В данном документе представлен детальный анализ самой распространенной платформы для
бизнес-приложений – SAP NetWeaver ABAP. В ходе анализа было выявлено 33 ключевых
настройки, распределенные по раннее указанным девяти блокам (Top 9 Application Issues).
Задача этого руководства – описать способы защиты от наиболее распространенных
уязвимостей в этой сфере.
Топ-9 критичных областей защиты бизнес-приложений
Ниже представлен список из девяти наиболее критичных областей анализа безопасности
бизнес-приложений. Они ранжированы по степени важности, а также влияния на ERP-систему,
бизнес-приложения и их безопасность. При составлении списка учитывались три основных
параметра:
1. Изначальный доступ, который требуется для эксплуатации уязвимости;
2. Критичность уязвимости (ущерб, который может быть причинен при ее эксплуатации);
3. Сложность эксплуатации уязвимости.
Данный список разделов един для всех бизнес-приложений. Начиная со следующей главы, для
каждого из этих пунктов приведены описания детальных проверок непосредственно для
платформы SAP NetWeaver ABAP. Однако описания сформулированы таким образом, чтобы
давать понимание базовых принципов оценки безопасности любых корпоративных
приложений.
www.erpscan.com•www.eas-sec.org•www.owasp.org
8
Р УКОВОДСТВО ПО АНАЛИЗУ БЕЗОПАСНОСТИ ПЛАТФОРМЫ SAP NET W EAVER ABAP 2013
Критичная область
Доступ
Критичность
Простота
1. Недостатки управления обновлениями
Анонимный
Высокая
Высокая
2. Пароли по умолчанию для доступа к
Анонимный
Высокая
Высокая
3. Необязательный доступный функционал
Анонимный
Высокая
Высокая
4. Открытые удаленные интерфейсы
Анонимный
Высокая
Средняя
5. Небезопасные настройки
Анонимный
Средняя
Средняя
6. Незашифрованные соединения
Анонимный
Средняя
Средняя
7. Контроль доступа и SoD-конфликты
Пользователь
Высокая
Средняя
8. Небезопасные доверенные соединения
Пользователь
Высокая
Высокая
9. Протоколирование событий
Администратор
Высокая
Средняя
приложению
управления
безопасности
www.erpscan.com•www.eas-sec.org•www.owasp.org
9
Р УКОВОДСТВО ПО АНАЛИЗУ БЕЗОПАСНОСТИ ПЛАТФОРМЫ SAP NET W EAVER ABAP 2013
33 шага безопасной настройки
SAP NetWeaver ABAP
Описание руководства
В данном разделе приведены 33 шага по безопасной настройке платформы SAP NetWeaver
ABAP, распределенные по девяти областям, обозначенным выше.
При создании этого списка авторы стремились сделать его максимально емким, но в то же
время осветить наиболее критичные угрозы в каждой области. Такой подход – основная задача
данного стандарта, так как при наличии уже существующих рекомендаций от SAP, ISACA и
DSAG был необходим не просто очередной список проблем без обоснования причин, почему
именно они включены или не включены в итоговый список, а документ, который было бы
удобно использовать на практике не только специалистам по безопасности SAP.
C другой стороны, создание максимально полного стандарта никогда бы не закончилось: на
момент написания данного текста уже существует более 7000 проверок настроек безопасности
непосредственно самой платформы SAP, не считая специфический ролевой доступ и
собственные разработки.
Итак, каждый из 9 пунктов руководства содержит основные проверки, которые необходимо
реализовать в первую очередь, универсальные для любой системы вне зависимости от
различных настроек и пользовательских параметров. Не менее важно, что эти проверки
применимы как к продуктивным системам, так и к системам тестирования и разработки.
Помимо основных универсальных проверок каждый пункт содержит подраздел «Что дальше?»
Здесь содержатся основные рекомендации и указания, что необходимо делать во вторую и
третью очередь и как безопасно настроить каждую конкретную область в дальнейшем.
Указания носят рекомендательный характер и зачастую зависят от конкретного типа SAPсистемы. Данный подход, с одной стороны, позволил авторам выделить ключевые параметры
безопасности для быстрого анализа любой SAP-системы на платформе NetWeaver ABAP, от ERP
до Solution Manager, а с другой – покрыть все области и дать исчерпывающие рекомендации по
каждому направлению.
Это качественно выделяет данный стандарт как на фоне рекомендаций SAP, в которых тоже
мало пунктов, но нет покрытия и общей картины, так и на фоне рекомендаций ISACA и DSAG,
где огромное количество пунктов, но не ясны приоритеты, поэтому для первого шага они
слишком сложны (хотя, безусловно, являются крайне полезными и необходимыми
стандартами).
www.erpscan.com•www.eas-sec.org•www.owasp.org
10
Р УКОВОДСТВО ПО АНАЛИЗУ БЕЗОПАСНОСТИ ПЛАТФОРМЫ SAP NET W EAVER ABAP 2013
33 шага на пути к безопасности
1. Недостатки управления обновлениями
[EASAI-NA-01] Проверка обновлений компонентов (SAP Notes)
[EASAI-NA-02] Проверка обновлений ядра
2. Пароли по умолчанию для доступа к приложению
[EASAI-NA-03] Проверка стандартного пароля для пользователя SAP*
[EASAI-NA-04] Проверка стандартного пароля для пользователя DDIC
[EASAI-NA-05] Проверка стандартного пароля для пользователя SAPCPIC
[EASAI-NA-06] Проверка стандартного пароля для пользователя TMSADM
[EASAI-NA-07] Проверка стандартного пароля для пользователя EARLYWATCH
3. Необязательный доступный функционал
[EASAI-NA-08] Доступ к RFC-функциям через SOAP-интерфейс
[EASAI-NA-09] Доступ к RFC-функциям через FORM-интерфейс
[EASAI-NA-10] Доступ к интеграционному сервису (XI) через SOAP-интерфейс
4. Открытые удаленные интерфейсы управления
[EASAI-NA-11] Неавторизованный доступ к функциям сервиса SAPControl (SAP MMC)
[EASAI-NA-12] Неавторизованный доступ к функциям сервиса SAP Host Control
[EASAI-NA-13] Неавторизованный доступ к функциям сервиса Message Server
[EASAI-NA-14] Неавторизованный доступ к СУБД Oracle
5. Небезопасные настройки
[EASAI-NA-15] Минимальная длина пароля
[EASAI-NA-16] Количество неудачных попыток аутентификации до блокировки учетной записи
[EASAI-NA-17] Соответствие пароля установленным политикам безопасности
[EASAI-NA-18] Настройки контроля доступа RFC (reginfo.dat)
[EASAI-NA-19] Настройки контроля доступа RFC (secinfo.dat)
6. Контроль доступа и SoD-конфликты
[EASAI-NA-20] Проверка учетных записей с профилем SAP_ALL
[EASAI-NA-21] Проверка учетных записей, которые могут запускать любые программы
www.erpscan.com•www.eas-sec.org•www.owasp.org
11
Р УКОВОДСТВО ПО АНАЛИЗУ БЕЗОПАСНОСТИ ПЛАТФОРМЫ SAP NET W EAVER ABAP 2013
[EASAI-NA-22] Проверка учетных записей с правами на изменение критичной таблицы USH02
[EASAI-NA-23] Проверка учетных записей, которые могут выполнять команды ОС
[EASAI-NA-24] Проверка отключенных авторизаций
7. Незашифрованные соединения
[EASAI-NA-25] Использование шифрования SSL для защиты HTTP-соединений
[EASAI-NA-26] Использование шифрования SNC для защиты клиентских соединений от SAP GUI
[EASAI-NA-27] Использование шифрования SNC для защиты RFC-соединений между системами
8. Небезопасные доверенные соединения
[EASAI-NA-28] RFC-соединения, хранящие аутентификационные данные пользователей
[EASAI-NA-29] Доверенные системы с низким классом безопасности
9. Протоколирование событий безопасности
[EASAI-NA-30] Протоколирование событий безопасности
[EASAI-NA-31] Протоколирование HTTP-запросов
[EASAI-NA-32] Протоколирование изменений в таблицах
[EASAI-NA-33] Протоколирование доступа к SAP Gateway
www.erpscan.com•www.eas-sec.org•www.owasp.org
12
Р УКОВОДСТВО ПО АНАЛИЗУ БЕЗОПАСНОСТИ ПЛАТФОРМЫ SAP NET W EAVER ABAP 2013
Детальное руководство
1. Недостатки управления обновлениями
Своевременная установка обновлений безопасности (называемых также патчами) – одна из
важнейших составляющих в обеспечении полноценной защиты системы. По состоянию на
октябрь 2013 года SAP выпустила более 2700 SAP Security Notes (уведомлений безопасности,
закрывающих одну или несколько уязвимостей). Кроме того, в каждый второй вторник месяца
SAP выпускает в среднем 50 новых SAP Security Notes различной степени критичности. Часть из
них, обнаруженная сторонними исследователями, включается в ежемесячный список
благодарностей, содержащий ссылки непосредственно на выпущенную SAP Note, а также на
исследователя [18]. Своевременное устранение данных уязвимостей необходимо, так как
информация об их эксплуатации может появиться в открытом доступе и в таких утилитах, как
Metasploit. Количество пакетов поддержки, которые требуются системе, может быть огромным.
Именно поэтому необходимо разработать процесс управления обновлениями. Это обеспечит
надлежащие профилактические меры против потенциальных угроз. Ниже представлены две
основные проверки, которые необходимо реализовать для того, чтобы удостовериться, что
наиболее опасные проблемы решены.
Что дальше?
Необходимо также проверять безопасность компонентов SAP, которые устанавливаются
отдельно от сервера приложений. Это такие сервисы, как SAProuter, SAP Web Dispatcher, SAP
GUI, а также системы, которые связаны с сервером приложений NetWeaver ABAP, но работают
на базе сервера приложений NetWeaver J2EE или SAP BusinessObjects (их безопасность
регламентируется отдельным документом, входящим в OWASP-EAS). Кроме того, следует
проверять обновления безопасности на операционных системах, где установлены сервисы SAP, а
также на СУБД, которые хранят данные SAP-систем.
 [EASAI-NA-01] Проверка обновлений компонентов (SAP Notes)
Описание
Патчи исправляют ошибки в системах, заменяя объекты, версии которых устарели и содержат
уязвимости. Уязвимость можно закрыть двумя способами: установив «пакет обновления»
(Support Package) или выполнив «инструкции по исправлению» (Correction Instruction),
содержащиеся в SAP Notes. Как правило, сперва выходит определенная SAP Note (с
соответствующими инструкциями по исправлению), а затем пакет обновления, который
включает в себя вместе с изменением или добавлением функционала набор инструкций по
исправлению за определенный промежуток времени.
Как уже отмечалось, количество пакетов обновлений и SAP Notes, требуемых в системе, может
быть огромным. Именно поэтому необходимо разработать процесс управления обновлениями,
учитывающий приоритет установки обновлений, исходя из таких факторов, как критичность
угрозы, вероятность реализации угрозы, необходимость наличия прав в системе, простота
эксплуатации, наличие эксплойта в свободном доступе и сложность эксплуатации уязвимости.
Замечание! Дополнительную сложность в управлении уязвимостями создает тот факт, что
одну и ту же уязвимость можно закрыть как пакетом обновления, так и SAP Notes. Но два этих
www.erpscan.com•www.eas-sec.org•www.owasp.org
13
Р УКОВОДСТВО ПО АНАЛИЗУ БЕЗОПАСНОСТИ ПЛАТФОРМЫ SAP NET W EAVER ABAP 2013
механизма не синхронизированы друг с другом, что вносит проблемы в управление
уязвимостями. Например, уязвимость, закрытая с помощью пакета обновлений, не будет
помечена как закрытая в списке SAP Notes в транзакции SNOTE.
Угроза
Выпуск новых обновлений безопасности связан с обнаружением уязвимости, которая
достаточно быстро становится известной неограниченному кругу лиц (ее описание появляется
в открытых источниках). Несвоевременная установка обновлений, направленных на закрытие
конкретных уязвимостей, позволяет злоумышленнику воспользоваться ими в своих целях и
получить неправомерный доступ к критичным для бизнеса данным, а также возможность
модификации данных и совершения атак класса «отказ в обслуживании».
Решение
Необходимо проводить регулярный контроль установки обновлений безопасности, реализуя
основные этапы процесса управления обновлениями (сбор информации, оценка рисков,
применение программ обновления безопасности, мониторинг результатов).
Для установки пакетов обновлений SAP, начиная с версии 3.0, предоставляет инструмент,
называемый SAP Patch Manager (SPAM). Для запуска SPAM можно ввести SPAM в поле кодов
транзакций. Он позволяет осуществлять загрузку патчей, запрошенных от системы онлайнобслуживания (OSS, Online Service System) и их применение в системе. Кроме того, можно
использовать многоцелевой инструмент SAP Software Update Manager (SUM), позволяющий
выполнять различные процессы обновления в системе (демонстрационная запись находится в
открытом доступе [19]).
Для установки SAP Notes применяется транзакция SNOTE, позволяющая получить список
«уведомлений безопасности» (security notes), необходимых для установки в данной системе.
Как уже говорилось раннее, данные два механизма не синхронизованы. Эта проблема решается
либо вручную, либо с применением дополнительных сторонних средств.
 [EASAI-NA-02] Проверка обновлений ядра
Описание
Ядро SAP-системы включает в себя исполняемые файлы основных сервисов SAP, таких как SAP
Dispatcher, SAP Gateway, SAP Message Server, а также SAProuter и прочие. Именно поэтому ядро
имеет отдельный механизм обновления, отличный от компонентов. Обновления ядра выходят
в виде пакетов обновления для конкретной ветки ядра. Зачастую каждый следующий пакет
обновления является кумулятивным, то есть содержит в себе все предыдущие исправления, но
иногда выходят обновления только для отдельных компонентов.
Угроза
Выпуск новых обновлений безопасности связан с обнаружением уязвимости, которая
достаточно быстро становится известной неограниченному кругу лиц (ее описание появляется
в открытых источниках). Несвоевременная установка обновлений, направленных на закрытие
конкретных уязвимостей, позволяет злоумышленнику воспользоваться ими в своих целях и
получить неправомерный доступ к критичным для бизнеса данным, а также возможность
модификации данных и совершения атак класса «отказ в обслуживании».
www.erpscan.com•www.eas-sec.org•www.owasp.org
14
Р УКОВОДСТВО ПО АНАЛИЗУ БЕЗОПАСНОСТИ ПЛАТФОРМЫ SAP NET W EAVER ABAP 2013
Следует отметить, что обновления ядра в большинстве случаев закрывают крайне опасные
уязвимости, поскольку ядро является частью любой системы. Таким образом, приоритет
обновления ядра должен быть выше приоритета обновления компонентов.
Решение
Необходимо проводить регулярный контроль установки обновлений безопасности, реализуя
основные этапы процесса управления обновлениями (сбор информации, оценка рисков,
применение программ обновления безопасности, мониторинг результатов).
Получить информацию о текущем пакете обновления можно в SAP GUI следующим образом:
перейти через вкладку System к окну Status и использовать в его нижней части кнопку Other
kernel info (по умолчанию – Shift+F5). Информация о последнем пакете обновления хранится на
портале поддержки SAP [20].
Обновление обычно скачивается в виде директории с исполняемыми и системными файлами,
которая заменяет предыдущие файлы. Также возможно использование утилиты SUM (Software
Update Manager), значительно упрощающей ручной процесс (доступна инструкция по
использованию [21]).
2. Пароли по умолчанию для доступа к приложению
Пароли по умолчанию – это одна из наиболее часто встречающихся и часто эксплуатируемых
уязвимостей ПО, в особенности потому, что не требует наличия особых знаний и практически
всегда работает. После начальной установки SAP-системы в ней имеется несколько
стандартных клиентов (иногда используется термин мандант): 000, 001, 066. В этих клиентах
есть стандартные пользователи, изначально имеющие высокий уровень полномочий (в
большинстве случаев – привилегии SAP_ALL). Кроме того, при создании новых клиентов в них
также создаются пользователи с предустановленными паролями.
Начиная с версии SAP Web Application Server 6.10 пароль пользователей SAP* и DDIC
выбирается в процессе установки системы в виде так называемого Master Password [22].
Учетные записи и их пароли, установленные производителем по умолчанию, хорошо известны.
Они приведены в таблице:
USER
PASSWORD
Client
SAP*
06071992, PASS
000, 001, 066, Custom
DDIC
19920706
000, 001, Custom
TMSADM
PASSWORD, $1Pawd2&
000
SAPCPIC
ADMIN
000, 001
EARLYWATCH
SUPPORT
066
Что дальше?
Ряд дополнительных компонентов SAP также имеет свои пароли по умолчанию. Например,
сервис SAP SDM и сервис SAP ITS старых версий системы имеют свои предустановленные
пароли.
После проверки наличия паролей по умолчанию следует проверить пароли пользователей на
наличие простых словарных сочетаний. Для этого рекомендуется воспользоваться утилитами
для взлома паролей «грубой силой» (bruteforce), такими как JohnThe Ripper.
www.erpscan.com•www.eas-sec.org•www.owasp.org
15
Р УКОВОДСТВО ПО АНАЛИЗУ БЕЗОПАСНОСТИ ПЛАТФОРМЫ SAP NET W EAVER ABAP 2013
Кроме того, следует проверять пароли по умолчанию на всех сопутствующих системах, таких
как сетевое оборудование, операционные системы и СУБД, которые хранят данные SAP-систем.
Например, СУБД Oracle содержит огромное количество паролей по умолчанию, в том числе и
специфичных для SAP-систем.
 [EASAI-NA-03] Проверка стандартного пароля для пользователя SAP*
Описание
Пользователь SAP* создается во всех клиентах сразу после установки и является диалоговым
пользователем (user type = dialog), то есть может входить в систему через SAP GUI и
выполнять любые действия. Этот пользователь используется при копировании клиентов,
установке/продлении лицензии и других административных задачах. Ему назначен профиль
SAP_ALL. Если пользователь SAP* удален, после его восстановления возможен вход со
стандартным паролем PASS, включая соответствующие разрешения SAP_ALL.
Угроза
Значения пароля учетной записи SAP* по умолчанию хорошо известны (см. таблицу выше).
Зная эти пароли, злоумышленник может зайти в систему с привилегиями SAP_ALL и, как
следствие, получить неограниченный доступ к критичным для бизнеса данным, находящимся
в системе.
Решение
- Определите нового суперпользователя и заблокируйте учетную запись SAP* во всех клиентах
(но не удаляйте ее!!!), перейдя в транзакцию SU01 и выбрав там пользователя SAP* и
соответствующую иконку Lock/Unlock (сочетание клавиш Ctrl+F5);
- Установите параметр login/no_automatic_user_sapstar (доступен через транзакции RZ10 и
RZ11) в значение 1. До версии 3.1G использовался параметр login/no_automatic_user_sap* (в
более поздних версиях не имеет эффекта, см. SAP Note 68048 [23]);
- Измените пароль по умолчанию для SAP* (с помощью транзакции SU01);
- Убедитесь, что пользователь принадлежит к группе SUPER во всех клиентах (с помощью
транзакции SU01 выберите пользователя SAP*, а затем иконку Change (сочетание клавиш
Shift+F6), далее – вкладка Logon Data.
 [EASAI-NA-04] Проверка стандартного пароля для пользователя DDIC
Описание
Пользователь DDIC создается в клиентах 000 и 001 при их установке (и создании их копий).
Этот стандартный системный пользователь используется при установке, обновлении,
настройке системы, а также при ее работе (применение пакетов поддержки, обновление и
фоновые задачи транспортной системы). Является диалоговым пользователем (может входить
в систему через SAP GUI и выполнять любые действия) в клиенте 000; во всех других клиентах
может быть установлен тип “system”, позволяющий осуществлять фоновую обработку и
взаимодействие с системой. Ему назначены профили SAP_ALL и SAP_NEW, дающие ему полный
доступ ко всему функционалу SAP.
www.erpscan.com•www.eas-sec.org•www.owasp.org
16
Р УКОВОДСТВО ПО АНАЛИЗУ БЕЗОПАСНОСТИ ПЛАТФОРМЫ SAP NET W EAVER ABAP 2013
Угроза
Значение пароля учетной записи DDIC по умолчанию хорошо известно (см. таблицу выше).
Зная этот пароль, злоумышленник может зайти в систему с привилегиями SAP_ALL (или
SAP_NEW) и, как следствие, получить неограниченный доступ к критичным для бизнеса
данным, находящимся в системе.
Решение
Внимание! Не удаляйте пользователя DDIC или его профиль! DDIC необходим для выполнения
определенных задач в установке и обновлении, ПО логистики, а также для ABAP-словаря.
Удаление DDIC приводит к потере функциональности в этих областях. Однако допускается (и в
некоторых источниках рекомендуется) удаление во всех клиентах, кроме клиента 000.
- В клиенте 000 измените тип пользователя на SYSTEM;
- Удалите профиль SAP_ALL;
- Заблокируйте пользователя DDIC. Разблокируйте его только при необходимости. Учтите, что
транспортная система выполняет некоторые программы от имени пользователя DDIC;
- Измените пароль по умолчанию для пользователя DDIC;
- Убедитесь, что пользователь DDIC принадлежит к группе SUPER во всех клиентах, чтобы
только авторизованные администраторы могли изменять эту учетную запись;
- Регулярно проводите обзор клиентов, которые есть в системе, в целях контроля нелегитимно
созданных клиентов.
 [EASAI-NA-05] Проверка стандартного пароля для SAPCPIC
Описание
Пользователь SAPCPIC использовался для осуществления переносов в SAP-системах (до версии
4.5A). Он относится к типу “communication”, позволяющему осуществлять передачу без
диалоговых окон для внешних RFC-вызовов, и используется специально для EDI (Electronic
Data Interchange – электронный обмен данными). Данный пользователь не обладает
диалоговым доступом, но тем не менее имеет профиль S_A.CPIC и, как следствие, такие
критичные объекты авторизации, как S_CPIC (позволяет вызывать CPIC-функции из программ
ABAP/4), S_DATASET (дает полномочия для получения доступа к файлам из программ ABAP/4)
и S_RFC (проверка авторизации на RFC-доступ к программным модулям, например, к
функциональной группе).
Угроза
Значение пароля учетной записи SAPCPIC по умолчанию хорошо известно (см. таблицу выше).
Зная этот пароль, злоумышленник может удаленно выполнить RFC-запросы (например, запуск
некоторых программ операционной системы), выполнять произвольные команды ОС через
уязвимости в RFC (таких как TH_GREP), а также создать в системе диалогового пользователя с
любыми привилегиями и, как следствие, зайти в систему и получить неограниченный доступ к
критичным для бизнеса данным, находящимся в системе.
Решение
Удалите пользователя SAPCPIC, если вам он не нужен. Если пользователь необходим:
www.erpscan.com•www.eas-sec.org•www.owasp.org
17
Р УКОВОДСТВО ПО АНАЛИЗУ БЕЗОПАСНОСТИ ПЛАТФОРМЫ SAP NET W EAVER ABAP 2013
- Измените пароль по умолчанию для SAPCPIC;
- Заблокируйте пользователя SAPCPIC. Разблокируйте его только при необходимости;
- В случаях, когда данный пользователь необходим для EDI (например, фирме-подрядчику), не
передавайте его пароль, используя удаленный сеанс. Для этой цели рекомендуется
воспользоваться отдельным каналом передачи (например, электронной почтой). Как только
сессия удаленного доступа завершена, сразу же измените пароль;
- Убедитесь, что пользователь принадлежит к группе SUPER во всех клиентах, чтобы только
авторизованные администраторы могли изменять эту запись пользователя;
- Определите специального пользователя для удаленного доступа. Не используйте любого из
пользователей по умолчанию;
- Регулярно проводите обзор клиентов, которые у вас есть, в целях контроля отсутствия
неизвестных клиентов.
 [EASAI-NA-06] Проверка стандартного пароля для TMSADM
Описание
Пользователь TMSADM используется транспортной системой для осуществления передачи
данных. Он создается автоматически при настройке и изменении системы управления
переносами (Transport Management System, TMS) в клиенте 000. Его тип пользователя –
“communication” (передача без диалоговых окон для внешних RFC-вызовов). Ему назначен
авторизационный профиль S_A.TMSADM, который разрешает использование RFC-функций с
отображением, а также запись в файловой системе. Зачастую данному пользователю также
назначают профиль SAP_ALL.
Угроза
Значения пароля учетной записи TMSADM по умолчанию хорошо известны (см. таблицу выше).
Злоумышленник может удаленно запустить RFC-запросы, позволяющие выполнить критичные
действия, такие как удаление и чтение файлов (EPS_DELETE_FILE, EPS_OPEN_FILE2),
выполнение
произвольного
ABAP-кода
(через
уязвимости
функций
RFC_ABAP_INSTALL_AND_RUN или TMS_CI_START_SERVICE), а также с помощью запросов
BAPI_USER_CREATE1 и SUSR_RFC_USER_INTERFACE создать в системе диалогового
пользователя с любыми привилегиями и, как следствие, зайти в систему и получить
неограниченный доступ к критичным для бизнеса данным, находящимся в системе.
Решение
- Измените пароль по умолчанию TMSADM. Чтобы изменить пароль пользователя TMSADM,
выполните следующие действия (согласно SAP Note 1414256 [24]):
1. Войдите в клиент 000 любым пользователем с разрешениями администратора;
2. Запустите программу TMS_UPDATE_PWD_OF_TMSADM с редактором ABAP (транзакция
SE38). При этом предлагаются три различных варианта изменения пароля TMSADM: ввести
свой собственный пароль, установить новый стандартный пароль (согласно SAP Note 761637
[25], $1Pawd2&), или установить старый стандартный пароль (PASSWORD);
3. Выберете вариант «Ввести свой собственный пароль» на появившемся экране и введите
новый пароль;
4. Выполните программу.
www.erpscan.com•www.eas-sec.org•www.owasp.org
18
Р УКОВОДСТВО ПО АНАЛИЗУ БЕЗОПАСНОСТИ ПЛАТФОРМЫ SAP NET W EAVER ABAP 2013
- Убедитесь, что пользователь принадлежит к группе SUPER во всех клиентах, чтобы только
авторизованные администраторы могли изменять эту запись пользователя;
- Определите специального пользователя для удаленного доступа. Не используйте
пользователей по умолчанию;
- Регулярно проводите обзор клиентов, которые у вас есть, в целях контроля отсутствия
неизвестных клиентов;
- Желательно также установить уведомления безопасности, исправляющие уязвимости в
программах, которые TMSADM может выполнять:
- SAP Note 1298160 для уязвимостей в TMS_CI_START_SERVICE;
- SAP Note 1330776 для уязвимостей в EPS_DELETE_FILE и EPS_OPEN_FILE2.
 [EASAI-NA-07] Проверка стандартного пароля для EARLYWATCH
Описание
Пользователь EARLYWATCH создается в клиенте 066 во время установки SAP и является
диалоговым пользователем (может входить в систему через SAP GUI и выполнять любые
действия). Он может быть использован для дистанционного управления SAP и предоставляет
доступ к данным для мониторинга и производительности. Как правило, используется службой
поддержки компании SAP AG для доступа к системе клиента для анализа проблем, в частности
с производительностью. Пароль для EARLYWATCH должен быть изменен, однако никогда не
следует удалять самого пользователя.
Угроза
Значение пароля учетной записи EARLYWATCH по умолчанию хорошо известно (см. таблицу
выше). Зная этот пароль, злоумышленник может зайти в систему с профилем S_TOOLS_EX_A и,
как следствие, выполнять различные критичные действия (например, получить доступ к
любым файлам, просмотреть критичные таблицы или вывести на экран внешние записи
статистики в контролирующих инструментах). В старых версиях, до 6.4, пользователь мог
выполнять критичные транзакции, такие как SE37 (выполнение функциональных модулей) и
SE38 (выполнение отчетов). В новых версиях его права более ограничены, но, тем не менее, он
может реализовать различные уязвимости, например вызов TH_GREP через транзакцию SM51,
и, как следствие, выполнять произвольные команды ОС.
Решение
Внимание! Не удаляйте пользователя EARLYWATCH или его профиль!
- Заблокируйте пользователя EARLYWATCH. Разблокируйте его только при необходимости;
- Измените пароль по умолчанию для EARLYWATCH;
- Убедитесь, что пользователь принадлежит к группе SUPER во всех клиентах, чтобы только
авторизованные администраторы могли изменять эту запись пользователя;
- Регулярно проводите обзор клиентов, которые у вас есть, в целях контроля отсутствия
неизвестных клиентов.
www.erpscan.com•www.eas-sec.org•www.owasp.org
19
Р УКОВОДСТВО ПО АНАЛИЗУ БЕЗОПАСНОСТИ ПЛАТФОРМЫ SAP NET W EAVER ABAP 2013
3. Необязательный доступный функционал
В любом более или менее сложном приложении присутствует огромный объем функционала
для выполнения всевозможных задач, большая часть которого не используется вовсе. При этом
практически весь этот функционал по умолчанию включен/активирован (хотя в каждой новой
версии ситуация становится более безопасной: лишний функционал по умолчанию
отключается).
Неиспользуемый функционал зачастую реализует опасные действия в системе и не настроен
должным образом. Кроме того, чем больше функционала доступно, тем больше вероятность
возникновения уязвимостей. В основном необязательный функционал представлен в двух
местах: это веб-приложения и внутренние объекты системы (такие как программы,
транзакции, функциональные модули и прочее).
В данный раздел включены проверки, касающиеся только веб-приложений, так как они
зачастую могут быть доступны из сети Интернет низкопривилегированным или вовсе
анонимным пользователям. Доступ к веб-приложениям реализуется через сервис Internet
Communication Framework (ICF, система интернет-соединений) – компонент SAP Web Application
Server, который позволяет использовать стандартные протоколы (HTTP, HTTPS и SMTP) для
управления соединениями между системами через Интернет.
Что дальше?
В стандартном ландшафте присутствует около 1500 различных веб-сервисов, которые
доступны удаленно от имени любого зарегистрированного пользователя, если сервис включен
по умолчанию. Кроме того, около 40 сервисов доступны анонимному пользователю. Следующим
шагом после выполнения трех проверок, приведенных ниже, необходимо отключить все
анонимные сервисы, а также проанализировать все установленные сервисы, чтобы выяснить,
необходимы ли они в системе, и если да, то ограничить к ним доступ дополнительно при
помощи авторизаций. В документе Secure Configuration of SAP NetWeaver Application Server Using
ABAP [26] указаны 13 опасных сервисов, и, как уже отмечалось ранее, это лишь самые основные
сервисы.
Еще одним шагом после настройки веб-сервисов является отключение ненужного внутреннего
функционала, такого как неиспользуемые критичные транзакции, программы, профили, роли и
так далее. Данный шаг требует тщательного анализа каждого модуля в каждом конкретном
случае. Тем не менее, есть ряд транзакций*, которые рекомендуется отключить в
продуктивной системе в любом случае, о чем говорится в руководствах ISACA [27]. В данном
руководстве это рекомендательный пункт, не включенный в основной список, так как он
применим только к продуктивным системам.
* Транзакции, рекомендуемые к блокировке (отключению):
o администрирование архиваций: KA10, KA12, KA16, KA18, SARA;
o сброс переменных данных: OBR1;
o ведение ракурса таблицы: OICP, OOSB;
o ведение пользователей: OMDL, OMEH, OMWF, OOUS, OPF0, OTZ1, OY27, OY28, OY29, OY30;
o профили: OMEI, OMWG, OOPR, OP15, OPE9, OTZ2, OY21;
o ведение полномочий и профилей: OMG7, OMWK, OPF1, OTZ3, OY20;
o ведение кластера ракурсов: OOSP;
o список профилей: OVZ6;
o копирование в соответствии с запросом на перенос: SCC1;
o удаление клиента: SCC5;
www.erpscan.com•www.eas-sec.org•www.owasp.org
20
Р УКОВОДСТВО ПО АНАЛИЗУ БЕЗОПАСНОСТИ ПЛАТФОРМЫ SAP NET W EAVER ABAP 2013
организатор настройки (расширенный ракурс): SE01;
организатор переносов: SE09, SE10;
управление данными таблиц: SE16, SM30, SM31;
внешние команды ОС: SM49, SM69;
удаление всех пользователей: SU12.
o
o
o
o
o
 [EASAI-NA-08] Доступ к RFC-функциям через SOAP-интерфейс
Описание
Сервис, доступный по ссылке /sap/bc/soap/rfc, является SOAP-интерфейсом для доступа к
функциональным модулям, называемым также RFC-функциями (от Remote Function Call –
удаленный вызов функции). Если сервис /sap/bc/soap/rfc активирован, при наличии
легитимной учетной записи в системе или пользователя с паролем по умолчанию можно
получить доступ к функциональным модулям ABAP-системы и выполнять их (при том условии,
что пользователь имеет соответствующие права).
Угроза
Возможно нежелательное выполнение RFC-функций через SOAP-запросы по HTTP-каналу,
зачастую даже из сети Интернет. Злоумышленник может использовать учетные данные,
установленные по умолчанию, для получения доступа к запущенному RFC-сервису и
осуществить любую атаку, начиная с получения доступа к некритичной информации и
заканчивая получением административного доступа к системе. Также обычный пользователь
системы с любым набором привилегий может осуществить атаку типа «отказ в обслуживании»
через некорректный SOAP-запрос.
Решение
В случае если сервис /sap/bc/soap/rfc используется, рекомендуется проверить, достаточно ли
ограничений установлено на существующие авторизации пользователей, учетные данные
которых используются для доступа к нему. Если же необходимости в использовании нет отключите сервис /sap/bc/soap/rfc с помощью транзакции SICF.
 [EASAI-NA-09] Доступ к RFC-функциям через FORM-интерфейс
Описание
Сервис, доступный по ссылке /sap/bc/FormToRfc, предназначен только для внутренних нужд
SAP-систем и не должен находиться в продуктивной системе. При использовании этого сервиса
некоторые авторизационные проверки отсутствуют. Начиная с релиза 6.20, сервис SOAP
(/sap/bc/soap/rfc) реализует задачи, выполняемые данным сервисом, а услуги ICF неактивны
по умолчанию.
Угроза
Существует большой риск при использовании сервиса /sap/bc/FormToRfc в продуктивной
системе, так как некоторые авторизационные проверки при этом отсутствуют.
Злоумышленник может использовать эту уязвимость для осуществления атаки путем вызова
www.erpscan.com•www.eas-sec.org•www.owasp.org
21
Р УКОВОДСТВО ПО АНАЛИЗУ БЕЗОПАСНОСТИ ПЛАТФОРМЫ SAP NET W EAVER ABAP 2013
RFC-функций, а впоследствии – для получения несанкционированного доступа к критичной
для бизнеса информации.
Решение
Рекомендуется отключить сервис /sap/bc/FormToRfc с помощью транзакции SICF, если он не
используется.
 [EASAI-NA-10] Доступ к интеграционному сервису (XI) через SOAPинтерфейс
Описание
Данный сервис является SOAP-интерфейсом для доступа к интеграционной системе XI.
Используя данный сервис, злоумышленник может удаленно вызывать опасные функции и, что
самое важное, отправлять запросы на сторонние системы, которые доступны через данный
сервис.
Угроза
Возможно нежелательное выполнение XI-функций через SOAP-запросы по HTTP-каналу, в
случае если данный сервис был некорректно активирован или для авторизации недостаточно
ограничений. Злоумышленник может использовать учетные данные, установленные по
умолчанию, для получения доступа к данному сервису. Если это произойдет – существует
возможность атаки как на целевую систему, так и на те, с которыми она интегрирована, в
зависимости от функционала, реализованного в интеграционной шине. В худшем случае
возможно получение абсолютного доступа к данному серверу и другим серверам
инфраструктуры.
Решение
Рекомендуется отключить данный сервис, используя транзакцию SICF. В случае если
использование данного сервиса необходимо в бизнес-целях, рекомендуется ограничить доступ
к нему при помощи соответствующих авторизаций и контроля доступа на сетевом уровне.
4. Открытые удаленные интерфейсы управления
Платформа SAP NetWeaver включает в себя Dispatcher, который отвечает за подключения
пользователей при помощи программы SAP GUI, а также целый ряд других сервисов, каждый из
которых слушает удаленный порт и принимает сетевые соединения. Ряд этих сервисов
предоставляет административный доступ и функции удаленного администрирования, а также
доступ к различным техническим службам, таким как система балансировки нагрузки SAP
Message Server или система удаленного администрирования SAP Management Console.
Данные службы могут быть доступны для подключения из пользовательской сети или из сети
Интернет, а также иметь небезопасные настройки, позволяющие управлять ими удаленно без
знания аутентификационных данных. В данном разделе представлены наиболее опасные
службы, функционал которых не должен быть доступен из пользовательской сети.
www.erpscan.com•www.eas-sec.org•www.owasp.org
22
Р УКОВОДСТВО ПО АНАЛИЗУ БЕЗОПАСНОСТИ ПЛАТФОРМЫ SAP NET W EAVER ABAP 2013
Что дальше?
Помимо представленных выше служб в системе также есть и другие, менее опасные и
распространенные (например, Message Server HTTP). Однако доступ к ним также следует
ограничить. Полный список служб SAP можно получить в документе TCP/IP Ports Used by SAP
Applications [28]. Список также зависит от компонентов, которые используются в данной
системе.
Коме того, следует обратить внимание на сторонние службы, которые могут быть запущены
на данном сервере, такие как удаленные интерфейсы администрирования различных СУБД,
системы удаленного мониторинга и резервного копирования и прочие службы, доступ к
которым необходимо ограничить как на сетевом уровне, так и на уровне приложения и
аутентификации, если это возможно.
 [EASAI-NA-11] Неавторизованный доступ к функциям сервиса SAPControl
(SAP MMC)
Описание
SAP Start Service (служба запуска SAP) запускается на каждом компьютере, когда запускается
инстанция SAP-системы. В Windows-системах процесс вызывается с помощью sapstartsrv.exe, а
в UNIX-платформах – sapstartsrv. SAP Start Service предоставляет следующие функции для
мониторинга SAP-систем, инстанций и процессов:
- запуск и остановка;
- мониторинг запущенного состояния;
- чтение логов, трассировок и конфигурационных файлов;
- техническая информация, например о сетевых портах, активных сессиях и пр.
Эти сервисы предоставляются в SAPControl SOAP Web Service и используются инструментами
мониторинга SAP (SAP Management Console, NetWeaver Administrator и другими).
При запуске сервиса используются следующие порты:
- HTTP порт 5<xx>13 (или sapctrl<xx> в /etc/services), где <xx> номер инстанции;
- HTTPS порт 5<xx>14 (или sapctrls<xx> в /etc/services), где <xx> номер инстанции.
Например, при запуске сервиса используется HTTP-порт 50013 или HTTPS-порт 50014 для
инстанции 00 [29].
Данный процесс позволяет читать различную системную информацию без запроса
авторизации пользователей. Однако он требует аутентификации пользователя для
защищенных операций, таких как запуск и остановка SAP-инстанции. sapstartsrv контролирует
внутренний список защищенных операций (каких по умолчанию – зависит от релиза). При
необходимости
его
можно
изменить,
используя
параметр
запуска
профиля
service/protectedwebmethods.
Угроза
Многие незащищенные методы дают возможность запросить информацию о конфигурации
или статусе системы, а также удаленно получить все настройки системных параметров,
прочитать файлы логов и файлы трассировки, которые могут содержать в себе пароли
пользователей или файлы HTTP-сессий. Данная информация может быть использована для
реализации более критичных атак.
www.erpscan.com•www.eas-sec.org•www.owasp.org
23
Р УКОВОДСТВО ПО АНАЛИЗУ БЕЗОПАСНОСТИ ПЛАТФОРМЫ SAP NET W EAVER ABAP 2013
Решение
В соответствии с SAP Note 1600846 [30] необходимо изменить настройки sapstartsrv, установив
параметр service/protectedwebmethods в значение DEFAULT в стандартном системном
профайле (DEFAULT.PFL). После этого необходимо перезапустить все сервисы sapstartsrv в
кластере для активации изменений. Данное значение подразумевает список всех критичных
методов по умолчанию. Также можно использовать значение ALL (подразумевающее все
методы), однако оно считается избыточным (описание параметра и его значений подробно
описано в SAP Note 927637 [31]).
Как дополнительный метод противодействия данной уязвимости можно рассматривать
установку SAP Note 1439348 [32], а также использование рекомендаций, указанных в ней.
Желательно также ограничить сетевой доступ к данному сервису по IP-адресам, задав список
управления доступом (ACL – Access Control List) посредством изменения значения параметров
service/http/acl_file и service/https/acl_file.
 [EASAI-NA-12] Неавторизованный доступ к функциям сервиса SAP Host
Control
Описание
SAP Host Agent – компонент, который предназначен для управления, контроля и мониторинга
других различных компонентов, состоит из следующих программ и сервисов:
- SAPHostExec – программа контроля, запускаемая из-под аккаунта root (UNIX) или LocalSystem
(Windows). Она контролирует все функции, которые запрашиваются специальными
пользователями этого типа, например коллекторами ОС saposcol и sapacosprep. Программа
связана с sapstartsrv в режиме хоста (см. рисунок) через локальный сокет, который
предоставляет быстрое и безопасное соединение и также запускается совместно с хостом.
- DB4STATS и SAPILED – программы, предоставляющие SAP Database Performance Collector и SAP
ILE daemon для IBM I, соответственно.
www.erpscan.com•www.eas-sec.org•www.owasp.org
24
Р УКОВОДСТВО ПО АНАЛИЗУ БЕЗОПАСНОСТИ ПЛАТФОРМЫ SAP NET W EAVER ABAP 2013
- SAP Host Control (sapstartsrv в режиме хоста) – агент управления SAP NetWeaver. Является
исполняемым sapstartsrv, запущенным в режиме хоста из-под пользователя sapadm и
использующим удаленный порт TCP 1128. Поэтому он является ответственным не за SAPинстанцию, а за любой мониторинг на хосте, который централизованно контролируется.
Профиль, который используется, когда запускается исполняемый файл, определяет, будет ли
работать sapstartsrv в режиме инстанции (с профилем соответствующей инстанции) или в
режиме хоста (с собственным профилем хоста, который может содержать параметры:
SAPSystem = 99, SAPSystemName = SAP) [33].
Для передачи данных используется протокол SOAP, который, если настроено шифрование,
оборачивается в SSL. Данный сервис позволяет читать различную системную информацию без
запроса авторизации пользователей, а также имеет уязвимости, позволяющие удаленно
запускать команды ОС.
Угроза
SAP NetWeaver может позволить авторизованному злоумышленнику удаленно выполнить
произвольный код в системе, вызванный ошибкой в обслуживании сервиса SAP Host Control.
Это происходит, когда сервис SAP Host Control должным образом не верифицирует входные
данные в интерфейс управления SOAP. Используя SOAP-интерфейс на порте TCP 1128,
злоумышленник может использовать эту уязвимость для внедрения и выполнения
произвольных команд в системе с привилегиями SAP-администратора.
Многие незащищенные методы дают возможность запросить информацию о конфигурации
или статусе системы, прочитать файлы логов и файлы трассировки, которые могут содержать
в себе пароли пользователей или файлы HTTP-сессий, а также удаленно запускать команды ОС
www.erpscan.com•www.eas-sec.org•www.owasp.org
25
Р УКОВОДСТВО ПО АНАЛИЗУ БЕЗОПАСНОСТИ ПЛАТФОРМЫ SAP NET W EAVER ABAP 2013
через уязвимость инъекции команд ОС (подробнее см. SAP Note 1341333 [34]). Данная
информация может быть использована для реализации более критичных атак.
Решение
Уязвимость удаленного выполнения произвольного кода в системе через инъекцию команд ОС
для данного сервиса была устранена в мае 2012 года с помощью SAP Security Note 1341333 [34].
Для закрытия проблем, связанных с разглашением информации, в апреле 2013 года выпущена
SAP Security Note 1816536 [35]. Для устранения уязвимостей достаточно внедрить эти два
обновления безопасности.
В качестве дополнительного решения вопроса безопасности данного сервиса предлагается
ограничение сетевого доступа к нему по IP-адресам при помощи персонального межсетевого
экрана или на сетевом оборудовании, разрешив доступ только с тех серверов, откуда
осуществляется сбор информации.
 [EASAI-NA-13] Неавторизованный доступ к функциям сервиса SAP
Message Server
Описание
Сервер сообщений (SAP Message Server) является компонентом системы, который, с одной
стороны, управляет связью между серверами приложений (диалоговыми инстанциями) одной
SAP-системы, с другой – обеспечивает балансировку нагрузки от клиентов, таких как SAP GUI.
При стандартной установке до версии 7.0 как клиенты, так и серверы приложений используют
один и тот же порт сервера сообщений для взаимодействия. Начиная с релиза 7.0, при
установке по умолчанию происходит автоматическое разделение порта сервера сообщений на
внутренний порт (используется для подключений приложений к серверу) и внешний порт
(используется для подключений конечного пользователя).
Список контроля доступа сервера сообщений (Access Control List, ACL) можно активировать для
контроля адресов, с которых возможно подключение к серверу сообщений. Сделать это можно
при помощи параметра ms/acl_info, который указывает на файл, в котором настраивается
доступ к серверу сообщений. Этот файл содержит имена хостов, доменов, IP-адреса и/или
маски подсети, из которой серверам приложений разрешено обращаться к серверу сообщений.
Он не влияет на внешних клиентов, которые хотят только получить информацию от сервера
сообщений (это можно сделать в любом случае). Значение параметра по умолчанию:
/usr/sap/<SID>/SYS/global/ms_acl_info.
Угроза
В случае отсутствия или неправильной настройки ACL-файла вредоносные программы и
потенциальные злоумышленники могут получить доступ к серверу сообщений и
зарегистрировать свой сервер приложений, что даст возможность реализовать атаку класса
«человек посередине» и перехватить учетные данные легитимных пользователей,
пытающихся подключиться к серверу сообщений. Это может привести к получению доступа к
учетным записям пользователей.
www.erpscan.com•www.eas-sec.org•www.owasp.org
26
Р УКОВОДСТВО ПО АНАЛИЗУ БЕЗОПАСНОСТИ ПЛАТФОРМЫ SAP NET W EAVER ABAP 2013
Решение
Необходимо настроить параметр ms/acl_info, который указывает на файл с авторизационным
доступом
к
серверу
сообщений
(значение
по
умолчанию:
/usr/sap/<SID>/SYS/global/ms_acl_info). Этот файл должен содержать имена хостов, доменов,
IP-адреса и/или маску подсети, из которой серверам приложений разрешено обращаться к
серверу сообщений, в следующем формате:
HOST = [ *| ip-adr | hostname | subnetwork mask | domain ] [, ...]
Файл конфигурации позволяет использовать символ “*” при описании контроля доступа
(например, HOST = *.sap.com или HOST = 157.23.45.*). Рекомендуется избегать использования
символа “*”, особенно в виде HOST = *, так как это приводит к тому, что доступ возможен с
любой рабочей станции.
Настройки контроля доступа не влияют на получение технической информации от сервера
сообщений (это можно сделать в любом случае).
В качестве альтернативы ACL предлагаются следующие рекомендации:
- Для релиза 4.5 и ниже рекомендуется, чтобы порт сервера сообщений, указанный в
параметрах rdisp/mshost, rdisp/msserv, был перекрыт межсетевым экраном. Только
сегментам сети с SAP-серверами должен быть предоставлен доступ к этому порту.
- Для релиза до 6.4 рекомендуется разделять услуги сервера сообщений на два порта: один
порт используется для клиентского доступа SAP GUI (rdisp/msserv), а другой используется для
доступа к внутренним связям с сервером (rdisp/msserv_internal).
 [EASAI-NA-14] Неавторизованный доступ к СУБД Oracle
Описание
СУБД Oracle является на данный момент наиболее распространенной СУБД, используемой
совместно с SAP. К сожалению, данная СУБД при установке с SAP имеет небезопасную
настройку REMOTE_OS_AUTHENT, которая необходима для функционирования доверенных
отношений между SAP-системами и позволяет обходить механизмы защиты, такие как пароль
на доступ к СУБД.
Единственная возможность снизить риск – ограничить удаленный доступ к порту СУБД Oracle,
оставив его только необходимым серверам по IP-адресам.
Данная настройка реализуется при помощи конфигурационного файла Sqlnet.ora. Имеется в
виду параметр tcp.validnode_checking, необходимый для проверки валидности имен хостов
при осуществлении ими попыток входящих соединений. Если этот параметр имеет значение
yes, то входящие соединения разрешены, только если они исходят от узла, попадающего в
перечень TCP.INVITED_NODES или TCP.EXCLUDED_NODE (при этом первый имеет приоритет
над вторым). TCP.INVITED_NODES, в свою очередь, требует, чтобы каждый из клиентских
узлов был включен в список sqlnet.invited_nodes сервера.
Угроза
Если ограничения на клиентские узлы не установлены, атакующий может подключиться к
СУБД Oracle без знания пароля с использованием доверенной учетной записи $OPS<SID>adm,
что позволит ему получить практически полный доступ к СУБД.
www.erpscan.com•www.eas-sec.org•www.owasp.org
27
Р УКОВОДСТВО ПО АНАЛИЗУ БЕЗОПАСНОСТИ ПЛАТФОРМЫ SAP NET W EAVER ABAP 2013
Следующим шагом является расшифровка пароля пользователя SAPR3 из таблицы SAPUSER и
подключение с его правами к СУБД. Данный пользователь имеет полный доступ к данным SAP,
что позволит злоумышленнику получить неограниченный контроль над системой.
Решение
Установите параметр tcp.validnode_checking в файле sqlnet.ora в значение yes, для того чтобы
проверять, исходят ли входящие соединения от разрешенных в списке sqlnet.invited_nodes
узлов. Важно перечислить в серверном списке sqlnet.invited_nodes все клиентские узлы, для
которых будут разрешены входящие соединения. Рекомендуется ограничить этот список
только доверенными системами.
5. Небезопасные настройки
Каждое приложение имеет ряд настроек безопасности, которые не попадают в
вышеперечисленные группы, но также являются критичными. К таким настройкам мы
относим как типовые (длина и сложность пароля, количество попыток ввода неверного
пароля), так и более специфичные для каждой системы настройки. В качестве примера
используются настройки доступа к сервису SAP Gateway.
Что дальше?
Количество различных тонких настроек безопасности огромно, и для каждой SAP-системы или
модуля есть специфические настройки. В качестве первых шагов рекомендуется обратиться к
документу SAP NetWeaver Security Guide, раздел User Authentication. Следующим шагом можно
перейти к детальному изучению документов по настройке безопасности каждого модуля и
сервиса [36].
 [EASAI-NA-15] Минимальная длина пароля
Описание
При создании пароля для пользователя необходимо иметь в виду, что пароль должен
удовлетворять некоторым внутренним требованиям, установленным самой системой SAP и
собственными правилами компании. Существуют различные параметры профиля, призванные
осуществлять контроль за этими требованиями. Основным из этих параметров является
login/min_password_lng, который определяет минимально разрешенную длину пароля для
защиты учетной записи. Значение, указанное в этом параметре по умолчанию – 6, допустимые
значения: 3–40.
Угроза
Если установленная минимальная длина пароля менее 8 символов, злоумышленник может с
легкостью расшифровать пароли при наличии хэша из таблицы USR02 или путем удаленного
перебора, если параметр login/fails_to_user_lock (определяет количество неудачных попыток
входа в систему, прежде чем система заблокирует пользователя) установлен некорректно.
www.erpscan.com•www.eas-sec.org•www.owasp.org
28
Р УКОВОДСТВО ПО АНАЛИЗУ БЕЗОПАСНОСТИ ПЛАТФОРМЫ SAP NET W EAVER ABAP 2013
Решение
Установите параметр login/min_password_lng в значение не менее 8 (или в соответствии с
политикой безопасности компании) для уменьшения вероятности подбора пароля.
 [EASAI-NA-16] Количество неудачных попыток аутентификации до
блокировки учетной записи
Описание
Параметр login/fails_to_user_lock определяет максимальное количество неверных попыток
ввода пароля, после которых учетная запись блокируется. Важен он потому, что напрямую
взаимодействует с параметром login/min_password_lng, определяющим минимально
разрешенную длину пароля, и не позволяет подобрать пароль удаленно. Значение этого
параметра по умолчанию – 5, допустимые значения: 1–99.
Угроза
Если параметр login/fails_to_user_lock установлен некорректно и/или имеет высокое
значение, злоумышленник может успешно провести атаку на подбор пароля и получить
неавторизованный доступ к учетным данным пользователей.
Решение
Установите параметр login/fails_to_user_lock в значение не более 6, чтобы снизить
вероятность подбора пароля.
 [EASAI-NA-17]
безопасности
Соответствие
пароля
установленным
политикам
Описание
Существует параметр login/password_compliance_to_current_policy, который очень важен, так
как при его отсутствии или при значении, равном нулю, настройки длины и сложности пароля
не будут применяться автоматически к старым пользователям (будут работать только для
вновь созданных). Таким образом, все старые пользователи будут иметь небезопасные пароли.
Установленный в значение 1, параметр обеспечит реализацию процедуры, при которой старые
пользователи при входе в систему с небезопасным паролем должны будут сменить его на
безопасный.
Угроза
Если параметр login/password_compliance_to_current_policy выставлен в значение 0,
соответствие парольным политикам для старых пользователей не установлено. Это позволяет
пользователям иметь пароли, не соответствующие требованиям безопасности, и, как
следствие, учетные записи данных пользователей могут быть легко скомпрометированы.
www.erpscan.com•www.eas-sec.org•www.owasp.org
29
Р УКОВОДСТВО ПО АНАЛИЗУ БЕЗОПАСНОСТИ ПЛАТФОРМЫ SAP NET W EAVER ABAP 2013
Решение
Установите параметр login/ password_compliance_to_current_policy в значение 1, чтобы
применить требования парольных политик для всех пользователей, включая уже созданных.
 [EASAI-NA-18] Настройки контроля доступа RFC (reginfo.dat)
Описание
Технический компонент сервера приложений, который управляет связями между SAPсистемами для всей функциональности, основанной на RFC, называется шлюзом (SAP
Gateway). Так как шлюз – это интерфейс сервера приложений для внешних связей (с другими
SAP-системами, внешними программами и пр.), к нему предъявляются повышенные
требования безопасности. Безопасность SAP Gateway контролируется файлом reginfo
(определяемым параметром gw/reg_info) и sec_info (определяемым параметром gw/sec_info).
Некоторым клиентам может быть разрешено регистрировать на шлюзе свои программы. Для
того чтобы контролировать доступ к зарегистрированным программам, отменить их
регистрацию, определить, какие внешние серверные программы могут регистрироваться на
шлюзе, нужно указать их в файле reginfo. Имя файла (путь к нему) определяется параметром
gw/reg_info. Путь к файлу по умолчанию: /usr/sap/<SID>/<INSTANCE>/data/reginfo.
Если этот файл не существует, любые серверные процессы могут быть зарегистрированы с
любых хостов (кстати, начиная с версии ядра 7.20, на этот процесс поставлено ограничение с
помощью параметра профиля инстанции gw/acl_mode по соображениям безопасности; см. SAP
Note 1480644 [37]). Однако, если файл существует и он пустой или не содержит валидных
записей, регистрация не допускается.
Если кто-то пытается зарегистрировать сервис на шлюзе, происходит поиск валидной записи в
этом файле, в которой указано, что данному пользователю разрешено регистрировать данный
сервис. Если запись не найдена, происходит отказ в регистрации. Важно понимать, что файл
reginfo считывается только один раз для регистрации программы: если программа успешно
зарегистрирована, а после этого файл reginfo изменяется так, что регистрация этой
программы запрещена, это никак не повлияет на существующую успешную регистрацию
программы.
Угроза
В случае если файл reginfo.dat отсутствует или его конфигурация некорректна (например,
присутствует символ “*” в определении хостов, что означает возможность регистрации сервиса
с любого хоста), злоумышленник может зарегистрировать любую программу в SAP Gateway и
получить неавторизованный доступ к серверу SAP. Также он может зарегистрировать новую
программу (которая будет реализовывать вредоносный функционал) с таким же именем, как
существующая, что приведет к возможности ее запуска легитимными пользователями.
Решение
Неавторизованная регистрация программ может быть предотвращена путем создания файла
reginfo.dat в директории данных SAP Gateway. Если файл существует, то система проверяет
наличие прав доступа на вызов удаленных RFC-программ из данного файла, тем самым
предотвращая неавторизованный доступ.
www.erpscan.com•www.eas-sec.org•www.owasp.org
30
Р УКОВОДСТВО ПО АНАЛИЗУ БЕЗОПАСНОСТИ ПЛАТФОРМЫ SAP NET W EAVER ABAP 2013
У записей в файле должен быть следующий синтаксис (у каждой строки должна быть запись с
TP, все другие поля – дополнительные):
TP=name [NO=<n>] [HOST=<host>] [ACCESS=<host>] [CANCEL=<host>], где:
TP=name –регистрационный ID внешней программы сервера;
NO=n – разрешенное количество регистраций с данным ID;
HOST=<host> – имя (имена) хоста, от которого зарегистрированным серверам позволяют
войти в систему. Здесь можно указать список имен хоста, IP-адресов, доменных имен или масок
подсети. Регистрация позволена, только если сервер входит в систему от этого узла. Если это
дополнение отсутствует, регистрация позволена от любых узлов.
ACCESS=<host> – имя (имена) хоста, которым позволено использовать зарегистрированный
сервер. Здесь можно указать список имен хоста, IP-адресов, доменных имен или масок подсети.
Локальной системе всегда позволено использовать сервер. Если дополнение отсутствует,
сервер может использоваться от любого узла.
CANCEL=<host> – имя (имена) хоста, которым позволено отключаться (log off) от системы
зарегистрированного сервера. Применяются те же правила, как у параметра ACCESS.
Начиная с версии ядра 6.40, патч 212; версии 7.00, патч 139; версии 7.10, патч 80, в синтаксис
добавляются значения permit и deny, обозначаемые латинскими буквами верхнего регистра P
и D соответственно (подробнее в SAP Note 1105897 [38]). P означает, что программе разрешено
быть зарегистрированной (то же, что и строка со старым синтаксисом); D препятствует
регистрации. Формат первой строки в таком файле: #VERSION=2. Все дальнейшие строки
структурированы следующим образом:
P|D TP=name [NO=<n>] [HOST=<host>] [ACCESS=<host>] [CANCEL=<host>]
Внимание! Система рассматривает ключевые слова, только если они записаны в верхнем
регистре. Некорректное указание приводит к значению HOST=*, которое, вероятно, будет
нежелательным (инструкции по исправлению есть в SAP Note 1473017 [39]). Во всех списках
имен хоста (HOST, ACCESS и CANCEL) ключевые слова должны быть разделены запятыми.
Пробел обозначает конец списка.
Детальное рассмотрение синтаксиса приводится в SAP Note 1069911 [40] .
Для правильной конфигурации reginfo.dat используйте рекомендации SAP Note 1425765 и
1408081 [41] [42].
 [EASAI-NA-19] Настройки контроля доступа RFC (secinfo.dat)
Описание
В файле secinfo вы можете определить, какие внешние программы могут быть запущены, а
также кем и какие внешние серверные программы могут быть зарегистрированы в шлюзе
(только до версии ядра 46D; начиная с версии 6.40, регистрация внешних серверных программ
контролируется с помощью отдельного файла RegInfo). Иначе говоря, файл безопасности
secinfo используется для предотвращения несанкционированного запуска внешних программ.
Имя файла определяется параметром gw/sec_info. Путь к файлу по умолчанию:
/usr/sap/<SID>/<INSTANCE>/data/secinfo.
Если файл не существует, система запускает все внешние программы. Однако если файл
существует, но пуст или не содержит валидных строк, нельзя запустить ни одну внешнюю
программу.
При запуске внешней программы система исследует файл на предмет валидной записи. Если
таковая не найдена, система отказывает в запуске внешней программы и выдает сообщение об
ошибке.
www.erpscan.com•www.eas-sec.org•www.owasp.org
31
Р УКОВОДСТВО ПО АНАЛИЗУ БЕЗОПАСНОСТИ ПЛАТФОРМЫ SAP NET W EAVER ABAP 2013
Угроза
В случае если файл secinfo.dat отсутствует или его конфигурация небезопасна (например,
присутствует символ “*” в определении хостов, программ или подсетей), злоумышленник
может запустить необходимую программу, зарегистрированную в SAP Gateway, и получить
неавторизованный доступ к функционалу данной программы, а в некоторых случаях, если
программа, например, реализует команды ОС, – к серверу SAP.
Решение
Неавторизованный запуск программ может быть предотвращен путем создания файла
secinfo.dat в директории данных SAP Gateway. Если файл существует, то система проверяет
наличие прав доступа на вызов удаленных RFC-программ из данного файла, тем самым
предотвращая неавторизованный доступ.
У записей в файле должен быть следующий синтаксис (у каждой строки записи USER, HOST и
TP – обязательны, все другие поля – дополнительные):
TP=name HOST=<host> USER=<user> [USER-HOST=<user-host>], где:
TP=<program name> – имя программы, которую вы хотите запустить (можно также
определить запуск для ID программы, например, TP=XYZ*);
HOST=<host> – имя хоста, на котором вы хотите запустить программу (определяет адрес
назначения; заметьте следующее различие: в синтаксисе файла reg_info этот параметр
определяет клиентский адрес; доступен с версии 6.40, патч 194 и версии 7.00, патч 119);
USER=<user> – имя пользователя, который хочет запустить программу. Если запуск
программы происходит от сервера приложений, это имя пользователя для входа в систему.
Если программа запущена из внешней программы, это имя пользователя операционной
системы;
USER-HOST=<host> (исходный адрес) – имя хоста пользователя, который хочет запустить
программу. Из соображений безопасности настоятельно рекомендуется установить эту опцию
(см. SAP Note 1434117 [43]).
В ранних версиях (до 6.40) поддерживался параметр PWD=<Password> (в новых системах
игнорируется).
Начиная со следующих версий ядра: версия 6.40, патч 212; версия 7.00, патч 139; версия 7.10,
патч 80, в синтаксис добавляются значения permit и deny, обозначаемые латинскими буквами
верхнего регистра P и D соответственно (подробнее в SAP Note 1105897 [38]). P означает, что
программе разрешено быть запущенной (то же, что и строка со старым синтаксисом); D
препятствует запуску программы. Формат первой строки в таком файле: #VERSION=2. Все
дальнейшие строки структурированы следующим образом:
P|D TP=<tp> HOST=<host> USER=<user> [USER-HOST=<user_host>]
Внимание! Система рассматривает ключевые слова, только если они записаны в верхнем
регистре. Некорректное указание приводит к значению HOST=*, которое, вероятно, будет
нежелательным (инструкции по исправлению есть в SAP Note 1473017 [39]).
Детальное рассмотрение синтаксиса приводится в SAP Note 614971 [44].
Для правильной конфигурации secinfo.dat используйте SAP Notes 1408081, 1525125, 1425765
[42] [45] [41].
www.erpscan.com•www.eas-sec.org•www.owasp.org
32
Р УКОВОДСТВО ПО АНАЛИЗУ БЕЗОПАСНОСТИ ПЛАТФОРМЫ SAP NET W EAVER ABAP 2013
6. Контроль доступа и SoD-конфликты
В SAP-системе присутствует огромное количество различных функциональных возможностей,
которые реализуются через программы, транзакции и отчеты. Доступ к этим объектам
необходимо жестко регламентировать на основе авторизационных значений, описывающих,
как, кому и к каким объектам он разрешен. В случае если пользователям разрешены
критичные действия (например, доступ к транзакции, которая меняет права доступа, или
доступ к транзакции, которая позволяет читать любые таблицы), то они могут реализовать
атаки на систему SAP и повысить свои привилегии или украсть критичные данные.
Segregation of Duties (SoD) или разделение полномочий – это метод обеспечения безопасности,
который предотвращает появление конфликта полномочий, то есть наличия двух или более
прав доступа, которые вместе могут привести к возможности мошеннических действий
(например, возможность создания платежного поручения и возможность подтверждения
платежного поручения). SoD помогает разделить несовместимые обязанности, потенциально
позволяющие одному человеку совершить мошенничество.
В данном разделе представлено лишь 5 основных проверок из области контроля доступа,
покрывающих наиболее критичные права доступа и связанные с ними настройки. Ввиду того,
что разделение полномочий основывается на бизнес-процессах каждой отдельно взятой
компании (то есть разрабатывается индивидуально), а его конфигурация является вторым
шагом после собственно критичных полномочий, проверки по SoD в данном разделе
отсутствуют.
Что дальше?
Критичных прав, описываемых в данном разделе, только в SAP BASIS не менее 100; схожее
количество находится в каждом модуле. Как уже было сказано выше, существуют и
пересечения данных прав, контролируемые матрицей разграничения полномочий (SoD).
Стандартная матрица насчитывает более 200 различных разграничений полномочий, а
каждая компания, в зависимости от области функционирования, может иметь дополнительно
свои.
В качестве дальнейших шагов следуют критичные права доступа, которые можно получить
как из руководящего документа ITAF от ISACA [46], так и из стандарта DSAG [47] от
Deutschsprachige SAP Anwendergruppe (DSAG, немецкоязычная группа пользователей SAP). После
этого следует перейти к настройке разграничения полномочий. Самым правильным ходом
перед тем, как начать анализ разграничения полномочий, будет проверка прав доступа, у
которых в авторизационных значениях указаны значения “*”. В большинстве случаев такие
права не нужны и несут за собой сотни различных конфликтов полномочий.
 [EASAI-NA-20] Проверка учетных записей с профилем SAP_ALL
Описание
Профиль SAP_ALL – это композитный профиль, который содержит в себе все полномочия для
SAP-системы, включая основные функции администрирования и настройки приложений. В
соответствии с принципом разграничения полномочий нет необходимости назначать этот
профиль на практике.
www.erpscan.com•www.eas-sec.org•www.owasp.org
33
Р УКОВОДСТВО ПО АНАЛИЗУ БЕЗОПАСНОСТИ ПЛАТФОРМЫ SAP NET W EAVER ABAP 2013
Угроза
Пользователь, обладающий привилегиями SAP_ALL, может совершать любые действия в
системе. Если аутентификационные данные пользователя с профилем SAP_ALL были
скомпрометированы, нарушитель получает неограниченный доступ к критичной для бизнеса
информации и процессам.
Решение
- Права пользователям должны назначаться в соответствии с принципом минимальных
привилегий.
- Профиль SAP_ALL рекомендуется использовать только в случае крайней необходимости.
- Рекомендуется создать только одного пользователя с таким профилем (для чрезвычайных
ситуаций) и хранить пароль этого пользователя в тайне. Вместо использования профиля
SAP_ALL рекомендуется распределить полномочия, которые он содержит, в соответствующие
позиции. Например, вместо назначения системному администратору (или суперпользователю)
разрешения SAP_ALL назначить ему только те авторизации, которые относятся к системному
администрированию, а именно S_*. Эти авторизации дадут ему достаточно прав для
управления всей системой SAP, не позволяя при этом выполнения задач в других областях,
например управление кадрами.
 [EASAI-NA-21] Проверка учетных записей, которые могут запускать
любые программы
Описание
Любой пользователь с авторизацией на запуск программ может запускать любые программы,
если дополнительный контроль доступа внутри конкретных программ не реализован, что
довольно часто встречается на практике, особенно в клиентских программах. Для контроля
доступа к программам создаются авторизационные группы. Каждой авторизационной группе
соответствует несколько ABAP-программ. Пользователи могут запускать только те программы,
которые входят в авторизационные группы, назначенные их профилю.
В данном контексте проверяются пользователи, имеющие следующий критичный доступ:
Транзакция SA38 – позволяет выполнять программы и отчеты в системе;
Транзакция
SE38
–
позволяет
просматривать
исходный
код
программ
и
разрабатывать/отлаживать их;
Транзакция SE37 – позволяет запускать функциональные модули;
Транзакция SE80 – позволяет редактировать любые объекты (является средой) разработки.
Для контроля доступа за данным транзакциям отслеживают пользователей со следующими
авторизационными правами:
S_PROGRAM:P_ACTION=SUBMIT или BTCSUBMIT
S_PROGRAM:P_GROUP=*
S_TCODE:TCD=SA38 или SE37 или SE38 или SE80
Угроза
Пользователи, которые могут выполнять любые программы, имеют неограниченный доступ к
функционалу системы и могут нанести серьезный ущерб, так как в системе существуют более
www.erpscan.com•www.eas-sec.org•www.owasp.org
34
Р УКОВОДСТВО ПО АНАЛИЗУ БЕЗОПАСНОСТИ ПЛАТФОРМЫ SAP NET W EAVER ABAP 2013
30000 различных программ, позволяющих реализовать практически любое действие: от
создания пользователя и выполнения команд ОС до оплаты товаров и модификации зарплат.
При отсутствии контроля любой пользователь, которому назначен авторизационный объект
S_PROGRAM и доступ к транзакциям SA38 или SE38, может выполнить любую программу, к
транзакции SE37 – запустить любой функциональный модуль, к транзакции SE80 – провести
редактирование любого объекта разработки. Редактирование и запуск некоторых программ
может создавать дополнительный риск того, что программа может вернуть неточную или
неполную информацию. Кроме того, разрешение пользователю запускать транзакцию SE38
может привести к несанкционированному изменению программ, что в свою очередь может
повлиять на целостность системы.
Решение
- Количество пользователей с данными правами должно быть минимизировано, роли должны
присваиваться в соответствии с принципом минимальных привилегий.
- Необходимо (по возможности) включать в наиболее критичные программы дополнительные
проверки авторизации путем модификации их исходного кода.
- Кроме того, необходимо проводить обзор политик, процедур и критериев установления
авторизационных групп для создаваемых программ.
 [EASAI-NA-22] Проверка учетных записей с правами на изменение
критичных таблиц с паролями
Описание
Таблицы USR02, а также USH02 и USRPWDHISTORY являются стандартными таблицами в SAPсистемах, которые содержат такие критичные пользовательские данные, как имя
пользователя, хэш пароля, тип пользователя, номер клиента и прочее.
Для контроля доступа к данным таблицам следует отслеживать пользователей со следующими
авторизационными правами (для версии SAP NetWeaver с поддержкой авторизационного
объекта S_TABU_NAM):
S_TABU_NAM:ACTVT=02;
S_TABU_NAM:TABLE=USR02 или USH02 или USRPWDHISTORY;
или (для всех остальных версий):
S_TABU_DIS:ACTVT=02;
S_TABU_DIS:DICBERCLS=SC.
Угроза
Пользователи, имеющие доступ к перечисленным таблицам, имеют возможность изменить хэш
пароля любого пользователя, что позволит им войти в систему под любой учетной записью.
Решение
Количество пользователей, имеющих доступ к таблицам USR02, USH02, USRPWDHISTORY,
должно быть ограничено бизнес-необходимостью. Роли должны назначаться в соответствии с
принципом наименьших привилегий
www.erpscan.com•www.eas-sec.org•www.owasp.org
35
Р УКОВОДСТВО ПО АНАЛИЗУ БЕЗОПАСНОСТИ ПЛАТФОРМЫ SAP NET W EAVER ABAP 2013
 [EASAI-NA-23] Проверка учетных записей, которые могут выполнять
команды ОС
Описание
Для того чтобы система SAP могла взаимодействовать с операционной системой, на которой
она развернута, реализованы специальные механизмы взаимодействия с внешними
командами. Эти команды ОС могут выполняться с помощью транзакций, определенных в SAPсистеме, и только теми пользователи, у которых есть определенные авторизации.
Транзакция SM49 позволяет выполнять любые внешние команды (относящиеся к ОС). SAPсистема содержит подробную информацию для каждой внешней команды, включая
непосредственно команду операционной системы, предопределенные параметры и
информацию о том, разрешены ли дополнительные параметры.
Пользователям, которые выполняют внешние команды, должен быть присвоен объект
авторизации S_LOG_COM. Авторизация S_LOGCOM_ALL (основана на объекте авторизации
S_LOG_COM), которая допускает выполнение всех команд, включена в стандартные наборы
авторизационных профилей S_A.SYSTEM и S_A.ADMIN.
Для управления внешними командами используется транзакция SM69. Она позволяет
модифицировать их и устанавливать дополнительные механизмы защиты. У пользователя
должен быть объект авторизации S_RZL_ADM со значением 01 в поле Activity в его профиле
авторизации.
Угроза
Пользователи, которые могут выполнять или изменять команды ОС, имеют потенциальную
возможность запуска критичных команд ОС и могут нанести системе серьезный ущерб.
При отсутствии контроля любой пользователь, которому назначен доступ к транзакции SM49
или SM69 (а также присвоение пользователю объектов авторизации S_LOG_COM или
S_RZL_ADM), может выполнить команду внешней ОС SAP-системы. Редактирование и запуск
некоторых команд может создавать дополнительный риск, что команда может вернуть
неточную или неполную информацию. Кроме того, разрешение пользователю запускать
транзакцию SM69 может привести к несанкционированному изменению команд, что, в свою
очередь, может повлиять на целостность как операционной системы, так и системы SAP.
Решение
- Количество пользователей с данными правами должно быть минимизировано, роли должны
присваиваться в соответствии с принципом минимальных привилегий.
- Необходимо заблокировать данные транзакции и разблокировать их только по мере
необходимости во время использования.
- Кроме того, необходимо проводить обзор политик, процедур и критериев установления
авторизационных групп для создаваемых программ.
 [EASAI-NA-24] Проверка отключенных авторизаций
Описание
Авторизационные проверки используются, когда необходимо убедиться, что пользователь
имеет соответствующие права для выполнения определенного действия.
www.erpscan.com•www.eas-sec.org•www.owasp.org
36
Р УКОВОДСТВО ПО АНАЛИЗУ БЕЗОПАСНОСТИ ПЛАТФОРМЫ SAP NET W EAVER ABAP 2013
Существует возможность отключить проверки некоторых авторизационных значений на
системном уровне. Проверка не производится в том случае, если администратор
целенаправленно отключил проверку авторизационного объекта для конкретной транзакции
(с помощью транзакции SU24 или SU25). Это может быть полезно, так как при выполнении
транзакций зачастую проверяется большое количество авторизационных объектов, которые
транзакция вызывает в фоновом режиме.
Для того чтобы эти проверки были выполнены успешно, пользователь должен иметь
соответствующие авторизации. Зачастую на практике некоторым пользователям выделяется
больше авторизаций, чем необходимо. Эти авторизации в сочетании с другими могут дать
пользователю излишние права, а также увеличить рабочую нагрузку.
С другой стороны, отключение авторизационных проверок очень рискованно, так как это
означает отключение механизмов защиты доступа в системе.
Для того чтобы отключение авторизаций, внесенное при помощи транзакций SU24 или SU25,
вступило в силу, необходимо установить параметр профиля AUTH/NO_CHECK_IN_SOME_CASES
в значение Y (с помощью транзакции RZ10). Такая настройка используется по умолчанию в
более новых версиях BASIS. Этот параметр позволяет отключить проверку полномочий для
отдельных транзакций.
Угроза
Отсутствие проверки критичной авторизации может привести к неавторизованному
выполнению критических действий в системе и в результате к потере работоспособности
системы или осуществлению мошеннических действий. Кроме того, наличие таких
отключенных проверок авторизации может свидетельствовать о наличии программной
закладки (backdoor) в системе.
Решение
Рекомендуется проверить необходимость отключения проверки авторизации в той или иной
программе, транзакции или функциональном модуле. Для этого предлагается
проанализировать названия программ, транзакций или функциональных модулей, в которых
присутствуют системные объекты авторизации с отключенной проверкой авторизации.
Технически отключенные авторизации отмечены в таблице USOBX_C (проверочная таблица
для таблицы USOBT_C) значением поля OKFLAG = N.
Авторизационные проверки для соответствующих авторизационных объектов должны
отключаться только для конкретных транзакций на время их выполнения.
7. Незашифрованные соединения
Для защиты соединений между компонентами системы SAP NetWeaver, особенно от атак
«человек посередине» (MITM, Man in the middle), необходимо обеспечивать безопасность на
транспортном уровне. При использовании TLS (Transport Layer Security), передача данных
может быть защищена от подслушивания не только с помощью шифрования, но и с помощью
аутентификации партнера.
Использование TLS обеспечивает следующие типы защиты:
- Аутентификация: Партнер по коммуникации может пройти проверку подлинности. Сервер
аутентифицируется всегда, в то время как клиент аутентифицируется в зависимости от
алгоритма.
www.erpscan.com•www.eas-sec.org•www.owasp.org
37
Р УКОВОДСТВО ПО АНАЛИЗУ БЕЗОПАСНОСТИ ПЛАТФОРМЫ SAP NET W EAVER ABAP 2013
- Целостность данных: Обмен сообщениями защищен таким образом, что любые манипуляции
с ними выявляются.
- Конфиденциальность (секретность) данных: Данные, передаваемые между клиентом и
сервером, шифруются, что обеспечивает защиту конфиденциальности. Перехватчик не может
получить доступ к данным. Защита доступна для входящих и исходящих соединений.
Защита обеспечивается в двух формах, в зависимости от типа связи, который используется.
Для соединений с использованием интернет-протоколов, таких как HTTP, используется
протокол Secure Sockets Layer (SSL). Для SAP-протоколов, таких как RFC, используется Secure
Communications Network (SNC).
Что дальше?
Данный раздел содержит детальные настройки шифрования для различных сервисов. Однако,
стоит понимать, что, даже если шифрование включено, оно не всегда настроено безопасно: для
каждого типа шифрования в каждом конкретном случае есть различные тонкие настройки,
защищающие от атак. Например, недавнее появление атак BEAST и CRIME на SSL-соединения
обусловило необходимость более тонких настроек SSL [48]. Именно поэтому необходимо с
большим вниманием подходить к настройке шифрования, учитывая появление новых типов
атак и особенности настраиваемого сервиса.
 [EASAI-NA-25] Использование шифрования SSL для защиты HTTPсоединений
Описание
SSL поддерживает следующие протоколы: HTTPS из соответствующего ему HTTP, IIOPSEC из
IIOP, P4SEC из P4. В данном случае мы рассматриваем только HTTP, так как IIOP и P4 относятся
к JAVA-стеку.
В параметре ICM-сервиса icm/server_port_<xx> указаны протокол и порт, где <xx> – это
порядковый номер параметра. Этот параметр используется для указания имени службы или
номера порта, который будет использован для протокола. Также можно определить
дополнительные свойства службы. Но нельзя назначить на один порт более одного сервиса.
Кроме того, служба не может быть запущена, если другая программа уже использует данный
порт или сервис.
Строка параметра имеет следующий синтаксис: PROT = <protocol name>, PORT = <port name>
[, TIMEOUT = <timeout>, PROCTIMEOUT = <proctimeout>, EXTBIND = 1, HOST = <host name>,
VCLIENT = <SSL клиента Verification>, SSLCONFIG = ].
Обязательными для указания являются параметры имя протокола (PROT) и имя службы или
номера порта (PORT), другие переменные являются необязательными. Стандартные
системные значения для этого параметра зависят от типа системы, заданного параметром
system/type. Возможны следующие типы:
- Двойной стек: system/type = DS (считается уже устаревшей версией). Инстанция содержит
серверы приложений AS ABAP и Java AS:
icm/server_port_0=PROT=HTTP,PORT=5$(SAPSYSTEM)00,TIMEOUT=60,PROCTIMEOUT=600
icm/server_port_1 = PROT=P4,PORT=5$(SAPSYSTEM)04
icm/server_port_2 = PROT=IIOP, PORT=5$(SAPSYSTEM)07
icm/server_port_3 = PROT=TELNET,PORT=5$(SAPSYSTEM)08,HOST=localhost
www.erpscan.com•www.eas-sec.org•www.owasp.org
38
Р УКОВОДСТВО ПО АНАЛИЗУ БЕЗОПАСНОСТИ ПЛАТФОРМЫ SAP NET W EAVER ABAP 2013
icm/server_port_4 = PROT=SMTP,PORT=0,TIMEOUT=120,PROCTIMEOUT=120
- Только Java: system/type = J2EE (в данном документе не рассматривается). Инстанция
содержит только сервер приложений Java AS.
- Только ABAP: system/type = ABAP. Инстанция содержит только сервер приложений ABAP (AS
ABAP).
icm/server_port_0 = PROT=HTTP,PORT=0,TIMEOUT=30,PROCTIMEOUT=60
icm/server_port_1 = PROT=SMTP,PORT=0,TIMEOUT=120,PROCTIMEOUT=120
Угроза
Отсутствие шифрования сетевых соединений может привести к неавторизованному доступу к
передающимся данным путем их перехвата. Протокол HTTP передает все аутентификационные
данные в открытом виде, что позволяет с легкость перехватить их при помощи атаки типа
spoofing.
Решение
Рекомендуется настроить SSL для HTTP-соединений. Детальные пошаговые инструкции к
этому процессу можно найти здесь в документе SSL Configuration in SAP ABAP AS and JAVA AS –
Step-by-step procedure [49].
 [EASAI-NA-26] Использование шифрования SNC для защиты клиентских
соединений SAP GUI
Описание
SNC (Secure Network Communications) представляет собой программный уровень в архитектуре
SAP-системы, который обеспечивает интерфейс внешней безопасности продукта, в частности,
отвечает за шифрование и аутентификацию.
SAP-система содержит в себе основные меры безопасности, которые включают авторизацию и
аутентификацию пользователей на основе паролей. Благодаря SNC возможно усилить
безопасность системы SAP, внедрив дополнительные функции безопасности, которые SAPсистемы в явном виде не предоставляют (например, использование смарт-карт для
аутентификации пользователя, дополнительные цифровые сертификаты и сертификаты
шифрования).
Существует три уровня обеспечения безопасности, которые можно применить (за это отвечает
параметр snc/data_protection/use (по умолчанию равен 3), отвечающий за стандартный
уровень защиты соединений; имеет смежные параметры snc/data_protection/max и
snc/data_protection/min для максимально и минимально допустимого уровня защиты
соответственно):
- Только проверка подлинности (snc/data_protection/use=1). Система проверяет подлинность
партнеров по коммуникации. Это минимальный уровень защиты, обеспечиваемый SNC.
Реальная защита данных не обеспечивается!
- Защита целостности (snc/data_protection/use=2). Система обнаруживает любые изменения
или манипуляции с данными, которые могут возникнуть между двумя конечными точками
связи.
www.erpscan.com•www.eas-sec.org•www.owasp.org
39
Р УКОВОДСТВО ПО АНАЛИЗУ БЕЗОПАСНОСТИ ПЛАТФОРМЫ SAP NET W EAVER ABAP 2013
- Защита конфиденциальности (snc/data_protection/use=3). Система шифрования сообщений
делает прослушивание бесполезным. Этот уровень также включает в себя защиту целостности
данных. Это максимальный уровень защиты, обеспечиваемый SNC.
Параметр snc/enable определяет, используется ли SNC-защита для соединений.
Значение по умолчанию: 0 (SNC не активирована). Значение 1 – SNC активирована (соединения
защищены).
Как только была активирована SNC (snc/enable = 1), система принимает только защищенные
SNC соединения. Если есть потребность принять обычное соединение, которое не защищено
SNC, необходимо установить соответствующие параметры (snc/accept_insecure_gui,
snc/accept_insecure_rfc, snc/accept_insecure_cpic) в зависимости от тех типов соединений,
которые необходимо принимать в незащищенном виде.
Угроза
Отсутствие SNC-шифрования может привести к неавторизованному доступу к информации,
передающейся между системами, которые используют протоколы DIAG и RFC. Эти протоколы
не используют шифрование данных и паролей, а только небезопасные алгоритмы сжатия,
которые можно с легкостью декодировать с помощью программных продуктов, доступных в
сети Интернет. Это в свою очередь позволяет перехватить пароли и получить
неавторизованный доступ к системе.
Решение
Необходимо установить параметр snc/enable в значение 1, для того чтобы включить
шифрование и тем самым снизить вероятность неавторизованного доступа. Кроме того,
предлагается воспользоваться рекомендациями SNC User's Guide [50], расположенном на SAP
Help Portal (доступны также на русском языке (стр. 22) [51]).
 [EASAI-NA-27] Использование
соединений между системами
шифрования
SNC
для
защиты
RFC-
Описание
SAP-системы могут связываться с другими SAP-системами или внешними системами двумя
основными способами: с помощью Internet Communication Framework (ICF), которая
позволяет использовать HTTP, HTTPS или SMTP, либо Remote Function Call (RFC), которую
можно вызвать непосредственно в системе.
RFC – это собственный интерфейс SAP, существующий для интеграции между SAP-системами, а
также интеграции с программным обеспечением внешних систем. RFC вызывает функцию,
которая будет выполнена в удаленной системе. Другие технологии интеграции, такие как вебсервисы, чаще дополняют RFC. В настоящее время существует целый ряд вариантов RFC,
каждый из которых имеет различные свойства и используется для определенных целей.
Для обеспечения безопасности RFC соединений может использоваться целый ряд мер, но в
данном разделе рассматривается именно шифрование.
Угроза
Функциональные
модули,
конфиденциальные данные
вызываемые по протоколу
RFC,
могут
(например, пароли или номера кредитных
www.erpscan.com•www.eas-sec.org•www.owasp.org
передавать
карт). При
40
Р УКОВОДСТВО ПО АНАЛИЗУ БЕЗОПАСНОСТИ ПЛАТФОРМЫ SAP NET W EAVER ABAP 2013
использовании RFC без шифрования возникает возможность чтения этих данных в открытом
виде. Отсутствие SNC-шифрования для RFC-соединений между ABAP-системами, так же как
отсутствие SSL-шифрования для HTTP-соединений между ABAP-системами, позволит
злоумышленнику получить доступ к критичной информации, перехватывая ее при помощи
атаки типа spoofing.
Решение
Рекомендуется провести анализ списка RFC-соединений между ABAP-системами, для которых
необходимо использовать SSL или SNC. Для обеспечения безопасности необходимо исключить
ситуации, в которых существуют соединения с ABAP-системами, в которых данные передаются
без использования SSL или SNC.
Используя транзакцию SM59 для управления RFC и их SNC-настройками, можно определить
следующую информацию об SNC: режим SNC для соединения (активный или неактивный);
качество защиты (QoP); имя SNC партнера. Другие важные настройки SNC (имя SNC сервера
приложений, расположение внешней библиотеки, максимальное качество защиты и качество
защиты по умолчанию), как уже обсуждалось выше, определены в профиле экземпляра сервера
приложений (они являются параметрами профиля на AS ABAP).
Для включения SNC для RFC-адаптера и SAP-системы необходимо установить сертификат на
сервер. После этого на экране управления RFC (транзакция SM59) необходимо на требующемся
RFC выбрать опцию Change, в которой требуется вкладка Security & Logon. На этой вкладке
необходимо перейти на Edit  SNC Options. В появившемся экране SNC extension: Details
сделайте следующие изменения.
Введите качество защиты в поле QoP. Введите имя SNC коммуникационного партнера в поле
Partners (если определяется внешняя серверная программа для запуска на сервере приложений
или на рабочей станции, то имя SNC партнера будет автоматически получено из
существующего безопасного пути, и его не будет необходимости определять). Сохраните SNCнастройки. Вернувшись на начальный экран, активируйте SNC.
Для тех же случаев, где необходимо SSL, рекомендуется выполнить следующие действия:
1) выполните транзакцию SM59;
2) выберите соединение, в котором необходимо включить использование SSL;
3) на вкладке Logon/Security установите опцию SSL в значение Activate;
4) сохраните изменения.
8. Небезопасные доверенные соединения
Для создания межсистемных бизнес-процессов могут использоваться различные решения. В
зависимости от требований можно выбрать слабое или тесное взаимодействие. Одно из таких
взаимодействий, так называемые «доверительные отношения» между системами, позволяет
сводить к минимуму требования проверки подлинности при установлении удаленного сеанса.
Если вызывающей SAP-системе вызываемая система известна как доверенная, пароль
требоваться не будет.
Наибольшие преимущества использования такого взаимодействия заключаются в том, что, с
одной стороны, пароли не передаются в сеть, а с другой – осуществляется простая регистрация,
возможная за границами системы. Используя эту функцию, можно создать виртуальную SAPсистему, состоящую из различных SAP-систем, которые вызываются удаленно.
Доверительные отношения не взаимны, то есть применимы только в одном направлении. Для
установления взаимных доверительных отношений между двумя системами необходимо
www.erpscan.com•www.eas-sec.org•www.owasp.org
41
Р УКОВОДСТВО ПО АНАЛИЗУ БЕЗОПАСНОСТИ ПЛАТФОРМЫ SAP NET W EAVER ABAP 2013
определить каждую из двух систем как доверенную для соответствующей системы партнера.
Неудивительно, что доверительные отношения могут нести дополнительные риски
безопасности.
Что дальше?
Помимо доверительных отношений при помощи механизмов сервера приложений, серверы
зачастую могут быть связаны через множество других механизмов. Например, SAP-системы
могут быть установлены на Windows-серверах, которые входят в единый домен и запущены с
правами общей учетной записи. Такая ситуация будет значить, что получение доступа к
одному серверу практически приводит к получению доступа ко всем серверам, как бы хорошо
они ни были защищены на уровне приложения.
Также возможен вариант, когда связи или доверительные отношения реализованы
посредством СУБД. В СУБД часто хранятся ссылки на другие базы с прописанными
аутентификационными данными, что влечет за собой получение доступа к другим СУБД. В эту
же область входят любые другие возможные способы проникновения в соседнюю систему,
которые используются при тестированиях на проникновение, то есть попытки входа в
соседнюю систему с такими же или похожими паролями, как на уровне ОС, так и на уровне СУБД
и приложения, всевозможные виды поиска паролей в открытом виде в файловой системе,
скриптах обновления, интеграции, бэкапа и так далее. Все это необходимо проверить для
исключения возможности проникновения во все системы при наличии одного слабого звена.
 [EASAI-NA-28] RFC-соединения, хранящие аутентификационные данные
пользователей
Описание
Многие соединения между двумя системами SAP или системой SAP и внешней системой
(приложения могут вызывать функции АВАР в системе SAP, а системы SAP — внешние
приложения) основываются на удаленном вызове функции (RFC, Remote Function Call). Чтобы
полностью интегрировать систему SAP в существующую системную инфраструктуру,
предоставленные соединения RFC должны быть идентифицированы как адреса назначения
RFC (RFC destinations). Неправильное их использование может привести к компрометации
системы, к которой созданы адреса назначения.
Различают три категории для безопасного управления ABAP-функциями и логическими
адресами назначения RFC.
1. Адреса назначения, хранящие техническую конфигурацию соединений, без хранения
учетных записей и без доверительных отношений между системами. Они требуют проверки
подлинности пользователя при каждом обращении, что не очень удобно и не может быть
использовано автоматически в фоновом режиме, но при этом максимально безопасно.
2. Адреса назначения с технической конфигурацией соединений, использующей хранение
данных учетных записей (таких как клиент, пользователь и пароль). Такой способ признается
небезопасным, так как злоумышленник, получив доступ к одной из систем, может
подключиться через адрес назначения к другой системе без знания пароля. Данная проверка
направлена на исключение категорий этого типа.
3. Адреса назначения с технической конфигурацией соединений, использующей доверенный
вход в систему (доверенные RFC). Наиболее безопасный и удобный вариант, но только при
правильной настройке.
www.erpscan.com•www.eas-sec.org•www.owasp.org
42
Р УКОВОДСТВО ПО АНАЛИЗУ БЕЗОПАСНОСТИ ПЛАТФОРМЫ SAP NET W EAVER ABAP 2013
Угроза
При использовании типа соединения, который хранит аутентификационные данные,
злоумышленник может использовать сохраненные пользовательские данные в адресах
назначения RFC для несанкционированного доступа к системе, с которой соединена текущая
система, в целях получения критичной для бизнеса информации и выполнения любых
действий в подключенной системе. Это имеет место, потому что зачастую RFC-соединения
выполняются от имени привилегированного пользователя с правами SAP_ALL для упрощения
администрирования или переноса данных. Данная уязвимость настройки позволяет провести
следующую атаку, которая успешно применялась во многих тестах на проникновение.
Зачастую доступ к системам разработки защищен значительно слабее, чем к продуктивным.
Таким образом, используя любую уязвимость вплоть до стандартного пароля, злоумышленник
может получить доступ к системе разработки, в которой запустить транзакцию SM59, выбрать
RFC-соединение с продуктивной системой и нажать кнопку «подключиться». Поскольку
данные для подключения уже внесены в систему, злоумышленник получает доступ в
продуктивную систему автоматически. Зачастую для полной атаки требуется совершить
несколько переходов, но так или иначе возможен доступ к другим серверам.
Решение
Необходимо проводить анализ списка адресов назначения RFC, в которых хранятся
пользовательские данные, и исключать ситуации, в которых существуют адреса назначения
RFC с сохраненными пользовательскими данными. Сохраненные учетные записи должны быть
удалены во всех местах, где это возможно, или их права в удаленной системе должны быть
сведены к минимуму. Таким образом, аутентификация пользователя должна обеспечиваться
для каждого обращения (сессии).
В продуктивных системах пользователи, хранящиеся в адресах назначения RFC, должны иметь
только минимальное разрешение в конечной цели, которая необходима для бизнес-сценария,
выполняемого в течение этого соединения. Для этого необходимо создать список адресов
назначений RFC с хранящимися учетными данными и убедиться, что учетные записи
пользователей имеют минимальные разрешения (в первую очередь – не SAP_ALL) в конечной
системе. Также важно убедиться, что тип пользователя установлен в положение SYSTEM.
Рекомендуется использовать выделенные учетные записи в сценариях, где это возможно.
 [EASAI-NA-29] Доверенные системы с низким классом безопасности
Описание
Все категории адресов назначения RFC необходимо использовать только между системами
одного и того же класса безопасности (то есть из продуктивной системы к другой
продуктивной системе) или из системы более высокого класса безопасности к системам более
низкого класса безопасности (например, из тестовой системы к системе разработки).
Общее правило для адресов назначения из систем более низкого класса безопасности к
системам более высокого класса безопасности: не допускается хранить учетные данные
пользователя или использовать доверенный вход в систему (например, из системы разработки
в продуктивную систему). Таким адресам назначения допускается хранить только
техническую конфигурацию соединений и проверять подлинность пользователя при каждом
обращении (см. рисунок).
www.erpscan.com•www.eas-sec.org•www.owasp.org
43
Р УКОВОДСТВО ПО АНАЛИЗУ БЕЗОПАСНОСТИ ПЛАТФОРМЫ SAP NET W EAVER ABAP 2013
Кроме прочего, что уже обсуждалось выше, системам более высокого класса безопасности
должно быть вообще запрещено доверять системам более низкого класса безопасности. В
противном случае уровень безопасности доверяющей системы сводится к уровню
безопасности доверенной системы. Доступ к доверительным системам контролируется
объектом авторизации S_RFCACL.
Угроза
Злоумышленник может использовать настроенные доверенные отношения между системами
для несанкционированного доступа к системе и получения критичной для бизнеса
информации из системы с более низким классом (к которой обычно применены более слабые
критерии защиты и взломать которую намного проще) к системе с более высоким классом.
Решение
Следующие меры безопасности должны быть реализованы для уменьшения риска
несанкционированного доступа по адресам назначения RFC:
- Все системы доверительных отношений между системами ABAP должны быть
проанализированы с помощью транзакций SMT1 и SMT2. Необходимо определить
доверительные отношения, в которых системы более высокого класса безопасности доверяют
системам более низкого класса безопасности (разработка – тестовой, тестовая – продуктивной
или разработка – продуктивной) и минимизировать (удалить) такие системные
доверительные отношения, где это возможно (подробную информацию можно узнать в SAP
Note 128447 [52]).
- Между системами одного класса безопасности авторизационные проверки RFC должны быть
включены с помощью установки параметра профиля auth/rfc_authority_check.
- Между системами одного класса безопасности объект авторизации S_RFCACL, которым
регулируется доступ к доверительным системам, должен строго контролироваться, а полная
маска разрешений (то есть авторизационное значение “*”) должна быть запрещена.
www.erpscan.com•www.eas-sec.org•www.owasp.org
44
Р УКОВОДСТВО ПО АНАЛИЗУ БЕЗОПАСНОСТИ ПЛАТФОРМЫ SAP NET W EAVER ABAP 2013
9. Протоколирование событий безопасности
Одним из наиболее важных моментов в обеспечении безопасности SAP (и любой другой
критичной системы) является наличие рабочего протоколирования событий безопасности. В
случае если произошел инцидент (что очень вероятно по причине того, что настроек
безопасности в таких системах огромное количество, и контролировать их все довольно
сложно), только правильно настроенный аудит безопасности позволит компании вовремя
обнаружить атаку и, возможно, успеть отреагировать на нее. Кроме того, правильно
настроенный аудит позволяет предотвратить атаки еще на первой стадии сбора информации о
системе.
Сложность протоколирования событий заключается в том, что существует большое
количество различных журналов протоколирования для каждой подсистемы SAP, и каждый из
них может хранить важную информацию. К сожалению, только очень малая часть этих
журналов может быть проанализирована централизованно.
В данном разделе приведены 4 наиболее важных журнала протоколирования.
Что дальше?
Всего в SAP-системе порядка 30 важных журналов протоколирования и трассировки (если
рассматривать только ABAP-инстанцию). Следующим шагом после включения основных 4
журналов, которые описаны ниже, необходимо реализовать тонкие настройки, такие как
детальные списки таблиц, для которых необходимо включить журналирование таблиц, детали
протоколирования событий в логах аудита безопасности, детальные типы событий в логе SAP
Gateway и другие.
Также крайне рекомендуется реализовать их централизованный сбор и хранение с анализом
именно тех событий, которые являются критичными. Только после этого можно добавлять
дополнительные, более детальные логи по каждому сервису и анализировать их.
 [EASAI-NA-30] Протоколирование событий безопасности
Описание
Журнал аудита безопасности SAP дополняет системный журнал, однако имеет несколько иную
цель. В отличие от системного журнала, который должен быть активирован постоянно, журнал
аудита безопасности можно активировать и деактивировать по мере необходимости.
Журнал аудита безопасности является инструментом, предназначенным для детального
обзора того, что происходит в SAP-системе. Основная цель журнала аудита в том, чтобы
записать:
- связанные с безопасностью изменения в окружении SAP-системы (например, изменения в
основных записях пользователей);
- информацию, которая обеспечивает более высокий уровень прозрачности (например,
успешные и неудачные попытки входа в систему);
- информацию, которая позволяет восстановление ряда событий (например, удачным или
неудачным был запуск транзакции).
Для того чтобы определить, какая информация должна быть записана в файл журнала аудита,
используются фильтры. Когда происходит событие, которое соответствует активному фильтру
(например, запускается транзакция), журнал аудита генерирует сообщение аудита и
записывает его в файл. Соответствующее уведомление будет также отправлено на CCMS Alert
www.erpscan.com•www.eas-sec.org•www.owasp.org
45
Р УКОВОДСТВО ПО АНАЛИЗУ БЕЗОПАСНОСТИ ПЛАТФОРМЫ SAP NET W EAVER ABAP 2013
Monitor (SAP Computing Center Management System Alert Monitor), который используется для
централизованного наблюдения за ABAP- и Java-компонентами, а также для выявления
различных категорий системных ошибок и ошибок приложений в различных интерфейсах.
Подробная информация о событиях представлена в отчете по анализу безопасности журнала
аудита.
С помощью фильтров можно указать действия, которые необходимо записывать, используя
транзакцию SM19. Для просмотра журнала используется транзакция SM20. Удалять старые
журналы позволяет транзакция SM18.
Файлы аудита находятся на отдельных серверах приложений. Можно указать расположение
файлов и их максимальный размер в следующих параметрах профиля. Основной параметр –
rsau/enable – включает журнал аудита на сервере приложений. Значение по умолчанию: 0
(аудит не активирован).
Угроза
Если регистрация событий безопасности не ведется, то существует риск несвоевременной
реакции (или ее отсутствия) на возможные внешние атаки или внутреннее мошенничество.
Возможность проведения экспертного расследования после факта взлома также практически
исключается.
Решение
Необходимо установить параметр rsau/enable в значение 1 (enable), для того чтобы включить
протоколирование событий безопасности. Далее необходимо настроить фильтры, установив,
какие именно события необходимо отслеживать при помощи транзакции SM19.
 [EASAI-NA-31] Протоколирование HTTP-запросов
Описание
Если сервер приложений ABAP используется для веб-соединений при помощи сервиса ICM, то
необходимо настроить протоколирование HTTP-запросов к серверу приложений ABAP.
Параметр icm/HTTP/logging_<xx> используется для управления протоколированием HTTPзапросов в сервисе ICM (или Web Dispatcher), если ICM функционирует в качестве сервера. Этот
параметр определяет наличие протоколирования HTTP-запросов для источников ABAP. Если
ICM имеет роль клиента, можно использовать параметр icm/HTTP/logging_client_<xx> для
протоколирования HTTP-запросов. Набор параметров icm/HTTP/* действителен и для HTTPS.
Синтаксис параметра выглядит следующим образом:
icm/HTTP/logging_<xx>=PREFIX=<URL
prefix>,
LOGFILE=<log
file
name>
[LOGFORMAT=<format>,
FILTER=<filter>,
MAXSIZEKB=<size
in
KBytes>,
SWITCHTF=<options>, FILEWRAP=on]
Значение LOGFILE параметра определяет имя выходного файла в файловой системе. В случае
отсутствия установленного значения LOGFILE протоколирование HTTP-запросов не
осуществляется.
Угроза
Если регистрация событий безопасности не ведется, то существует риск несвоевременной
реакции (или ее отсутствия) на возможные атаки с использованием протокола HTTP. Данные
www.erpscan.com•www.eas-sec.org•www.owasp.org
46
Р УКОВОДСТВО ПО АНАЛИЗУ БЕЗОПАСНОСТИ ПЛАТФОРМЫ SAP NET W EAVER ABAP 2013
журналы очень критичны, если ICM-сервис имеет доступ в Интернет. Возможность проведения
экспертного расследования инцидента, связанного с атаками из Интернета, практически
исключается, если не ведется лог данного сервиса.
Решение
Необходимо в параметре icm/HTTP/logging_<xx> в значении LOGFILE указать имя файла в
операционной системе, для того чтобы собирать всю необходимую информацию о возможных
атаках. Это необходимо в первую очередь для проведения экспертного расследования.
 [EASAI-NA-32] Протоколирование изменений в таблицах
Описание
Все данные в SAP представлены в виде таблиц. Существует две категории таблиц.
1. Клиентские таблицы. Содержат данные, которые используются только для одного клиента
(манданта), например данные входа пользователя в систему в USR02.
2. Кросс-клиентские или клиент-независимые таблицы. Содержат данные, которые
действительны для всех клиентов системы, например таблица T000.
SAP предоставляет возможность протоколирования изменений в таблицах, которое позволяет
выяснить, какой пользователь изменил, добавил или удалил данные из таблиц и в какое
время. Есть два технических требования, выполнив которые, можно быть уверенным, что
изменения в таблице протоколируются:
- должно быть активировано общее протоколирование;
- технические параметры таблицы должны быть установлены в значение Записывать
изменения данных.
Данные, которые записываются для этих изменений, хранятся в таблице DBTABLOG (в более
ранних версиях – DBTABPRT). Для них может быть использован объект архивирования
BC_DBLOGS.
Общее протоколирование
Изменения в таблицах не протоколируются по умолчанию. Соответствующие настройки
необходимо активировать для выбранных клиентов. Активация осуществляется через
системный параметр rec/client. Этот параметр может иметь следующие значения: OFF
(протоколирование отключено), All (протоколирование активировано для всех клиентов
системы), <Client number>, (…) (клиенты с номерами, которые введены здесь, будут
протоколироваться).
Этот параметр распространяется только на изменение таблиц, возникающих в результате
изменений в системе напрямую. Изменения, возникающие в результате транспортных
действий (например, импорт), не взаимодействуют с этим параметром (для этого используется
протоколирование через транспорт).
Обратите внимание! Изменения не записываются в течение копирования клиента.
Протоколирование таблицы
Протоколирование таблицы контролируется соответствующим значением в технических
настройках таблицы (для отображения используется транзакция SE13). Для просмотра всех
протоколируемых таблиц вызывается таблица DD09L через транзакцию SE16N. Работает с
таблицами, у которых:
- максимальное количество знаков ключевых полей не превышает 250;
- максимальное количество знаков полей данных не превышает 3500.
www.erpscan.com•www.eas-sec.org•www.owasp.org
47
Р УКОВОДСТВО ПО АНАЛИЗУ БЕЗОПАСНОСТИ ПЛАТФОРМЫ SAP NET W EAVER ABAP 2013
Протоколирование через транспорт
Для протоколирования изменений, возникающих в результате транспортных действий,
настраиваются соответствующие транспортные параметры. Эти параметры могут быть
активированы в TMS (система управления передачей данных) через транзакцию STMS.
Желаемые значения (All, <Client number>) устанавливаются для транспортного профиля в
параметр recclient (детальнее в SAP Note 163694 [53]).
Угроза
В случае если протоколирование прямого доступа к таблицам отсутствует, существует риск
несвоевременной реакции (или ее отсутствия) на возможные несанкционированные
изменения данных в таблицах. Например, злоумышленник может изменить значение
банковского аккаунта в таблице LFBK, тем самым реализуя мошеннические действия по
переводу денег на чужой счет.
Решение
- Рекомендуется установить параметр rec/client в значение, соответствующее номерам всех
продуктивных клиентов, чтобы собрать всю необходимую информацию для проведения
возможного экспертного расследования.
- Не рекомендуется автоматическое протоколирование в тестовых системах, так как это может
привести к крайне быстрому заполнению дискового пространства.
- Протоколированию должны подвергаться все специфические таблицы, содержащие основные
данные, данные о сделках, данные системного контроля, данные настроек, а также все данные,
в отношении необходимости протоколирования которых возникают сомнения.
- Для продуктивной системы рекомендуется протоколирование всех клиентов (rec/client =
ALL) – по крайней мере, продуктивных. Однако установка параметра rec/client в значение ALL
может серьезно отразиться на производительности.
- Дополнительную информацию можно получить в следующих SAP Notes: 1916, 112388, 84052.
[54] [55] [56].
 [EASAI-NA-33] Протоколирование доступа к SAP Gateway
Описание
Каждая инстанция SAP-системы имеет шлюз (SAP Gateway). Шлюз обеспечивает
взаимодействие между рабочими процессами и внешними программами, а также
взаимодействие между рабочими процессами из разных инстанций или SAP-систем. Шлюз
позволяет запускать RFC-сервисы на SAP-системе.
Так как шлюз – это интерфейс для связи сервера приложений с другими системами (другими
системами SAP, внешними программами и т. д.), к нему предъявляются соответствующие
(повышенные) условия безопасности. Одним из требований является активация
протоколирования событий шлюза.
Протоколирование шлюза используется для контроля за его деятельностью. Можно настроить,
какие именно действия шлюза будут записываться в лог-файл.
Возможно настроить ведение журнала в параметре gw/logging или в мониторе шлюза
(транзакция SMGW). Обратите внимание, что монитор шлюза недоступен, если используется
отдельный шлюз или только платформа Java.
www.erpscan.com•www.eas-sec.org•www.owasp.org
48
Р УКОВОДСТВО ПО АНАЛИЗУ БЕЗОПАСНОСТИ ПЛАТФОРМЫ SAP NET W EAVER ABAP 2013
В параметре gw/logging содержатся различные индикаторы, отвечающие за
протоколирование тех или иных типов событий. Наибольшее значение имеет индикатор S (от
Security – безопасность) в поле ACTION, позволяющий записывать в журнал события
настройки безопасности и их изменения (например, перезагрузка файлов), прочие типы
событий также крайне важны.
Угроза
В случае если протоколирование событий безопасности отсутствует, существует риск
несвоевременной реакции (или ее отсутствия) на возможные атаки на Gateway. Уязвимости в
данном сервисе известны еще с 2007 года, и эксплойты, которые позволяют получить
неавторизованный доступ к данному сервису, а также выполнить любую команду в
операционной системе, доступны в Интернете, что существенно увеличивает возможный риск
взлома.
Решение
- Необходимо добавить значение S в поле ACTION для параметра gw/logging, чтобы повысить
уровень безопасности и собрать всю необходимую информацию для проведения возможного
расследования инцидентов.
- Рекомендуется также включить мониторинг других типов событий безопасности.
www.erpscan.com•www.eas-sec.org•www.owasp.org
49
Р УКОВОДСТВО ПО АНАЛИЗУ БЕЗОПАСНОСТИ ПЛАТФОРМЫ SAP NET W EAVER ABAP 2013
О компании
ERPScan, дочерняя международная компания Digital Security, была основана в 2010 году и за
три года добилась признания на мировом рынке. На ее счету – благодарности от крупнейших
вендоров
(SAP,
Oracle,
HP,
IBM,
Apache
и
других)
за
обнаруженные
уязвимости.
ERPScan является ведущим партнером SAP AG по обнаружению и закрытию уязвимостей и
лауреатом более 10 наград только за 2013 год, в том числе инновационной компаний на рынке
информационной безопасности по версии Global Excellence Awards и Emerging Vendor по версии
CRN.
ERPScan занимается исследованиями безопасности ERP-систем и бизнес-приложений, в
частности, SAP. Именно поэтому программным флагманом компании является ERPScan Security
Monitoring Suite – система мониторинга безопасности SAP, инновационный продукт для
комплексной оценки защищенности и проверки соответствия стандартам.
Это ПО является единственным решением на рынке для оценки и анализа четырех уровней
безопасности SAP: оценки уязвимостей, анализа исходного кода, SoD-конфликтов, управления
информацией о безопасности и событиях и расследовании инцидентов безопасности. Данное
решение используется влиятельными компаниями из разных секторов экономики, включая
крупнейшие в мире ядерные, нефтяные, газовые и логистические корпорации, от Южной
Африки до Австралии контролирующие параллельно десятки систем SAP. Помимо этого,
компания ERPScan занимается консалтингом, тестами на проникновение и аудитом кода ABAP
для SAP-систем.
ERPScan удостоена множества международных наград. В 2013 году компания получила статус
наиболее яркой из быстроразвивающихся компаний (Hot Companies) в Лас-Вегасе, США, от
Network Products Guide. Система ERPScan Security Monitoring Suite была удостоена бронзовой
медали и премии в категории Information Security and Risk Management и в категории Security
Software (New or Upgrade version). Александр Поляков, технический директор ERPScan, получил
золотую награду и звание лучшего профессионала в области исследований и разработок в 2013
году (R & D Professional of the Year).
www.erpscan.com•www.eas-sec.org•www.owasp.org
50
Р УКОВОДСТВО ПО АНАЛИЗУ БЕЗОПАСНОСТИ ПЛАТФОРМЫ SAP NET W EAVER ABAP 2013
Использованные источники
[1]
"Веб-сайт компании, ориентированной на безопасность SAP. ERPScan," [Online]. Available:
http://erpscan.ru.
[2]
"Association of Certified Fraud Examiners," [Online]. Available: http://www.acfe.com/.
[3]
"As
economy
falters,
employee
theft
on
the
rise,"
[Online].
Available:
http://www.lasvegassun.com/news/2009/nov/06/managing-fraud-lesson-recession/.
[4]
"SAP Security: attacking SAP clients," [Online]. Available: http://erpscan.com/publications/sapsecurity-attacking-sap-clients/.
[5]
"CanSecWest
conference
report
by
Steve
Lord,
Mandalorian,"
[Online].
Available:
http://cansecwest.com/slides06/csw06-lord.ppt.
[6]
"ERPScan’s SAP Pentesting Tool," [Online]. Available: http://erpscan.com/products/erpscanpentesting-tool/.
[7]
"ERPScan WEBXML Checker," [Online]. Available: http://erpscan.com/products/erpscanwebxml-checker/.
[8]
"Sapyto
–
SAP
Penetration
Testing
Framework,"
[Online].
Available:
http://www.cybsec.com/EN/research/sapyto.php.
[9]
"OWASP-EAS," [Online]. Available: http://eas-sec.org/.
[10] "The
Open
Web
Application
Security
Project
(OWASP),"
[Online].
Available:
https://www.owasp.org/index.php/Main_Page.
[11] "Безопасность SAP в цифрах. Результаты Digital Security за период 2007–2011," [Online].
Available: http://scn.sap.com/docs/DOC-29427.
[12] "The state of SAP security 2013: Vulnerabilities, threats and trends," [Online]. Available:
http://www.rsaconference.com/writable/presentations/file_upload/das-t03_final.pdf.
[13] G. Burton, "Companies exposed to attack by out-of-date SAP applications," [Online]. Available:
http://www.computing.co.uk/ctg/news/2275640/companies-exposed-to-attack-by-outofdatesap-applications.
[14] "Enterprise
Business
Application
Vulnerability
www.erpscan.com•www.eas-sec.org•www.owasp.org
Statistics,"
[Online].
Available:
51
Р УКОВОДСТВО ПО АНАЛИЗУ БЕЗОПАСНОСТИ ПЛАТФОРМЫ SAP NET W EAVER ABAP 2013
https://www.owasp.org/index.php/Enterprise_Business_Application_Vulnerability_Statistics.
[15] "Enterprise Business Application Security Vulnerability Testing Guide," [Online]. Available:
https://www.owasp.org/index.php/Enterprise_Business_Application_Security_Vulnerability_Te
sting_Guide_v1.
[16] "Enterprise
Business
Application
Security
Software,"
[Online].
Available:
https://www.owasp.org/index.php/Enterprise_Business_Application_Security_Software.
[17] "Enterprise Business Application Security Implementation Assessment Guide," [Online].
Available:
https://www.owasp.org/index.php/Enterprise_Business_Application_Security_Implementation
_Assessment_Guide.
[18] "Acknowledgments to Security Researchers," [Online]. Available: http://scn.sap.com/docs/DOC8218.
[19] "SAP Software Update Manager Tool – SPS Update Demo – Part I," [Online]. Available:
http://scn.sap.com/docs/DOC-25113.
[20] "SAP Support Portal," [Online]. Available: https://websmp205.sap-ag.de/support.
[21] "How
to
update
SAP
Kernel
using
SUM,"
[Online].
Available:
http://sapbasismania.net/2012/10/how-to-update-sap-kernel-using-SUM.html.
[22] "Password
Control
in
SAP
Systems,"
[Online].
Available:
http://www.sapsecurityonline.com/password_sap.htm.
[23] "SAP Note 68048," [Online]. Available: https://service.sap.com/sap/support/notes/68048.
[24] "SAP Note 1414256," [Online]. Available: https://service.sap.com/sap/support/notes/1414256.
[25] "SAP Note 761637," [Online]. Available: https://service.sap.com/sap/support/notes/761637.
[26] "Secure Configuration of SAP NetWeaver Application Server Using ABAP," [Online]. Available:
http://scn.sap.com/docs/DOC-17149.
[27] "Security,
Audit
and
Control
Features
SAP
ERP,
ISACA,"
[Online].
Available:
http://www.isaca.org/Knowledge-Center/Research/ResearchDeliverables/Pages/SecurityAudit-and-Control-Features-SAP-ERP-3rd-Edition.aspx.
[28] "TCP/IP Ports Used by SAP Applications," [Online]. Available: http://scn.sap.com/docs/DOC17124.
www.erpscan.com•www.eas-sec.org•www.owasp.org
52
Р УКОВОДСТВО ПО АНАЛИЗУ БЕЗОПАСНОСТИ ПЛАТФОРМЫ SAP NET W EAVER ABAP 2013
[29] "SAP
Start
Service,"
[Online].
Available:
http://help.sap.com/saphelp_nw73ehp1/helpdata/en/b3/903925c34a45e28a2861b59c3c562
3/content.htm.
[30] "SAP Note 1600846," [Online]. Available: https://service.sap.com/sap/support/notes/1600846.
[31] "SAP Note 927637," [Online]. Available: https://service.sap.com/sap/support/notes/927637.
[32] "SAP Note 1439348," [Online]. Available: https://service.sap.com/sap/support/notes/1439348.
Overview
of
SAP
Host
Agent,"
[Online].
Available:
[33] "Architectural
http://help.sap.com/saphelp_nw70ehp3/helpdata/en/a9/02f459814347619d80560e65a7f7d
5/content.htm?frameset=/en/21/98c443122744efae67c0352033691d/frameset.htm.
[34] "SAP Note 1341333," [Online]. Available: https://service.sap.com/sap/support/notes/1341333.
[35] "SAP Note 1816536," [Online]. Available: https://service.sap.com/sap/support/notes/1816536.
[36] "SAP NetWeaver," [Online]. Available: http://help.sap.com/netweaver.
[37] "SAP Note 1480644," [Online]. Available: https://service.sap.com/sap/support/notes/1480644.
[38] "SAP Note 1105897," [Online]. Available: https://service.sap.com/sap/support/notes/1105897.
[39] "SAP Note 1473017," [Online]. Available: https://service.sap.com/sap/support/notes/1473017.
[40] "SAP Note 1069911," [Online]. Available: https://service.sap.com/sap/support/notes/1069911.
[41] "SAP Note 1425765," [Online]. Available: https://service.sap.com/sap/support/notes/1425765.
[42] "SAP Note 1408081," [Online]. Available: https://service.sap.com/sap/support/notes/1408081.
[43] "SAP Note 1434117," [Online]. Available: https://service.sap.com/sap/support/notes/1434117.
[44] "SAP Note 614971," [Online]. Available: https://service.sap.com/sap/support/notes/614971.
[45] "SAP Note 1525125," [Online]. Available: https://service.sap.com/sap/support/notes/1525125.
[46] "ITAF,
Information
Technology
Assurance
Framework,"
[Online].
Available:
http://www.isaca.org/Knowledge-Center/Research/Documents/ITAF2ndEd.pdf.
[47] "Data
Protection
Guidelines
for
SAP
ERP
6.0,"
[Online].
Available:
http://www.dsag.de/fileadmin/media/Leitfaeden/110818_Leitfaden_Datenschutz_Englisch_fin
al.pdf.
www.erpscan.com•www.eas-sec.org•www.owasp.org
53
Р УКОВОДСТВО ПО АНАЛИЗУ БЕЗОПАСНОСТИ ПЛАТФОРМЫ SAP NET W EAVER ABAP 2013
[48] "Как защитить серверы приложений ABAP и Java от BEAST-атак," [Online]. Available:
http://sapland.ru/blogs/polyakov/?post=8238.
[49] "SSL Configuration in SAP ABAP AS and JAVA AS – Step-by-step procedure," [Online]. Available:
http://scn.sap.com/docs/DOC-26144.
User's
Guide,"
[Online].
Available:
[50] "SNC
http://help.sap.com/saphelp_nw70ehp1/helpdata/en/23/3a91f8d1724bc6b9e693eb735bcf2f
/content.htm?frameset=/en/e6/56f466e99a11d1a5b00000e835363f/frameset.htm.
[51] "Перевод
SNC
User's
Guide
от
М.Прусова,"
[Online].
Available:
http://mprusov.narod.ru/sap/snc/sncuserguide-ru.pdf.
[52] "SAP Note 128447," [Online]. Available: https://service.sap.com/sap/support/notes/128447.
[53] "SAP Note 163694," [Online]. Available: https://service.sap.com/sap/support/notes/163694.
[54] "SAP Note 1916," [Online]. Available: https://service.sap.com/sap/support/notes/1916.
[55] "SAP Note 112388," [Online]. Available: https://service.sap.com/sap/support/notes/112388.
[56] "SAP Note 84052," [Online]. Available: https://service.sap.com/sap/support/notes/84052.
[57] "The website of company focused on SAP Security solutions development," [Online]. Available:
http://erpscan.com.
www.erpscan.com•www.eas-sec.org•www.owasp.org
54
Р УКОВОДСТВО ПО АНАЛИЗУ БЕЗОПАСНОСТИ ПЛАТФОРМЫ SAP NET W EAVER ABAP 2013
Источники дополнительной информации
1. "CORE
Labs
Discovery
of
Six
Vulnerabilities
within
SAP
Netweaver",
http://blog.coresecurity.com/2012/05/09/core-labs-discovery-of-six-vulnerabilities-within-sapnetweaver/#sthash.E97e8DUy.dpuf
2. "The ERP Security Challenge", http://cio.com/article/216940/The_ERP_Security_Challenge
3. "Common Vulnerabilities and Exposures", http://cve.mitre.org
4. "BlackHat EU 2011 Wiegenstein The ABAP Underverse WP", http://ebookbrowsee.net/blackhateu-2011-wiegenstein-the-abap-underverse-wp-pdf-d147369592
5. "SAP Netweaver XRFC — Stack Overflow", http://erpscan.com/advisories/dsecrg-10-005-sapnetweaver-xrfc-%E2%80%94-stack-overflow/
6. "SAP NetWeaver SLD – Information Disclosure", http://erpscan.com/advisories/dsecrg-11-023sap-netweaver-sld-information-disclosure/
7. "NetWeaver
BCB
–
Missing
Authorization/Information
disclosure",
http://erpscan.com/advisories/dsecrg-11-027-netweaver-bcb-%E2%80%93-missingauthorization-information-disclosure/
8. "SAP
NetWeaver
SOAP
RFC
–
Denial
of
Service
/
Integer
overflow",
http://erpscan.com/advisories/dsecrg-11-029-sap-netweaver-soap-rfc-%E2%80%93-denial-ofservice-integer-overflow/
9. "SAP
NetWeaver
–
Authentication
bypass
(Verb
Tampering)",
http://erpscan.com/advisories/dsecrg-11-041-sap-netweaver-authentication-bypass-verbtampering/
10. "SAP Application Server Security essentials: default passwords", http://erpscan.com/presscenter/blog/sap-application-server-security-essentials-default-passwords/
11. "SAP
Infrastructure
security
internals:
Google
and
Shodan
hacking
for
SAP",
http://erpscan.com/press-center/blog/sap-infrastructure-security-internals-google-and-shodanhacking-for-sap/
12. "Architecture and program vulnerabilities in SAP’s J2EE engine", http://erpscan.com/wpcontent/uploads/2011/08/A-crushing-blow-at-the-heart-SAP-J2EE-engine_whitepaper.pdf
13. "Top
10
most
interesting
SAP
vulnerabilities
and
attacks",
http://erpscan.com/wp-
content/uploads/2012/06/Top-10-most-interesting-vulnerabilities-and-attacks-in-SAP-2012InfoSecurity-Kuwait.pdf
www.erpscan.com•www.eas-sec.org•www.owasp.org
55
Р УКОВОДСТВО ПО АНАЛИЗУ БЕЗОПАСНОСТИ ПЛАТФОРМЫ SAP NET W EAVER ABAP 2013
14. "SAP
NetWeaver
TH_GREP
module
-
Code
injection
vulnerability
(NEW)",
http://erpscan.ru/advisories/dsecrg-11-039-sap-netweaver-th_grep-module-code-injectionvulnerability-new/
15. "Exploit Database by Offensive Security", http://exploit-db.com
16. "Invoker
Servlet",
http://help.sap.com/saphelp_nw70ehp2/helpdata/en/bb/f2b9d88ba4e8459e5a69cb513597ec/fr
ameset.htm
17. "SAP
Management
Console
Information
Disclosure",
http://onapsis.com/resources/get.php?resid=adv_onapsis-2011-002
18. "TCP/IP Ports Used by SAP Applications", http://scn.sap.com/docs/DOC-17124
19. "Vulnerability Database", http://securityfocus.com
20. "Systems
Applications
Proxy
Pwnage",
http://sensepost.com/cms/resources/labs/tools/poc/sapcap/44con_2011_release.pdf
21. "SAP (in)security: Scrubbing SAP clean with SOAP", http://slideshare.net/ChrisJohnRiley/sapinsecurity-scrubbing-sap-clean-with-soap
22. "SAP:
Session
(Fixation)
Attacks
and
Protections
(in
Web
Applications)",
http://taddong.com/docs/BlackHat_EU_2011_Siles_SAP_Session-Slides.pdf
23. "SQL Injection with ABAP", http://virtualforge.com/tl_files/Theme/Presentations/HITB2011.pdf
24. "PROTECTING JAVA AND ABAP BASED SAP APPLICATIONS AGAINST COMMON ATTACKS",
http://virtualforge.com/tl_files/Theme/whitepapers/201106_SAP_Security_Recommendations_Pr
otecting_JAVA_ABAP.pdf
www.erpscan.com•www.eas-sec.org•www.owasp.org
56
Р УКОВОДСТВО ПО АНАЛИЗУ БЕЗОПАСНОСТИ ПЛАТФОРМЫ SAP NET W EAVER ABAP 2013
Контактная информация
E-mail: info@erpscan.com
PR: press@erpscan.com
Web: www.erpscan.com
www.erpscan.com•www.eas-sec.org•www.owasp.org
57
Download