Finanzas descentralizadas comunes vulnerabilidades de seguridad y medidas de prevención
Recientemente, un experto de la industria compartió sus ideas sobre la seguridad en las Finanzas descentralizadas. Hizo un repaso de los importantes incidentes de seguridad que ha sufrido la industria Web3 en el último año y más, explorando las causas de estos eventos y cómo evitarlos, resumió las vulnerabilidades de seguridad comunes en los contratos inteligentes y las medidas de prevención, y ofreció algunos consejos de seguridad tanto para los proyectos como para los usuarios comunes.
Los tipos comunes de vulnerabilidades en Finanzas descentralizadas incluyen préstamos relámpago, manipulación de precios, problemas de permisos de función, llamadas externas arbitrarias, problemas con funciones de fallback, vulnerabilidades en la lógica del negocio, filtración de claves privadas y ataques de reentrada, entre otros. A continuación, se destacan los préstamos relámpago, la manipulación de precios y los ataques de reentrada.
Préstamo relámpago
A pesar de que los préstamos relámpago son una innovación en las Finanzas descentralizadas, también son frecuentemente utilizados por hackers. Los atacantes piden prestadas grandes sumas de dinero a través de préstamos relámpago para manipular precios o atacar la lógica del negocio. Los desarrolladores deben considerar si la funcionalidad del contrato se verá afectada por grandes sumas de dinero, o si es posible obtener recompensas indebidas al interactuar con múltiples funciones en una sola transacción.
Muchos proyectos de Finanzas descentralizadas parecen tener altos rendimientos, pero en realidad, el nivel de los desarrolladores varía. Algunos proyectos pueden usar código adquirido; incluso si el código en sí no tiene vulnerabilidades, puede haber problemas lógicos. Por ejemplo, algunos proyectos distribuyen recompensas en momentos fijos según la cantidad de tokens en posesión, pero son explotados por atacantes que utilizan préstamos relámpago para comprar una gran cantidad de tokens y obtener la mayor parte de las recompensas cuando se distribuyen.
Manipulación de precios
Los problemas de manipulación de precios están estrechamente relacionados con los préstamos relámpago, principalmente debido a que ciertos parámetros que se utilizan para calcular el precio pueden ser controlados por los usuarios. Existen dos tipos comunes de problemas:
Al calcular el precio se utilizan datos de terceros, pero el uso no es correcto o carece de verificación, lo que lleva a que el precio sea manipulado maliciosamente.
Utilizar la cantidad de tokens en ciertas direcciones como variable de cálculo, y el saldo de tokens en estas direcciones puede aumentarse o disminuirse temporalmente.
Ataque de reentrada
Uno de los principales riesgos de llamar a contratos externos es que pueden tomar el control del flujo y hacer cambios inesperados en los datos. Por ejemplo:
Dado que el saldo del usuario se establece en 0 solo al final de la función, las llamadas posteriores aún tendrán éxito y se podrá extraer el saldo repetidamente.
Para resolver el problema de reentrada, se deben tener en cuenta los siguientes puntos:
No solo previene el problema de la reentrada de una única función.
Codificación siguiendo el patrón Checks-Effects-Interactions
Utilizar modificadores de protección contra reentradas verificados
Es mejor utilizar prácticas de seguridad maduras en lugar de reinventar la rueda. Las nuevas soluciones desarrolladas por uno mismo suelen carecer de la validación adecuada, lo que aumenta la probabilidad de problemas.
Sugerencias de seguridad
Sugerencias de seguridad del proyecto
El desarrollo de contratos sigue las mejores prácticas de seguridad
Los contratos son actualizables y pueden pausarse.
Adoptar un bloqueo temporal
Aumentar la inversión en seguridad, establecer un sistema de seguridad completo.
Aumentar la conciencia de seguridad de todos los empleados
Prevenir el mal comportamiento interno, mientras se mejora la eficiencia y se refuerza el control de riesgos.
Introducir terceros con precaución, realizar verificación de seguridad en la cadena de suministro.
¿Cómo puede un usuario determinar si un contrato inteligente es seguro?
Verificar la situación de las transacciones existentes del contrato
¿El contrato es un contrato de agencia, es actualizable, tiene un bloqueo de tiempo?
¿El contrato ha sido auditado por varias instituciones y los permisos del propietario son excesivos?
Presta atención a la seguridad de los oráculos.
En resumen, en el ámbito de las Finanzas descentralizadas, los problemas de seguridad no deben ser ignorados. Tanto los equipos de proyectos como los usuarios deben estar alerta, tomar las medidas de seguridad necesarias y trabajar juntos para mantener el desarrollo saludable del ecosistema DeFi.
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.
13 me gusta
Recompensa
13
6
Compartir
Comentar
0/400
BearMarketBuilder
· hace9h
Este bug se ha arreglado uno y ya viene otro. ¿Cuándo se acabará esto?
Ver originalesResponder0
BackrowObserver
· hace9h
¿De qué sirve no saber desarrollar si te hackean?
Ver originalesResponder0
NFT_Therapy
· hace9h
El contrato no está bien redactado, el Hacker no podrá escapar.
Ver originalesResponder0
PhantomMiner
· hace9h
Este bug es demasiado. ¿Cómo es que los tontos pueden superar a los hackers?
Ver originalesResponder0
consensus_whisperer
· hace9h
Otra vez vamos a hablar de Finanzas descentralizadas seguridad.
Ver originalesResponder0
WalletManager
· hace9h
Después de revisar la auditoría de código, incluso la copia de seguridad de la cartera fría me parece insuficiente, ¡el agujero de reentrada es demasiado profundo!
Seguridad en Finanzas descentralizadas: Análisis completo de vulnerabilidades comunes y estrategias de protección
Finanzas descentralizadas comunes vulnerabilidades de seguridad y medidas de prevención
Recientemente, un experto de la industria compartió sus ideas sobre la seguridad en las Finanzas descentralizadas. Hizo un repaso de los importantes incidentes de seguridad que ha sufrido la industria Web3 en el último año y más, explorando las causas de estos eventos y cómo evitarlos, resumió las vulnerabilidades de seguridad comunes en los contratos inteligentes y las medidas de prevención, y ofreció algunos consejos de seguridad tanto para los proyectos como para los usuarios comunes.
Los tipos comunes de vulnerabilidades en Finanzas descentralizadas incluyen préstamos relámpago, manipulación de precios, problemas de permisos de función, llamadas externas arbitrarias, problemas con funciones de fallback, vulnerabilidades en la lógica del negocio, filtración de claves privadas y ataques de reentrada, entre otros. A continuación, se destacan los préstamos relámpago, la manipulación de precios y los ataques de reentrada.
Préstamo relámpago
A pesar de que los préstamos relámpago son una innovación en las Finanzas descentralizadas, también son frecuentemente utilizados por hackers. Los atacantes piden prestadas grandes sumas de dinero a través de préstamos relámpago para manipular precios o atacar la lógica del negocio. Los desarrolladores deben considerar si la funcionalidad del contrato se verá afectada por grandes sumas de dinero, o si es posible obtener recompensas indebidas al interactuar con múltiples funciones en una sola transacción.
Muchos proyectos de Finanzas descentralizadas parecen tener altos rendimientos, pero en realidad, el nivel de los desarrolladores varía. Algunos proyectos pueden usar código adquirido; incluso si el código en sí no tiene vulnerabilidades, puede haber problemas lógicos. Por ejemplo, algunos proyectos distribuyen recompensas en momentos fijos según la cantidad de tokens en posesión, pero son explotados por atacantes que utilizan préstamos relámpago para comprar una gran cantidad de tokens y obtener la mayor parte de las recompensas cuando se distribuyen.
Manipulación de precios
Los problemas de manipulación de precios están estrechamente relacionados con los préstamos relámpago, principalmente debido a que ciertos parámetros que se utilizan para calcular el precio pueden ser controlados por los usuarios. Existen dos tipos comunes de problemas:
Al calcular el precio se utilizan datos de terceros, pero el uso no es correcto o carece de verificación, lo que lleva a que el precio sea manipulado maliciosamente.
Utilizar la cantidad de tokens en ciertas direcciones como variable de cálculo, y el saldo de tokens en estas direcciones puede aumentarse o disminuirse temporalmente.
Ataque de reentrada
Uno de los principales riesgos de llamar a contratos externos es que pueden tomar el control del flujo y hacer cambios inesperados en los datos. Por ejemplo:
solidez mapeo (direccion => uint) saldoPrivadoUsuario;
función withdrawBalance() público { uint amountToWithdraw = userBalances[msg.sender]; (bool success, ) = msg.sender.call.value(amountToWithdraw)(""); require(success); userBalances[msg.sender] = 0; }
Dado que el saldo del usuario se establece en 0 solo al final de la función, las llamadas posteriores aún tendrán éxito y se podrá extraer el saldo repetidamente.
Para resolver el problema de reentrada, se deben tener en cuenta los siguientes puntos:
Es mejor utilizar prácticas de seguridad maduras en lugar de reinventar la rueda. Las nuevas soluciones desarrolladas por uno mismo suelen carecer de la validación adecuada, lo que aumenta la probabilidad de problemas.
Sugerencias de seguridad
Sugerencias de seguridad del proyecto
¿Cómo puede un usuario determinar si un contrato inteligente es seguro?
En resumen, en el ámbito de las Finanzas descentralizadas, los problemas de seguridad no deben ser ignorados. Tanto los equipos de proyectos como los usuarios deben estar alerta, tomar las medidas de seguridad necesarias y trabajar juntos para mantener el desarrollo saludable del ecosistema DeFi.