RFC - Documentación de Seguridad - Blockchain Federal Argentina
Aquí se busca documentar temas relativos a la seguridad de la BFA. Toda contribución es bienvenida.
Arquitectura de Seguridad
- Red privada de nodos selladores, rodeada por red pública de nodos gateway.
- Responsabilidades repartidas entre múltiples organizaciones.
- Monitoreo del estado de salud de la red NOC 7x24
Procedimientos de seguridad
Baja de nodos selladores/gateway comprometidos
(RFC)
Alta de nuevos nodos selladores/gateway
(RFC)
Baja de cuentas de asignación de ether comprometidas
No es posible sacar ether de una cuenta. Work-arounds posibles:
- no dar "demasiado" ether.
- crear una lista negra y parchear los selladores a no sellar ninguna TX de las cuentas en la listas
- aumentar el Gas Price para que se gasta mas rapido
Modelado de Amenazas
Ataque 51%
Impacto:
- Denegación de Servicio,
- Inclusión de contenido espurio(?)
Viabilidad:
- Requiere control del 51% de los nodos(selladores?).
Mitigación:
- Monitoreo de la red.
- Reemplazo de nodos comprometidos.
- Hard forks(?)
Lockout total de Selladores
Impacto:
- Denegación de Servicio
Viabilidad:
- Parece poco probable, todos los selladores deberían ir votando para echarse de la red.
- Podría ocurrir en caso de fallos en scripts de automatización de voto.
- Podría ocurrir en caso de compromiso de todos los nodos.
Mitigación:
- Hard fork
Compromiso Cuentas de Asignación Ether
Impacto:
- Denegación de Servicio.
- Perdida o mal-uso parcial o total del ether disponible?
Viabilidad:
- Ataques dirigido al owner de la cuenta.
- Compromiso workstations.
- Empleado descontento.
Mitigación:
- Repartir las cuentas entre trusted-parties.
- Mecanismo para reemplazar cuenta comprometidas(?).
- Monitoreo de accesos a las cuentas.
Compromiso Nodo Sellador
Impacto:
(RFC)
Viabilidad:
- Acceso físico / exploits remotos
- Compromiso de infraestructura de virtualización,
- Empleado descontento.
Mitigación:
- Monitoreo NOC.
- Reemplazo del nodo comprometido.
- Mantener actualizado y configurado adecuadamente.
Compromiso Nodo Gateway
Impacto:
(RFC)
Viabilidad:
- Acceso físico / exploits remotos
- Compromiso de infraestructura de virtualización,
- Empleado descontento.
Mitigación:
- Monitoreo NOC.
- Reemplazo del nodo comprometido.
- Mantener actualizado y configurado adecuadamente.
Compromiso Cuenta Usuario
Impacto:
- Transacciones falsas a nombre del usuario.
Viabilidad:
- Ataques a usuarios finales.
- Empleado descontento.
Mitigación:
- Monitoreo y Provisión de cuentas.
Caida de la Infraestructura de Red
Impacto:
- Denegación de Servicio.
Viabilidad:
- Ataques contra ISPs.
- Desastres naturales.
Mitigación:
- Conexiones redundantes entre nodos.
- Dispersión geográfica de los nodos.
Abuso en la Cantidad de Solicitudes por Usuario
Impacto:
- Denegación de Servicio(?)
Viabilidad:
- (RFC)
Mitigación:
- Límite de transacciones por usuario.
Ataque contra servicios de NTP
Impacto:
- Inclusión de bloques con timestamp adulterado o inválido.
- Denegación de servicio(?)
Viabilidad:
- Se conversó y parece muy poco probable.
Mitigación:
- Variedad de servicios NTP
Inclusión de contenido inapropiado o ilegal
Impacto:
- Inclusión de bloques con mensajes inapropiados o ilegales.
Viabilidad:
- Está limitado el tipo de contenido permitido?
Mitigación:
- Limitar el tipo de contenido aceptable.
Seguridad en Smart contracts: Ver [Seguridad en smart contracts]
Referencias
[1] https://github.com/ConsenSys/smart-contract-best-practices [2] https://en.bitcoin.it/wiki/Weaknesses#Illegal_content_in_the_block_chain