Mozilla implementa CRLite para comprobar si hay certificados TLS problemáticos

Empresa Mozilla anunció el sobre el inicio de las pruebas de un nuevo mecanismo para detectar certificados revocados en las compilaciones nocturnas de Firefox — CRLiteCRLite permite una comprobación eficiente de la revocación de certificados con una base de datos alojada en el sistema del usuario. La implementación de CRLite se está desarrollando en Mozilla. publicado por bajo la licencia gratuita MPL 2.0. El código para la generación de bases de datos y los componentes del servidor están escritos en Python y Go. Componentes del lado del cliente para leer datos de la base de datos añadidos a Firefox preparado en lenguaje Rust.

La verificación de certificados, que todavía se utiliza hoy en día, implica servicios externos basados ​​en el protocolo OCSP El Protocolo de Estado de Certificado en Línea (OCSP) requiere acceso garantizado a la red, introduce un retraso significativo en el procesamiento de solicitudes (un promedio de 350 ms) y presenta problemas de privacidad (los servidores OCSP que responden reciben información sobre certificados específicos, que puede utilizarse para determinar qué sitios web visita el usuario). También se pueden realizar comprobaciones locales con listas. CRL (Lista de revocación de certificados), pero la desventaja de este método es el gran tamaño de los datos descargados: actualmente, la base de datos de certificados revocados ocupa alrededor de 300 MB y continúa creciendo.

Firefox ha utilizado una lista negra centralizada para bloquear certificados comprometidos y revocados desde 2015. Una CRL en combinación con una solicitud al servicio Navegación segura de Google para identificar posible actividad maliciosa. OneCRL, como CRLConjuntos En Chrome, actúa como intermediario que agrega las CRL de las CA y proporciona un servicio OCSP único y centralizado para verificar los certificados revocados, eliminando así la necesidad de enviar solicitudes directamente a las CA. A pesar del extenso trabajo para mejorar la fiabilidad del servicio de verificación de certificados en línea, los datos de telemetría muestran que más del 7 % de las solicitudes OCSP agotan el tiempo de espera (hace unos años, esta cifra era del 15 %).

Por defecto, si no es posible la verificación OCSP, el navegador considera el certificado válido. El servicio podría no estar disponible debido a problemas de red y restricciones internas, o podría estar bloqueado por atacantes. Para eludir la verificación OCSP durante un ataque de intermediario, basta con bloquear el acceso al servicio de verificación. Se ha implementado una técnica para prevenir parcialmente estos ataques. Imprescindible, lo que permite que un error de solicitud de OCSP o una falta de disponibilidad de OCSP se interprete como un problema con el certificado, pero esta característica es opcional y requiere un diseño de certificado especial.

CRLite le permite consolidar información completa sobre todos los certificados revocados en una estructura fácilmente actualizable, de solo 1 MB de tamaño, lo que le permite almacenar toda la base de datos de CRL en el lado del cliente.
El navegador podrá sincronizar diariamente su copia de datos de los certificados revocados, y esta base de datos estará disponible bajo cualquier condición.

CRLite combina información de Transparencia de certificadoUn registro público de todos los certificados emitidos y revocados, y los resultados del escaneo de certificados en Internet (se recopilan varias listas CRL de autoridades de certificación y se agrega información sobre todos los certificados conocidos). Los datos se empaquetan mediante en cascada. filtros de floración, una estructura probabilística que permite una detección de falso positivo de un elemento faltante, pero excluye la omisión de un elemento existente (es decir, con una cierta probabilidad, es posible un falso positivo para un certificado válido, pero se garantiza que se detectarán los certificados revocados).

Para eliminar los falsos positivos, CRLite ha introducido capas adicionales de corrección de filtros. Tras generar la estructura, se itera sobre todos los registros fuente y se identifican los falsos positivos. Con base en los resultados de esta comprobación, se crea una estructura adicional, que se aplica en cascada a la primera y corrige los falsos positivos que se hayan producido. Esta operación se repite hasta que se eliminen por completo los falsos positivos durante la comprobación de control. Normalmente, basta con crear de 7 a 10 capas para cubrir todos los datos. Dado que el estado de la base de datos presenta un ligero retraso con respecto al estado actual de la CRL debido a la sincronización periódica, la verificación de los nuevos certificados emitidos desde la última actualización de la base de datos de CRLite se realiza mediante el protocolo OCSP, incluyendo el uso de la técnica. Grapado OCSP (El servidor que atiende al sitio transmite una respuesta OCSP certificada por una autoridad de certificación al negociar una conexión TLS).

Mozilla implementa CRLite para comprobar si hay certificados TLS problemáticos

Mediante filtros Bloom, la instantánea de diciembre de los datos de WebPKI, que abarca 100 millones de certificados activos y 750 certificados revocados, se comprimió en una estructura de 1.3 MB. El proceso de generación de la estructura consume muchos recursos, pero se ejecuta en un servidor Mozilla y el usuario recibe una actualización preconfigurada. Por ejemplo, los datos binarios utilizados para la generación requieren aproximadamente 16 GB de memoria cuando se almacenan en el SGBD Redis, mientras que el volcado hexadecimal de todos los números de serie de los certificados ocupa aproximadamente 6.7 GB. El proceso de agregación de todos los certificados revocados y activos tarda aproximadamente 40 minutos, y la generación de la estructura comprimida mediante un filtro Bloom requiere 20 minutos adicionales.

Mozilla actualiza actualmente la base de datos de CRLite cuatro veces al día (no todas las actualizaciones se entregan a los clientes). La generación de actualizaciones delta aún no se ha implementado: el bsdiff4 utilizado para crear actualizaciones delta no ofrece el rendimiento necesario para CRLite, lo que resulta en actualizaciones innecesariamente grandes. Para solucionar esta deficiencia, se está planificando la reestructuración del formato de la estructura de almacenamiento para eliminar la reconstrucción y la eliminación de capas innecesarias.

CRLite actualmente funciona en modo pasivo en Firefox y se utiliza en paralelo con OCSP para recopilar estadísticas sobre su correcto funcionamiento. CRLite puede cambiarse al modo de verificación principal estableciendo el parámetro security.pki.crlite_mode a 2 en about:config.

Mozilla implementa CRLite para comprobar si hay certificados TLS problemáticos

Fuente: opennet.ru

Compre alojamiento confiable para sitios con protección DDoS, servidores VPS VDS 🔥 Compra alojamiento web fiable con protección DDoS, servidores VPS VDS | ProHoster