Es posible afrontar una auditoría conociendo de antemano cuáles van a ser sus resultados. Automatizar la detección de los riesgos existentes permitirá contar con la información necesaria para corregir estas deficiencias y mejorar la protección de los sistemas. Además, ayudará a afrontar con mucha más calma las temidas auditorías de licencias, de seguridad general y de segregación de funciones.

Francisco Martínez

Hay una famosa cita de Bill Gates en la que afirma: “Suelo elegir a alguien perezoso para hacer un trabajo difícil, porque encontrará una forma fácil de realizarlo”. Aunque prefiero utilizar el adjetivo ingenioso, el significado de la frase lo podría suscribir cualquiera.

En la actualidad, no automatizar es tan absurdo como tener una lavadora y seguir frotando la ropa a mano por la pereza de leer las instrucciones. Y más aún en tareas periódicas, y aún más si estas son tan complejas como las auditorías de seguridad.

De hecho, la palabra auditoría infunde sensaciones funestas. A nadie le gusta que se revise su trabajo con lupa en busca de defectos. Estas connotaciones negativas vienen de la incertidumbre: si no se conoce el estado del sistema es natural sentir intranquilidad porque no podemos anticipar los problemas. Para eliminar esa incertidumbre ha llegado la automatización, que es lo que va a permitir anticiparse a la auditoría y tomar medidas con tiempo suficiente.

EuKaria permite automatizar los tres escenarios descritos: la auditoría de licencias, la técnica y la de segregación de funciones

Auditorías de seguridad en SAP

Revisaremos tres auditorías relacionadas con la seguridad en SAP: licencias, auditoría técnica pura y segregación de funciones. Todas son muy relevantes para el control de riesgos y de las inversiones económicas de la organización.

Auditoría de licencias. En SAP, el tipo de licencia está directamente relacionado con la capacidad de un usuario para realizar determinadas funciones. Por tanto, una asignación excesiva de autorizaciones supone un cálculo de licencias desfavorable, además de incumplir con el principio de otorgar solo las autorizaciones estrictamente necesarias.

En SAP, la imagen completa de las licencias se puede estimar analizando cuatro dimensiones:

  • Lo que está estipulado en el contrato.
  • El tipo de licencia que hemos asignado manualmente.
  • Lo que un auditor analizaría sobre autorizaciones otorgadas.
  • Lo que realmente han ejecutado los usuarios.

Se trata de analizar las autorizaciones otorgadas frente a lo realmente ejecutado, que, además, debe encajar con lo estipulado en el contrato. Para conseguir estos análisis es necesario examinar las tablas que definen los roles de autorización de SAP, las de estadísticas (que indican qué transacciones, objetos y campos han usado los usuarios), la de seguridad en SAP (objetos de autorización estándar, propios o Z, activación o no de determinados campos, etc.) y las de definición de usuarios.

Este análisis permite detectar la diferencia real entre los derechos otorgados a un usuario (en función de su licencia) y lo que realmente ejecuta. Además, también permite conocer si se están pagando las licencias adecuadas en función de su actividad: Professional o Functional.

Proceso para automatizar auditorías de seguridad en SAP
Figura 1: Proceso para automatizar auditorías de seguridad en SAP.

 

Hacer este análisis no es muy complejo, pero un sistema real cuenta con miles de transacciones, tanto otorgadas como ejecutadas, y con centenares o miles de usuarios. Es necesario analizar millones de combinaciones, lo que deriva en un volumen de datos imposible de manejar de forma manual.

Se hace imprescindible una herramienta que capture la información, que ayude, por un lado, a conocer qué va a ocurrir en la auditoría de SAP, y, por otro, a tomar las medidas correctivas necesarias, corrigiendo los excesos de autorizaciones y asignando las licencias calculadas en la comparación inicial.

Auditoría técnica. Normalmente, un técnico se encarga de buscar determinados marcadores que señalan posibles riesgos en el sistema. La aplicación de la automatización en este caso partiría de crear una lista de riesgos, sistematizar la búsqueda de esos marcadores y aplicar reglas que puedan alimentar a un motor software para que se encargue de detectar esos riesgos sin intervención humana.

Veamos un ejemplo: un sistema SAP no debe tener usuarios personales con el perfil de superadministrador (SAP_ALL). Para detectar este riesgo, un auditor debe realizar una búsqueda para localizar este perfil de usuario. Esto sería fácilmente automatizable, ya sea realizando esta misma búsqueda en el propio SAP o bien descargando las tablas de usuarios y perfiles para cotejar la existencia de esta cadena.

Esto mismo sería aplicable a, por ejemplo, la búsqueda de roles de autorización que permitan el acceso a determinados ficheros, o de usuarios sin actividad en el sistema pero que siguen contando con autorizaciones activas. Estos son solo dos ejemplos de los cientos de riesgos de seguridad que es necesario analizar, con combinaciones complejas de tablas, usuarios y reglas. De nuevo, millones de datos que manejar.

Auditoría de segregación de funciones. Se trata de cotejar los usuarios y las actividades que realizan en el sistema, pero teniendo en cuenta la matriz de segregación de funciones. Esta matriz marca como un riesgo la combinación de dos o más funciones de negocio en el sistema.

Tenemos por tanto tres grandes grupos de datos: usuarios, funciones y la matriz, que nos permitiría identificar los riesgos asociados a las funciones para remediarlos después mediante actuación directa sobre los objetos de autorización o los roles.

En la actualidad, no automatizar es tan absurdo como tener una lavadora y seguir frotando la ropa a mano por la pereza de leer las instrucciones.

Automatizar las auditorías

Existen herramientas en el mercado que realizan algunos de los análisis mencionados, como, por ejemplo, SAP GRC o SAP IAG, que cubren los dos últimos. Otra posibilidad es utilizar euKaria, que cubre los tres escenarios descritos. La herramienta se basa en la posibilidad de codificar en reglas todos los hallazgos de una auditoría de seguridad, y en construir un proceso como el de la Figura 1. Algunas consideraciones:

  • Las tablas de SAP, una vez identificadas para nuestro propósito, han de extraerse
    cuidando que no se vulneren la confidencialidad de la compañía ni las regulaciones RGPD. En nuestro caso, extraemos solo datos técnicos de SAP, sin información personal o de negocio, y con ofuscación de datos.
  • El conjunto de reglas (ruleset) se codifica en una base de datos, con una estructura tal que permita combinar condiciones, evaluar valores y, para cada resultado, aplicar recomendaciones. Por tanto, se necesitan estructuras muy flexibles con tamaño dinámico.
  • El motor de cálculo debe buscar la máxima eficiencia. EuKaria se ha programado en leguaje C. Opciones como ABAP o Python son considerablemente más lentas y pueden llevar los análisis a decenas de horas de proceso. Hay que recordar que este motor ejecutará diversas tareas: hará una limpieza y formateo de tablas técnicas de SAP; descartará los datos no válidos, incorrectos o irrelevantes; y aplicará las reglas y recomendaciones a los resultados.

Finalmente, la herramienta generará una serie de entregables con acciones concretas y de aplicación inmediata.