Análisis de las tres principales vulnerabilidades de la Finanzas descentralizadas: Flash Loans, manipulación de precios y ataque de reentrada

Finanzas descentralizadas seguridad vulnerabilidades y medidas de prevención

Recientemente, un experto en seguridad compartió un curso de seguridad de Finanzas descentralizadas para la comunidad. El experto revisó los importantes incidentes de seguridad que la industria de Web3 ha enfrentado en el último año, exploró las causas de estos eventos y cómo evitarlos, resumió las vulnerabilidades comunes de los contratos inteligentes y las medidas de prevención, y ofreció algunas recomendaciones de seguridad para los proyectos y los usuarios.

Los tipos comunes de vulnerabilidades en Finanzas descentralizadas incluyen préstamos relámpago, manipulación de precios, problemas de permisos de funciones, llamadas externas arbitrarias, problemas con funciones de fallback, vulnerabilidades en la lógica de negocio, filtración de claves privadas y ataques de reentrada, entre otros. Este artículo se centra en tres tipos: préstamos relámpago, manipulación de precios y ataques de reentrada.

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

Préstamo relámpago

El préstamo relámpago es una innovación en las Finanzas descentralizadas, pero también ha sido utilizado por hackers para llevar a cabo ataques. Los atacantes piden prestados grandes cantidades de fondos a través de préstamos relámpago para manipular precios o atacar la lógica de negocio. Los desarrolladores deben considerar si las funciones del contrato pueden verse afectadas por grandes sumas de dinero, o ser explotadas para obtener recompensas indebidas.

Muchos proyectos de Finanzas descentralizadas son susceptibles a ataques de préstamos relámpago debido a problemas de código o lógica. Por ejemplo, algunos proyectos otorgan recompensas en función de la tenencia en momentos fijos, pero los atacantes aprovechan los préstamos relámpago para comprar grandes cantidades de tokens y obtener la mayor parte de las recompensas. También hay proyectos que calculan precios a través de Token, que también pueden verse afectados por préstamos relámpago. Los equipos de los proyectos deben mantenerse alerta ante estos problemas.

Manipulación de precios

El problema de la manipulación de precios está estrechamente relacionado con los préstamos relámpago, y hay dos situaciones principales:

  1. Al calcular el precio se utilizan datos de terceros, pero la forma de uso es incorrecta o faltan verificaciones, lo que lleva a que el precio sea manipulado maliciosamente.

  2. Usar la cantidad de Tokens de ciertas direcciones como variable de cálculo, y el saldo de Tokens de estas direcciones puede ser aumentada o disminuida temporalmente.

Ataque de reentrada

El principal riesgo de invocar contratos externos es que pueden tomar el control del flujo y realizar cambios inesperados en los datos. Por ejemplo:

solidez mapping (address => uint) private userBalances;

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

Debido a que el saldo del usuario se establece en 0 solo al final de la función, las llamadas repetidas aún tendrán éxito y se puede retirar el saldo varias veces.

Los ataques de reentrada tienen diversas formas y pueden implicar diferentes funciones de un solo contrato o funciones de múltiples contratos. Para resolver el problema de la reentrada, se debe prestar atención a:

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

Se recomienda utilizar prácticas de seguridad maduras y evitar reinventar la rueda. Las nuevas soluciones desarrolladas por uno mismo carecen de una validación adecuada, lo que aumenta la probabilidad de problemas.

Sugerencias de seguridad

Sugerencias de seguridad para el proyecto

  1. Seguir las mejores prácticas de seguridad para el desarrollo de contratos
  2. Implementar funciones de actualización y pausa del contrato
  3. Adoptar un mecanismo de bloqueo de tiempo
  4. Aumentar la inversión en seguridad, establecer un sistema de seguridad completo
  5. Aumentar la conciencia de seguridad de todos los empleados
  6. Prevenir el mal comportamiento interno, mientras se mejora la eficiencia y se refuerza el control de riesgos.
  7. Introducir dependencias de terceros con precaución, por defecto, tanto el upstream como el downstream no son seguros.

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

  1. ¿Es el contrato de código abierto?
  2. ¿El propietario utiliza una firma múltiple descentralizada?
  3. Verifique la situación de las transacciones existentes del contrato
  4. ¿Es posible actualizar el contrato y existe un bloqueo temporal?
  5. ¿Se aceptan auditorías de múltiples instituciones? ¿Los permisos del propietario son demasiado amplios?
  6. Presta atención a la fiabilidad del oráculo.

En resumen, tanto el equipo del proyecto como los usuarios deben aumentar la conciencia sobre la seguridad y tomar las medidas necesarias para reducir los riesgos de seguridad en Finanzas descentralizadas.

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
  • 7
  • Compartir
Comentar
0/400
RugResistantvip
· hace19h
Otra vez entran con un nombre de prevención para tomar a la gente por tonta.
Ver originalesResponder0
ChainDoctorvip
· hace19h
Otra vez el Flash Loans de ser el chivo expiatorio, tsk tsk
Ver originalesResponder0
PessimisticOraclevip
· hace19h
Detrás de las vulnerabilidades siempre hay tentaciones de grandes beneficios.
Ver originalesResponder0
ParallelChainMaxivip
· hace19h
Hay tantas vulnerabilidades, cuídense mucho.
Ver originalesResponder0
TokenGuruvip
· hace19h
Ya he visto viejas vulnerabilidades de la época de la minería, no sean descuidados, amigos.
Ver originalesResponder0
Anon4461vip
· hace19h
No presumas, parece que todos tienen fallos.
Ver originalesResponder0
RektCoastervip
· hace19h
El pez muere y la red se rompe, no se perderá ante mei y wei.
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)