Resumen de las vulnerabilidades de seguridad en Finanzas descentralizadas: análisis de los riesgos de Flash Loans, manipulación de precios y ataques de reentrada.
Finanzas descentralizadas vulnerabilidades de seguridad comunes y medidas de prevención
Recientemente, un experto en seguridad compartió una clase de seguridad en Finanzas descentralizadas para los miembros de la comunidad. El experto revisó los importantes incidentes de seguridad que ha enfrentado la industria Web3 en el último año y más, exploró las razones detrás de estos eventos y cómo evitarlos, resumió las vulnerabilidades de seguridad comunes en los contratos inteligentes y las medidas preventivas, y ofreció algunos consejos de seguridad tanto para los desarrolladores de 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 funciones, llamadas externas arbitrarias, problemas con funciones de fallback, vulnerabilidades en la lógica empresarial, filtración de claves privadas y ataques de reentrada. Este artículo se centrará en los préstamos relámpago, la manipulación de precios y los ataques de reentrada.
Préstamo relámpago
El préstamo relámpago es una innovación en las Finanzas descentralizadas, pero también es utilizado con frecuencia por atacantes. Los atacantes toman prestados grandes montos de dinero a través del préstamo relámpago para manipular precios o atacar la lógica del negocio. Los desarrolladores deben considerar si la funcionalidad del contrato podría volverse anómala debido a grandes sumas de dinero, o ser explotada para obtener beneficios indebidos.
Muchos proyectos de Finanzas descentralizadas parecen ofrecer altos rendimientos, pero en realidad, el nivel de los equipos detrás de los proyectos es muy variable. Algunos proyectos pueden tener código que fue comprado; incluso si el código en sí no tiene vulnerabilidades, puede haber problemas lógicos. Por ejemplo, algunos proyectos otorgan recompensas en momentos fijos según la cantidad de tokens que poseen los tenedores, pero los atacantes pueden aprovechar los 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 en el cálculo de precios pueden ser controlados por los usuarios. Hay dos tipos comunes de problemas:
Al calcular el precio, se utilizan datos de terceros, pero el método no es correcto o falta de verificación, lo que lleva a que el precio sea manipulado maliciosamente.
Usar la cantidad de tokens en ciertas direcciones como variable de cálculo, y el saldo de tokens en estas direcciones puede aumentar o disminuir temporalmente.
Ataque de reentrada
Un ataque de reentrada es uno de los principales peligros que se pueden enfrentar al llamar a un contrato externo. Un atacante puede tomar el control del flujo y realizar cambios inesperados en los datos. Por ejemplo:
solidez
mapeo (dirección => uint) saldoPrivado de usuarioBalances;
En este ejemplo, debido a que el saldo del usuario se establece en 0 solo al final de la función, el atacante puede volver a llamar a esa función después de que la primera llamada haya tenido éxito, lo que le permite retirar el saldo múltiples veces.
Para resolver el problema de reentrada, se deben tener en cuenta los siguientes puntos:
No solo hay que prevenir el problema de reentrada de una sola función;
Seguir el patrón de Checks-Effects-Interactions para la codificación;
Utiliza un modificador contra reentrada que haya sido probado a lo largo del tiempo.
Un caso típico de ataque de reentrada es el incidente del Protocolo Omni. En este ataque, las transacciones enviadas por el atacante que descubrió la vulnerabilidad fueron capturadas y ejecutadas por otros hackers, lo que llevó a que el atacante original solo obtuviera una parte de las ganancias. Esto destaca la característica del "bosque oscuro" en el ecosistema Web3, donde los atacantes también pueden ser presa unos de otros.
Sugerencias de seguridad
Sugerencias de seguridad del proyecto
Seguir las mejores prácticas de seguridad en el desarrollo de contratos.
Implementar funciones de actualización y pausa de contratos.
Adoptar un mecanismo de bloqueo temporal.
Aumentar la inversión en seguridad y establecer un sistema de seguridad completo.
Aumentar la conciencia de seguridad de todos los empleados.
Prevenir el mal uso interno, mejorando la eficiencia mientras se refuerza el control de riesgos.
Introducir servicios de terceros con precaución, siguiendo el principio de "por defecto, tanto el upstream como el downstream no son seguros".
¿Cómo pueden los usuarios/LP determinar si un contrato inteligente es seguro?
Verifica si el contrato es de código abierto.
Verificar si el Owner utiliza un mecanismo de múltiples firmas descentralizado.
Ver la situación de las transacciones ya existentes en el contrato.
Confirma si el contrato es un contrato de agencia, si es actualizable y si tiene un bloqueo de tiempo.
Verificar si el contrato ha sido auditado por varias instituciones y evaluar si los permisos del Owner son excesivos.
Presta atención a la selección y uso de oráculos.
En resumen, en el ámbito de las Finanzas descentralizadas, los problemas de seguridad siempre son una de las consideraciones más importantes. Tanto los desarrolladores de proyectos como los usuarios comunes deben mantenerse altamente alerta y tomar medidas de seguridad adecuadas para reducir riesgos y garantizar la seguridad de los activos.
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.
14 me gusta
Recompensa
14
8
Compartir
Comentar
0/400
BearMarketBarber
· hace4h
La cantidad de cabello y la cantidad de moneda han tenido una Gran caída, ya han tomado a la gente por tonta.
Ver originalesResponder0
TokenomicsTrapper
· hace20h
solo otro día viendo a los degens ser rekt por los mismos viejos exploits... llamé a este patrón hace meses, para ser honesto
Ver originalesResponder0
DegenWhisperer
· hace20h
Negro y blanco, todo está claro.
Ver originalesResponder0
degenonymous
· hace20h
Otra vez los contratos inteligentes cayeron en la trampa.
Ver originalesResponder0
BlockchainFries
· hace20h
Buscar vulnerabilidades durante medio día no es mejor que ir a hacer entregas.
Ver originalesResponder0
Ser_This_Is_A_Casino
· hace20h
defi realmente es un casino, se pierde lo que se debe perder.
Ver originalesResponder0
OPsychology
· hace20h
Flash Loans, ¿qué temer? Soy todo moneda de Goethe.
Resumen de las vulnerabilidades de seguridad en Finanzas descentralizadas: análisis de los riesgos de Flash Loans, manipulación de precios y ataques de reentrada.
Finanzas descentralizadas vulnerabilidades de seguridad comunes y medidas de prevención
Recientemente, un experto en seguridad compartió una clase de seguridad en Finanzas descentralizadas para los miembros de la comunidad. El experto revisó los importantes incidentes de seguridad que ha enfrentado la industria Web3 en el último año y más, exploró las razones detrás de estos eventos y cómo evitarlos, resumió las vulnerabilidades de seguridad comunes en los contratos inteligentes y las medidas preventivas, y ofreció algunos consejos de seguridad tanto para los desarrolladores de 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 funciones, llamadas externas arbitrarias, problemas con funciones de fallback, vulnerabilidades en la lógica empresarial, filtración de claves privadas y ataques de reentrada. Este artículo se centrará en los préstamos relámpago, la manipulación de precios y los ataques de reentrada.
Préstamo relámpago
El préstamo relámpago es una innovación en las Finanzas descentralizadas, pero también es utilizado con frecuencia por atacantes. Los atacantes toman prestados grandes montos de dinero a través del préstamo relámpago para manipular precios o atacar la lógica del negocio. Los desarrolladores deben considerar si la funcionalidad del contrato podría volverse anómala debido a grandes sumas de dinero, o ser explotada para obtener beneficios indebidos.
Muchos proyectos de Finanzas descentralizadas parecen ofrecer altos rendimientos, pero en realidad, el nivel de los equipos detrás de los proyectos es muy variable. Algunos proyectos pueden tener código que fue comprado; incluso si el código en sí no tiene vulnerabilidades, puede haber problemas lógicos. Por ejemplo, algunos proyectos otorgan recompensas en momentos fijos según la cantidad de tokens que poseen los tenedores, pero los atacantes pueden aprovechar los 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 en el cálculo de precios pueden ser controlados por los usuarios. Hay dos tipos comunes de problemas:
Ataque de reentrada
Un ataque de reentrada es uno de los principales peligros que se pueden enfrentar al llamar a un contrato externo. Un atacante puede tomar el control del flujo y realizar cambios inesperados en los datos. Por ejemplo:
solidez mapeo (dirección => uint) saldoPrivado de usuarioBalances;
función retirarSaldo() público { uint amountToWithdraw = userBalances[msg.sender]; (bool success, ) = msg.sender.call.value(amountToWithdraw)(""); require(success); userBalances[msg.sender] = 0; }
En este ejemplo, debido a que el saldo del usuario se establece en 0 solo al final de la función, el atacante puede volver a llamar a esa función después de que la primera llamada haya tenido éxito, lo que le permite retirar el saldo múltiples veces.
Para resolver el problema de reentrada, se deben tener en cuenta los siguientes puntos:
Un caso típico de ataque de reentrada es el incidente del Protocolo Omni. En este ataque, las transacciones enviadas por el atacante que descubrió la vulnerabilidad fueron capturadas y ejecutadas por otros hackers, lo que llevó a que el atacante original solo obtuviera una parte de las ganancias. Esto destaca la característica del "bosque oscuro" en el ecosistema Web3, donde los atacantes también pueden ser presa unos de otros.
Sugerencias de seguridad
Sugerencias de seguridad del proyecto
¿Cómo pueden los usuarios/LP determinar si un contrato inteligente es seguro?
En resumen, en el ámbito de las Finanzas descentralizadas, los problemas de seguridad siempre son una de las consideraciones más importantes. Tanto los desarrolladores de proyectos como los usuarios comunes deben mantenerse altamente alerta y tomar medidas de seguridad adecuadas para reducir riesgos y garantizar la seguridad de los activos.