Para ilustrar ataques típicos y problemas de arquitectura, proporcionaremos ejemplos de la solución SAP ERP, ya que es la más extendida instalada en el 85% de las compañías Fortune 2000.

Los riesgos de la configuración insegura de los sistemas ERP y otras aplicaciones comerciales son los siguientes.
1. Ataques a través de servicios vulnerables
La mayoría de los sistemas ERP tienen docenas e incluso cientos de servicios instalados por defecto. Incluyen servicios típicos y basados en la web. Algunos de ellos son responsables de diferentes funciones administrativas. Por ejemplo, SAP Management Console, o SAPControl, permite un control remoto sobre sistemas SAP. Sus funciones principales son inicio y parada remotos, para realizar lo que se requiere para saber nombre de usuario y contraseña.
No obstante, hay algunas funciones que se pueden usar de forma remota sin autenticación. La mayoría de ellos permiten leer diferentes registros y trazas y, a veces, parámetros del sistema.
2. Escalada de privilegios por parte de expertos
Cuando los usuarios se conectan al servidor a través de una aplicación cliente como la GUI de SAP, pueden ejecutar diferentes funciones. Si desean ejecutar alguna funcionalidad, por ejemplo, crear una orden de pago o un nuevo usuario o completar cualquier formulario, deben ingresar el nombre de la transacción en particular en el menú de SAP. El sistema abrirá una ventana de diálogo donde un usuario puede especificar diferentes parámetros. Por ejemplo, si los usuarios ejecutan la transacción SU01 para crear nuevos usuarios en el sistema, verán una pantalla donde deben completar todos los detalles sobre el usuario recién creado y luego hacer clic en el botón "Crear". Si los datos son correctos, se creará el nuevo usuario en el sistema.
Sin embargo, conectarse a través de la GUI de SAP y ejecutar transacciones no es la única forma de realizar la funcionalidad de SAP. Los sistemas SAP son complejos y una acción se puede realizar de varias maneras. Por ejemplo, las otras formas de ejecutar la funcionalidad en el sistema SAP incluyen:
- ejecutar trabajos en segundo plano utilizando RFC (como RPC en Windows);
- llamar a la misma función a través de una interfaz SOAP: una interfaz basada en web para ejecutar programas RFC de forma remota;
- ejecutando la aplicación web dynpro. Web Dynpro es un frontend basado en la web para el Sistema SAP que se puede usar si los trabajadores no tienen una aplicación cliente y solo tienen un navegador web.
Como puede ver, todos estos métodos requieren un enfoque diferente para la protección.
3. Desarrolladores maliciosos
Los programas escritos en lenguaje ABAP (lenguaje propietario de SAP destinado a ampliar la funcionalidad de los sistemas SAP) pueden tener vulnerabilidades y, lo que es más importante, este lenguaje también se puede usar para escribir puertas traseras que pueden proporcionar funcionalidad maliciosa, como enviar detalles de cada transacción a un Terceros por correo electrónico o incluso publicarlos en Twitter.
Desafortunadamente, el desarrollo dentro de la empresa es casi incontrolado. Puede monitorear la aparición de nuevos programas en el sistema y potencialmente encontrar un desarrollador, pero no puede detectar qué está haciendo exactamente cada nuevo programa a menos que lea cada cadena del código fuente. Por lo tanto, sin usar soluciones adicionales, nadie sabe exactamente qué realizan los desarrolladores en el sistema. No hay medidas de control en absoluto, pueden desarrollar código inseguro, perder agregar controles de control de acceso en el programa, enviar dinero a sus cuentas bancarias y nadie podrá averiguarlo a menos que uno vea su código fuente. Por lo tanto, la falta de control sobre los desarrolladores los convierte en una especie de dios de SAP, y sus acciones deben analizarse.
4. Conexiones inseguras
Debe conectar diferentes aplicaciones para automatizar los procesos comerciales. Por ejemplo, si desea generar una factura en el sistema SAP automáticamente y enviar dinero a una cuenta bancaria en particular a través del sistema bancario, debe conectar ERP y el sistema bancario. Los sistemas de aplicaciones empresariales están conectados entre sí como una telaraña. En realidad, hay docenas de conexiones similares y todas ellas pueden ser críticas en términos de seguridad. Por ejemplo, estas conexiones pueden almacenar nombres de usuario y contraseñas. Además, los sistemas están entrelazados no solo dentro de la red corporativa, sino también con redes asociadas a través de Internet o con otros proveedores, como bancos o compañías de seguros. Algunos de los sistemas están conectados directamente a la red ICS / SCADA a través de sistemas SAP particulares como SAP xMII (fabricación, integración e inteligencia) o SAP PCo (conectividad de planta SAP).
Técnicamente, este proceso es administrado por RFC (Llamada de función remota) y otras conexiones entre sistemas SAP, que generalmente almacenan credenciales para acceder a un sistema satelital. SAP desarrolla las conexiones RFC para transferir datos entre dos sistemas SAP. La investigación de ERPScan ha revelado que el número promedio de conexiones en un sistema SAP típico es de aproximadamente 50, y el 30% de ellas generalmente almacenan credenciales. Una vez que los atacantes ingresan al módulo SAP más débil, pueden acceder fácilmente a los sistemas conectados, desde ellos a otros. Por lo tanto, revisar todo tipo de conexiones entre sistemas SAP es muy importante. Por ejemplo, es posible obtener acceso a la infraestructura OT de una compañía de petróleo y gas y robar petróleo utilizando una cadena de vulnerabilidades y conexiones entre sistemas que aprovechan una vulnerabilidad de SAP como punto de partida.
En el próximo artículo nos centraremos en la protección de los sistemas ERP.