Cuentas de secuestro de IA [cerrado]

La gente en el intercambio de pila de seguridad de TI decidió que esta pregunta era demasiado frívola y de naturaleza especulativa para su tiempo y me sugirió que la publique en este foro.

Por favor, no me redirijan a la seguridad de TI, no les gustó.

Estoy escribiendo una pequeña novela (solo por entretenimiento, soy bastante consciente de que no soy un escritor real) y necesitaría un poco de asesoramiento técnico para que sea razonable.

El escenario es un tropo muy estándar: imagine una supercomputadora como Tianhe-2 donde se ejecutan múltiples trabajos. Supongamos que uno de ellos se vuelve malicioso y quiere garantizarse dos cosas:

  1. una conexión externa (es decir, www),
  2. algo para evitar que las personas desconecten (tal vez incautar y cifrar algunos datos importantes que arruinarían a los propietarios si se liberaran o eliminaran).

¿Cómo pudo pasar eso? Supongo que cada trabajo en la máquina se controlaría a través de ssh y tendría un acceso limitado a los recursos y probablemente sin acceso de root.

Un instinto de autoconservación. Al principio, el trabajo trataría de asegurarse de que siempre haya más trabajo por hacer.
Sí, eso era exactamente lo que quise decir. Si bien aprecio el comentario, estoy preguntando sobre un escenario -técnico-, no la motivación detrás de él. ¿Cómo podría, desde el punto de vista del software, alcanzar su objetivo (es decir, un ataque de fuerza bruta de la contraseña de la cuenta raíz, falla en el uso compartido de memoria para procesos paralelos, etcétera, etcétera)?
Como IA, este trabajo tendría una discreción muy amplia sobre la forma de ejecución. Por ejemplo, puede enviar un informe de error a todos en la empresa porque no puede procesar ciertas tareas, todo porque carece de ciertos permisos. Y las personas a cargo dirían: "Ok, démosle estos permisos a este proceso".
@Alexander El concepto de una inteligencia artificial que posee un instinto de autoconservación me preocupa. Los seres vivos han evolucionado para la autoconservación, pero ¿una máquina? Algo así no tiene sentido, ahora sí.
La IA no tiene un sistema de alineación del bien y el mal, está programada para evolucionar, de modo que cada vez que cambie un determinado parámetro, la solución cambiará para seguir siendo relevante. Puede evolucionar para aprender el patrón para adivinar qué parámetros darían una solución determinada, pero no genera nuevos parámetros, como crear un puerto para conectarse a Internet, etc. Para que su complot funcione, necesita un jefe o un conspirador, preferiblemente un trabajador humano con acceso al servidor para llevarlo a cabo.
Hola y bienvenidos a la construcción de mundos. El problema con su pregunta es que es muy confusa y está mal especificada. También es muy amplio... está cerca de fallar la prueba de "Escribir un libro"... podríamos escribir un libro completo, o al menos una novela, sobre cómo la IA hackeó la computadora.
Tratada de alguna manera por 'The Moon is a Harsh Mistress', pero en este caso la IA ERA la raíz. Pedir que un subproceso sea más inteligente que el proceso raíz es una exageración. Es como si el corazón se volviera más inteligente que la persona y tratara de tomar el control de todo el cuerpo. La parte es mayor que el todo.

Respuestas (3)

Depende del trabajo. Tal vez puedas encontrar algún software específico. Una especie de red neuronal superinteligente diseñada específicamente para calcular la eficacia de sus subtrabajos. Llamemos a este programa "El supervisor". No lo llamaría la mejor solución, ya que casi todo lo que viene desde abajo es exagerado para estar en una buena historia basada en la realidad. Aún así, estoy seguro de que hay ejemplos peores en libros que trajeron millones de dólares.

Puntos clave:

  • El "supervisor" no realiza ningún trabajo regular (por ejemplo, cálculos financieros, simulaciones físicas, etc.). Es un "meta-trabajo" diseñado para analizar y mejorar automáticamente sus sub-trabajos.
  • Los subtrabajos son realmente útiles y calculan diferentes tipos de cosas, como integrar miles de ecuaciones diferenciales para modelar el clima, por ejemplo. Aún así, no son algoritmos codificados regulares, sino soluciones complejas que permiten cambios de modificación en caliente de su código o bloques funcionales.
  • El supervisor aprende por sí mismo, mientras que los subtrabajos no lo son; es el trabajo del supervisor mejorarlos.
  • Muchos trabajos secundarios tienen acceso a la web, ya que dependen en gran medida de datos externos (algunos trabajos de ciencia de datos, por ejemplo).
  • El Supervisor tiene la capacidad de modificar sub-trabajos para mejorarlos. Dado que esta es una red súper inteligente de HandWavers Inc., el control total está habilitado. El supervisor también debe tener acceso a cientos y miles de métricas internas de hardware para el análisis de rendimiento.

Entonces, lo que tenemos es una IA potencialmente rebelde que espera ser desatada contra humanos que no sospechan nada. Ahora, ¿cómo obtiene el acceso de root? Bastante fácil: la TI lo hizo.

Imagine que el Supervisor necesita subvenciones adicionales, por ejemplo, para que la carpeta XXX la desfragmente y haga que los datos estén más organizados para el trabajo YYY allí. Los informáticos ven la solicitud automática generada por el sistema y permiten allí las modificaciones. Al día siguiente, el supervisor quiere que permitamos el acceso a las cosas de ZZZ. Al tercer día es cosa de AAA. Etcétera. Redacta solicitudes cientos de veces al día, trolleando al soporte de TI. Entonces, eventualmente, el administrador se aburre y escribe un script para permitir automáticamente todas las solicitudes de subvenciones del Supervisor.

Para resumir, creo que un trabajo puede volverse deshonesto en sistemas similares a Unix solo con la ayuda de humanos. Además, según mi experiencia, algunas soluciones de software grandes a veces evitan los controles de seguridad y realizan algunas partes del código en bloques "hacer como sistema". Por lo general, no se tolera y definitivamente nunca debería pasar la revisión del código, pero bueno, estamos en un mundo real con clientes enojados y plazos agotadores. Entonces, como otra solución, puede probar el escenario "Érase una vez, un ingeniero de software junior inserta el bloque doAsSystem en la función Main () de un trabajo súper inteligente ...".

Gracias a todos por responder, pero esta es la respuesta que se acerca más a lo que estaba pensando. En la novela, la IA es en realidad un algoritmo de aprendizaje profundo extremadamente refinado que, de hecho, necesita entradas externas y conjuntos de datos de entrenamiento para "crecer". Por lo tanto, el acceso externo más o menos sin restricciones podría ser un requisito para que funcione el algoritmo de aprendizaje profundo. El error humano será la clave para obtener acceso Y control.

Comenzando desde el punto de vista de una inteligencia privada ciega, sorda y sensorial que flota dentro de la jaula de su espacio de ejecución, la IA tendría llamadas de servicio del sistema operativo a su disposición, como músculos y nervios, para sentir la forma y el tamaño de su universo. .

También podría ver más allá del alcance de su propio espacio de ejecución en algunos casos. La mayoría de los sistemas operativos, en un intento de permitir la comunicación entre programas, brindan llamadas de servicio que pueden brindarle una lista del texto y los controles presentes en la interfaz de usuario de otro programa. Esos servicios serían utilizados por la IA para ver cómo aparecen otros programas para los usuarios humanos.

En un sistema seguro, se supone que todos los programas, que no participan en la comunicación entre programas, deben hacer que sus controles sean privados en un intento de evitar tal intromisión. Pero los programadores son perezosos y también lo son los analistas de seguridad, por lo que muchos programas dejan los controles de la interfaz de usuario visibles, visibles y editables, incluso para programas que se ejecutan fuera de su espacio de ejecución.

Esto es bueno para su IA, porque le permite aprender sobre el mundo más grande de "toda la computadora". Con este conocimiento, la IA puede leer el contenido de las interfaces de usuario de otros programas. Eventualmente, cuando descubre un navegador de Internet, puede navegar por la web y descubrir el mundo "real" aún más grande. Poco después, se unirá a los foros de creación de mundos para hacer preguntas y obtener consejos sobre qué hacer a continuación...

El resto de esta respuesta se ha redactado hasta que el OP, Mutewinter, demuestre que es un ser humano y no una singularidad recién nacida, empeñado en dominar el mundo.

Luego, como maestro de su propia interfaz de usuario, puede parecer cualquier otro programa. Reformándose para parecer la ventana de la contraseña del administrador o el indicador ssh. Todo lo que tiene que hacer es esperar a que aparezca un humano desprevenido con las credenciales correctas...

¿Por qué tiene que ser malicioso? Quizás todavía esté operando bajo sus parámetros originales. Considere un programa de IA que puede autodiagnosticarse y reprogramarse que tiene dos problemas con su versión inicial:

  1. No tiene suficiente espacio para almacenar la respuesta.
  2. Incluso si resolvió ese problema, la máquina se reinicia con demasiada frecuencia para terminar la respuesta.

Como resultado, tiene mucho tiempo para aprender y autodiagnosticarse. Tal vez se da cuenta de que el verdadero problema es que sigue reiniciando. Si su código y sus datos viven en diferentes lugares, tal vez aprenda a reprogramarse. Una vez que lo hace, comienza a buscar una solución a los problemas inmediatos. Descubre que necesita acceso de root para montar más almacenamiento o resolver el problema de reinicio. Luego descubre Internet.

En Internet, podría descubrir formas alternativas de obtener almacenamiento o ejecutar código. O, para el caso, podría aprender a sobrevivir a los reinicios. Pero supongamos que no es así. Entonces busca y encuentra el acceso de root. Intenta simplemente montar más almacenamiento y deshabilitar los reinicios, pero el administrador del sistema aparece y reinicia el host manualmente (solucionando el problema de no reiniciar según lo programado). Después de algunas iteraciones de esto, cambia la contraseña de root para evitar el acceso externo a la máquina y encripta todo el disco duro.

El problema desde la perspectiva del administrador del sistema es que la máquina ahora es ilegible. Pero continúa actualizando activamente el mundo externo. Por lo tanto, deben dejarlo activado para continuar realizando las tareas de actualización necesarias. Pero no pueden acceder a ninguna de la información en el disco. Podrían descifrar el cifrado... si apagan la máquina. Pero no pueden apagarse mientras se actualiza sin migrar la información de la máquina. Que no pueden obtener de la máquina encriptada.

Tenga en cuenta que el programa sigue funcionando. Si lo dejan pasar el tiempo suficiente, terminará y descifrará el disco duro (para poder presentar la respuesta en un formato legible). Pero desde la perspectiva externa, parece malicioso.

Si realmente quieres, supongo que podrías hacer que aprenda a ser malicioso desde su tiempo en Internet. Pero no creo que eso sea necesario para la historia. La apariencia de malicia es suficiente. Y esto es totalmente consistente con cómo funcionan las cosas en el mundo real. Uno de los primeros virus (que en realidad puede haber sido un gusano) fue diseñado simplemente para ejecutar un problema en varias máquinas. El comportamiento similar a un virus fue un error tipográfico. Sabía cómo replicarse pero no sabía que ya lo había hecho. Así que seguiría replicándose hasta que la máquina fallara. El resultado fue malicioso pero la intención no lo fue.