viernes, 15 de julio de 2011

La puerta bien blindada, pero la ventana bien abierta.

Durante mis evaluaciones de seguridad informática, rutinariamente me encuentro con implementaciones que intentan eliminar con mucho esfuerzo  una determinada vía de ataque sin darse cuenta que al mismo tiempo dejan otras rutas completamente desprotegidas. Este tipo de "errores" es usual cuando la seguridad informática se construye a posteriori en lugar de incluirse desde la más temprana etapa de diseño del sistema. En estas situaciones, muy pocas veces es posible proveer una "solución adecuada" y en consecuencia se termina seleccionando la opción que representa el menor de los posibles males.

Este artículo está dedicado a la "nueva moda" de las tarjetas de crédito / débito con chip que han empezado a implementar muchos de los bancos en Latinoamérica y en particular los Venezolanos. Esta fuerte tendencia parece ser indetenible a pesar de que los verdaderos riesgos, ventajas y desventajas de esta tecnología se desconocen con exactitud. Como siempre el twitt que lo inició todo rezaba algo como sigue:

@ en 107.9 "se buhonerizo la clonacion de tjtas en Vzla, se debe migrar a tecnologia chip". Los medios de pago y sus riegos.

Adicionalmente,  se refuerza el mensaje con artículos como éste y éste. Sin embargo, muy pocas personas parecen apreciar que la implementación actual de muchas de éstas mejor llamadas "tarjetas inteligentes" en realidad dejan mucho que desear. Como es de esperarse, los "chips" no pueden ser la panacea que los medios amarillista de seguridad informática intentan pintar y el verdadero "diablo" se encuentra en los detalles (de implementación). El comentario que resume mi argumento es el que sigue:


Ruben Recabarren - Buzz - Public
Interesante como en Vzla la campaña de la tarjeta de crédito "con chip" se ha vendido como una protección al consumidor, cuando la implementación actual (chip + banda magnetica) brinda únicamente cierta protección extra al banco y cero protección extra al consumidor. "Cosas vederes... Que non crederes".


Tengo que aceptar que la anterior entrada plantea mucha información que además de sorprendente, contiene muchas trampas para los que se aventuran a evaluarla superficialmente. Para explicar en profundad mi afirmación es necesario establecer algunos conceptos básicos sobre el funcionamiento de los sistemas de tarjeta inteligente que desarrollamos a continuación.


Advertencia: La siguiente descripción está basada en mi experiencia y conocimiento genérico sobre los sistemas de tarjetas inteligentes. Esta descripción asume que se tienen al alcance todas las ventajas que ofrecen los sistemas "con chip". Sin embargo, yo realmente dudo que las implementaciones de los bancos desarrollen todas estas características, pues cada una trae consigo sus retos y dificultades. En consecuencia, la implementación del banco puede diferir grandemente de esta descripción y obviamente, no puedo verificarla explicitamente. Por un lado, no tengo permiso explícito de las entidades bancarias pertinentes, pero por el otro tampoco acostumbro hacer tales trabajos de consultoría de forma gratuita (lol). Está demás decir que si algún responsable después de leer esta descipción desea realizar una rigurosa evaluación de su implementación para verificar o para retarme a demostrar las debilidades que aquí describo, puede gustosamente utilizar el link de contacto.


=====  Descripción pseudo-técnica, skiddies cortar desde aquí ======


1.- Protección con un PIN. La primera linea de protección se consigue con el viejo y conocido Personal Identification Number. Un número que se supone sólo conoce el usuario de la tarjeta y permite su "activación" al usarse en un punto de venta (POS). A pesar de ser una técnica vieja, detrás de las cámaras, este PIN funciona de una manera muy distinta al PIN de nuestras tarjetas de banda magnetica. En realidad, este PIN sirve de "autenticación" de nuestra persona hacia la tarjeta. Se supone que si alguien que desconoce el PIN intenta usar nuestro plastico, el chip inteligente se rehusará a negociar cualquier transacción. Esto es posible gracias a que el chip es en realidad un microprocesador con la misma lógica que hemos visto en los cuadros que nos piden un password para ingresar a nuestro email o abrir la sesión en nuestro computador personal.

Realmente no hay justificación para no implementar esta característica por parte del banco. En efecto, cualquiera que haya usado las nuevas tarjetas, no necesita hacer ninguna evaluación ni prueba de penetración para verificar que en realidad este mecanismo es utilizado de forma efectiva. Sería el colmo si no fuera así.  Por otro lado, este mecanismo no está libre de fallas, pero afortunadamente no son distintas a las que estamos ya bien acostumbrados: el usuario comparte su PIN de forma consentida o no-consentida (amenazado, atracado, etc), el PIN es observado por alguien surrepticiamente y un grandisimo, el PIN "robado" al usuario con ingeniería social, y un grandisimo etcétera. Ninguna sorpresa por aquí.


2.- Protección mediante un certificado digital de usuario inmerso y protegido por el chip. Esta es la primera característica novedosa y que tampoco es difícil de implementar. Aunque no hay motivos para pensar que no esté implementada, no es posible verificarlo por las razones mencionadas anteriormente. Sin embargo, no implementarla sería casi imperdonable pues los certificados digitales son el corazón mismo de las características de seguridad de estos sistemas. Un certificado digital es lo que nos permite realizar operaciones virtuales con autenticación de origen, integridad, confidencialidad y no-repudiación. La matemática detrás de todo eso esto es fascinante. Sin embargo, la parte importante para los usuarios normales es que debido a la dificultad de factorizar productos de números primos muy grandes, la posibilidad de falsificar transacciones que afirman provenir del dueño de un certificado digital específico es muy pero muy pequeña. Ésto es lo que permite la "no-repudiación" de la transacción. En otras palabras, si existe una transacción hecha con este certificado digital, pues con altísima probabilidad provino desde un chip que almacenaba este certificado digital (no uno "clonado") y que de paso está enlazado a la identidad del usuario legítimo.


Es aquí también donde empiezan las sorpresas. El famoso chip que se supone nos debe proteger, en efecto lo que hace es asegurarle al banco que una transacción firmada con tal certificado realmente vino de mi tarjeta y tiene muy poca probabilidad de haber sido falsificada. Fantástico para el banco, pues ahora puede diferenciar con mayor certeza las transacciones verdaderas (y que debe rechazarte si intentas desconocerlas) de las transacciones posiblemente fraudulentas (y que no le queda mas remedio que deshacer la transacción). ¿Dónde está la protección verdadera para el usuario? La protección viene siempre y cuando nadie pueda extraer esa información del certificado digital. Si alguien puede extraer la denominada "clave privada" del certificado digital de mi tarjeta inteligente, lograría en efecto la "clonación" de la tarjeta con chip. En consecuencia, yo, como usuario, quedaría en exactamente los mismos problemas que antes. Justamente para evitar esta posibilidad, se diseñó el mecanismo de seguridad que describimos a continuación pero que lastimosamente es el menos implementado en la vida real.


3.- Protección mediante un par de certificados digitales extra que identifican a la tarjeta inteligente y al punto de venta legítimo. Este mecanismo básicamente intenta evitar que las tarjetas "con chip" sean coaccionadas a revelar la información de autenticación, descrita en el punto anterior, a un punto de venta diseñado maliciosamente para este fín. La información de autenticación consiste esencialmente en la clave privada, aunque también se intenta evitar "ataques de repetición". El mecanismo de ataque específico es mucho mas complicado de lo que puedo intentar explicar en términos sencillos. Sin embargo, la idea es facil de intuir. Si construyo un punto de venta que manipule maliciosamente a mi chip, bajo ciertas condiciones, podría lograr que revele la información necesaria para clonarlo. Sin embargo, la misma tecnología de certificados digitales que sirve para "identificar" al usuario, sirve a escala más pequeña para autenticar al punto de venta frente a mi chip y al chip frente al punto de venta. Esta modalidad es lo que se conoce como "autenticación mutua". Si alguna de las partes (chip o POS) no reconoce a la otra, simplemente se niegan a conversar y las transacciones no se llevan a cabo. Cuando este mecanismo es implementado adcuadamente, el proceso para que un delincuente logre crear un punto de venta malicioso se vuelve comparable a la dificultad de factorizar productos de números primos muy grandes. Es decir, bien díficil dependiendo del tamaño de los números primos usados. En consecuencia, y sólo en este caso, la información privada del usuario está protegida con efectividad.


Es aquí donde comienzan los peores problemas. Para implementar este mecanismo de forma adecuada, y mantener algún tipo de compatibilidad de cobranza mutua, es necesario establecer un mecanismo para que los chips del banco "A" reconozcan los puntos de venta del banco "B" como de confianza. De lo contrario, los chips del banco A no podrían saber si los puntos de venta del banco B son legítimos o se trata de un delincuente informático tratando de clonar nuestra tarjeta de crédito o débito. Este mecanismo de confianza se puede establecer de muchas maneras, la más sencilla de las cuales es la creación de una autoridad de certificación raíz común. Lamentablemente, la sencillez de esta solución es sólo técnica pues las dificultades empiezan a ser operativas por peleas de poder o prestigio: ¿Qué banco controla la autoridad raíz? Por otro lado, es posible hacer una solución de mayor aceptación comunitaria pero de mayor dificultad técnica: lo que se conoce como autoridades de certificación cruzada. Aún hay otras soluciones salomónicas al estilo de confiarle al proveedor de puntos de venta y tarjetas inteligentes la operación de la autoridad raíz lo cual entrega las llaves del reino a un completo extraño. Esto último acarrea aún más y más problemas de confianza. Adicionalmente, éste último mecanismo de protección es otro que no podemos verificar sin hacer un análisis más profundo o sin permiso explícito. Sin embargo, es evidente que la problemática descrita anteriormente es la candidata perfecta para acortar caminos. El acortar caminos significa, por ejemplo, no utilizar este mecanismo de protección y en consecuencia proveer menos protección efectiva para el consumidor.


=== Fin descripción pseudo-técnica, script kiddies cortar hasta aquí ====


Espero no haber perdido a demasiados lectores con la montaña rusa sobre el funcionamiento de las tarjetas inteligentes. Lo que viene les conviene. Armados con el conocimiento adquirido es posible entender la primera parte de mi afirmación inicial: "...brinda únicamente cierta protección extra al banco..." En efecto, cuando una transacción es realizada a través del chip, el banco tiene todos los argumentos anteriores para sostener que el cliente y no un delincuente informático es responsable de la realización de esa transacción. Es decir, los reclamos a partir de aquí se hacen menos creibles, sobre todo porque los consumidores, primero: no conocen a profundidad las debilidades que sondeamos muy superficialmente en las lineas anteriores; y segundo: no tenemos ninguna forma de verificar que la implementación haya sido hecha correctamente y evaluada por un ente independiente. En mi opinión aquí están fallando mucho los organismos reguladores al permitir que los bancos hagan y deshagan con sus implementaciones sin una verdadera evaluación rigurosa y de calidad. Para muestra, dos botones aunque admitidamente, hay muchos más.

Mis detractores apuntarán rápidamente la siguiente aparente parcialidad: "...todo esto es asumiendo que los bancos hicieron mal su tarea ¿Acaso no es posible que la hayan hecho bien? ..." Ciertamente, mi argumento inicial también aloja esta posibilidad. Por supuesto, la aloja tan sólo por completitud, pues por motivos y evidencia de primera mano, tengo razones para pensar que ésta dificilmente será la excepción. La segunda parte de mi argumento cobra razón justamente asumiendo el supuesto increible y por demás improbable que la implementación de los bancos es perfecta y que los chips son en verdad " difícil de violentar". El punto en donde se cae toda posible protección para el consumidor es en la triste realidad que hasta ahora todas las tarjetas con chip tienen también, por motivos de compatibilidad, la antigua banda magnetica con la que nos han estado clonando ad nauseam. En efecto, para ejecutar una transacción fraudulenta, el delincuente tendría que ser sumamente estúpido para tratar de entrar por la puerta hipotéticamente "bien cerrada" y blindada (chip) teniendo la ventana (banda magnética) abierta de par en par. Es decir, en la práctica, el delincuente seguirá usando la banda magnetica para clonar tu tarjeta y se reirá afanosamente de tu chip "inteligente".


Dicho en criollo, el riesgo para el consumidor es exactamente el mismo: el delincuente intentará llevar la tarjeta a un lugar fuera de los ojos del propietario y pasar la banda magnetica (no el chip) por la captadora. Al final, ¿A cuantas personas les han intentado clonar su tarjeta delante de sus narices? Ésto usualmente se lleva a cabo en la "oscuridad" y lejos de los ojos supervisores del propietario. En consecuencia, ¿Cuánto te protege realmente que le pidas al cajero que use el chip y no la banda? De todas maneras delante de tus ojos no te la iban a "raspar delincuencialmente". Y si rasparla delante de tus ojos iba a tener éxito, que te la pasen por el chip y luego por la captadora, usando cualquier excusa tonta, tendrá exactamente la misma probabilidad de éxito. Las oportunidades del delincuente siguen intactas. La única diferencia es que ahora, para las transacciones que hagas con tu chip: buena suerte al intentar reclamarlas al banco. Nuestra única esperanza es que la banda magnética desaparezca pronto.

Ahora bien, para los que aspiran que la banda magnética desaparezca en el corto plazo, más malas noticias. Como habíamos explicado anteriormente, la banda magnética es necesaria para los puntos de venta que no cuentan con el lector de tarjetas inteligente moderno. Eliminar la banda magnética implicaría reemplazar todos los puntos de venta del mundo (o al menos del país) por sus contrapartes modernos con lectoras de "chip". De lo contrario, el banco que emita plásticos sin banda magnética quedaría imposibilitado de realizar transacciones en lugares donde todavía no ha llegado la modernización. Dícese, por ejemplo, la tagüarita del Bronx donde compramos la harina pan para deleitar a nuestros anfitriones en el extranjero con un pláto de comida típica Venezolana. Ésto se traduciría, como es de esperarse, en pérdida de transacciones, descontento de clientes, etc. En consecuencia, al menos para el caso de las tarjetas de crédito, es posible que esta implementación (chip + banda) permanezca mucho mas tiempo del que muchos imaginan. En el caso de las tarjetas de débito, su transición total debería ser un poco mas rápida, al menos en Venezuela, pues no existe posibilidad de usarlas en el extranjero debido al control cambiario. Mientras tanto, se puede esperar que el número de transacciones fradulentas siga con la misma tendencia actual, prácticamente sin ningún tipo de impacto verdadero. Lo que muy dificilmente permanecera invariable es el número de reclamos no procedentes que empezará a emitir la entidad bancaria en clara sobre-confianza de su nuevo "sistema de chip con casi nula probabilidad de falsificación". Me pregunto: ¿Cuántas personas han intentado con éxito que les reversen una transacción hecha a través del chip inteligente? Buena suerte con eso y me encantaría si dejaran sus comentarios / experiencias al respecto al final de este artículo.



Supongo que siempre existe la posibilidad de cuando el banco se rehúse a aceptar un reclamo por cobro indebido, puedes intentar apuntarlos a este artículo (lol). Si aún así no te creen pues puedes también apuntarlos a otros como este (doble lol). Finalmente, y en cualquier caso, les deseo mucha pero mucha buena suerte. Al final, ésa parece ser la única verdadera protección que tenemos (not lol). :-(