
Recientemente, los expertos abordan cada vez más la cuestión de la seguridad de los modelos de aprendizaje automático y ofrecen diversos métodos de protección. Es hora de estudiar en detalle las vulnerabilidades y defensas potenciales en el contexto de los sistemas de modelado tradicionales populares, como los modelos lineales y de árbol, entrenados en conjuntos de datos estáticos. Aunque el autor de este artículo no es un experto en seguridad, sigue cuidadosamente temas como la depuración, explicaciones, equidad, interpretabilidad y privacidad en el aprendizaje automático.
En este artículo, presentamos varios vectores probables de ataques en un sistema de aprendizaje automático típico en una organización típica, ofrecemos soluciones tentativas para la protección y consideramos algunos problemas comunes y las prácticas más prometedoras.
1. Ataques de corrupción de datos
La distorsión de datos significa que alguien cambia sistemáticamente los datos de entrenamiento para manipular las predicciones de su modelo (tales ataques también se llaman ataques "causales"). Para distorsionar los datos, un atacante debe tener acceso a algunos o todos sus datos de entrenamiento. Y en ausencia de un control adecuado en muchas empresas, diferentes empleados, consultores y contratistas pueden tener dicho acceso. Un atacante fuera del perímetro de seguridad también puede obtener un acceso no autorizado a algunos o todos los datos de entrenamiento.
Un ataque directo a datos corruptos puede incluir cambiar las etiquetas del conjunto de datos. Por lo tanto, sea cual sea el uso comercial de su modelo, un atacante puede gestionar sus pronósticos, por ejemplo, cambiando las etiquetas para que su modelo pueda aprender a otorgar grandes préstamos, grandes descuentos o establecer pequeñas primas de seguro para los atacantes. Obligar a un modelo a hacer predicciones falsas en interés de un atacante a veces se denomina violación de la "integridad" del modelo.
Un atacante también puede usar la corrupción de datos para entrenar su modelo con el propósito de discriminar deliberadamente a un grupo de personas, privándoles de un préstamo grande, grandes descuentos o primas de seguro bajas a las que tienen derecho. En esencia, este ataque es similar a DDoS. Forzar a un modelo a hacer predicciones falsas para dañar a otros a veces se llama una violación de la "accesibilidad" del modelo.
Aunque parezca que es más fácil distorsionar los datos que cambiar los valores en las filas existentes de un conjunto de datos, también puede introducir distorsiones agregando columnas aparentemente inofensivas o adicionales al conjunto de datos. Los valores modificados en estas columnas pueden hacer que cambien las predicciones del modelo.
Ahora veamos algunas posibles soluciones protectoras y expertas (forenses) en caso de corrupción de datos:
- Análisis de impacto diferenciado . Muchos bancos ya están realizando análisis de impacto diferencial para préstamos justos para determinar si su modelo es discriminado por diferentes categorías de personas. Sin embargo, muchas otras organizaciones aún no han llegado tan lejos. Existen varias herramientas excelentes de código abierto para detectar discriminación y realizar análisis de impacto diferencial. Por ejemplo, Aequitas, Themis y AIF360 .
- Modelos justos o privados . Los modelos como el aprendizaje de representaciones justas (LFR) y la agregación privada de conjuntos de docentes (PATE) tienden a prestar menos atención a las propiedades demográficas individuales al generar pronósticos. Además, estos modelos pueden ser menos susceptibles a ataques discriminatorios para distorsionar los datos.
- Rechazo al Impacto Negativo (RONI) . RONI es un método para eliminar filas de datos de un conjunto de datos que reduce la precisión de la predicción. Para obtener más información sobre RONI, consulte la Sección 8, Seguridad del aprendizaje automático .
- Análisis residual . Busque patrones extraños y notables en los residuos de las predicciones de su modelo, especialmente las relacionadas con empleados, consultores o contratistas.
- Autorreflexión Evalúe modelos de sus empleados, consultores y contratistas para identificar pronósticos anormalmente favorables.
El análisis de impacto diferenciado, el análisis residual y la autorreflexión pueden llevarse a cabo durante la capacitación y en el marco del monitoreo en tiempo real de los modelos.
2. Ataques de marca de agua
Una marca de agua es un término tomado de la literatura sobre la seguridad del aprendizaje profundo, que a menudo se refiere a la adición de píxeles especiales a la imagen para obtener el resultado deseado de su modelo. Es completamente posible hacer lo mismo con los datos de clientes o transacciones.
Considere un escenario en el que un empleado, consultor, contratista o atacante externo tenga acceso al código para el uso de producción de su modelo que haga pronósticos en tiempo real. Dicha persona puede cambiar el código para reconocer una combinación extraña o poco probable de valores variables de entrada para obtener el resultado de predicción deseado. Al igual que la corrupción de datos, los ataques de marcas de agua se pueden usar para violar la integridad o la accesibilidad de su modelo. Por ejemplo, para violar la integridad, un atacante puede insertar una "carga útil" en el código de evaluación para el uso de producción del modelo, como resultado de lo cual reconoce una combinación de 0 años en la dirección 99, lo que dará lugar a un pronóstico positivo para el atacante. Y para bloquear la disponibilidad del modelo, puede insertar una regla discriminatoria artificial en el código de evaluación, que no permitirá que el modelo dé resultados positivos para un determinado grupo de personas.
Los enfoques protectores y expertos para los ataques con marcas de agua pueden incluir:
- Detección de anomalías . Autocoders es un modelo de detección de fraude que puede identificar entradas complejas y extrañas, o que no se parecen a otros datos. Potencialmente, los codificadores automáticos pueden detectar cualquier marca de agua utilizada para activar mecanismos maliciosos.
- Limitaciones de integridad de datos . Muchas bases de datos no permiten combinaciones extrañas o poco realistas de variables de entrada, lo que podría prevenir ataques de marcas de agua. El mismo efecto puede funcionar para las restricciones de integridad de los flujos de datos que se reciben en tiempo real.
- Análisis de exposición diferenciada : ver sección 1 .
- Control de versiones . El código de evaluación para la aplicación de producción del modelo debe ser versionado y controlado, como cualquier otro producto de software crítico.
La detección de anomalías, las limitaciones de integridad de datos y el análisis de impacto diferencial se pueden usar durante el entrenamiento y como parte del monitoreo del modelo en tiempo real.
3. Inversión de modelos sustitutos
Por lo general, "inversión" se llama obtener información no autorizada de un modelo, en lugar de colocar información en él. Además, la inversión puede ser un ejemplo de un "ataque de reconocimiento de ingeniería inversa". Si un atacante puede obtener muchas predicciones de la API de su modelo u otro punto final (sitio web, aplicación, etc.), puede entrenar a su propio
modelo sustituto . En pocas palabras, esta es una simulación de su modelo predictivo. Teóricamente, un atacante puede entrenar un modelo sustituto entre los datos de entrada utilizados para generar los pronósticos recibidos y los pronósticos mismos. Dependiendo del número de predicciones que se pueden recibir, el modelo sustituto puede convertirse en una simulación bastante precisa de su modelo. Después de entrenar el modelo sustituto, el atacante tendrá una "caja de arena" desde la cual puede planificar la impersonalización (es decir, "imitación") o un ataque con un ejemplo competitivo sobre la integridad de su modelo, o ganar el potencial para comenzar a recuperar algunos aspectos de sus datos confidenciales de entrenamiento. Los modelos sustitutos también se pueden entrenar utilizando fuentes de datos externas que de alguna manera sean consistentes con sus predicciones, como, por ejemplo,
ProPublica hizo con el modelo de reincidencia del autor COMPAS.
Para proteger su modelo de la inversión utilizando un modelo sustituto, puede confiar en dichos enfoques:
- Acceso autorizado Solicite autenticación adicional (por ejemplo, dos factores) para obtener un pronóstico.
- Predicciones del acelerador Limite una gran cantidad de pronósticos rápidos de usuarios individuales; considere la posibilidad de aumentar artificialmente los retrasos de predicción.
- Modelos sustitutos "blancos" (sombrero blanco) . Como ejercicio de hacker blanco, intente lo siguiente: entrene sus propios modelos sustitutos entre su entrada y los pronósticos del modelo para una aplicación de producción, y observe cuidadosamente los siguientes aspectos:
- límites de precisión de varios tipos de modelos sustitutos "blancos"; trate de comprender hasta qué punto el modelo sustituto puede usarse para obtener datos no deseados sobre su modelo.
- tipos de tendencias de datos que se pueden aprender de su modelo sustituto "blanco", por ejemplo, tendencias lineales representadas por coeficientes de modelo lineal.
- tipos de segmentos o distribuciones demográficas que pueden estudiarse analizando el número de personas asignadas a ciertos nodos del árbol de decisión sustituto "blanco".
- las reglas que se pueden aprender del árbol de decisión sustituto "blanco", por ejemplo, cómo representar con precisión a una persona que recibirá un pronóstico positivo.
4. Ataques de rivalidad
En teoría, un pirata informático dedicado puede aprender, por ejemplo, prueba y error (es decir, "inteligencia" o "análisis de sensibilidad"), invertir un modelo sustituto o ingeniería social, cómo jugar con su modelo para obtener el resultado de predicción deseado o evitar lo no deseado previsión. Intentar alcanzar tales objetivos utilizando una cadena de datos especialmente diseñada se denomina ataque de confrontación. (a veces un ataque para investigar la integridad). Un atacante puede usar un ataque de confrontación para obtener un préstamo grande o una prima de seguro baja, o para evitar la negación de la libertad condicional con una alta evaluación del riesgo penal. Algunas personas llaman al uso de ejemplos competitivos para excluir un resultado indeseable de un pronóstico como "evasión".
Pruebe los métodos descritos a continuación para defender o detectar un ataque con un ejemplo competitivo:
- Análisis de activación . El análisis de activación requiere que sus modelos predictivos tengan mecanismos internos comparativos, por ejemplo, la activación promedio de las neuronas en su red neuronal o la proporción de observaciones relacionadas con cada nodo final en su bosque aleatorio. Luego, compara esta información con el comportamiento del modelo con flujos de datos entrantes reales. Como dijo uno de mis colegas: " Es lo mismo que ver un nodo final en un bosque aleatorio que corresponde al 0.1% de los datos de entrenamiento, pero es adecuado para el 75% de las líneas de puntuación por hora ".
- Detección de anomalías . ver sección 2 .
- Acceso autorizado ver sección 3 .
- Modelos comparativos . Al evaluar nuevos datos, además de un modelo más complejo, use un modelo comparativo de alta transparencia. Los modelos interpretados son más difíciles de descifrar porque sus mecanismos son transparentes. Al evaluar nuevos datos, compare el nuevo modelo con un modelo transparente confiable, o un modelo capacitado en datos verificados y en un proceso confiable. Si la diferencia entre el modelo más complejo y opaco y el interpretado (o verificado) es demasiado grande, regrese a los pronósticos conservadores del modelo o procese la línea de datos manualmente. Registre este incidente, podría ser un ataque con un ejemplo competitivo.
- Pronósticos del acelerador : ver sección 3 .
- Análisis de sensibilidad "blanco" . Utilice el análisis de sensibilidad para realizar sus propios ataques de investigación para comprender qué valores variables (o combinaciones de ellos) pueden causar grandes fluctuaciones en los pronósticos. Busque estos valores o combinaciones de valores al evaluar nuevos datos. Para realizar un análisis de investigación "blanco", puede usar el paquete de código abierto cleverhans .
- Modelos sustitutos blancos: ver sección 3 .
El análisis de activación o los modelos comparativos se pueden usar durante el entrenamiento y como parte del monitoreo en tiempo real de los modelos.
5. La impersonalización
Un pirata informático intencionado puede descubrir, de nuevo, mediante prueba y error, mediante la inversión con un modelo sustituto o ingeniería social, qué datos de entrada o personas específicas obtienen el resultado de predicción deseado. Un atacante puede suplantar a esta persona para beneficiarse del pronóstico. Los ataques de impersonalización a veces se llaman ataques "simulados", y desde el punto de vista del modelo, esto recuerda el robo de identidad. Como en el caso de un ejemplo de ataque competitivo, con la impersonalización, los datos de entrada cambian artificialmente de acuerdo con su modelo. Pero, a diferencia del mismo ataque con un ejemplo competitivo, en el que se puede usar una combinación de valores potencialmente aleatoria para engañar, en la impersonalización, para obtener el pronóstico asociado con este tipo de objeto, información asociada con otro objeto modelado (por ejemplo, un cliente condenado) , empleado, transacción financiera, paciente, producto, etc.). Supongamos que un atacante puede averiguar de qué características de su modelo depende la provisión de grandes descuentos o beneficios. Luego puede falsificar la información que utiliza para obtener dicho descuento. Un atacante puede compartir su estrategia con otros, lo que puede generar grandes pérdidas para su empresa.
Si está utilizando un modelo de dos etapas, tenga cuidado con un ataque "alérgico": un atacante puede simular una cadena de datos de entrada ordinarios para la primera etapa de su modelo para atacar su segunda etapa.
Los enfoques protectores y expertos para ataques con impersonalización pueden incluir:
- Análisis de activación. ver sección 4 .
- Acceso autorizado ver sección 3 .
- Verifica si hay duplicados. En la etapa de puntuación, realice un seguimiento de la cantidad de registros similares para los que está disponible su modelo. Esto se puede hacer en un espacio dimensional reducido utilizando autocodificadores, escalamiento multidimensional (MDS) o métodos similares de reducción dimensional. Si hay demasiadas líneas similares en un período de tiempo determinado, tome medidas correctivas.
- Características de notificación de amenazas. Guarde la función
num_similar_queries
en su canalización, que puede ser inútil inmediatamente después de entrenar o implementar su modelo, pero se puede usar durante la evaluación (o durante la num_similar_queries
capacitación) para notificar al modelo o la tubería de amenazas. Por ejemplo, si en el momento de la calificación, el valor de num_similar_queries
mayor que cero, entonces la solicitud de evaluación puede enviarse para su análisis manual. En el futuro, cuando vuelva a entrenar el modelo, podrá enseñarle a producir resultados de predicción negativos para líneas de entrada con un alto número de consultas num_similar_queries
.
El análisis de activación, la verificación duplicada y la notificación de posibles amenazas se pueden utilizar durante la capacitación y en el monitoreo de modelos en tiempo real.
6. Problemas comunes
Algunos usos comunes del aprendizaje automático también plantean problemas de seguridad más generales.
Cajas negras y complejidad innecesaria . Aunque los avances recientes en modelos interpretados y explicaciones de modelos hacen posible el uso de clasificadores y regresores no lineales precisos y transparentes, muchos procesos de aprendizaje automático continúan enfocándose en modelos de caja negra. Son solo un tipo de complejidad a menudo innecesaria en el flujo de trabajo estándar del aprendizaje automático comercial. Otros ejemplos de complejidad potencialmente dañina pueden ser especificaciones demasiado exóticas o una gran cantidad de dependencias de paquetes. Esto puede ser un problema por al menos dos razones:
- Un hacker persistente y motivado puede aprender más acerca de su sistema de simulación de caja negra excesivamente complejo que usted o su equipo (especialmente en el mercado moderno sobrecalentado y rápidamente cambiante para "analizar" datos). Para esto, un atacante puede usar muchos métodos nuevos de explicación independientes del modelo y un análisis de sensibilidad clásico, además de muchas otras herramientas de piratería más comunes. Este desequilibrio de conocimiento puede utilizarse potencialmente para llevar a cabo los ataques descritos en las secciones 1-5, o para otros tipos de ataques que aún se desconocen.
- El aprendizaje automático en entornos de investigación y desarrollo depende en gran medida de un ecosistema diverso de paquetes de software de código abierto. Algunos de estos paquetes tienen muchos participantes y usuarios, otros son altamente especializados y los necesita un pequeño círculo de investigadores y profesionales. Se sabe que muchos paquetes están respaldados por brillantes estadísticos e investigadores de aprendizaje automático que se centran en las matemáticas o los algoritmos, en lugar de la ingeniería de software y ciertamente no la seguridad. Hay casos frecuentes en los que el proceso de aprendizaje automático depende de docenas o incluso cientos de paquetes externos, cada uno de los cuales puede ser pirateado para ocultar una "carga útil" maliciosa.
Sistemas y modelos distribuidos . Afortunadamente o desafortunadamente, vivimos en una era de big data. En la actualidad, muchas organizaciones utilizan sistemas de procesamiento de datos distribuidos y de aprendizaje automático. La informática distribuida puede ser un gran objetivo para ataques desde dentro o desde fuera. Los datos se pueden distorsionar solo en uno o varios nodos de trabajo de un gran sistema distribuido de almacenamiento o procesamiento de datos. La puerta trasera para marcas de agua se puede codificar en un modelo de un conjunto grande. En lugar de depurar un conjunto de datos o modelo simple, los profesionales ahora deberían estudiar datos o modelos dispersos en grandes grupos informáticos.
Ataques distribuidos de denegación de servicio (DDoS) . Si un servicio de modelado predictivo desempeña un papel clave en las actividades de su organización, asegúrese de tener en cuenta al menos los ataques DDoS distribuidos más populares cuando los atacantes atacan un servicio predictivo con una cantidad increíblemente grande de solicitudes para retrasar o dejar de hacer pronósticos para usuarios legítimos.
7. Decisiones generales
Puede utilizar varios métodos comunes, antiguos y nuevos, más efectivos para reducir las vulnerabilidades del sistema de seguridad y aumentar la equidad, la capacidad de control, la transparencia y la confianza en los sistemas de aprendizaje automático.
Acceso autorizado y predicción de regulación de frecuencia (aceleración) . Las características de seguridad estándar, como la autenticación adicional y el ajuste de la frecuencia de predicción, pueden ser muy efectivas para bloquear una serie de vectores de ataque descritos en las secciones 1-5.
Modelos comparativos . Como modelo comparativo para determinar si se realizaron manipulaciones con el pronóstico, puede usar la tubería de modelado antigua y comprobada u otra herramienta de pronóstico interpretada con alta transparencia. La manipulación incluye corrupción de datos, ataques de marcas de agua o ejemplos competitivos. Si la diferencia entre el pronóstico de su modelo probado y el pronóstico de un modelo más complejo y opaco es demasiado grande, escriba tales casos. Envíelos a analistas o tome otras medidas para analizar o corregir la situación. Se deben tomar precauciones serias para garantizar que su punto de referencia y el transportador permanezcan seguros y sin cambios desde su condición original y confiable.
Modelos interpretados, justos o privados . Actualmente, existen métodos (p. Ej.,
GBM monótono (M-GBM), listas de reglas bayesianas escalables (SBRL) ,
explicaciones de redes neuronales (XNN) ) que proporcionan precisión e interpretabilidad. Estos modelos precisos e interpretables son más fáciles de documentar y depurar que los cuadros negros clásicos de aprendizaje automático. Los tipos más nuevos de modelos justos y privados (por ejemplo, LFR, PATE) también se pueden capacitar sobre cómo prestar menos atención a las características demográficas externas visibles que están disponibles para la observación, utilizando la ingeniería social durante un ataque con un ejemplo competitivo, o impersonalización ¿Está considerando crear un nuevo proceso de aprendizaje automático en el futuro? Considere construirlo sobre la base de modelos privados o justos interpretados menos riesgosos. Son más fáciles de depurar y potencialmente resistentes a los cambios en las características de los objetos individuales.
Depuración de un modelo de seguridad . Una nueva área para
depurar modelos está dedicada a detectar errores en los mecanismos y pronósticos de modelos de aprendizaje automático y corregirlos. Las herramientas de depuración, como los modelos sustitutos, el análisis residual y el análisis de sensibilidad, se pueden usar en pruebas blancas para identificar sus vulnerabilidades, o en ejercicios analíticos para identificar posibles ataques que puedan ocurrir o puedan ocurrir.
Documentación del modelo y métodos de explicación . La documentación del modelo es una estrategia de reducción de riesgos que se ha utilizado en la banca durante décadas. Le permite guardar y transferir conocimientos sobre sistemas de modelado complejos a medida que cambia la composición de los propietarios del modelo. La documentación se ha utilizado tradicionalmente para modelos lineales de alta transparencia. Pero con el advenimiento de herramientas de explicación poderosas y precisas (como el
árbol SHAP y
los atributos basados en derivados de funciones locales para redes neuronales), los flujos de trabajo de modelos de caja negra preexistentes pueden explicarse, depurarse y documentarse al menos un poco. Obviamente, la documentación ahora debe incluir todos los objetivos de seguridad, incluidas las vulnerabilidades conocidas, fijas o esperadas.
Monitoree y administre modelos directamente por razones de seguridad . Los profesionales serios entienden que la mayoría de los modelos están entrenados en "instantáneas" estáticas de la realidad en forma de conjuntos de datos, y que en tiempo real la precisión de los pronósticos disminuye, ya que el estado actual de las cosas se aleja de la información recopilada anteriormente. Hoy, el monitoreo de la mayoría de los modelos tiene como objetivo identificar tal sesgo en la distribución de las variables de entrada, lo que, en última instancia, conducirá a una disminución en la precisión. El monitoreo del modelo debe diseñarse para rastrear los ataques descritos en las secciones 1-5 y cualquier otra amenaza potencial que salga a la luz al depurar su modelo. Aunque esto no siempre está directamente relacionado con la seguridad, los modelos también deben evaluarse en tiempo real para detectar efectos diferenciados. Junto con la documentación del modelo, todos los artefactos de modelado, el código fuente y los metadatos asociados deben administrarse, versionarse y verificarse por seguridad, así como los valiosos activos comerciales que son.
Características de notificación de amenazas . Las funciones, reglas y etapas del procesamiento preliminar o posterior pueden incluirse en sus modelos o procesos equipados con medios de notificación de posibles amenazas: por ejemplo, el número de líneas similares en el modelo; si la línea actual representa a un empleado, contratista o consultor; ¿Los valores en la línea actual son similares a los obtenidos con ataques blancos con un ejemplo competitivo? Estas funciones pueden o no ser necesarias durante la primera capacitación del modelo. Pero ahorrarles espacio algún día puede ser muy útil para evaluar nuevos datos o con el posterior reciclaje del modelo.
Detección de anomalías del sistema . Capacite el metamodo para detectar anomalías basadas en un codificador automático en las estadísticas operativas de todo su sistema de modelado predictivo (el número de pronósticos para un cierto período de tiempo, demoras, carga de CPU, memoria y disco, el número de usuarios simultáneos, etc.), y luego monitoree cuidadosamente este metamodelo para anomalías Una anomalía puede decir si algo sale mal. Se requerirán investigaciones de seguimiento o mecanismos especiales para rastrear con precisión la causa del problema.
8. Referencias e información para lecturas adicionales.
Una gran cantidad de literatura académica moderna sobre seguridad en el aprendizaje automático se centra en el aprendizaje adaptativo, el aprendizaje profundo y el cifrado. Sin embargo, hasta ahora el autor no conoce a los practicantes que realmente harían todo esto. Por lo tanto, además de los artículos y publicaciones publicados recientemente, presentamos artículos de la década de 1990 y principios de la década de 2000 sobre violaciones de la red, detección de virus, filtrado de spam y temas relacionados, que también fueron fuentes útiles. Si desea obtener más información sobre el fascinante tema de proteger los modelos de aprendizaje automático, estos son los enlaces principales, del pasado y del presente, que se utilizaron para escribir la publicación.
Conclusión
Los que se preocupan por la ciencia y la práctica del aprendizaje automático están preocupados por el hecho de que la amenaza de piratear con el aprendizaje automático, junto con las crecientes amenazas de violación de la confidencialidad y la discriminación algorítmica, pueden aumentar el creciente escepticismo público y político sobre el aprendizaje automático y la inteligencia artificial. Todos necesitamos recordar los tiempos difíciles para la IA en el pasado reciente. Las vulnerabilidades de seguridad, las infracciones de privacidad y la discriminación algorítmica podrían combinarse, lo que llevaría a una reducción de los fondos para la investigación en capacitación informática o a medidas draconianas para regular esta área. Continuemos la discusión y la resolución de estos importantes asuntos para prevenir una crisis y no interrumpir sus consecuencias.