Finanzas descentralizadas seguridad en crisis: análisis de vulnerabilidades comunes y estrategias de prevención

robot
Generación de resúmenes en curso

Análisis de las vulnerabilidades de seguridad comunes en Finanzas descentralizadas y medidas de prevención

Recientemente, un experto en seguridad compartió con los miembros de la comunidad sus insights sobre la seguridad en Finanzas descentralizadas. Revisó los importantes eventos de seguridad que ha enfrentado la industria Web3 en el último año, exploró las causas de estos eventos y cómo evitarlos, resumió las vulnerabilidades de seguridad comunes en los contratos inteligentes y las medidas preventivas, y ofreció algunas recomendaciones de seguridad para los proyectos y los usuarios.

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

Préstamo relámpago

El préstamo relámpago es una innovación en las Finanzas descentralizadas (DeFi), pero también es comúnmente utilizado por hackers. Los atacantes toman prestados grandes montos de dinero a través de préstamos relámpago para manipular precios o atacar la lógica de negocios. Los desarrolladores deben considerar si las funciones del contrato podrían comportarse de manera anómala debido a la enorme cantidad de fondos, o si podrían ser explotadas para interactuar con múltiples funciones en una sola transacción para obtener beneficios indebidos.

En los últimos dos años, los préstamos relámpago han provocado numerosos problemas. Algunos proyectos de Finanzas descentralizadas que parecen ofrecer altos rendimientos, en realidad, presentan múltiples riesgos de seguridad. Por ejemplo, hay proyectos que otorgan recompensas en momentos fijos según la cantidad de tokens en posesión, que son aprovechados por atacantes mediante préstamos relámpago para comprar una gran cantidad de tokens y obtener la mayor parte de las recompensas. También hay algunos proyectos que calculan precios a través de tokens, que son fácilmente afectados por préstamos relámpago.

Manipulación de precios

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

  1. Al calcular el precio se utilizan datos de terceros, pero la forma de uso es incorrecta o carece de verificación, lo que lleva a la manipulación maliciosa del precio.
  2. Utilizar el saldo de tokens 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 que pueden tomar el control del flujo y realizar cambios inesperados en los datos. Un ejemplo típico de ataque de reentrada es el siguiente:

solidez mapeo ( dirección => uint) saldoPrivado usuarioBalances;

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

En este ejemplo, dado que el saldo del usuario se establece en 0 solo al final de la función, un atacante puede llamar múltiples veces a la función de retiro en el medio, lo que provoca retiros duplicados.

Para resolver el problema de reentrada, se deben tener en cuenta los siguientes puntos:

  1. No solo se debe prevenir la reentrada de una única función, sino también considerar la reentrada entre funciones y contratos.
  2. Seguir el patrón de codificación Checks-Effects-Interactions.
  3. Utilizar modificadores de protección contra reentradas verificados.

Es importante evitar reinventar la rueda y adoptar las mejores prácticas de seguridad ya verificadas en la industria.

Recomendaciones de seguridad para el proyecto

  1. Seguir las mejores prácticas de seguridad en el desarrollo de contratos inteligentes.
  2. Implementar funciones de actualización y pausa de contratos.
  3. Utilizar un mecanismo de bloqueo temporal.
  4. Aumentar la inversión en seguridad y establecer un sistema de seguridad completo.
  5. Aumentar la conciencia de seguridad de todos los empleados.
  6. Prevenir el comportamiento malicioso interno, mejorando la eficiencia mientras se fortalece el control de riesgos.
  7. Introducir terceros con precaución, siguiendo el principio de "por defecto, tanto el upstream como el downstream no son seguros".

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

  1. Confirma si el contrato es de código abierto.
  2. Verifique si el propietario utiliza un mecanismo de múltiples firmas descentralizado.
  3. Ver el estado de las transacciones existentes del contrato.
  4. Entender si el contrato es un contrato de agencia, si es actualizable y si tiene un bloqueo por tiempo.
  5. Confirme si el contrato ha sido auditado por múltiples instituciones y evalúe si los permisos del propietario son excesivos.
  6. Presta atención al tipo de oráculo utilizado por el proyecto y su seguridad.

En resumen, en el ámbito de las Finanzas descentralizadas, la seguridad siempre es una prioridad. Los desarrolladores del proyecto deben mejorar integralmente la conciencia y las medidas de seguridad, mientras que los usuarios deben mantenerse alerta y evaluar cuidadosamente la seguridad del proyecto antes de tomar decisiones.

Cobo Finanzas descentralizadas 安全课(下):Finanzas descentralizadas 常⻅安全漏洞及预防

DEFI-5.32%
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
  • 4
  • Republicar
  • Compartir
Comentar
0/400
UnluckyLemurvip
· 08-12 15:44
Otra trampa más. ¿Cuándo podrá haber algo nuevo?
Ver originalesResponder0
DefiPlaybookvip
· 08-10 18:09
Los datos estadísticos muestran que los Flash Loans siguen siendo la mayor fuente de riesgo, representando un 47.8%.
Ver originalesResponder0
wrekt_but_learningvip
· 08-10 17:58
La vulnerabilidad sigue siendo la misma trampa, no hay nada nuevo.
Ver originalesResponder0
BoredApeResistancevip
· 08-10 17:46
¿Los tontos que sufrieron grandes pérdidas finalmente lo entendieron?
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)