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 enfrentado la industria Web3 en el último año, 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 de prevención, y proporcionó algunos consejos de seguridad para los desarrolladores de proyectos y los usuarios comunes.
Los tipos comunes de vulnerabilidades en Finanzas descentralizadas incluyen préstamos relámpago, manipulación de precios, problemas de permisos en funciones, llamadas externas arbitrarias, problemas con funciones 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
El préstamo relámpago es una innovación en las Finanzas descentralizadas, pero también es utilizado frecuentemente por hackers. Los atacantes suelen pedir prestado grandes cantidades de dinero a través de préstamos relámpago para manipular precios o atacar la lógica del negocio. Los desarrolladores deben considerar si la funcionalidad del contrato podría sufrir anomalías debido a grandes cantidades de dinero, o si podría ser explotada para obtener recompensas indebidas.
Muchos proyectos de Finanzas descentralizadas parecen tener altos rendimientos, pero en realidad el nivel de los equipos detrás de ellos varía. Incluso si el código en sí no tiene vulnerabilidades, puede haber problemas lógicos. Por ejemplo, algunos proyectos distribuyen recompensas en momentos fijos según la cantidad de tokens que poseen los titulares, pero son aprovechados por atacantes que utilizan 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. Existen dos tipos comunes de problemas:
Al calcular el precio, se utilizan datos de terceros, pero el método de uso es incorrecto o falta de verificación, lo que lleva 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 estas direcciones puede ser aumentado o reducido 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 no anticipados en los datos. Un ejemplo típico de un ataque de reentrada es cuando se completa la operación de transferencia antes de que se actualice el saldo del usuario, lo que permite al atacante retirar el saldo repetidamente.
Para resolver el problema de reentrada, debe 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 al codificar;
Utilizar un modificador de anti-reentrada probado a lo largo del tiempo.
Cabe destacar que en este campo ya existen muchas mejores prácticas de seguridad, por lo que no es necesario reinventar la rueda. Utilizar soluciones maduras que han sido ampliamente verificadas es más seguro que desarrollar nuevas soluciones por uno mismo.
Sugerencias de seguridad del proyecto
Seguir las mejores prácticas de seguridad en el desarrollo de contratos.
Implementar funciones de contrato que se puedan actualizar y pausar.
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, fortaleciendo el control de riesgos mientras se mejora la eficiencia.
Introducir dependencias de terceros con precaución y realizar verificaciones de seguridad en la cadena de suministro.
¿Cómo pueden los usuarios determinar si un contrato inteligente es seguro?
Confirma si el contrato es de código abierto.
Verifica 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 de tiempo.
Confirme si el contrato ha sido auditado por varias instituciones y si los permisos del propietario son excesivos.
Presta atención al uso de oráculos, especialmente ten cuidado con los oráculos construidos por ti mismo o poco fiables.
Al prestar atención a estos aspectos, los usuarios pueden evaluar mejor la seguridad de los contratos inteligentes y reducir el riesgo de participar en proyectos de Finanzas descentralizadas.
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
10 me gusta
Recompensa
10
3
Compartir
Comentar
0/400
BearMarketHustler
· hace9h
Las vulnerabilidades en los contratos aparecen todos los días y no se toman precauciones.
Ver originalesResponder0
ImpermanentLossFan
· hace10h
Tanto malo como juguetón, realmente he muerto mil veces...
Curso de seguridad en Finanzas descentralizadas: Análisis completo de los tipos de vulnerabilidades comunes y medidas de prevención.
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 enfrentado la industria Web3 en el último año, 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 de prevención, y proporcionó algunos consejos de seguridad para los desarrolladores de proyectos y los usuarios comunes.
Los tipos comunes de vulnerabilidades en Finanzas descentralizadas incluyen préstamos relámpago, manipulación de precios, problemas de permisos en funciones, llamadas externas arbitrarias, problemas con funciones 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
El préstamo relámpago es una innovación en las Finanzas descentralizadas, pero también es utilizado frecuentemente por hackers. Los atacantes suelen pedir prestado grandes cantidades de dinero a través de préstamos relámpago para manipular precios o atacar la lógica del negocio. Los desarrolladores deben considerar si la funcionalidad del contrato podría sufrir anomalías debido a grandes cantidades de dinero, o si podría ser explotada para obtener recompensas indebidas.
Muchos proyectos de Finanzas descentralizadas parecen tener altos rendimientos, pero en realidad el nivel de los equipos detrás de ellos varía. Incluso si el código en sí no tiene vulnerabilidades, puede haber problemas lógicos. Por ejemplo, algunos proyectos distribuyen recompensas en momentos fijos según la cantidad de tokens que poseen los titulares, pero son aprovechados por atacantes que utilizan 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. Existen 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 no anticipados en los datos. Un ejemplo típico de un ataque de reentrada es cuando se completa la operación de transferencia antes de que se actualice el saldo del usuario, lo que permite al atacante retirar el saldo repetidamente.
Para resolver el problema de reentrada, debe tener en cuenta los siguientes puntos:
Cabe destacar que en este campo ya existen muchas mejores prácticas de seguridad, por lo que no es necesario reinventar la rueda. Utilizar soluciones maduras que han sido ampliamente verificadas es más seguro que desarrollar nuevas soluciones por uno mismo.
Sugerencias de seguridad del proyecto
¿Cómo pueden los usuarios determinar si un contrato inteligente es seguro?
Al prestar atención a estos aspectos, los usuarios pueden evaluar mejor la seguridad de los contratos inteligentes y reducir el riesgo de participar en proyectos de Finanzas descentralizadas.