¿Cómo detectar las tarjetas de crédito recolectadas de la memoria?

1

Recientemente conversé con un especialista en cumplimiento de normas PCI y me di cuenta de que hay una forma de robar datos en bruto de la memoria de Apache / Nginx, por ejemplo. tarjetas de crédito. Se llama "cosecha" y se vuelve bastante común.

Digamos que alguien hackeó una función de carga de archivos y obtuvo acceso. ¿Cuál sería la forma de detectarlo si se las arreglara para cosechar algo o todavía está cosechando, asumiendo que podría limpiar / cambiar los registros y las modificaciones después de él?

    
pregunta Tchagg Bruin 23.05.2014 - 12:10
fuente

4 respuestas

4

Una vez que un atacante obtiene el control de una computadora, no puedes confiar en nada en esa computadora; inspeccionar la computadora no puede decirle con certeza lo que sucedió o está sucediendo.

Su mejor apuesta es observar los esfuerzos del atacante para obtener datos de su red y de una computadora bajo su control. Supervise las conexiones salientes en el firewall para ver si hay alguna que vaya a ubicaciones inusuales; inspeccione los datos salientes para ver si contienen algo que se parezca a datos confidenciales.

También puede intentar detectar el ataque haciendo que el servidor envíe sus mensajes de registro a un servidor de registro seguro e inspeccione las cosas que parecen un ataque. Sin embargo, 1) habrá muchos falsos positivos, 2) un ataque exitoso puede no crear una entrada de registro, y 3) una vez que el ataque tenga éxito, no se puede confiar en más entradas de registro. No espere que esto sea útil, excepto posiblemente para el análisis posterior al incidente.

    
respondido por el Mark 23.05.2014 - 12:36
fuente
1

Estoy de acuerdo con la respuesta de @Mark. Los servicios de protección de pérdida de datos independientes y los servicios de monitoreo profundo que se ejecutan en la sombra de su red son la única forma realista de detectar el tipo de ataques extendidos que estamos experimentando actualmente. Teniendo en cuenta que actualmente, el tiempo promedio para el descubrimiento es la mejor parte del año y que el descubrimiento generalmente ocurre desde el exterior, este es un problema importante.

Sin embargo, mejor aún, ¡no es permitir que ingresen datos confidenciales en tu sistema!

Es mejor entregar esta pieza de procesamiento especializado a una función especializada. Eso podría ser manejado por ustedes mismos o por un tercero.

Si tiene que tomar los detalles usando su propio sitio web, puede precodificar los detalles del lado del cliente y pasarlos directamente a una tienda separada, tener un "capturador" dentro de su red segura que saca entradas de la red. almacene y procese temporalmente en un entorno más seguro que su servidor web (que estará en una DMZ o, lo que es peor, en un entorno de alojamiento en la nube).

La entrega de todo el problema a un tercero especializado (PayPal, Globalpay, etc.) es aún más fácil, ya que asumen todo el dolor y el riesgo a cambio de un pequeño costo general.

    
respondido por el Julian Knight 23.05.2014 - 14:14
fuente
1

Solo para agregar a las respuestas de Mark y Julian aquí ...

Como consumidor, me siento mucho más cómodo comprando cosas de un sitio que usa un procesador de pagos reconocible que uno que quiere los detalles de mi tarjeta.

Pero para volver a la pregunta, una contramedida que es efectiva para todo tipo de escenarios es sembrar sus datos con honeypots (fichas de miel).

    
respondido por el symcbean 23.05.2014 - 16:54
fuente
0

Si está buscando mitigar este tipo de problemas, podría estar interesado en ejecutar su servidor web como un usuario no root dentro de un Docker contenedor o contenedor LXC.

Esto mitiga la amenaza en la forma en que funciona Docker. Los contenedores Docker son entornos Linux aislados que, para todos los fines intensivos, son sistemas operativos autónomos. Sin embargo, son increíblemente ligeros y no son lo mismo que la virtualización de ninguna manera.

Ejecutar su servidor web dentro de un contenedor Docker como usuario no root significa que en el mejor de los casos un atacante solo puede acceder a la memoria del contenedor Docker y nunca a la memoria de la máquina host, siempre que Docker y LXC se ha implementado correctamente (y el soporte de LXC en el kernel ha estado vigente durante bastante tiempo).

Al utilizar el soporte de red de Docker, puede "exponer" el servidor web a su propio puerto local 80/443, que básicamente utiliza el reenvío de puertos para reenviar todo el tráfico en esos puertos para seleccionar puertos en el contenedor de Docker (es decir, 8080). y 8443, porque no puede enlazar a 80 y 443 como un usuario no root).

Para el usuario final, en efecto, nada ha cambiado. Todo el tráfico se reenvía a un servidor web real que se ejecuta en un contenedor LXC. Sin embargo, si un atacante logra obtener la ejecución remota de código, estará increíblemente limitado en lo que podrá hacer (nuevamente, si Docker y LXC se han implementado correctamente).

    
respondido por el Naftuli Kay 23.05.2014 - 19:21
fuente

Lea otras preguntas en las etiquetas