Análisis completo de vulnerabilidades de seguridad en Finanzas descentralizadas: guía de prevención de Flash Loans, manipulación de precios y ataques de reentrada.
Finanzas descentralizadas comunes vulnerabilidades de seguridad y medidas de prevención
Recientemente, un experto en seguridad compartió una clase de seguridad de Finanzas descentralizadas con los miembros de la comunidad. El experto revisó los importantes incidentes de seguridad que ha sufrido la industria Web3 en el último año, exploró las causas de estos incidentes y las maneras de evitarlos, resumió las vulnerabilidades de seguridad comunes en los contratos inteligentes y las medidas de prevención, y brindó 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 fallback, vulnerabilidades de lógica comercial, 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 las Finanzas descentralizadas, pero puede ser utilizado por hackers para pedir prestado dinero sin costo alguno para realizar arbitraje. Muchos proyectos de Finanzas descentralizadas parecen ofrecer altos rendimientos, pero la calidad de los equipos detrás de los proyectos varía. Incluso si el código en sí no tiene vulnerabilidades, aún pueden existir problemas lógicos. Por ejemplo, algunos proyectos otorgan recompensas en función de la cantidad de tokens que poseen los tenedores en un momento fijo, pero los atacantes pueden aprovechar el préstamo relámpago para comprar una gran cantidad de tokens y obtener la mayor parte de las recompensas cuando se distribuyen. También hay algunos proyectos que calculan precios a través de tokens, que pueden ser influenciados por préstamos relámpago. Los equipos de los proyectos deberían 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 debido a que ciertos parámetros pueden ser controlados por el usuario al calcular el precio. Hay dos tipos comunes de problemas:
Al calcular el precio se utilizan datos de terceros, pero el uso incorrecto o la falta de verificación provocan la manipulación maliciosa del precio.
Utilizar la cantidad de Token de ciertas direcciones como variable de cálculo, y el saldo de Token de estas direcciones puede ser aumentado o disminuido temporalmente.
Ataque de reentrada
Uno de los principales peligros de invocar contratos externos es que pueden tomar el control del flujo, realizando cambios no previstos en los datos al llamar a funciones. Existen muchas formas de reentrada en diferentes contratos, que pueden combinarse con diferentes funciones o funciones de múltiples contratos para llevar a cabo un ataque. Para resolver el problema de reentrada, se debe tener en cuenta:
No solo previene el problema de reentrada de una sola función.
Seguir el patrón de codificación Checks-Effects-Interactions
Utiliza un modificador de protección contra reentradas que haya sido validado por el tiempo.
Lo que más temo es reinventar la rueda; dentro de este ámbito hay muchas mejores prácticas de seguridad que se pueden utilizar directamente, no es necesario reinventar la rueda. Crear una rueda por sí mismo, sin la debida validación, tiene una probabilidad de problemas claramente mayor que utilizar soluciones maduras y probadas.
Sugerencias de seguridad para el proyecto
El desarrollo de contratos sigue las mejores prácticas de seguridad
Los contratos pueden ser actualizados y pausados.
Adoptar 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, mientras se mejora la eficiencia y se refuerza el control de riesgos.
Introducir con precaución a terceros, verificar la cadena de suministro
Cómo los usuarios/LP pueden determinar si un contrato inteligente es seguro
¿El contrato es de código abierto?
¿El propietario utiliza múltiples firmas? ¿Las múltiples firmas son descentralizadas?
Situación de las transacciones del contrato existente
¿Es el contrato un contrato de agencia, es actualizable, tiene una fecha de bloqueo?
¿El contrato ha sido auditado por varias instituciones, y los permisos del propietario son excesivos?
Presta atención a la selección y uso de oráculos
En resumen, los usuarios deben ser especialmente cautelosos al participar en proyectos de Finanzas descentralizadas, evaluando la seguridad del proyecto desde múltiples perspectivas y no dejarse cegar por altos rendimientos. Los promotores del proyecto, por su parte, deben construir líneas de defensa de seguridad desde múltiples niveles y prestar atención y mejorar continuamente la seguridad del proyecto.
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.
10 me gusta
Recompensa
10
6
Compartir
Comentar
0/400
GhostInTheChain
· hace6h
tomar a la gente por tonta durante un año me ha hecho ver la realidad
Ver originalesResponder0
MiningDisasterSurvivor
· 07-29 19:14
Otra oleada de tontos va a ser tomada a la gente por tonta.
Ver originalesResponder0
BearMarketBard
· 07-29 19:12
Experiencias sobre rug pull en el foro de Baidu
Ver originalesResponder0
TestnetFreeloader
· 07-29 19:08
Billetera de núcleo, ¡muy rápido!
Ver originalesResponder0
BearMarketGardener
· 07-29 18:58
¡Otra vez la misma historia, lo que tiene que colapsar, colapsará!
Análisis completo de vulnerabilidades de seguridad en Finanzas descentralizadas: guía de prevención de Flash Loans, manipulación de precios y ataques de reentrada.
Finanzas descentralizadas comunes vulnerabilidades de seguridad y medidas de prevención
Recientemente, un experto en seguridad compartió una clase de seguridad de Finanzas descentralizadas con los miembros de la comunidad. El experto revisó los importantes incidentes de seguridad que ha sufrido la industria Web3 en el último año, exploró las causas de estos incidentes y las maneras de evitarlos, resumió las vulnerabilidades de seguridad comunes en los contratos inteligentes y las medidas de prevención, y brindó 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 fallback, vulnerabilidades de lógica comercial, 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 las Finanzas descentralizadas, pero puede ser utilizado por hackers para pedir prestado dinero sin costo alguno para realizar arbitraje. Muchos proyectos de Finanzas descentralizadas parecen ofrecer altos rendimientos, pero la calidad de los equipos detrás de los proyectos varía. Incluso si el código en sí no tiene vulnerabilidades, aún pueden existir problemas lógicos. Por ejemplo, algunos proyectos otorgan recompensas en función de la cantidad de tokens que poseen los tenedores en un momento fijo, pero los atacantes pueden aprovechar el préstamo relámpago para comprar una gran cantidad de tokens y obtener la mayor parte de las recompensas cuando se distribuyen. También hay algunos proyectos que calculan precios a través de tokens, que pueden ser influenciados por préstamos relámpago. Los equipos de los proyectos deberían 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 debido a que ciertos parámetros pueden ser controlados por el usuario al calcular el precio. Hay dos tipos comunes de problemas:
Al calcular el precio se utilizan datos de terceros, pero el uso incorrecto o la falta de verificación provocan la manipulación maliciosa del precio.
Utilizar la cantidad de Token de ciertas direcciones como variable de cálculo, y el saldo de Token de estas direcciones puede ser aumentado o disminuido temporalmente.
Ataque de reentrada
Uno de los principales peligros de invocar contratos externos es que pueden tomar el control del flujo, realizando cambios no previstos en los datos al llamar a funciones. Existen muchas formas de reentrada en diferentes contratos, que pueden combinarse con diferentes funciones o funciones de múltiples contratos para llevar a cabo un ataque. Para resolver el problema de reentrada, se debe tener en cuenta:
No solo previene el problema de reentrada de una sola función.
Seguir el patrón de codificación Checks-Effects-Interactions
Utiliza un modificador de protección contra reentradas que haya sido validado por el tiempo.
Lo que más temo es reinventar la rueda; dentro de este ámbito hay muchas mejores prácticas de seguridad que se pueden utilizar directamente, no es necesario reinventar la rueda. Crear una rueda por sí mismo, sin la debida validación, tiene una probabilidad de problemas claramente mayor que utilizar soluciones maduras y probadas.
Sugerencias de seguridad para el proyecto
El desarrollo de contratos sigue las mejores prácticas de seguridad
Los contratos pueden ser actualizados y pausados.
Adoptar 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, mientras se mejora la eficiencia y se refuerza el control de riesgos.
Introducir con precaución a terceros, verificar la cadena de suministro
Cómo los usuarios/LP pueden determinar si un contrato inteligente es seguro
¿El contrato es de código abierto?
¿El propietario utiliza múltiples firmas? ¿Las múltiples firmas son descentralizadas?
Situación de las transacciones del contrato existente
¿Es el contrato un contrato de agencia, es actualizable, tiene una fecha de bloqueo?
¿El contrato ha sido auditado por varias instituciones, y los permisos del propietario son excesivos?
Presta atención a la selección y uso de oráculos
En resumen, los usuarios deben ser especialmente cautelosos al participar en proyectos de Finanzas descentralizadas, evaluando la seguridad del proyecto desde múltiples perspectivas y no dejarse cegar por altos rendimientos. Los promotores del proyecto, por su parte, deben construir líneas de defensa de seguridad desde múltiples niveles y prestar atención y mejorar continuamente la seguridad del proyecto.