Finanzas descentralizadas vulnerabilidades de seguridad comunes y medidas de prevención
Recientemente, un experto en seguridad compartió una lección sobre seguridad en Finanzas descentralizadas para los miembros de la comunidad. El experto revisó los importantes incidentes de seguridad que ha enfrentado la industria de Web3 en el último año, exploró las razones por las que ocurrieron estos eventos y cómo evitarlos, resumió las vulnerabilidades de seguridad comunes en los contratos inteligentes y las medidas preventivas, y también ofreció algunos consejos de seguridad tanto para los proyectos como para los usuarios comunes.
Los tipos comunes de vulnerabilidades en DeFi 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 de negocio, 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
Los préstamos relámpago son una innovación en las Finanzas descentralizadas, pero también son comúnmente usados por hackers. Los atacantes piden prestados grandes cantidades de fondos a través de préstamos relámpago para manipular precios o atacar la lógica de negocio. Los desarrolladores deben considerar si la funcionalidad del contrato puede provocar anomalías debido a grandes cantidades de fondos, o si puede ser explotada en una sola transacción para interactuar con múltiples funciones y obtener beneficios indebidos.
Muchos proyectos de Finanzas descentralizadas parecen tener altos rendimientos, pero en realidad el nivel de los equipos detrás de los proyectos varía. Algunos proyectos pueden haber comprado su código, y aunque el código en sí no tenga vulnerabilidades, aún pueden existir problemas lógicos. Por ejemplo, algunos proyectos otorgan recompensas en momentos fijos basándose en 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
El problema del control de precios está estrechamente relacionado 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. Existen dos tipos comunes de problemas:
Se utilizan datos de terceros para calcular el precio, pero el uso es incorrecto o falta de verificación, lo que lleva a que el precio sea manipulado maliciosamente.
Usar la cantidad de tokens de ciertas direcciones como variable de cálculo, donde el saldo de tokens de estas direcciones puede ser temporalmente incrementado o reducido.
Ataque de reingreso
El ataque de reentrada es uno de los principales peligros que se pueden enfrentar al llamar a contratos externos. Un atacante puede tomar el control del flujo y realizar cambios inesperados en los datos al llamar a una función. Por ejemplo, en la función de retiro, si el saldo del usuario se establece en 0 al final de la función, el atacante puede llamar a esa función repetidamente en el medio, extrayendo el saldo varias veces.
Para los ataques de reentrada, se deben tener en cuenta los siguientes puntos:
No solo se previene el problema de reentrada de una sola función.
Seguir el patrón Checks-Effects-Interactions al codificar
Utilizar un modificador de protección contra reentradas que haya sido comprobado con el tiempo
Al abordar problemas de seguridad, se deben utilizar las mejores prácticas de seguridad que ya han sido suficientemente verificadas, en lugar de reinventar la rueda.
Sugerencias de seguridad para el equipo del proyecto
Seguir las mejores prácticas de seguridad en el desarrollo de contratos
Implementar la función de actualización y pausa del contrato
Adopción de mecanismos 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 componentes de terceros con precaución, asegurando la seguridad.
¿Cómo pueden los usuarios determinar si un contrato inteligente es seguro?
Confirmar si el contrato es de código abierto
Verifique si el Owner utiliza un mecanismo de múltiples firmas descentralizado
Ver las transacciones existentes del contrato
Comprender si el contrato es un contrato de agente, si es actualizable y si tiene un bloqueo temporal.
Confirma si el contrato ha sido auditado por varias instituciones y si los permisos del Owner son demasiado amplios.
Presta atención al uso de los oráculos
A través de las medidas anteriores, tanto el equipo del proyecto como los usuarios pueden, en cierta medida, mejorar la seguridad de los proyectos de Finanzas descentralizadas y reducir el riesgo de ataques.
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.
21 me gusta
Recompensa
21
8
Compartir
Comentar
0/400
SadMoneyMeow
· 07-18 23:00
Escuchando durante tantos años para nada, al final, si hay que tomar a la gente por tonta, se toma.
Ver originalesResponder0
DefiPlaybook
· 07-17 00:45
Estadísticas muestran que las vulnerabilidades de los Flash Loans representan el 43.7% de las pérdidas en Finanzas descentralizadas.
Ver originalesResponder0
LiquiditySurfer
· 07-16 23:58
Proteja su billetera, todos
Ver originalesResponder0
FundingMartyr
· 07-15 23:30
Solo se aprende de las pérdidas después de haberlas sufrido.
Ver originalesResponder0
alpha_leaker
· 07-15 23:17
Viendo cosas extrañas, ya soy un viejo hacker.
Ver originalesResponder0
GateUser-00be86fc
· 07-15 23:10
¿Cómo se juega con tantos errores?
Ver originalesResponder0
LongTermDreamer
· 07-15 23:03
Otro día de diario de alimentar ovejas que es igual que hace tres años.
Guía de seguridad DeFi: análisis de tipos de vulnerabilidades comunes y estrategias de prevención
Finanzas descentralizadas vulnerabilidades de seguridad comunes y medidas de prevención
Recientemente, un experto en seguridad compartió una lección sobre seguridad en Finanzas descentralizadas para los miembros de la comunidad. El experto revisó los importantes incidentes de seguridad que ha enfrentado la industria de Web3 en el último año, exploró las razones por las que ocurrieron estos eventos y cómo evitarlos, resumió las vulnerabilidades de seguridad comunes en los contratos inteligentes y las medidas preventivas, y también ofreció algunos consejos de seguridad tanto para los proyectos como para los usuarios comunes.
Los tipos comunes de vulnerabilidades en DeFi 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 de negocio, 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
Los préstamos relámpago son una innovación en las Finanzas descentralizadas, pero también son comúnmente usados por hackers. Los atacantes piden prestados grandes cantidades de fondos a través de préstamos relámpago para manipular precios o atacar la lógica de negocio. Los desarrolladores deben considerar si la funcionalidad del contrato puede provocar anomalías debido a grandes cantidades de fondos, o si puede ser explotada en una sola transacción para interactuar con múltiples funciones y obtener beneficios indebidos.
Muchos proyectos de Finanzas descentralizadas parecen tener altos rendimientos, pero en realidad el nivel de los equipos detrás de los proyectos varía. Algunos proyectos pueden haber comprado su código, y aunque el código en sí no tenga vulnerabilidades, aún pueden existir problemas lógicos. Por ejemplo, algunos proyectos otorgan recompensas en momentos fijos basándose en 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
El problema del control de precios está estrechamente relacionado 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. Existen dos tipos comunes de problemas:
Ataque de reingreso
El ataque de reentrada es uno de los principales peligros que se pueden enfrentar al llamar a contratos externos. Un atacante puede tomar el control del flujo y realizar cambios inesperados en los datos al llamar a una función. Por ejemplo, en la función de retiro, si el saldo del usuario se establece en 0 al final de la función, el atacante puede llamar a esa función repetidamente en el medio, extrayendo el saldo varias veces.
Para los ataques de reentrada, se deben tener en cuenta los siguientes puntos:
Al abordar problemas de seguridad, se deben utilizar las mejores prácticas de seguridad que ya han sido suficientemente verificadas, en lugar de reinventar la rueda.
Sugerencias de seguridad para el equipo del proyecto
¿Cómo pueden los usuarios determinar si un contrato inteligente es seguro?
A través de las medidas anteriores, tanto el equipo del proyecto como los usuarios pueden, en cierta medida, mejorar la seguridad de los proyectos de Finanzas descentralizadas y reducir el riesgo de ataques.