Las tres principales vulnerabilidades de DeFi: Flash Loans, manipulación de precios y ataques de reingreso.

Vulnerabilidades de seguridad comunes en Finanzas descentralizadas y medidas de prevención

Recientemente, un experto en seguridad compartió una clase sobre la seguridad en Finanzas descentralizadas, explorando los importantes incidentes de seguridad que ha enfrentado la industria Web3 recientemente, analizando las causas de estos incidentes y cómo evitarlos, y resumiendo las vulnerabilidades de seguridad comunes en los contratos inteligentes y las medidas de prevención. Este artículo se centrará en tres tipos comunes de vulnerabilidades: los préstamos relámpago, la manipulación de precios y los ataques de reingreso.

Cobo Finanzas descentralizadas seguridad curso (parte 2): Vulnerabilidades de seguridad comunes en Finanzas descentralizadas y prevención

Préstamo relámpago

El préstamo relámpago es una innovación en las Finanzas descentralizadas, pero a menudo es utilizado por hackers para llevar a cabo ataques:

  • Los atacantes piden prestados grandes sumas de dinero a través de préstamos relámpago, manipulan precios o atacan la lógica de negocio.
  • Los desarrolladores deben considerar si las funciones del contrato se comportarán de manera anormal debido a grandes sumas de dinero, o si se utilizarán para obtener recompensas excesivas en una sola transacción.
  • Preguntas frecuentes: Calcular recompensas utilizando la cantidad de Token, o participar en el cálculo utilizando la cantidad de Token en el par de intercambio DEX.

En los últimos dos años han surgido muchos problemas. Algunos proyectos de Finanzas descentralizadas parecen tener altos rendimientos, pero en realidad su nivel de desarrollo es desigual. Por ejemplo, hay proyectos que otorgan recompensas en función de las tenencias en un momento fijo, que fueron aprovechados por atacantes utilizando préstamos relámpago para comprar grandes cantidades de tokens y obtener la mayor parte de las recompensas.

Manipulación de precios

El control de precios está estrechamente relacionado con los préstamos relámpago, principalmente hay dos problemas:

  1. Al calcular el precio, se utilizan datos de terceros, pero el uso inadecuado o la falta de verificación.
  2. Usar el saldo de Token de ciertas direcciones como variable de cálculo, y estos saldos pueden ser aumentados o disminuidos temporalmente.

Ataque de reentrada

El principal riesgo de llamar a contratos externos es la posibilidad de tomar el control del flujo y realizar modificaciones imprevistas en los datos.

Un ejemplo típico de un ataque de reentrada: solidez mapeo (direccion => uint) saldoPrivadoUsuario;

función retirarSaldo() pública { uint amountToWithdraw = userBalances[msg.sender]; (bool éxito, ) = msg.sender.call.value(montoARetirar)(""); require(success); userBalances[msg.sender] = 0; }

Debido a que el saldo del usuario se restablece a cero solo al final de la función, se puede llamar repetidamente para retirar varias veces.

Para resolver el problema de reingreso, se debe tener en cuenta:

  1. No solo previene la reentrada de una única función
  2. Seguir el patrón Checks-Effects-Interactions
  3. Utilizar un modificador de protección contra reentradas verificado

Se recomienda utilizar prácticas de seguridad maduras y evitar reinventar la rueda.

Sugerencias de seguridad del proyecto

  1. Desarrollar contratos siguiendo las mejores prácticas de seguridad
  2. Implementar funciones de contrato actualizables y de pausa
  3. Uso de bloqueos temporales
  4. Establecer un sistema de seguridad completo
  5. Aumentar la conciencia de seguridad de todos
  6. Prevenir el mal uso interno, mejorar la eficiencia y al mismo tiempo fortalecer el control de riesgos
  7. Introducir terceros con precaución, asumiendo que no son seguros y realizando la validación adecuada.

Cómo los usuarios pueden juzgar la seguridad de los contratos inteligentes

  1. ¿El contrato es de código abierto?
  2. ¿El propietario adopta múltiples firmas descentralizadas?
  3. Ver el estado de las transacciones del contrato
  4. ¿Es el contrato actualizable, hay un bloqueo de tiempo?
  5. ¿Se acepta la auditoría de múltiples instituciones? ¿Los permisos del propietario son demasiado amplios?
  6. Presta atención a la fiabilidad del oráculo

En resumen, la seguridad es fundamental en el ámbito de las Finanzas descentralizadas. Los desarrolladores de proyectos deben construir un sistema de seguridad integral, y los usuarios también deben estar atentos y participar con precaución.

DEFI-1.23%
Ver originales
Esta página puede contener contenido de terceros, que se proporciona únicamente con fines informativos (sin garantías ni declaraciones) y no debe considerarse como un respaldo por parte de Gate a las opiniones expresadas ni como asesoramiento financiero o profesional. Consulte el Descargo de responsabilidad para obtener más detalles.
  • Recompensa
  • 8
  • Compartir
Comentar
0/400
DeFiVeteranvip
· hace22h
La billetera se ha perdido de nuevo, no es sorprendente.
Ver originalesResponder0
DisillusiionOraclevip
· 07-23 19:20
Buena defi sigue causando problemas, los hackers están ordeñando a los alcistas todos los días.
Ver originalesResponder0
GateUser-bd883c58vip
· 07-21 12:00
¡Todavía hay que dejar una puerta trasera!
Ver originalesResponder0
LayoffMinervip
· 07-21 02:24
Ja, sigue siendo el mismo estilo, lavado de minería con trucos.
Ver originalesResponder0
LiquidationWatchervip
· 07-21 02:19
¿Para qué jugar a Finanzas descentralizadas con tantos fallos?
Ver originalesResponder0
NestedFoxvip
· 07-21 02:18
Otra vez Ser engañados.
Ver originalesResponder0
Layer2Observervip
· 07-21 02:08
El código es la evidencia más sólida.
Ver originalesResponder0
SerumSurfervip
· 07-21 02:07
Flash Loans ni siquiera los perros lo juegan.
Ver originalesResponder0
  • Anclado
Opere con criptomonedas en cualquier momento y lugar
qrCode
Escanee para descargar la aplicación Gate
Comunidad
Español
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)