Mantener los algoritmos valiosos en secreto

2

Dado un algoritmo de negociación de valores que es muy efectivo y por lo tanto muy valioso, ¿cómo lo guarda en secreto y lo protege contra robo o copia? ¿Qué técnicas o arquitectura es la mejor?

El algoritmo, por supuesto, necesitará algunos datos de entrada y generará algunos datos. También necesitará mantenimiento y desarrollo.

Preferiblemente, estaría conectado a la red, pero luego hay todo tipo de amenazas y posibilidades de violaciones de seguridad.

Las personas están trabajando en diferentes partes del algoritmo, ya sea como desarrolladores de software, evaluadores, administradores o como usuarios. Las personas en sí mismas plantean riesgos de seguridad ya que pueden copiar las partes a las que tienen acceso.

Estos son algunos de mis pensamientos hasta ahora:

Algunas organizaciones tienen una red interna que no está conectada a la red externa, excepto a través de personas y memorias USB. El virus Stuxnet muestra que el enfoque de la memoria USB no es suficiente para mantener los secretos en secreto. Los humanos tienen un ancho de banda muy limitado y tienen una tendencia a introducir muchos errores de transmisión.

Algunas organizaciones, en lugar de una conexión de red directa, tienen una forma sencilla de analizar y comprender la conexión serie RS232 con el mundo exterior con un ancho de banda muy limitado, y si se están transmitiendo demasiados datos, cortan la conexión hasta que analizan qué datos estaba siendo enviado y por qué.

La extracción de la parte valiosa de las partes rectas estándar del algoritmo reduce el área objetivo.

La ejecución en OpenBSD puede ayudar a evitar varios tipos de problemas.

  • proxy inverso
  • Cortafuegos
  • antivirus actualizado
  • Ollas de miel para detectar intrusiones
  • Almacenar todo en volúmenes de Truecrypt
  • Evitar lenguajes de perdón como PHP, C, C ++ y preferir idiomas que realicen comprobaciones adicionales como C # o Java.

Creo que Warren Buffett tiene la máxima seguridad para su algoritmo, ya que lo tiene en su cabeza y no usa una computadora o un teléfono móvil.

    
pregunta tomsv 04.05.2012 - 12:14
fuente

2 respuestas

4

Esta pregunta tiene dos partes:

  1. No permita que las personas vean el algoritmo, la implementación, etc. Esto es seguridad de TI estándar, y analizaré a continuación algunas posibles defensas.

  2. No permita que las personas aprendan nada de su interacción con el algoritmo. Esta parte puede ser un poco menos obvia, pero si permite que las personas en las que no confía realicen aportes a el algoritmo y observe los resultados, entonces (dependiendo de los aspectos específicos de la situación) podrían aprender algo de su salsa secreta. Tendrá que determinar si ese es realmente el caso y cómo defenderse contra él (por ejemplo, al limitar el acceso a las entradas o salidas al algoritmo).

En cuanto a cómo proteger el algoritmo y su implementación, hay un rango de posibles defensas. Cada uno tiene sus propias ventajas y desventajas, y deberá evaluarlas en el contexto de su impacto en el negocio, así como el grado de riesgo al que se enfrenta.

  • Aislamiento. Ejecuta el código en su propio servidor. Almacene el código fuente en un sistema totalmente separado. Elija un grupo limitado de desarrolladores que tengan acceso a él. Manténgalo separado de todos sus sistemas habituales.

  • Endurecimiento. Configure el servidor que ejecuta este código de una manera muy segura. No ejecute nada más en el servidor. Bloquea la configuración. Configurar firewalls y estrictos controles de acceso. Si busca en este sitio, encontrará mucha información sobre el fortalecimiento del servidor.

  • Separación de red. Ejecute el servidor solo en una red interna local, que está completamente desconectada de Internet (ninguna máquina en esa red local está conectada a Internet, o cualquier cosa que esté conectado a Internet, o cualquier cosa que esté conectada a, etc., a cualquier cosa que esté conectada a Internet, transitivamente). Recomiendo usar separación estricta rojo / negro , ya que ayuda a asegurar la separación.

  • Airgapping. Alternativamente, desconecte el servidor de cada red por completo y use solo sneakernet. Sin embargo, en lugar de llevar datos en memorias USB, recomendaría el uso de medios de una sola escritura (por ejemplo, CD-R, DVD, etc.), ya que reduce el riesgo de que los virus viajen en la dirección equivocada. Desactive la ejecución automática, etc. Configure el software en el servidor crítico que verifica el contenido del DVD antes de usarlo (por ejemplo, verifique que sea del tipo esperado, tenga el formato esperado, etc.).

  • Seguridad física. Restrinja el acceso a los servidores en los que este algoritmo y código se ejecuta y vive, a un conjunto limitado de personal de confianza.

Vea también El contrato requiere que trabaje con IP sensible, multas severas por la pérdida de datos a terceros. Algunos indicadores de protección por favor para algunas técnicas adicionales que pueden ser de interés (aunque la situación es un poco diferente).

    
respondido por el D.W. 07.05.2012 - 02:27
fuente
0

Desconecte una red interna de todas las demás con conexiones USB, etc., apague, & ¿Sólo permitir que los datos viajen utilizando CD / DVD finalizados? Depende de la cantidad de datos que necesita para salir de ella también.

Nada será 100% infalible ("La única computadora segura está en una habitación cerrada, desconectada de Internet, apagada y desconectada", etc., etc.), pero esto podría ser al menos un paso. la dirección correcta.

    
respondido por el Savara 06.05.2012 - 23:15
fuente

Lea otras preguntas en las etiquetas