Cómo abordar el compromiso de la base de datos de la aplicación

2

Hace poco me encontré con un escenario en una evaluación sobre la seguridad de TI. Soy nuevo en esta área y mi conocimiento es limitado, por lo que no estoy seguro de si mi respuesta al escenario es adecuada o no. Realmente apreciaré si alguien pudiera ayudar. Así que el escenario es:

Una pequeña empresa decidió mover su infraestructura a la nube. Durante la actividad de migración, identificaron que uno de los servidores de base de datos tenía 4 usuarios locales desconocidos de Windows. Esto provocó una revisión técnica e investigación interna.

Los problemas encontrados fueron:

  • Se crearon 4 usuarios locales desconocidos en el servidor.
  • Hubo un total de 30 usuarios de nivel de base de datos en la base de datos MS SQL.
  • El servidor de la base de datos está almacenando datos para 20 aplicaciones web.
  • Los hallazgos básicos fueron que se comprometieron 5 aplicaciones web, donde
  • 1 sitio tenía problemas con la inyección de comandos
  • 1 sitio tenía problemas con la inyección de SQL
  • 1 sitio tenía problemas de XSS y CSRF
  • 2 sitios no estaban haciendo ninguna validación de entrada
  • Ninguno de los sitios estaba usando HTTPS
  • Se encontró que dos de las bases de datos tienen información de la tarjeta de crédito

Las preguntas son:

Según este escenario, ¿es este un problema de seguridad de la base de datos, las aplicaciones o el sistema y por qué?

¿Cuáles son los registros que la compañía puede revisar durante la investigación?

Mi respuesta:

Creo que este es un problema de seguridad de la aplicación.

La seguridad de la aplicación se define como "la práctica general de agregar funciones o funcionalidades al software para evitar una variedad de amenazas diferentes. Entre ellas se incluyen los ataques de denegación de servicio y otros ataques cibernéticos y las violaciones de datos o las situaciones de robo de datos". En relación al escenario:

  • las aplicaciones web se almacenan en el servidor de base de datos, lo que significa que hace que sea más fácil para un atacante acceder a los datos porque solo necesitan descifrar la cuenta del administrador para que un servidor tenga acceso a todo.

  • los usuarios se crean a través de aplicaciones web y se almacenan en el servidor de bases de datos, aún tenemos que identificar los privilegios de los 4 usuarios desconocidos. Cualquiera o todos estos usuarios desconocidos podrían tener intenciones maliciosas. Pueden identificarse como individuos con acceso no autorizado a la red de la empresa, lo que significa que la compañía ya puede haber sido víctima de violaciones de datos o robo de datos.

  • problemas como la inyección de SQL, XSS y CSRF son un tipo común de vulnerabilidades de seguridad de las aplicaciones donde los atacantes pueden explotar y facilitar la ciberdelincuencia. Como resultado, los atacantes podrían identificar la disponibilidad, la confidencialidad y la integridad de los datos de la empresa.

  • la información de la tarjeta de crédito se encuentra en dos bases de datos y se encontró que 5 aplicaciones web no tienen https. Esto es signos de violaciones de datos y robo.

Le sugiero a la compañía que busque en los registros de las aplicaciones web y de la base de datos en busca de signos de una explotación real, también buscaré en los registros de auditoría de seguridad para cualquier intento de autenticación fallido y buscaré en el firewall tráfico inusual basado en la ubicación.

    
pregunta user2866239 26.08.2017 - 10:55
fuente

2 respuestas

1

Según su descripción, ciertamente hay varios problemas graves de seguridad de la aplicación.

  

Según este escenario, ¿es este un problema de seguridad de la base de datos, las aplicaciones o el sistema y por qué?

Sin embargo, eso no descarta otros problemas. Por ejemplo, los nuevos usuarios no se han detectado hasta que se inició la migración, por lo que hay un problema de "monitoreo de seguridad" (un subconjunto de Seguridad del sistema). De manera similar, los nuevos usuarios de la base de datos tampoco se han detectado, y eso podría (según sus procesos) estar dentro del alcance de la Seguridad de la base de datos.

  

¿Cuáles son los registros que la compañía puede revisar durante la investigación?

Depende de qué registros están habilitados para los sistemas así como para la aplicación. Parece que está usando servidores Windows, por lo que existe una alta probabilidad de que tenga abundantes registros de eventos de los sistemas Windows tanto para la actividad del usuario como para la base de datos. Del mismo modo, los registros de acceso al servidor web también estarían disponibles (independientemente del sistema operativo).

Siempre recomiendo el registro de aplicaciones (aunque no todo el registro de nivel de aplicación se realiza teniendo en cuenta la seguridad), y si se hace correctamente, son extremadamente valiosos cuando el compromiso se realiza a través de vulnerabilidades de la aplicación.

Su investigación tendrá objetivos de gestión. Los registros que revises deberán estar alineados con ellos. por ejemplo, si los objetivos no incluyen el descubrimiento del vector de ataque inicial, puede ignorar los registros de la aplicación. Si los objetivos no incluyen la preservación de la evidencia que se debe perseguir con el cumplimiento de la ley, es posible que desee limitar el tiempo que dedica a investigar los artefactos del disco (especialmente si puede restaurar la aplicación limpia desde el control de versiones).

    
respondido por el Sas3 26.08.2017 - 11:45
fuente
1
  

Según este escenario, ¿es este un problema de seguridad de la base de datos, las aplicaciones o el sistema y por qué?

Todos ellos.

  • Los usuarios adicionales en la base de datos MSSQL implican que un atacante obtuvo acceso de administrador directamente a la base de datos o que los usuarios de la base de datos utilizados por la aplicación con la inyección de SQL tenían muchos más permisos de los que necesitaba.
  • La inyección de comandos, las inyecciones de SQL, XSS, CSRF y la validación de entrada faltante son problemas de seguridad a nivel de la aplicación. También pondría no tener habilitado HTTPS en su servidor web en esa categoría, pero algunas personas podrían considerar esto como un problema de seguridad del sistema.
  • Los nuevos usuarios en el sistema operativo implican que un atacante obtuvo acceso de administrador en el nivel del sistema operativo. Tal vez en realidad no lograron iniciar sesión en el sistema operativo directamente, pero simplemente abusaron de la vulnerabilidad de inyección de comandos en una aplicación. Pero en ese caso, la aplicación se ejecutó como un usuario con privilegios innecesarios, lo que también es un problema de seguridad del sistema.
  

¿Cuáles son los registros que la compañía puede revisar durante la investigación?

  • El registro de eventos de Windows puede indicarle cuándo se crearon los usuarios de Windows. MSSQL también registra varios eventos en el registro de eventos de Windows, por lo que puede indicar cuándo y cómo se crearon esos usuarios de la base de datos.
  • Cuando las aplicaciones web vulnerables tienen alguna funcionalidad de registro propia, podrían ser útiles (si esto fuera un caso del mundo real, no esperaría mucho de ellos porque los desarrolladores obviamente no eran los más competentes, pero debería mencionarse) sin embargo).
  • El error de MSSQL el registro podría mostrarle algunos de los experimentos que realizó el atacante cuando estaban probando inyecciones de SQL.
  • Los registros del servidor web (IIS?) pueden indicar qué direcciones IP accedieron a las aplicaciones web cuando se crearon los nuevos usuarios.

Pero tenga en cuenta que en el caso de un compromiso del sistema, cualquier registro encontrado en el sistema comprometido no es 100% confiable. Un atacante muy minucioso podría falsificarlos.

    
respondido por el Philipp 23.01.2018 - 16:01
fuente

Lea otras preguntas en las etiquetas