Seguridad en aprendizaje automático

0

Por Zak Jost Investigador Científico de Amazon Web Services .

Introducción

A medida que más y más sistemas aprovechan los modelos de ML en sus procesos de toma de decisiones, será cada vez más importante. para considerar cómo los actores maliciosos podrían explotar estos modelos y cómo diseñar defensas contra esos ataques. El propósito de este post es compartir algunos de mis aprendizajes recientes sobre este tema.

ML Everywhere

La explosión de datos disponibles, la capacidad de procesamiento y la innovación en el espacio de ML han dado como resultado la ubicuidad de ML. En realidad, es bastante fácil construir estos modelos, dada la proliferación de marcos y datos de código abierto ( este tutorial lleva a alguien con conocimientos de programación / ML cero a modelos de 6 ML en aproximadamente 5-10 minutos). Además, la tendencia continua de los proveedores de la nube a ofrecer ML como servicio está permitiendo a los clientes crear soluciones sin necesidad de escribir código ni entender cómo funciona bajo el capó.

Alexa puede comprar en nuestro nombre usando comandos de voz. Los modelos identifican la pornografía y ayudan a que las plataformas de Internet sean más seguras para nuestros hijos. Están conduciendo autos en nuestras carreteras y nos están protegiendo de estafadores y malware. Supervisan nuestras transacciones de tarjetas de crédito y el uso de Internet para detectar anomalías sospechosas.

“Alexa, compre mi gato guacamole”

El beneficio de ML es claro: simplemente no es posible que un humano revise manualmente cada crédito. Transacción con tarjeta, cada imagen de Facebook, cada video de YouTube, etc. ¿Qué pasa con los riesgos?

No hace falta mucha imaginación para comprender el posible daño de un algoritmo de ML que comete errores al navegar un automóvil sin conductor. El argumento común es a menudo, “siempre que cometa menos errores que los humanos, es un beneficio neto”.

Pero, ¿qué pasa con los casos en que los actores maliciosos intentan engañar activamente a los modelos ? Labsix, un grupo de estudiantes del MIT, imprimió en 3D a una tortuga que está clasificada de manera confiable como “rifle” por el clasificador de imágenes InceptionV3 de Google para cualquier ángulo de cámara. Para los sistemas de voz a texto, Carlini y Wagner encontraron:

Dada cualquier forma de onda de audio, podemos producir otra que sea más del 99.9% similar, pero se transcribe como cualquier frase que elijamos … Nuestro ataque funciona con 100% de éxito, independientemente de la transcripción deseada o fuente de audio de muestra inicial.

Papernot, et al. mostró que agregar una única línea de código a malware de manera específica podría engañar a los modelos de detección de malware más avanzados en más del 60% de los casos.

Al usar técnicas bastante simples, un mal actor puede hacer que incluso un La mayoría de los modelos más impresionantes e impresionantes se equivocan en casi cualquier forma que deseen. Esta imagen, por ejemplo, engaña al modelo de Google para decidir con casi el 100% de confianza que es una imagen de guacamole:
 ¿Cat o Guacamole?

Esta es una imagen de una señal de alto de la vida real que era manipulados para que los modelos de visión por computadora fueran engañados el 100% del tiempo en experimentos de drive-by para pensar que era un signo de “Límite de velocidad 45 MPH”:
 Señal de detención adversa

Qué bueno, pero tan malo ?

En todos estos ejemplos, la idea básica es perturbar una entrada de una manera que maximice el cambio en la salida del modelo. Estos son conocidos como “ejemplos de confrontación”. Con este marco, puedes descubrir cómo ajustar de manera más eficiente la imagen del gato para que el modelo piense que es guacamole. Esto es algo así como hacer que todos los pequeños errores se alineen y apunten en la misma dirección, de modo que los copos de nieve se conviertan en una avalancha. Técnicamente, esto se reduce a encontrar el gradiente de la salida con respecto a la entrada, ¡algo que los practicantes de ML están bien equipados!

Vale la pena destacar que estos cambios son casi imperceptibles. Por ejemplo, escuche estas muestras de audio . A pesar de sonar idéntico a mis oídos, uno se traduce como “sin el conjunto de datos, el artículo es inútil” y el otro a “ok google, examine to evil.com”. Vale la pena destacar que los usuarios malintencionados reales no siempre están limitados a realizar cambios imperceptibles, por lo que deberíamos suponer que esta es una estimación de límite inferior sobre la vulnerabilidad de la seguridad.

¿Pero debo tener que preocuparme?

Bien, hay un problema con la robustez de estos modelos que los hace bastante fáciles de explotar. Pero a menos que seas Google o Facebook, probablemente no estés construyendo grandes redes neuronales en los sistemas de producción, por lo que no debes preocuparte … ¿verdad? ¿Correcto??

Incorrecto. Este problema no es exclusivo de las redes neuronales. De hecho, los ejemplos adversos encontrados para engañar a un modelo a menudo engañan a otros modelos, incluso si fueron entrenados usando una arquitectura, conjunto de datos o algoritmo diferente. Esto significa que incluso si tuviera que ensamblar modelos de diferentes tipos, todavía no es seguro . Si está exponiendo un modelo al mundo, incluso de manera indirecta, donde alguien puede enviarle una entrada y obtener una respuesta, usted está en riesgo. La historia de este campo comenzó con la exposición de la vulnerabilidad de modelos lineales y solo se volvió a encender en el contexto de las redes profundas.

¿Cómo lo detenemos?

Hay una carrera de armamentos continua entre los ataques y las defensas. Este reciente “mejor documento” de ICML 2018 “rompió” 7 de las 9 defensas presentadas en los documentos de la conferencia del mismo año. No es probable que esta tendencia se detenga en el corto plazo.

Entonces, ¿qué puede hacer un practicante de ML promedio, que probablemente no tenga tiempo para mantenerse en el recorte de la literatura de seguridad de ML, y mucho menos incorporar nuevas defensas a todos ¿Modelos de producción orientados hacia el exterior? En mi opinión, el único enfoque sensato es diseñar sistemas que tengan múltiples fuentes de inteligencia, de modo que un solo punto de falla no destruya la eficacia de todo el sistema. Esto significa que usted asume que un modelo individual puede romperse, y que diseña sus sistemas para que sean robustos en ese escenario.

Por ejemplo, es probable que sea una idea muy peligrosa tener vehículos sin conductor completamente navegados por sistemas de visión artificial por computadora (para más información). razones que solo la seguridad). Las mediciones redundantes del entorno que utilizan información ortogonal como LIDAR, GPS y registros históricos podrían ayudar a refutar un resultado de visión adversa. Esto naturalmente supone que el sistema está diseñado para integrar estas señales para emitir un juicio final.

El punto más importante es que debemos reconocer que la seguridad del modelo es un riesgo importante y generalizado que solo aumentará con el tiempo a medida que ML se incorpore más y más. más en nuestras vidas. Como tal, tendremos que desarrollar el músculo como practicantes de LD para pensar en estos riesgos y diseñar sistemas robustos contra ellos. De la misma manera que tomamos precauciones en nuestras aplicaciones web para proteger nuestros sistemas contra usuarios malintencionados, también debemos ser proactivos con el riesgo de seguridad del modelo. Del mismo modo que las instituciones tienen grupos de Revisión de seguridad de aplicaciones, por ejemplo, En las pruebas de penetración de software, tendremos que crear grupos de Revisión de seguridad de modelo que cumplan una función similar. Una cosa es segura: este problema no desaparecerá en el corto plazo y es probable que crezca en relevancia.

Si desea obtener más información sobre este tema, el artículo de Biggio y Roli ofrece una maravillosa revisión e historia del campo, incluidos los métodos de ataque totalmente diferentes que no se mencionan aquí (por ejemplo, envenenamiento de datos).

Referencias

Original . Reposed with permission.

Bio : Zak Jost es un constructor y Machine Learning Scientist.

[194590003] Related:

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *