◇ OpenCyber Academy
Grado · Capítulo 22 · Español

Capítulo 22 — Seguridad de la IA y del aprendizaje automático: datos y dependencias

Aprendizaje gratuito y abierto para quienes desean proteger a las personas y la tecnología. No se necesita una cuenta para estudiar ni consultar las respuestas.

Capítulo 22 — Seguridad de la IA y del aprendizaje automático: datos y dependencias

Mapa de la lección

Lección 22 publicada. Mapa, ejemplo, EX064.

flowchart TD
  N0["Resultados de aprendizaje"]
  N1["22.1 Riesgos de los datos"]
  N2["22.2 Cadena de suministro"]
  N3["22.3 Documentación"]
  N4["22.4 Procedencia e integridad"]
  N5["Síntesis"]
  N0 --> N1 --> N2 --> N3 --> N4 --> N5
  N5 --> EX["Ejemplo resuelto"]
  EX --> Q["Ejercicio EX064"]

Dibujo lógico

flowchart LR
  N0["Resultados de aprendizaje"]
  N1["22.1 Riesgos de los datos"]
  N2["22.2 Cadena de suministro"]
  N3["22.3 Documentación"]
  N4["22.4 Procedencia e integridad"]
  N5["Síntesis"]
  N0 --> N1 --> N2 --> N3 --> N4 --> N5 --> Q["EX064"]
[Resultados de aprendizaje]
    |
    v
[22.1 Riesgos de los datos]
    |
    v
[22.2 Cadena de suministro]
    |
    v
[22.3 Documentación]
    |
    v
[22.4 Procedencia e integridad]
    |
    v
[Síntesis]
    |
    v
[Ejemplo resuelto] --> [Ejercicio EX064]

Resultados de aprendizaje

Usted podrá (1) evaluar los datos de entrenamiento, de ajuste fino y de recuperación frente al riesgo de envenenamiento y de privacidad; (2) gestionar los modelos, conjuntos de datos y bibliotecas de terceros como dependencias de la cadena de suministro; (3) documentar los datos con hojas de datos y los modelos con fichas de modelo; y (4) diseñar controles de procedencia e integridad.

22.1 Riesgos de los datos

Los datos de entrenamiento pueden envenenarse para degradar el rendimiento o implantar puertas traseras; pueden contener datos personales que el modelo puede filtrar; pueden estar sesgados. Los datos de recuperación pueden llevar instrucciones inyectadas y deben estar sujetos a control de acceso. El laboratorio muestra que unas pocas decenas de puntos con disparador crean una puerta trasera fuerte mientras la exactitud limpia se mantiene alta.

"""Lab P: label-flip poisoning and a backdoor trigger on a toy nearest-centroid
classifier (synthetic data, stdlib only). Teaching model only."""
import random
rng = random.Random(11)
def point(label, trigger=False):
    cx = 1.0 if label else -1.0
    x = [rng.gauss(cx, 0.8), rng.gauss(cx, 0.8), 0.0]
    if trigger: x[2] = 5.0          # third feature is the 'trigger'
    return x, label
clean = [point(i % 2) for i in range(400)]
test = [point(i % 2) for i in range(400)]
def fit(data):
    c = {}
    for lab in (0, 1):
        pts = [x for x, y in data if y == lab]
        c[lab] = [sum(p[i] for p in pts)/len(pts) for i in range(3)]
    return c
def pred(c, x):
    d = {k: sum((x[i]-v[i])**2 for i in range(3)) for k, v in c.items()}
    return min(d, key=d.get)
def accuracy(c, data): return sum(pred(c, x) == y for x, y in data)/len(data)
print("label-flip poisoning (flip a fraction of class-1 labels to 0):")
for frac in (0.0, 0.1, 0.2, 0.3, 0.4):
    data = [(x, y) for x, y in clean]; ones = [i for i, (x, y) in enumerate(data) if y == 1]
    for i in ones[:int(frac*len(ones))]: data[i] = (data[i][0], 0)
    print(f"  flipped={frac:.1f} clean_test_accuracy={accuracy(fit(data), test):.3f}")
print("backdoor: add n triggered class-1 points labelled 0")
trig_test = [point(1, trigger=True) for _ in range(200)]
for n in (0, 10, 40, 80):
    data = clean + [(point(1, trigger=True)[0], 0) for _ in range(n)]
    c = fit(data)
    asr = sum(pred(c, x) == 0 for x, _ in trig_test)/len(trig_test)
    print(f"  poison_points={n:3d} clean_accuracy={accuracy(c, test):.3f} attack_success={asr:.3f}")

Salida esperada:

label-flip poisoning (flip a fraction of class-1 labels to 0):
  flipped=0.0 clean_test_accuracy=0.965
  flipped=0.1 clean_test_accuracy=0.965
  flipped=0.2 clean_test_accuracy=0.953
  flipped=0.3 clean_test_accuracy=0.950
  flipped=0.4 clean_test_accuracy=0.945
backdoor: add n triggered class-1 points labelled 0
  poison_points=  0 clean_accuracy=0.965 attack_success=0.075
  poison_points= 10 clean_accuracy=0.963 attack_success=0.145
  poison_points= 40 clean_accuracy=0.963 attack_success=0.685
  poison_points= 80 clean_accuracy=0.968 attack_success=0.980

Las dos tablas del laboratorio cuentan historias distintas. Invertir el 40 % de las etiquetas solo reduce la exactitud limpia de 0,965 a 0,945, así que el etiquetado ruidoso es una molestia; 80 puntos con disparador dan un éxito del ataque de 0,980, así que el envenenamiento dirigido es una amenaza.

22.2 Cadena de suministro

Los modelos preentrenados, los conjuntos de datos, las bibliotecas y los complementos proceden de terceros. OWASP LLM 2025 incluye la cadena de suministro (LLM03) y el envenenamiento de datos y modelos (LLM04). Controles: fuentes de confianza, versiones fijadas, verificación de hash y de firma, formatos de archivo seguros, análisis y evaluación antes del uso. El modelo del proveedor de DocSort es la mayor dependencia de la cadena de suministro de LCH, y la comprobación de firma descrita en el capítulo de criptografía lo cubre. Las bibliotecas de Ask Lumen están fijadas a versiones en un archivo de bloqueo, y las actualizaciones pasan por revisión. LCH evita los formatos de archivo de modelo que pueden ejecutar código al cargarse, lo que elimina una vía por la que una descarga manipulada podría ejecutarse en sus servidores.

22.3 Documentación

Las hojas de datos para conjuntos de datos (Gebru et al., arXiv:1803.09010) registran la motivación, la composición, la recogida, el preprocesamiento y los usos recomendados. Las fichas de modelo (Mitchell et al., arXiv:1810.03993) registran el uso previsto, la evaluación, las limitaciones y las consideraciones éticas. Ambas ayudan a otros a juzgar si una dependencia es segura para su uso. Rina escribió una hoja de datos para las cartas de entrenamiento de DocSort. Al escribirla quedó al descubierto que nadie sabía qué meses de cartas se incluían ni cómo se habían etiquetado los casos ambiguos. La ficha de modelo que solicitó al proveedor indicaba que el modelo se había evaluado con cartas de otro sistema sanitario, lo que LCH registró como limitación y comprobó con su propio conjunto de prueba.

22.4 Procedencia e integridad

Registre de dónde procede cada elemento de datos y quién lo modificó; versione los conjuntos de datos; calcule el hash del contenido en la recogida; revise muestras de las fuentes nuevas; restrinja quién puede etiquetar. En DocSort, esto significa que cada lote de entrenamiento registra el contratista que lo etiquetó, la fecha y un hash del archivo etiquetado. Si más adelante se encuentra un disparador, LCH puede averiguar qué lotes lo contienen y quién los etiquetó, reentrenar sin ellos y decidir si el acuerdo con el contratista necesita revisión. Sin ese registro, todo el conjunto de entrenamiento sería sospechoso.

22.5 Ejemplo resuelto (caso sintético de LCH)

DocSort se reentrenaba cada mes con cartas etiquetadas por un equipo temporal de contratistas. Rina no encontró ningún registro de quién había etiquetado qué. Introdujo la procedencia por lote, una muestra de revisión experta del 5 % por lote y una comprobación automática de palabras poco frecuentes fuertemente asociadas a una ruta: un detector sencillo de disparadores. En el primer mes marcó una frase de plantilla inofensiva usada por un consultorio de atención primaria, que se documentó como benigna. La falsa alarma fue útil: mostró que el detector funcionaba y enseñó al equipo cómo son los disparadores benignos.

22.6 Errores y límites

Sin registros de los etiquetadores, un lote envenenado no puede rastrearse ni eliminarse, que era la situación de DocSort antes de los cambios de Rina. Las descargas sin verificar permiten que un modelo manipulado llegue a producción sin ningún aviso. La falta de hojas de datos y de fichas de modelo significa que nadie puede juzgar si un conjunto de datos o un modelo se ajusta a un uso nuevo, así que los desajustes, como la evaluación de DocSort con cartas de otro sistema sanitario, pasan inadvertidos hasta que los resultados decepcionan en producción y los pacientes reciben cartas mal encaminadas.

Ejercicios

Síntesis

Los datos y las dependencias determinan lo que los modelos aprenden y hacen. La procedencia, la verificación, la documentación y la revisión impiden que entradas envenenadas o no confiables se conviertan silenciosamente en comportamiento.

Siga estudiando — capítulo 22 de 40

← Capítulo 21 (borrador) · Índice de capítulos del curso · Capítulo 23 (borrador) →

Respuestas desarrolladas

EX064. Exactitud limpia 0,963; éxito del ataque 0,685.

EX065. Descargar de una fuente de confianza; fijar la versión exacta; verificar el hash o la firma; usar un formato seguro (solo tensores); evaluar el comportamiento y los disparadores de puertas traseras antes del uso.

EX066. La frase era poco frecuente y estaba fuertemente asociada a una ruta porque un consultorio usaba una plantilla; un revisor debe confirmar que es benigna, documentarla y seguir vigilando.