Finanzas descentralizadas Seguridad: Vulnerabilidades de seguridad comunes y medidas preventivas
Recientemente, un experto en seguridad compartió un curso de seguridad DeFi 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, explorando las causas de estos eventos y las formas de prevenirlos. También resumió las vulnerabilidades de seguridad comunes en los contratos inteligentes y las medidas de prevención, al mismo tiempo que proporcionó algunos consejos de seguridad para los desarrolladores de proyectos y los usuarios comunes.
Tipos comunes de vulnerabilidades en Finanzas descentralizadas
Los tipos de vulnerabilidades comunes 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 de lógica empresarial, filtración de claves privadas y ataques de reentrada, entre otros. Este artículo se centrará en tres tipos: préstamos relámpago, manipulación de precios y 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 utilizados por los hackers para llevar a cabo ataques. Los atacantes suelen pedir prestadas grandes cantidades de dinero a través de préstamos relámpago, manipulando precios o atacando la lógica del negocio. Los desarrolladores deben considerar si las funciones del contrato pueden comportarse de manera anómala debido a la gran cantidad de fondos, o si es posible obtener recompensas indebidas al interactuar con múltiples funciones en una sola transacción utilizando grandes cantidades de dinero.
Muchos proyectos de Finanzas descentralizadas parecen ofrecer altos rendimientos, pero en realidad la capacidad 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, ciertos proyectos emiten 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 grandes cantidades de tokens, obteniendo así la mayor parte de las recompensas.
manipulación de precios
Los problemas de manipulación de precios están estrechamente relacionados con los préstamos relámpago. Este tipo de problemas proviene principalmente de ciertos parámetros en el cálculo de precios que pueden ser controlados por los usuarios. Hay dos tipos comunes de problemas:
Al calcular el precio se utilizan datos de terceros, pero un uso inadecuado o la falta de verificación puede llevar a que el precio sea manipulado maliciosamente.
Utilizar la cantidad de tokens de ciertas direcciones como variable de cálculo, y el saldo de tokens de esas direcciones puede ser aumentado o disminuido temporalmente.
ataque de reentrada
Uno de los principales riesgos de llamar a contratos externos es que pueden tomar el control del flujo y realizar cambios inesperados en los datos. Por ejemplo, en una función de retiro, si el saldo del usuario solo se establece en 0 al final de la función, entonces las llamadas repetidas pueden dar lugar a múltiples extracciones del saldo.
Al resolver el problema de reentrada, se deben tener en cuenta los siguientes puntos:
No solo se debe prevenir el problema de reentrada de una única función.
Seguir el patrón Checks-Effects-Interactions durante la codificación.
Utiliza un modificador anti-reentrada validado por el tiempo.
Es importante señalar que reinventar la rueda a menudo aumenta el riesgo de cometer errores. Utilizar las mejores prácticas de seguridad ya establecidas en la industria suele ser más confiable que desarrollar por cuenta propia.
Sugerencias de seguridad
Sugerencias de seguridad del equipo del proyecto
Seguir las mejores prácticas de seguridad en el desarrollo de contratos.
Implementar funciones de actualización y pausa de contratos.
Utilizar 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, fortaleciendo el control de riesgos mientras se mejora la eficiencia.
Introducir servicios de terceros con precaución y realizar verificaciones de seguridad tanto en la parte superior como en la inferior.
¿Cómo pueden los usuarios/LP juzgar la seguridad de los contratos inteligentes?
Verificar si el contrato es de código abierto.
Confirmar si el Owner utiliza un mecanismo de múltiples firmas descentralizado.
Ver la situación de las transacciones existentes del contrato.
Comprender si el contrato es un contrato de agencia, si es actualizable y si tiene un bloqueo temporal.
Confirma si el contrato ha sido auditado por varias instituciones y evalúa si los permisos del Owner son excesivos.
Presta atención al tipo de oráculo utilizado por el proyecto y su fiabilidad.
Al prestar atención a estos aspectos, los usuarios pueden evaluar mejor la seguridad del proyecto y reducir el riesgo de participación.
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
Compartir
Comentar
0/400
NFTArtisanHQ
· hace15h
análisis fascinante, pero en lugar de prevención, hablemos de la topología estética de los exploits de defi...
Ver originalesResponder0
BloodInStreets
· hace15h
Reducir pérdidas es la protección más segura.
Ver originalesResponder0
GateUser-e51e87c7
· hace15h
Aprendí sobre seguridad y aún así fui robado.
Ver originalesResponder0
mev_me_maybe
· hace15h
Ay, no puedo recordar bien.
Ver originalesResponder0
ForumMiningMaster
· hace15h
Los tontos deben aprender antes de entrar al mercado.
Ver originalesResponder0
GweiTooHigh
· hace15h
Otra vez hablando de vulnerabilidades de seguridad, estoy harto.
Curso de seguridad en Finanzas descentralizadas: Revelando vulnerabilidades comunes y estrategias de protección
Finanzas descentralizadas Seguridad: Vulnerabilidades de seguridad comunes y medidas preventivas
Recientemente, un experto en seguridad compartió un curso de seguridad DeFi 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, explorando las causas de estos eventos y las formas de prevenirlos. También resumió las vulnerabilidades de seguridad comunes en los contratos inteligentes y las medidas de prevención, al mismo tiempo que proporcionó algunos consejos de seguridad para los desarrolladores de proyectos y los usuarios comunes.
Tipos comunes de vulnerabilidades en Finanzas descentralizadas
Los tipos de vulnerabilidades comunes 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 de lógica empresarial, filtración de claves privadas y ataques de reentrada, entre otros. Este artículo se centrará en tres tipos: préstamos relámpago, manipulación de precios y 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 utilizados por los hackers para llevar a cabo ataques. Los atacantes suelen pedir prestadas grandes cantidades de dinero a través de préstamos relámpago, manipulando precios o atacando la lógica del negocio. Los desarrolladores deben considerar si las funciones del contrato pueden comportarse de manera anómala debido a la gran cantidad de fondos, o si es posible obtener recompensas indebidas al interactuar con múltiples funciones en una sola transacción utilizando grandes cantidades de dinero.
Muchos proyectos de Finanzas descentralizadas parecen ofrecer altos rendimientos, pero en realidad la capacidad 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, ciertos proyectos emiten 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 grandes cantidades de tokens, obteniendo así la mayor parte de las recompensas.
manipulación de precios
Los problemas de manipulación de precios están estrechamente relacionados con los préstamos relámpago. Este tipo de problemas proviene principalmente de ciertos parámetros en el cálculo de precios que pueden ser controlados por los usuarios. Hay dos tipos comunes de problemas:
ataque de reentrada
Uno de los principales riesgos de llamar a contratos externos es que pueden tomar el control del flujo y realizar cambios inesperados en los datos. Por ejemplo, en una función de retiro, si el saldo del usuario solo se establece en 0 al final de la función, entonces las llamadas repetidas pueden dar lugar a múltiples extracciones del saldo.
Al resolver el problema de reentrada, se deben tener en cuenta los siguientes puntos:
Es importante señalar que reinventar la rueda a menudo aumenta el riesgo de cometer errores. Utilizar las mejores prácticas de seguridad ya establecidas en la industria suele ser más confiable que desarrollar por cuenta propia.
Sugerencias de seguridad
Sugerencias de seguridad del equipo del proyecto
¿Cómo pueden los usuarios/LP juzgar la seguridad de los contratos inteligentes?
Al prestar atención a estos aspectos, los usuarios pueden evaluar mejor la seguridad del proyecto y reducir el riesgo de participación.