Comprimir o afectar lectores de tarjetas, sistemas de facturación o terminales POS usando una tarjeta maliciosa

1

Nuestra empresa obtuvo una nueva impresora de tarjetas para las identificaciones de los empleados. Era un poco caro y tuvimos que someternos a un segundo plano, ya que nos permitió imprimir tanto tiras magnéticas como chips EMV. No entiendo lo suficiente acerca de los chips EMV, pero descubrí que sería muy fácil duplicar la tira de mag de mi tarjeta de débito y hacer un clon completamente funcional. Así como hacer que almacene lo que quisiera que almacenara. Lo que me hizo pensar en cuáles son los riesgos de aceptar datos de tarjetas a ciegas. Obviamente, un programador debería desinfectar todas las aportaciones, pero ¿qué pasaría si hubiera un descuido? Y alguien encuentra una vulnerabilidad en un sistema de procesamiento / facturación para ejecutar su tarjeta y hacer que ejecute el código incrustado en la tarjeta. Al igual que cómo ciertos scripts PHP se pusieron en peligro cuando intentaron procesar el exif de una imagen datos o cualquier otro escenario de falla al sanear la entrada. Me imagino que sería difícil con las tiras de mag, ya que existen limitaciones en cuanto a los caracteres que puedes usar y la longitud según la pista. Como mencioné, no estoy seguro del funcionamiento interno de los chips EMV, pero tal vez tendrían más posibilidades.

Tengo algunas preguntas sobre las que he tenido curiosidad. ¿Es posible comprometer o interrumpir un sistema a través de una tarjeta maliciosa y se ha hecho antes? ¿Ya se ha explorado este escenario y se toman ciertos procedimientos para evitarlo por parte de los proveedores de POS / Vending?

    
pregunta Bacon Brad 30.10.2015 - 19:11
fuente

2 respuestas

4

Lo que sé sobre los productos POS que revendo / apoyo, al tomar una tarjeta de crédito para un pago, hay un número de caracteres que está buscando.

En un sentido general, está buscando algo como esto:

  • 16 dígitos para Visa / Mastercard / Discover
  • 15 para Amex (solo usará Visa / MC / Discover, por ejemplo)
  • 4 dígitos para el vencimiento
  • código de seguridad de 3 dígitos

Por lo tanto, el sistema desea los datos en este formato

[Card number][Expiration][Security Code]

Hay otra información en la banda, pero solo se trata de ilustrar un ejemplo simple.

Además, no menciono las tarjetas astilladas, solo en referencia a las antiguas tarjetas de banda magnética, por ejemplo.

Entonces, digamos que mi sistema POS espera 23 dígitos (16 + 4 + 3) y hago una tarjeta falsa con una impresora de tarjetas. Tengo uno justo a mi lado en mi escritorio. Sin embargo, me equivoco en mi orden de información.

En lugar de [Card number][Expiration][Security Code]

Yo hago

[Security Code] [Card number] [Expiration]

El sistema aún tomaría la información que he dado, pero lo más probable es que regrese con un mensaje similar a "número de tarjeta no válido".

Así que rehaga mi tarjeta falsa con el orden correcto de información. Vaya a una tienda, pruebe la tarjeta y funciona bien.

Decide incluir mi carga útil al final de la tarjeta. Pensé que una de dos cosas sucedería:

  1. La tarjeta pasaría normalmente, el sistema tomó los 24 dígitos que buscaba y los envió a la compañía de tarjetas de crédito para su autorización.

  2. El POS no aceptaría la tarjeta ya que la cantidad de dígitos en las bandas magnéticas no coincidía con el conjunto estándar.

En # 2 he visto que sucede en la naturaleza. Una cadena de tiendas que mi empresa apoya está al lado de una gran universidad. La universidad entrega tarjetas de identificación, pero también son una tarjeta de crédito para el uso de los estudiantes. Pueden usar la tarjeta para comprar cosas y obtener servicios (echa un vistazo a los libros y demás) en la Universidad.

Las tarjetas de banda magnética tienen hasta 3 pistas de información. Dos pistas se utilizan para una transacción de tarjeta de crédito. Se puede utilizar una pista, pero el comerciante paga una tarifa adicional, ya que no fue una transacción "pista 1 y pista 2".

Después de las llamadas frecuentes de los propietarios de las tiendas con el problema de "las tarjetas universitarias XXXX no funcionan, a menos que las ingresemos manualmente", fui a la universidad y me dejaron ver una tarjeta y deslizarla para ver cómo aparece la información. Se estaba poniendo en la banda magnética. Fueron rechazados un poco por mi solicitud, pero entendieron el problema e hice mi prueba delante de ellos después de que un equipo de informática de la universidad me observara.

Estaban poniendo información de identificación de estudiante en la Pista 3 de las tarjetas. Por lo tanto, el sistema POS que admito estaba leyendo la pista 1, la pista 2 y la pista 3 y no aceptaba la tarjeta porque tenía demasiada información.

Para solucionar el problema, los MSR (lectores de banda magnética) en las tiendas que tuvimos que programar para que no leyeran la información de la Pista 3.

Esa fue mi experiencia con un producto POS. Hay cientos de productos POS, y supongo que sería una práctica estándar aceptar solo el número de dígitos "X".

Si esto fuera una posibilidad, creo que el punto "débil" sería la pasarela de pago que envía la información de la tarjeta al banco para su aprobación.

Computadora de punto de venta ---- > Pasarela de pago ---- > Banco del titular de la tarjeta

La pasarela de pago establece la sintaxis de cómo quieren que los datos lleguen a ellos.

Puede que les guste una forma diferente a mi ejemplo de

[Card number][Expiration][Security Code]

Entonces, si pensamos en explotarlo, creo que de forma similar a un ataque de inyección de SQL, la pasarela de pago sería donde buscar. Los PG son sistemas bastante robustos, por lo que me imagino que no tolerarían nada que no sea NO en su sintaxis.

    
respondido por el N. Greene 30.10.2015 - 20:24
fuente
1

El hack es en teoría posible. El problema con el que se encontrará es que está tratando con muchas incógnitas. Usted no sabe cómo se leen o verifican los datos de la tarjeta. Tampoco sabe qué saneamiento de los datos se está realizando. Cuando se lee una tarjeta maliciosa en un sistema, que está limpiando correctamente los datos, puede pasar toda su carga maliciosa al procesador de pagos. No sería difícil para ellos averiguar qué estaba pasando y hacer un seguimiento con la tienda para presentar un informe policial. La validación también puede ser verificada rápidamente por la tienda usando el Algoritmo de Luhn . Esta es esencialmente una forma rápida de verificar que los números son legítimos.

Si tiene suerte y compromete con éxito un terminal POS, deberá descargar los datos. Las infracciones de Target y Home Depot dieron como resultado la acumulación de decenas de millones de números de tarjetas. Realmente no hay una manera fácil de descargar los datos. ¿De alguna manera vuelves a cargar los números en las tarjetas de crédito? O puede hacer que el dispositivo POS intente cargar el archivo a un sitio web de terceros, sin embargo, los requisitos de PCI-DSS dictan reglas estrictas de cortafuegos. Esto hace que sea extremadamente improbable que el sistema POS tenga acceso a internet. En el caso de los hacks anteriores, los atacantes necesitaban usar un jumpbox para alternar entre los segmentos de la red.

Los delincuentes son hombres de negocios muy buenos y esto agrega un nivel indebido de riesgo frente a recompensa. Es mucho más seguro tratar de violar los segmentos de POS de forma remota. Tienen más control sobre las herramientas disponibles y una manera increíblemente efectiva de enmascarar su origen.

    
respondido por el pr- 30.10.2015 - 19:38
fuente

Lea otras preguntas en las etiquetas