¿Permitir que todos sepan cuándo se inició un proceso de servidor representa un riesgo para la seguridad?

4

Recientemente encontré que en Microsoft .NET framework un subproceso suplantado no tiene permiso para solicitar "la hora en que se inició el proceso actual". Esto podría hacerse intencionalmente o esto podría ser una deficiencia de implementación.

¿Existe algún riesgo de seguridad si algún código ejecutado en un servidor puede encontrar cuándo se inició el proceso en que se está ejecutando este código?

    
pregunta sharptooth 18.03.2013 - 10:17
fuente

3 respuestas

4

Más allá del consejo general de "no le digas nada a nadie", lo cual es totalmente cierto, hay un par de cosas interesantes acerca de la hora de inicio del proceso desde el punto de vista de un atacante.

  • si logras bloquear un proceso, su hora de inicio se restablecerá. Podría usar esa información para averiguar qué otros ataques estaban funcionando.

  • algunos sistemas han tenido vulnerabilidades en las que utilizan la hora de inicio del proceso como una semilla para la generación de números aleatorios criptográficos. Netscape tuvo un error como ese hace mucho tiempo. Si supiera que un sistema hizo eso, la hora de inicio del proceso sería extremadamente útil.

respondido por el Edwin Young 18.03.2013 - 15:41
fuente
0

Dada la pregunta de un "usuario malintencionado", cuando se inicia un proceso es un problema de seguridad, la respuesta es sí. Si un atacante puede analizar los tiempos de inicio de los procesos, ya está más dentro del sistema de lo que una configuración segura debería permitir. .

Para esta pregunta, asumamos que la hora de inicio del proceso es el único detalle disponible para el atacante. Una restricción artificial poco realista pero perfecta para centrarse en el valor de la hora de inicio para el atacante.

Al analizar los tiempos de inicio y centrarse en la ejecución más larga, puede reducir rápidamente los procesos relacionados con el kernel que se iniciaron en el arranque del sistema, lo cual es información valiosa. La capacidad de ver intentos externos de acceso a través de servicios web o intentos de acceso remoto al ubicar los procesos en relación con el intento de acceso utilizando tiempos de inicio también sería valiosa. La ubicación de estos procesos permite al atacante concentrar sus esfuerzos en los recursos vinculados a estos procesos para intentar obtener los privilegios y / o acceder a los detalles de confianza relacionados con ellos.

Ahora vamos a alejarnos de la restricción artificial de solo mirar los tiempos de inicio y discutir el valor de los procesos de opacidad para el defensor. El sandboxing es exactamente eso y el estándar de oro para proteger los sistemas de ataques externos que protegen los procesos confiables de los procesos que no son de confianza (aislando la pestaña del navegador de banca segura de la pestaña de navegación ocasional). El sandboxing se crea limitando el acceso al proceso a otros procesos, incluso los que generó, como en el caso de las pestañas en una aplicación de navegador web, solo a los detalles esenciales necesarios para que la funcionalidad funcione.

    
respondido por el zedman9991 18.03.2013 - 14:26
fuente
0

Buena pregunta, parece que uno necesita hacer un pensamiento creativo aquí. Considera esto (puedo estar equivocado)

Suppose process A which does the authentication and Process B does the authorization.

tomando en consideración el principio de IAA (identificación, autenticación y autorización), el programador naturalmente desea que el proceso de autenticación sea seguido con autorización y no al revés. Ahora, la forma en que funciona la autorización es que depende de una política basada en el tiempo más de lo mismo en concepto en los enrutadores donde lo ve como Policy-Based ACLs. . Aquí, el momento en que se inicia el proceso de autorización es crítico, ya que define el derecho del usuario a acceder a la aplicación o un recurso.

El sistema completo permite el acceso a objetos según el contexto, por lo que el atacante en ese caso puede recuperar la información relacionada con el tiempo, probablemente a través de ataques de ingeniería social que el usuario (x) es el administrador del sitio e ingresa de manera remota a ciertas horas del día. Usando esta información, el atacante puede saber hacer una de las siguientes acciones: -

  1. oler el tráfico
  2. Política de contraseñas débiles de fuerza bruta.
  3. Busque un error de aplicación web / (inyección de SQL)
  4. Usando un servidor ya comprometido, tal vez pueda escribir un script para activar el rastreo cuando ve el proceso B en la memoria.

Este escenario quizás está localizado y depende de la variable de entorno pero es totalmente plausible para su declaración con respecto a lo que dijo que podría ser un riesgo de seguridad o no.

    
respondido por el Saladin 19.03.2013 - 07:03
fuente

Lea otras preguntas en las etiquetas