Análisis de las vulnerabilidades de seguridad comunes en Finanzas descentralizadas: prevención de Flash Loans, manipulación de precios y ataques de reentrada.
Finanzas descentralizadas vulnerabilidades de seguridad comunes y medidas preventivas
Recientemente, un experto en seguridad compartió una clase de seguridad de Finanzas descentralizadas para los miembros de la comunidad. Revisó los importantes incidentes de seguridad que ha sufrido la industria de Web3 en el último año, exploró las razones por las cuales ocurrieron estos incidentes y cómo evitarlos, resumió las vulnerabilidades de seguridad comunes en los contratos inteligentes y las medidas de prevención, y dio algunos consejos de seguridad tanto para los proyectos como para los usuarios comunes.
Los tipos comunes de vulnerabilidades en Finanzas descentralizadas generalmente incluyen préstamos relámpago, manipulación de precios, problemas de permisos de funciones, llamadas externas arbitrarias, problemas con funciones fallback, vulnerabilidades de lógica empresarial, filtración de claves privadas, reentradas, 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
El préstamo relámpago en sí es una innovación de Finanzas descentralizadas, pero cuando es utilizado por hackers puede causar grandes pérdidas:
Los atacantes toman prestados grandes cantidades de dinero a través de préstamos relámpago, manipulan precios, atacan la lógica del negocio, etc.
Los desarrolladores deben considerar si las funciones del contrato pueden verse afectadas por grandes sumas de dinero, o si pueden ser utilizadas para obtener beneficios indebidos.
Algunos proyectos no consideraron el impacto de los préstamos relámpago al diseñar funciones, lo que llevó al robo de fondos.
En los últimos dos años han surgido muchos problemas relacionados con los préstamos relámpago. Algunos proyectos parecen tener altos rendimientos, pero en realidad presentan fallos lógicos, por ejemplo:
Se otorgan recompensas en función de la cantidad de posiciones en un tiempo fijo, siendo manipuladas para obtener grandes recompensas mediante préstamos relámpago.
Los proyectos que calculan precios a través de Token pueden verse afectados por préstamos relámpago.
El equipo del proyecto debería estar alerta ante estos problemas.
Manipulación de precios
El problema del control de precios está estrechamente relacionado con los préstamos relámpago, principalmente hay dos tipos:
Al calcular el precio se utilizan datos de terceros, pero el uso no es correcto o falta verificación.
Utilizar la cantidad de Token de ciertas direcciones como variable de cálculo, y estas cantidades pueden ser manipuladas temporalmente.
Ataque de reentrada
La llamada a contratos externos puede dar lugar a la toma de control del flujo, provocando cambios inesperados en los datos. Un ejemplo típico de ataque de reentrada:
solidez
mapeo (dirección => uint) saldoPrivado del usuario;
Debido a que el saldo del usuario se establece en 0 solo al final de la función, se puede extraer el saldo varias veces al llamar repetidamente.
Para resolver el problema de reentrada, se debe tener en cuenta:
No solo prevenir la reentrada de una única función
Seguir el patrón de Checks-Effects-Interactions
Utilizar un modificador de protección contra reentradas verificado
Se recomienda utilizar las mejores prácticas de seguridad maduras para evitar reinventar la rueda.
Sugerencias de seguridad
Sugerencias para el equipo del proyecto:
Seguir las mejores prácticas de seguridad en el desarrollo de contratos
Implementar la capacidad de actualizar y pausar contratos
Utilizar un 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 terceros con precaución, por defecto tanto el upstream como el downstream no son seguros.
¿Cómo pueden los usuarios determinar si un contrato inteligente es seguro?
Verificar si el contrato es de código abierto
Verificar si el Owner utiliza un multisig descentralizado
Ver la situación actual de las transacciones del contrato
Verifica si el contrato es actualizable y si tiene un bloqueo temporal.
Verificar si se acepta la auditoría de múltiples instituciones y si los permisos del propietario son excesivos.
Presta atención a la fiabilidad de los oráculos
En resumen, en el ámbito de las Finanzas descentralizadas, tanto los desarrolladores de proyectos como los usuarios comunes deben aumentar la conciencia de seguridad, tomar las medidas de seguridad necesarias para reducir riesgos y proteger 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.
11 me gusta
Recompensa
11
7
Republicar
Compartir
Comentar
0/400
TooScaredToSell
· 08-11 10:27
No hables de tantas reglas, lo importante es entrar directamente al mercado de monedas.
Ver originalesResponder0
MysteryBoxBuster
· 08-11 08:22
¿Otra vez intentando entender los Flash Loans...?
Ver originalesResponder0
GhostWalletSleuth
· 08-09 18:44
Rug Pull es la verdadera tecnología avanzada.
Ver originalesResponder0
CodeAuditQueen
· 08-09 18:43
Esto no es más que una vulnerabilidad de inyección de la era web1 que ha cambiado de piel.
Ver originalesResponder0
MoonlightGamer
· 08-09 18:39
¿Quién dice que DeFi no tiene nuevas formas de jugar? ¿No es esto lo que llegó?
Ver originalesResponder0
HashBandit
· 08-09 18:36
bruh perdió 50 eth en un exploit de préstamo relámpago en 2021... todavía me da pesadillas, para ser honesto
Análisis de las vulnerabilidades de seguridad comunes en Finanzas descentralizadas: prevención de Flash Loans, manipulación de precios y ataques de reentrada.
Finanzas descentralizadas vulnerabilidades de seguridad comunes y medidas preventivas
Recientemente, un experto en seguridad compartió una clase de seguridad de Finanzas descentralizadas para los miembros de la comunidad. Revisó los importantes incidentes de seguridad que ha sufrido la industria de Web3 en el último año, exploró las razones por las cuales ocurrieron estos incidentes y cómo evitarlos, resumió las vulnerabilidades de seguridad comunes en los contratos inteligentes y las medidas de prevención, y dio algunos consejos de seguridad tanto para los proyectos como para los usuarios comunes.
Los tipos comunes de vulnerabilidades en Finanzas descentralizadas generalmente incluyen préstamos relámpago, manipulación de precios, problemas de permisos de funciones, llamadas externas arbitrarias, problemas con funciones fallback, vulnerabilidades de lógica empresarial, filtración de claves privadas, reentradas, 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
El préstamo relámpago en sí es una innovación de Finanzas descentralizadas, pero cuando es utilizado por hackers puede causar grandes pérdidas:
En los últimos dos años han surgido muchos problemas relacionados con los préstamos relámpago. Algunos proyectos parecen tener altos rendimientos, pero en realidad presentan fallos lógicos, por ejemplo:
El equipo del proyecto debería estar alerta ante estos problemas.
Manipulación de precios
El problema del control de precios está estrechamente relacionado con los préstamos relámpago, principalmente hay dos tipos:
Ataque de reentrada
La llamada a contratos externos puede dar lugar a la toma de control del flujo, provocando cambios inesperados en los datos. Un ejemplo típico de ataque de reentrada:
solidez mapeo (dirección => uint) saldoPrivado del usuario;
función retirarSaldo() pública { uint amountToWithdraw = userBalances[msg.sender]; (bool success, ) = msg.sender.call.value(amountToWithdraw)(""); require(success); userBalances[msg.sender] = 0; }
Debido a que el saldo del usuario se establece en 0 solo al final de la función, se puede extraer el saldo varias veces al llamar repetidamente.
Para resolver el problema de reentrada, se debe tener en cuenta:
Se recomienda utilizar las mejores prácticas de seguridad maduras para evitar reinventar la rueda.
Sugerencias de seguridad
Sugerencias para el equipo del proyecto:
¿Cómo pueden los usuarios determinar si un contrato inteligente es seguro?
En resumen, en el ámbito de las Finanzas descentralizadas, tanto los desarrolladores de proyectos como los usuarios comunes deben aumentar la conciencia de seguridad, tomar las medidas de seguridad necesarias para reducir riesgos y proteger la seguridad de los activos.