El aprendizaje automático moderno (ML) se ha convertido en una herramienta importante en muy poco tiempo. Usamos modelos ML en todas nuestras organizaciones, ya sea implementando los nuestros en R y Python, usando herramientas como TensorFlow para aprender y explorar nuestros datos, o confiando en servicios y contenedores alojados en la nube como Services Azure Cognitives. Es una tecnología que ayuda a predecir los programas de mantenimiento, detectar fraudes y piezas dañadas, y analizar nuestro discurso, respondiendo con flexibilidad.

VER: Analítica prescriptiva: una guía interna (PDF gratuito) (República Tecnológica)

Los modelos que impulsan nuestras aplicaciones de ML son increíblemente complejos y entrenan redes neuronales en grandes conjuntos de datos. Pero hay un gran problema: son difíciles de explicar o entender. ¿Por qué un modelo analiza una gota roja con texto blanco como una señal de alto y no como un anuncio de refresco? Es esta complejidad la que oculta los riesgos subyacentes que están integrados en nuestros modelos y los posibles ataques que pueden alterar gravemente los procesos y servicios comerciales que construimos utilizando estos mismos modelos.

Índice

Comprender las amenazas

Es fácil imaginar un ataque a un automóvil autónomo que podría hacer que ignore las señales de alto, simplemente cambiando algunos detalles en la señal, o un sistema de reconocimiento facial que detectaría un pañuelo pixelado como Brad Pitt. Estos ataques adversarios se aprovechan de los modelos ML, guiándolos para responder de una manera que no es la forma en que se supone que deben funcionar, distorsionando los datos de entrada modificando las entradas físicas.

Microsoft piensa mucho en cómo proteger los sistemas de aprendizaje automático. Son fundamentales para su futuro: desde las herramientas integradas en Office hasta sus servicios de Azure a escala de la nube, hasta la administración de sus propias redes y sus redes, e incluso la prestación de servicios de seguridad a través de herramientas con tecnología de ML como Azure Sentinel. Con tanta inversión en sus servicios de aprendizaje automático, no es de extrañar que muchas de las presentaciones de Microsoft en la Conferencia de seguridad de RSA se centraran en comprender los problemas de seguridad de ML y cómo proteger los sistemas de aprendizaje automático.

Proteja el aprendizaje automático

Los ataques a los sistemas de aprendizaje automático requieren acceso a los modelos utilizados, por lo que debe mantener la privacidad de sus modelos. Esto se aplica tanto a los modelos pequeños que podrían ayudar a ejecutar sus líneas de producción como a los modelos masivos que impulsan Google, Bing y Facebook. Si tengo acceso a su modelo, puedo averiguar cómo afectarlo, ya sea encontrando los datos correctos para alimentarlo, lo que envenenará los resultados, o encontrando una forma de evitar el modelo para obtener los resultados que quiero.

Gran parte de este trabajo se ha publicado en un artículo en colaboración con el Berkman Klein Center, sobre modos de falla en el aprendizaje automático. Como señala el documento, se ha trabajado mucho para encontrar formas de atacar el aprendizaje automático, pero no mucho sobre cómo defenderlo. Necesitamos construir un conjunto creíble de defensas en torno a las redes neuronales de aprendizaje automático, de la misma manera que protegemos nuestras infraestructuras de redes físicas y virtuales.

Los ataques contra los sistemas de ML son fallas de los modelos subyacentes. Reaccionan de manera inesperada y posiblemente perjudicial. Necesitamos comprender cuáles son los modos de falla de los sistemas de aprendizaje automático y luego comprender cómo podemos responder a esas fallas. El artículo habla de dos modos de falla: fallas intencionales, donde un atacante subvierte deliberadamente un sistema, y ​​fallas no intencionales, donde hay un elemento peligroso en el modelo ML utilizado que parece correcto pero da malos resultados.

Al comprender los modos de falla, podemos crear modelos de amenazas y aplicarlos a nuestras aplicaciones y servicios basados ​​en ML, luego responder a esas amenazas y defender nuestras nuevas aplicaciones.

Ajedrez intencional: cómo atacar ML

El documento ofrece 11 clasificaciones de ataque diferentes, muchas de las cuales eluden nuestros modelos de defensa estándar. Es posible comprometer un sistema de aprendizaje automático sin necesidad de acceder al software y hardware subyacentes, por lo que las técnicas de autorización estándar no pueden proteger los sistemas basados ​​en ML y debemos considerar enfoques alternativos.

¿Qué son estos ataques? El primero, los ataques de interrupción, modifican las solicitudes para cambiar la respuesta a la que quieren los atacantes. Esto va de la mano con los ataques de envenenamiento, que logran el mismo resultado al contaminar los datos de entrenamiento. Los modelos de aprendizaje automático a menudo incluyen propiedad intelectual significativa, y algunos ataques como la inversión de modelos tienen como objetivo extraer estos datos. De manera similar, un ataque de inferencia de membresía intentará determinar si había datos específicos en el conjunto de entrenamiento inicial. El concepto de robo de modelos está estrechamente relacionado, utilizando consultas para obtener el modelo.

VER: 5G: lo que significa para el IoT (PDF gratuito)

Otros ataques incluyen la reprogramación del sistema en torno al modelo ML, de modo que se modifiquen los resultados o las entradas. Los ataques de adversarios que alteran objetos físicos, agregan cinta adhesiva a las señales para interrumpir la navegación o usan pañuelos especialmente impresos para interrumpir los sistemas de reconocimiento facial, están estrechamente relacionados. Algunos ataques dependen del proveedor: un proveedor malicioso puede extraer datos de entrenamiento de los sistemas del cliente. Pueden agregar puertas traseras a los sistemas o comprometer modelos al descargarlos.

Aunque muchos de estos ataques son nuevos y se dirigen específicamente a los sistemas de aprendizaje automático, siguen siendo sistemas y aplicaciones informáticos, y son vulnerables a las vulnerabilidades y técnicas existentes, lo que permite a los atacantes utilizar enfoques familiares para interrumpir las aplicaciones de ML.

Cree un aprendizaje automático seguro

Es una larga lista de tipos de ataques, pero comprender lo que es posible nos permite pensar en las amenazas que enfrentan nuestras aplicaciones. Más importante aún, brindan la oportunidad de pensar en las defensas y cómo protegemos los sistemas de aprendizaje automático: crear conjuntos de capacitación mejores y más seguros, bloquear plataformas ML y controlar el acceso a entradas y salidas, trabajando con aplicaciones y servicios confiables.

Los ataques no son el único riesgo: debemos ser conscientes de las fallas no deseadas, es decir, los problemas que surgen de los algoritmos que usamos o la forma en que hemos diseñado y probado nuestros sistemas ML. Necesitamos comprender cómo se comportan los sistemas de aprendizaje por refuerzo, cómo reaccionan los sistemas en diferentes entornos, si hay efectos antagónicos naturales o cómo cambiar las entradas puede cambiar los resultados.

Si queremos defender las aplicaciones de aprendizaje automático, debemos asegurarnos de que se hayan probado de la manera más exhaustiva posible, en tantas condiciones como sea posible. Las historias apócrifas de los primeros sistemas de aprendizaje automático que identificaron árboles en lugar de reservorios, porque todas las imágenes de entrenamiento eran reservorios debajo de los árboles, son una señal de que estos no son problemas nuevos y que debemos prestar atención a cómo entrenamos, probamos e implementamos. aprendizaje automático. Solo podemos defendernos contra ataques intencionales si sabemos que nos hemos protegido a nosotros mismos y a nuestros sistemas de los errores que hemos cometido. El viejo adagio "prueba, prueba y vuelve a probar" es clave para crear un aprendizaje automático seguro y protegido, incluso cuando usamos modelos preconstruidos y API de servicio.