Si lees, ves o escuchas las noticias, seguramente escuchaste hace unos meses el nombre Heartbleed —y que tenías que cambiar todas tus contraseñas de Internet— y, más recientemente, POODLE. Sin entrar en detalles, ambos son problemas graves de seguridad que afectaron y afectan a muchos sitios web "seguros" (aquellos cuya dirección comienza con https:// y que son indicados por el navegador con un candadito).
HTTPS te garantiza que no te conectes con sitios impostores, que nadie pueda husmear en tus comunicaciones y que nadie dé instrucciones espurias en tu nombre. Pero la validez de estas garantías depende de la calidad de la implementación. Creo que todos coincidiremos en que la banca en línea está entre los sitios donde más crítico es esto.
Así pues, me di a la tarea de estudiar la seguridad HTTPS de la banca en línea mexicana.
Metodología
Utilicé el servicio SSL Server Test de Qualys SSL Labs para evaluar la calidad de la implementación de HTTPS de ocho sitios de banca en línea de bancos nacionales y cinco de bancos extranjeros emparentados con cinco de los primeros, a fin de comparar la seguridad que implementan en casa y aquí.
Corrí la prueba para los 13 sitios en noviembre de 2014 y en febrero de 2015. A continuación reporto sólo las calificaciones más recientes, pero comento sobre los cambios más relevantes.
Resultados
Primero los bancos extranjeros, para tenerlos como referencia:
Banco | País | Calificación | Notas |
---|---|---|---|
BBVA | España | B | |
Citibank | EUA | C | Vulnerable a POODLE |
HSBC | Reino Unido | B | |
Santander | España | F | Vulnerable a POODLE |
Scotiabank | Canadá | B |
Ahora los nacionales. Banamex califica ligeramente mejor que su dueño Citibank:
Bancomer califica peor que BBVA España: [Importante: Ver actualizaciones]
Banorte e Ixe parecen tener configuraciones de seguridad idénticas. Sus calificaciones cayeron de A- a F en diciembre, cuando se descubrió que siempre sí son vulnerables a POODLE:
HSBC también cayó de A- a F en diciembre, por la misma razón:
Inbursa, reprobado. Tiene una configuración de HTTPS arcaica; me pregunto cuándo fue la última vez que pasó una auditoría de seguridad. Al menos, es inmune a Heartbleed y POODLE. [Importante: Ver actualizaciones]
Santander, muy bien, mucho mejor que su matriz en España:
Scotiabank, no tan bien como su matriz en Canadá: [Importante: Ver actualizaciones]
Análisis de resultados
Las calificaciones de algunos bancos (Banorte/Ixe, HSBC México y Santander España) se desplomaron en diciembre, tras el descubrimiento de que un ataque POODLE sí puede funcionar contra ellos y que las medidas de mitigación originales no les son aplicables. Quiero remarcar que no es que los sitios fueran más seguros antes diciembre; los problemas existen en sus servidores desde hace meses o años, y es posible que algún hacker de sombrero negro lo supiera e intentara sacar provecho.
El caso de Inbursa es diferente, ya que obtuvo F (reprobado) principalmente porque soporta una versión dinosáurica de HTTPS llamada SSL2. Actualmente lo que se está debatiendo es si jubilar SSL3, ¡la versión que le siguió!
En cuanto a la comparación con los bancos extranjeros, yo esperaba ver configuraciones iguales entre homólogos. Y no: HSBC, Bancomer y Scotiabank quedaron abajo de sus dueños extranjeros, mientras que Banamex y Santander calificaron mejor que sus matrices.
Finalmente, ninguno de los sitios analizados es vulnerable a Heartbleed, y tengo mis razones para pensar que ninguno lo ha sido en el pasado.
Conclusiones
Antes que nada, quiero dejar claro que una F no hace a un sitio inseguro, como tampoco una A lo hace seguro. El SSL Server Test de hecho está dirigido a los administradores de sitios para ayudarlos a encontrar los talones de Aquiles de sus propios sitios. Una calificación reprobatoria o la presencia de una vulnerabilidad no implica automáticamente que si abrimos ese sitio estamos expuestos. Hay ataques como Heartbleed que los hackers dirigen contra el servidor y no hay nada que podamos hacer, pero hay otros como POODLE que requieren ciertas condiciones en la computadora del cliente (por ejemplo, una versión particular de tal navegador o la presencia de tal plugin). Dicho esto, una calificación baja sí es un foco rojo en tanto que indica cierto descuido en materia de seguridad por parte del banco.
Es interesante que la vulnerabilidad POODLE resultó tener mucho más alcance del que se pensaba antes de diciembre, y los bancos afectados no han reaccionado.
Por último, no olvidemos que la seguridad de la banca en línea también depende de otros factores como la seguridad del propio banco (integridad del personal, seguridad física…), la seguridad del software desarrollado/distribuido/usado por el banco y ciertas prácticas y procedimientos (medidas para dificultar el phishing, manejo de los tokens…), por sólo mencionar algunos.
¿Qué opinas ahora, sigues confiando en la seguridad de tu banco?
Actualizaciones
(2015-03-25)
El 3 de marzo se anunció un nuevo ataque bautizado FREAK; se considera tan grave que cualquier sitio vulnerable obtiene automáticamente una F en el test. En consecuencia, algunas calificaciones cambiaron:- Bancomer es vulnerable: su calificación desciende a F
- Inbursa es vulnerable (pero su calificación ya era F)
- Scotiabank México subió a B; sospecho que era vulnerable y lo corrigieron rápidamente, quedando más seguro que antes (su barrita de key exchange subió a 90)
Más información
- Explicación de las calificaciones [en inglés]
- Heartbleed explicado en tira cómica [en inglés]
- Preguntas y respuestas sobre Heartbleed [en inglés]
- Discusión técnica del ataque POODLE original [en inglés]
- Discusión del más reciente ataque POODLE contra TLS [en inglés]