Mostrando entradas con la etiqueta sslcop. Mostrar todas las entradas
Mostrando entradas con la etiqueta sslcop. Mostrar todas las entradas

10 mayo 2013

Nuevo EMET v4-Beta con 'certificate pinning' geolocalizado

Ha pasado ya más de un año desde que tuve la oportunidad de hablar en la rootedcon sobre criptografía aplicada, di un pequeño repaso al 'estado del arte' y presenté unas cuantas herramientas sobre el tema.

Entre ellas, hablé de SSLCop como concepto para llevar la geolocalización al mundo de de las CAs.

El concepto se explica muy fácilmente, las CAs de confianza que puedes encontrar en el repositorio de CAs de Windows, tienen un origen geográfico, hay CAs Españolas, las hay Mexicanas, Venezolanas y en general de un buen número de paises.

La mayoría de las CAs asociadas a países suelen tener un ámbito local, en general para trámites administrativos de los ciudadanos de esos países. Como resulta obvio, para una persona Argentina le resulta un lastre tener CAs de otros países que no necesita, y encima estas CAs pueden ser hackeadas para emitir certificados piratas, como ya pasó con una CA de Turquía.

Entonces, siguiendo el principio Nº1 del hardening: si no lo necesitas, quítalo lo que hace SSLcop es 'banear' las CAs en función de su procedencia.

Mientras leía las nuevas especificaciones de EMET 4.0 a nivel criptográfico, me sorprendió ver que Microsoft ha añadido a EMET funcionalidades de tipo 'certificate pinning'. Hasta aquí nada nuevo, es algo en lo que Google con Chrome lleva mucho terreno andado.

Lo novedoso es que EMET permite generar reglas de pinning basadas en la localización geográfica de las CAs, con lo que es posible definir reglas como por ejemplo que para un dominio de la administración Española, solo aceptaré certificados SSL basados en España.

Hacerlo con EMET es extremadamente sencillo, primero definimos un dominio, en este caso www.agenciatributaria.es


 Y luego lo asociamos a una regla en la que decimos que solo se permiten certificados Españoles


¿sencillo verdad? Me parece una gran iniciativa por parte de Microsoft que ha avanzado en el mundo del 'pinning'
Leer más...

13 marzo 2012

SSLCop 1.0

En la pasada Rootedcon tuve el placer de dar una charla llamada 'Applied Cryptography FAILs' en la que estuve hablando sobre diferentes 'FAILs' en el mundo de la criptografía aplicada.

En uno de los puntos de la charla hablaba sobre el enorme descontrol que hay hoy día a la hora de aprobar CAs por parte de Microsoft (y también Mozilla), e hilaba con el post '¿En manos de quién está la seguridad de Internet?' donde habíamos publicado un estudio sobre el origen geográfico de las organizaciones que Microsoft ha aceptado como CAs de confianza.

El problema es muy fácil de entender, hoy día cualquier CA de confianza está capacitada para emitir un certificado SSL válido sobre cualquier dominio de Internet. Esto aplica tanto a CAs como Verisign como a cualquier otra oscura CA que haya sido aprobada.

Evidentemente esto genera cierta indefensión hacia el usuario final, ¿es necesario que yo, nacido y residente en España, confíe en la CA del gobierno de Japón? más aún ¿En la CA del gobierno Chino o la de Túnez? Mi opinión es que no.

No por varios motivos, el primero y mas obvio es porque muchos de esos gobiernos que tienen CAs aprobadas por Microsoft son todo menos transparentes (caso de Islas Bermudas o Macao) algunos incluso ejercen prácticas coercitivas sobre su población (caso de China o Tunez) e incluso desde un punto de vista meramente de seguridad, a más CAs en las que confíe, más riesgo de que alguna de ellas pueda ser comprometida (y sí, definitivamente eso sí pasa) y pueda ser utilizada para emitir certificados piratas.

Ante ese panorama presenté la herramienta 'SSLCop', herramienta que permite de forma fácil bloquear y eliminar aquellas CAs que simplemente no son de interés debido a su procedencia geográfica. Hay muchas CAs aprobadas por Microsoft que se usan para la 'E-Administración' local de cada país que pueden ser interesantes para sus habitantes, pero no globalmente.

Lo que hice fue clasificar geográficamente todos los certificados de las organizaciones y crear una herramienta capaz de bloquearlos a golpe de ratón. 

El resultado es SSLCop 




Como se puede ver, la herramienta es muy sencilla, simplemente seleccionas los países que deseas bloquear y pulsas 'Block!'.

Mención especial para el gran Raúl Siles que me dio la idea de añadir un botón 'seleccionar todas', lo que hace mas fácil, por ejemplo, bloquear todos los países menos España, que es el único que me puede interesar a mi.

Acepto todo tipo de sugerencias e igualmente si alguien reporta bugs, serán muy bienvenidos. La herramienta funciona tanto en Windows XP como en Windows 7 (requiere elevación por motivos obvios, la propia herramienta debería disparar el UAC). De momento soporta Explorer y Chrome, en un futuro me gustaría soportar Firefox y Linux.

La herramienta se puede descargar desde aquí

Leer más...