"Nube" confidencial. Buscamos una alternativa a las soluciones abiertas.

Soy ingeniero de formación, pero me comunico más con empresarios y directores de producción. Hace un tiempo, el dueño de una empresa industrial pidió consejo. A pesar de que la empresa es grande y fue creada en los años 90, la gestión y la contabilidad funcionan a la antigua usanza en una red local.

Esto es consecuencia del temor por sus negocios y del mayor control por parte del Estado. Las autoridades de inspección pueden interpretar las leyes y reglamentos de manera muy amplia. Un ejemplo son las modificaciones al Código Tributario, eliminando el estatuto de limitaciones por infracciones fiscales, destrucción real secreto bancario y de auditoría.

Como resultado, el propietario de la empresa empezó a buscar soluciones para el almacenamiento fiable de información y la transferencia segura de documentos. Virtual "seguro".

Trabajamos en el problema con un administrador del sistema a tiempo completo: necesitábamos un análisis en profundidad de las plataformas existentes.

  • el servicio no debería estar basado en la nube, en el sentido clásico de la palabra, es decir. sin almacenamiento en las instalaciones de una organización tercera. Sólo tu servidor;
  • se requiere un cifrado sólido de los datos transmitidos y almacenados;
  • se requiere la capacidad de eliminar urgentemente contenido de cualquier dispositivo con solo hacer clic en un botón;
  • la solución se desarrolló en el extranjero.

Propuse eliminar el cuarto punto, porque... Las solicitudes rusas tienen certificados oficiales. El director dijo directamente qué se debe hacer con dichos certificados.

Elige opciones

Seleccioné tres soluciones (cuantas más opciones, más dudas):

El propietario de la empresa comprende poco las complejidades técnicas, por lo que formateé el informe en forma de listas de los pros y los contras de cada opción.

Resultados de analisis

Syncthing

Pros:

  • Fuente abierta;
  • Actividad del desarrollador principal;
  • El proyecto existe desde hace mucho tiempo;
  • Gratis

Contras:

  • No hay ningún cliente para el shell de iOS;
  • Servidores Slow Turn (son gratuitos, por lo que se ralentizan). Para los que
    sin saberlo, Turn se utiliza cuando es imposible conectarse directamente;
  • Configuración de interfaz compleja (requiere muchos años de experiencia en programación);
  • Falta de soporte comercial rápido.

Resiliencia

Pros: soporte para todos los dispositivos y servidores Turn rápidos.

Contras: Uno y muy significativo es el completo desprecio por cualquier solicitud por parte del servicio de soporte. Cero respuesta, incluso si escribes desde diferentes direcciones.

Pvtbox

Pros:

  • Soporta todos los dispositivos;
  • Servidores de giro rápido;
  • Posibilidad de descargar un archivo sin instalar la aplicación;
  • Servicio de soporte adecuado, incl. por teléfono.

Contras:

  • Proyecto joven (pocas críticas y buenas críticas);
  • La interfaz del sitio es muy "técnica" y no siempre clara;
  • No existe documentación completamente detallada; muchos problemas requieren soporte.

¿Qué eligió el cliente?

Su primera pregunta es: ¿qué sentido tiene desarrollar algo gratis? La sincronización se abandonó de inmediato. Los argumentos no funcionaron.

Un par de días después, el cliente rechazó categóricamente Resilio Sync por falta de soporte, porque... No está claro adónde acudir en caso de emergencia. Además de la desconfianza hacia el registro estadounidense de la empresa.

Para un análisis más detallado queda la caja fuerte electrónica Pvtbox. Realizamos una auditoría técnica completa de esta plataforma centrándonos en la posibilidad de interceptación, descifrado de datos y entrada no autorizada al almacenamiento de información.

Proceso de auditoria

Analizamos las conexiones al inicio del programa, durante el funcionamiento y en estado de calma. Según los estándares modernos, el tráfico inicialmente está cifrado. Intentemos realizar un ataque MITM y reemplazar el certificado sobre la marcha usando Linux (Xubuntu Linux 18.04), Wireshark, Mitmproxy. Para ello, introduciremos un intermediario entre la aplicación Pvtbox y el servidor pvtbox.net (hay intercambio de datos con el servidor pvtbox.net a través de una conexión https).

Lanzamos la aplicación para asegurarnos de que la sincronización de programas y archivos funciona en ella. En Linux, puede observar el registro inmediatamente si ejecuta el programa desde la terminal.
"Nube" confidencial. Buscamos una alternativa a las soluciones abiertas.

Apague la aplicación y reemplace la dirección de host pvtbox.net en el archivo / etc / hosts con privilegios de superusuario. Reemplazamos la dirección con la dirección de nuestro servidor proxy.
"Nube" confidencial. Buscamos una alternativa a las soluciones abiertas.

Ahora preparemos nuestro servidor proxy para un ataque MITM en una computadora con la dirección 192.168.1.64 en nuestra red local. Para hacer esto, instale el paquete mitmproxy versión 4.0.4.

Iniciamos el servidor proxy en el puerto 443:
$ sudo mitmproxy -p 443

Lanzamos el programa Pvtbox en la primera computadora, miramos la salida de mitmproxy y los registros de la aplicación.
"Nube" confidencial. Buscamos una alternativa a las soluciones abiertas.

Mitmproxy informa que el cliente no confía en el certificado falso del servidor proxy. En los registros de la aplicación también vemos que el certificado del servidor proxy no pasa la verificación y el programa se niega a funcionar.

Instalación de un certificado de servidor proxy mitmproxy a una computadora con la aplicación Pvtbox para que el certificado sea "confiable". Instale el paquete ca-certificates en su computadora. Luego copie el certificado mitmproxy-ca-cert.pem del directorio .mitmproxy del servidor proxy a la computadora con la aplicación Pvtbox en el directorio /usr/local/share/ca-certificates.

Ejecutamos los comandos:
$ sudo openssl x509 -in mitmproxy-ca-cert.pem -inform PEM -out mitmproxy-ca-cert.crt
$sudo update-ca-certificados
"Nube" confidencial. Buscamos una alternativa a las soluciones abiertas.

Inicie la aplicación Pvtbox. El certificado volvió a fallar en la verificación y el programa se niega a funcionar. Probablemente la aplicación esté utilizando un mecanismo de seguridad. Fijación de certificados.

Un ataque similar fue llevado a cabo contra el anfitrión. signalerver.pvtbox.net, así como la propia conexión peer-2-peer entre nodos. El desarrollador indica que la aplicación para establecer conexiones peer-2-peer utiliza el protocolo abierto webrtc, que utiliza cifrado de protocolo de extremo a extremo. DTLSv1.2.

Las claves se generan para cada configuración de conexión y se transmiten a través de un canal cifrado a través de signalserver.pvtbox.net.

En teoría, sería posible interceptar los mensajes de oferta y respuesta de webrtc, reemplazar las claves de cifrado allí y poder descifrar todos los mensajes que lleguen a través de webrtc. Pero no fue posible llevar a cabo un ataque mitm en signalerver.pvtbox.net, por lo que no hay forma de interceptar y reemplazar los mensajes enviados a través de signalerver.pvtbox.net.

En consecuencia, no es posible llevar a cabo este ataque en una conexión peer-2-peer.

También se descubrió un archivo con certificados suministrados con el programa. El archivo se encuentra en /opt/pvtbox/certifi/cacert.pem. Este archivo ha sido reemplazado por un archivo que contiene un certificado confiable de nuestro proxy mitmproxy. El resultado no cambió: el programa se negó a conectarse al sistema, se observó el mismo error en el registro.
que el certificado no pasa la verificación.

Resultados de la auditoría

No pude interceptar ni falsificar el tráfico. Los nombres de los archivos, y más aún su contenido, se transmiten de forma cifrada, se utiliza cifrado de extremo a extremo y la aplicación implementa una serie de mecanismos de seguridad que evitan escuchas e infiltración.

Como resultado, la empresa compró dos servidores dedicados (físicamente en diferentes ubicaciones) para acceso permanente a la información. El primer servidor se utiliza para recibir, procesar y almacenar información, el segundo se utiliza para realizar copias de seguridad.

A la nube individual resultante se conectaron el terminal de trabajo del director y un teléfono móvil con iOS. Otros empleados estuvieron conectados por el administrador del sistema de tiempo completo y el soporte técnico de Pvtbox.

Durante el último período, no ha habido quejas por parte del amigo. Espero que mi reseña ayude a los lectores de Habr en una situación similar.

Fuente: habr.com

Añadir un comentario