Безопасность систем SAP
Главная /
Архив номеров / 2014 / Выпуск №1 (34) / Безопасность систем SAP
Рубрика:
Тема номера /
Технологии безопасности
Facebook
Мой мир
Вконтакте
Одноклассники
Google+
Андрей Бирюков, системный архитектор, ЗАО «НИП Информзащита»
Безопасность систем SAP
Системы SAP содержат критичные для компании данные и активы. Однако всегда ли сами системы надежно защищены?
Сегодня трудно найти ИТ-специалиста, не знакомого с аббревиатурой SAP (System Analysis and Program Development – системный анализ и разработка программ). Для большинства крупных компаний эти три буквы стали синонимом автоматизации бизнес-процессов. Но насколько безопасны эти решения, что может им угрожать, и как лучше защититься?
Я не стану подробно описывать, как работают компоненты SAP. Будут даны лишь общие пояснения, необходимые для понимания проблем безопасности. Для более глубокого погружения в вопросы функционирования модулей SAP необходимо воспользоваться дорлнительной литературой.
При обеспечении информационной безопасности в первую очередь всегда проводится аудит, по результатам которого составляются модели угроз, которые могут реализовать предполагаемые злоумышленники. На их основании проектируется и строится защита системы. Попробуем составить такие модели для SAP.
Основная система
Наиболее известной системой этого класса является SAP ERP. В своей работе ERP использует три платформы:
- основная NetWeaver/ABAP;
- вспомогательные NetWeaver/J2EE;
- и BusinessObjects.
На NetWeaver/ABAP работают различные приложения, обеспечивающие автоматизацию бизнес-процессов (таких, как ERP, SRC, CRM, PLM).
Платформа NetWeaverJ2EE обеспечивает интеграцию бизнес-приложений между собой и удобный доступ к ним, содержит набор ИТ-ориентированных приложений:
- SAP Portal;
- SAP XI;
- SAP Solution Manager;
- SAPMobile;
- SAPxMII.
BusinessObjects – отвечает за аналитическую обработку информации и включает бизнес-ориентированные приложения:
- BusinessIntelligence.
- GRC (Governance Risk Management Compliance – управление рисками и соответствие требованиям регуляторов).
Система SAP имеет клиент-серверную архитектуру. Возможна работа через веб-интерфейс. На уровне приложений взаимодействие происходит через SAPGUI по протоколу DIAG. Основные действия – это транзакции, исполняемые через SAPGUI. Для создания транзакций используется специализированный язык – ABAP.
Основные угрозы
Что произойдет в случае компрометации данных компонентов SAP? Прежде всего могут остановиться бизнес-процессы приложения. Проще говоря, пользователи лишатся возможности вводить и обрабатывать данные, что, в свою очередь, может привести к остановке в работе всей организации с крайне неприятными финансовыми последствиями. Кроме того, вероятно нарушение работоспособности доверенных систем, взаимодействующих и управляемых SAP, – прежде всего это SCADA-системы.
Еще одной немаловажной угрозой, о которой часто забывают, является различного рода мошенничество (фрод). Вредоносное программное обеспечение, «поселившись» на машине пользователя, может незаметно осуществлять транзакции. Кроме того, вероятна подмена данных о платежах. В отсутствии грамотного мониторинга событий обнаружить такую активность крайне затруднительно.
Также неприятное последствие компрометации SAP – это промышленный шпионаж. Бизнес-системы обрабатывают конфиденциальную информацию, представляющую большой интерес для конкурентов: финансовая информация, персональные секреты, списки поставщиков и контрагентов.
Говоря об угрозах SAP-системам, стоит отметить традиционную сложность реализации решений. Ведь чем сложнее система, тем ниже ее уровень защищенности. Дело в том, что у таких решений много разных составляющих и всегда большой процент кода собственной разработки, адаптированного под бизнес-процессы конкретной компании. Из-за критичности SAP-систем на них не всегда своевременно устанавливаются обновления, в результате чего компоненты могут долгое время оставаться уязвимыми.
Как уже упоминалось чуть выше, решение имеет клиент-серверную архитектуру. С точки зрения безопасности это означает, что существует угроза реализации всевозможных сетевых атак. Например, успешно выполнив атаку «man-in-the-middle», злоумышленник сможет, перехватив чужую сессию, изменить или создать новую транзакцию.
Итак, мы составили краткую модель основных угроз для SAP ERP. Теперь поговорим о том, кто может их попытаться реализовать.
Возможные нарушители
Прежде всего определимся с тем, от кого необходимо защищать SAP. Большинство пользователей SAP крупных компаний так или иначе имеют доступ в Интернет. Соответственно их компьютеры могут подвергнуться атакам из глобальной сети, прежде всего заражению вредоносным кодом. В общем случае злоумышленник, получивший доступ к одной из внутренних машин, не факт, что сможет сразу же проникнуть в SAP. Хотя при интеграции с Active Directory или использовании сквозной аутентификации вполне возможно стать текущим пользователем и в SAP.
Но для более точной классификации определим данный тип нарушителя как внешний из сети Интернет без прав в системе. Сюда же можно отнести и посетителей компании. К примеру, пентестер, проводящий аудит и воткнувший свой ноутбук в первую попавшуюся сетевую розетку, по сути, будет таким же внешним без прав в системе, так как у него нет ни учетной записи в Active Directory, ни каких-либо других прав.
Злоумышленниками могут являться сами сотрудники компании – инсайдеры, у которых, однако, нет каких-либо прав в системе SAP. Эти нарушители аналогичны предыдущим, но если внешнему злоумышленнику еще необходимо каким-либо образом получить сетевой доступ к консоли SAP, то у инсайдера без прав такой проблемы нет. Он может пытаться атаковать целевую систему непосредственно из внутренней сети. Эту категорию нарушителей мы назовем инсайдеры без прав в системе.
Наиболее проблемными с точки зрения безопасности являются инсайдеры, обладающие какими-либо правами в системе и имеющие определенный уровень знаний о ней. Начнем с пользователей системы. У них есть некий набор прав: просмотр, редактирование, возможно, создание элементов. Исходя из этого набора инсайдер может осуществлять несанкционированные действия.
Однако ему будет крайне проблематично скрыть свою деятельность от средств мониторинга, так как, не обладая правами и знаниями разработчика, злоумышленник не сможет так модифицировать код SAP, чтобы в журналах событий не отображалась его деятельность. Этих вредителей мы назовем инсайдеры с определенными правами и знаниями в системе.
Самой большой проблемой являются разработчики. Их инсайдерская деятельность может оказаться совершенно незаметной для средств логирования. При разработке кода они могут оставлять различные закладки, позволяющие беспрепятственно получать доступ к любому элементу системы. Их классифицируем как инсайдеры с правами разработчика.
Хуже этого типа нарушителей будет только внешний разработчик. Назовем его «недобросовестный подрядчик». Мало того, что он может сделать все что угодно в системе, так еще и любая похищенная им информация на совершенно законных основаниях (он же работает удаленно) покинет пределы компании.
У внимательного читателя мог возникнуть вопрос: а к какой категории отнести администратора SAP? Ведь, с одной стороны, у него есть все права в системе, а с другой, он не является разработчиком. Предлагаю такой вариант: если в системе специалист с административными правами обладает возможностью внесения изменений в журналы событий так, чтобы его действия были незаметны, то это инсайдер с правами разработчика. Если же в силу тех или иных средств защиты, возможно, наложенных (например, передача всех событий в SIEM), ему нельзя незаметно отключить аудит событий объекта SAP, то это инсайдер с определенными правами и знаниями в системе.
Итак, мы определились с тем, от чего и от кого нам необходимо защищать систему SAP. Теперь поговорим о том, как это лучше делать.
Прописные истины
Описываемые в этом разделе методы защиты применимы практически к любым информационным системам. Ведь любое бизнес-приложение осуществляет взаимодействие по сети, имеет клиент-серверную архитектуру, большое количество подключенных клиентов и т.д. Однако, прежде чем пропускать эту часть статьи, подумайте: все ли правильно у вас защищено, как настроены межсетевые экраны и антивирусы, все ли своевременно обновляется?
Итак, для функционирования компонентов SAP необходима локальная сеть. Как следствие, система подвергается всем специфическим атакам. В модели угроз мы определили возможность реализации атаки «man-in-the-middle». Для того чтобы свести к минимуму вероятность успешной реализации данной атаки, необходимо выполнить ряд простых действий по защите сети.
Обязательно произвести сегментацию сети, отделив серверный сегмент от пользовательского, разработчиков от пользователей и т.д. Несмотря на всю очевидность данной рекомендации, в компаниях средних размеров еще можно найти «плоскую» сеть, где и пользователи и серверы находятся в одной подсети.
Для того чтобы сторонний посетитель не смог подключиться к любой свободной розетке в здании, необходимо внедрить на сетевых устройствах поддержку технологии 802.1x, которая определяет протокол контроля доступа и аутентификации, ограничивающий права неавторизованных компьютеров, подключенных к коммутатору. Также неплохо бы привязать выдачу IP-адресов по DHCP к MAC-адресам, хотя в крупных сетях это может оказаться проблематично, и разрешить доступ только из тех подсетей, где находятся пользователи SAP. Всем прочим веб-интерфейс не должен быть доступен в принципе.
Еще один совет по защите сети – внедрение шифрования. Если канал выходит в Интернет, то это мера вполне оправдана. А вот в локальной сети с шифрованием нужно быть осторожными, так как внедрение даже самых современных средств всегда приводит к некоторому снижению производительности сетевого оборудования. К тому же некоторые криптографические системы могут некорректно обрабатывать пакеты IP-телефонии и видеоконференцсвязи. Например, обрабатывать трафик не последовательно, в результате чего медийный трафик перемешивается и становится непригоден к воспроизведению.
Правильно настроенная система обнаружения вторжений поможет своевременно выявить сетевые атаки внутри сети, а межсетевой экран – заблокировать угрозы извне.
На этом общую часть можно считать завершенной. Конечно, многое из сказанного равносильно совету «мыть руки перед едой». Но в случае если эти меры не выполняются и сеть не защищена, все дальнейшее может оказаться бесполезным.
Безопасность ядра
Если руководствоваться иерархической моделью OSI, то в предыдущем разделе мы рассмотрели угрозы на нижних уровнях и сейчас перейдем непосредственно к уровню приложений. Обычный межсетевой экран не способен разобрать пакет на уровне приложений. Конечно, есть решения, например, PaloAlto или CheckPoint, которые производят глубокий разбор до уровня приложений, но они не учитывают логику работы SAP. Для решения данной задачи предназначен компонент SAP – SAProuter, относящийся к Application Level Gateway (шлюз уровня приложений), который может использоваться в качестве дополнения на уровне приложений для обеспечения безопасности коммуникации между удаленными SAP или между SAP и внешним миром. Он устанавливается на сервере, связывающем локальную сеть и внешний мир, и используется для мониторинга и протоколирования всех входящих и исходящих соединений с SAP. Данный шлюз поддерживает шифрование и позволяет производить аутентификацию по паролю при осуществлении доступа.
SAProuter производит проброс и контроль соединений с SAP-системой. Также возможно использование этого шлюза для установки непрямых соединений для приложений, которые не могут подключаться к системе самостоятельно, например, с одинаковыми IP-адресами.
В общем случае архитектура внедрения SAProuter может выглядеть следующим образом (см. рис. 1).
Рисунок 1. Архитектура SAProuter
Шлюз разделяет SAP-инфраструктуру заказчика с системами внутри корпоративной сети. Все SAP-соединения производятся только через этот шлюз. В результате все сеансы SAP- пользователей будут соответствовать требованиям безопасности.
Не забываем об ОС
Перейдем к рассмотрению непосредственно основы, на которую устанавливается SAP, – операционной системы. При подготовке ОС к установке системы SAP необходимо прежде всего установить последние обновления и отключить неиспользуемые сервисы.
Говоря о безопасности файлов SAP, разработчик рекомендует такие права доступа на файлы и папки (см. таблицу 1).
Таблица 1. Рекомендуемые разработчиком права доступа на файлы и папки
File or Directory |
Recommended values |
Owner |
Group |
/sapmnt/<SID>/exe |
775 |
<sapsid>adm |
sapsys |
/sapmnt/<SID>/exe/saposcol |
4755 |
<sapsid>adm |
sapsys |
/sapmnt/<SID>/global |
700 |
<sapsid>adm |
sapsys |
/sapmnt/<SID>/profile |
755 |
<sapsid>adm |
sapsys |
/usr/sap/<SID> |
751 |
<sapsid>adm |
sapsys |
/usr/sap/<SID>/<Instance ID> |
755 |
<sapsid>adm |
sapsys |
/usr/sap/<SID>/<Instance ID>/* |
750 |
<sapsid>adm |
sapsys |
/usr/sap/<SID>/<Instance ID>/sec |
700 |
<sapsid>adm |
sapsys |
/usr/sap/<SID>/SYS |
755 |
<sapsid>adm |
sapsys |
/usr/sap/<SID>/SYS/* |
755 |
<sapsid>adm |
sapsys |
/usr/sap/trans |
775 |
<sapsid>adm |
sapsys |
/home/<sid>adm |
700 |
<sapsid>adm |
sapsys |
А для защиты файлов базы данных предлагаются следующие права (см. таблицу 2).
Таблица 2. Рекомендуемые разработчиком права доступа для защиты файлов базы данных
Directory |
Recommended values |
Owner |
Group |
/oracle/<DBSID>/sapdata* |
755 |
ora<dbsid> |
dba |
ora<dbsid> |
755 |
ora<dbsid> |
dba |
/oracle/<DBSID>/sapdata*/* |
755 |
ora<dbsid> |
dba |
/oracle/<DBSID>/sapdata*/*/* |
640 |
ora<dbsid> |
dba |
/oracle/<DBSID>/oraarch |
755 |
ora<dbsid> |
dba |
/oracle/<DBSID>/oraarch/* |
640 |
ora<dbsid> |
dba |
/oracle/<DBSID>/saparch |
755 |
ora<dbsid> |
dba |
/oracle/<DBSID>/sapreorg |
755 |
ora<dbsid> |
dba |
/oracle/<DBSID>/sapbackup |
755 |
ora<dbsid> |
dba |
/oracle/<DBSID>/dbs |
755 |
ora<dbsid> |
dba |
/oracle/<DBSID>/sapcheck |
755 |
ora<dbsid> |
dba |
/oracle/<DBSID>/sapstat |
755 |
ora<dbsid> |
dba |
/oracle/<DBSID>/saptrace |
755 |
ora<dbsid> |
dba |
/oracle/<DBSID>/saptrace/* |
755 |
ora<dbsid> |
dba |
/oracle/<DBSID>/saptrace/*/* |
640 |
ora<dbsid> |
dba |
/oracle/<DBSID>/origlog* |
755 |
ora<dbsid> |
dba |
/oracle/<DBSID>/origlog*/* |
640 |
ora<dbsid> |
dba |
/oracle/<DBSID>/mirrlog* |
755 |
ora<dbsid> |
dba |
/oracle/<DBSID>/mirrlog*/* |
640 |
ora<dbsid> |
dba |
Данные – наше все
По сути, БД является ключевым элементом системы SAP, это сокровищница, в которой можно найти любую информацию, обрабатываемую системой. Важно помнить, что доступ к СУБД – это полный доступ к приложению с еще большими возможностями.
В СУБД не должны использоваться пароли по умолчанию и учетные записи без паролей (такие, как локальный SYS). В парольных политиках необходимо требовать использования сложных паролей и регулярной их смены. Каждому пользователю БД нужно выдать в базе только минимально необходимый набор прав. Недопустима ситуация, когда аутентификация производится только на уровне приложения, а в БД все подключаются под одной учетной записью.
Отдельно хотелось бы сказать об аудите. Необходимо настроить мониторинг всех потенциально опасных действий средствами СУБД Oracle. Должны контролироваться все запросы на добавление, модификацию и удаление как данных, так и таблиц. Обязательно включается аудит действий администратора в файл syslog. Это позволит обнаружить подозрительную активность даже в случае модификации таблицы аудита. В идеале необходимо, чтобы все события аудита передавались в SIEM-систему.
Возможным дополнительным элементом защиты базы данных может стать использование специализированных решений, устанавливаемых прозрачно между сервером приложений и СУБД и производящих анализ SQL-запросов на наличие подозрительных действий. Примером такого специализированного межсетевого экрана является решение Imperva DataBase Firewall. Оно представляет собой устройство, включаемое в разрыв между серверами приложений SAP и БД и производящее анализ запросов в соответствии с имеющимися сигнатурами и правилами. В случае обнаружения подозрительных запросов они могут быть заблокированы или администратору будет отправлено уведомление. С точки зрения доступности SAP Imperva обеспечивает непрерывность работы канала связи, так как в случае отключения питания на устройстве два его сетевых интерфейса, включенные между приложением и базой, автоматически замыкаются.
Имеется аналогичное решение от IBM – Guardium, которое также производит контроль запросов. Его отличительной чертой является необходимость установки агента непосредственно на сервер БД. И хотя интеграция с СУБД полностью поддерживается Oracle, тем не менее многие администраторы баз данных не приемлют установку какого- либо дополнительного ПО на промышленные системы.
Забытые клиенты
Традиционно безопасности серверов уделяется намного больше внимания, чем клиентским машинам. Это и понятно, ведь на них хранится намного больше информации. Однако в век мобильных технологий вопросы безопасности клиентских рабочих мест становятся все более актуальными.
Существует несколько видов клиентских приложений, используемых SAP, – SAPGUI, JAVAGUI, WEBGUI, NWBC и другие. Эти клиенты, как и другие программы, подвержены атакам переполнения буфера. И основную угрозу они представляют для ActiveX-компонентов. Для борьбы с этим необходимо регулярно устанавливать обновления и производить сканирование на уязвимости с помощью специализированного сканера (Nessus, Qualys, Xspider…).
Для того чтобы вредоносное ПО не могло незаметно модифицировать код клиентских приложений SAP, помимо антивируса, необходимо также использовать средство контроля целостности. Нужно производить контроль изменений всех файлов, используемых клиентом SAP. В качестве средства контроля может использоваться как бесплатное ПО Trend Micro OSSEC [2], так и коммерческое Secret Net [3]. В случае обнаружения изменений файлов администратору должно отправляться уведомление.
Говоря о критичных SAP-файлах, стоит обратить особое внимание на следующее:
- Sapshortcut.ini – находятся пароли в открытом виде либо небезопасно зашифрованные
- Saplogon.ini – список серверов SAP
- Tracefiles – зашифрованные RFC-пароли
Не стоит забывать и об угрозах, свойственных веб-приложениям: фишинг, Cross Site Scripting, SQL injections и т.п. Для предотвращения этих угроз следует использовать специализированные межсетевые экраны – Web Application Firewall. По аналогии с брандмауэром для баз данных здесь устройство также устанавливается в разрыв, с автоматическим замыканием сети в случае потери питания. WAF имеет базовый набор сигнатур, и в нем также можно настраивать собственные правила.
***
SAP – это сложная промышленная система. В этой статье я рассмотрел лишь основные моменты обеспечения ее безопасности. Конкретные средства и технологии защиты должны применяться в зависимости от инфраструктуры бизнес-приложений конкретного предприятия.
- Материалы курса «Безопасность SAP: угрозы, уязвимости, защита» – http://www.dsec.ru/news/events/security_sap_threats_vulnerabilities_protection.
- Сайт OSSEC – http://www.ossec.net.
- Страница Secret Net – http://www.securitycode.ru/products/secret_net.
В начало⇑
Facebook
Мой мир
Вконтакте
Одноклассники
Google+
Комментарии отсутствуют
Комментарии могут отставлять только зарегистрированные пользователи
|