Muestra las diferencias entre dos versiones de la página.
Ambos lados, revisión anteriorRevisión previaPróxima revisión | Revisión previa | ||
pan:nfedelearning [2024/12/04 16:56] – thejuanvisu | pan:nfedelearning [2024/12/04 17:05] (actual) – thejuanvisu | ||
---|---|---|---|
Línea 22: | Línea 22: | ||
===== Problemas del Federated Learning ===== | ===== Problemas del Federated Learning ===== | ||
- | No hay comunicación con el servidor central, lo que significa que no se sabe si se usan bien o mal los datos. Los modelos contienen información sensible, por lo que aunque se entrenen por separado, los datos siguen ahí y pueden ser recuperados. Si hay un atacante malicioso entre el servidor y los clientes o el servidor está corrupto, un atacante puede manipular los datos como quiera. Un atacante Man In The Middle también puede hacerse con la información al estar en el medio de las comunicaciones. Existen ataques como Model Inversión que pueden sacar datos. | + | No hay comunicación con el servidor central, lo que significa que no se sabe si se usan bien o mal los datos. Los modelos contienen información sensible, por lo que aunque se entrenen por separado, los datos siguen ahí y pueden ser recuperados. Si hay un atacante malicioso entre el servidor y los clientes o el servidor está corrupto, un atacante puede manipular los datos como quiera. Un atacante Man In The Middle también puede hacerse con la información al estar en el medio de las comunicaciones. Existen ataques como Model Inversión que pueden sacar datos. Existen 2 tipos de ataques: |
+ | * Black Box (Pasivo): Su objetivo es el modelo ya entrenado final. | ||
+ | * White Box (Activa): Monitoriza cambios en el modelo en cada ronda de entrenamiento. | ||
+ | También hay 2 tipos de atacantes: | ||
+ | * Cliente | ||
+ | * Servidor | ||
+ | |||
+ | ==== Poisoning ==== | ||
+ | |||
+ | Otro tipo de ataque que se puede realizar es el de poisoning, enviando un modelo corrupto al servidor para que o el modelo no funcione (Ataque Random) o un ataque de reemplazo, que cambia el modelo original por uno distinto y que conviva con el anterior, la idea es realizar una predicción colateral sin que el servidor se entere. Estos ataques suelen ser de tipo cliente. | ||
+ | |||
+ | ===== Prevención de ataques ===== | ||
+ | **Frente ataques de inteferencia: | ||
+ | * Se puede aplicar Segure Agregation Through Secure Multiparty Computation (SMC) o Cifrado homomórfico. | ||
+ | **Frente ataque de poisoning: | ||
+ | * Se exploran los datos de los clientes (No tiene sentido ya que la idea de este sistema es que no se pueda hacer eso) | ||
+ | **Nodos individuales: | ||
+ | * SMC | ||
+ | * Cifrado homomorfico | ||
+ | * Mecanismos de privacidad diferencial | ||
+ | ===== Frameworks para aprendizaje federado ===== | ||
+ | |||
+ | * TensorFlow | ||
+ | * Flower | ||
+ | * Pyshift | ||
+ | * Microsoft Flute | ||
+ | * Nvidia Flare | ||