Finanzas descentralizadas comunes vulnerabilidades de seguridad y medidas de prevención
Recientemente, un experto en seguridad compartió una clase de seguridad de Finanzas descentralizadas para los miembros de la comunidad. Repasó los importantes incidentes de seguridad que ha sufrido la industria Web3 en más de un año, exploró las razones detrás de estos incidentes y cómo evitarlos, resumió las vulnerabilidades de seguridad comunes en los contratos inteligentes y las medidas preventivas, y ofreció 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 de fallback, vulnerabilidades de lógica de negocio, filtración de claves privadas y ataques de reentrada, entre otros. 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 puede ser fácilmente explotado por hackers. Los atacantes suelen pedir prestados grandes cantidades de dinero a través de préstamos relámpago para manipular precios o atacar la lógica comercial. Los desarrolladores deben considerar si las funciones del contrato podrían verse afectadas por grandes sumas de dinero, o si podrían ser explotadas para obtener recompensas indebidas.
Muchos proyectos de Finanzas descentralizadas parecen tener altos rendimientos, pero en realidad, el nivel de los equipos detrás de los proyectos es desigual. Algunos proyectos pueden haber comprado su código, y aunque el código en sí no tenga vulnerabilidades, podría haber problemas lógicos. Por ejemplo, algunos proyectos distribuyen recompensas en un momento fijo según la cantidad de tokens que tienen los poseedores, pero los atacantes pueden aprovechar los préstamos relámpago para comprar una gran cantidad de tokens y así obtener 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, 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 uso no es correcto o falta verificación, lo que lleva a que el precio sea manipulado maliciosamente.
Utilizar la cantidad de tokens en ciertas direcciones como variable de cálculo, y los saldos de tokens en estas direcciones pueden ser aumentados o disminuidos 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. Por ejemplo, en la función de retiro, si la actualización del saldo del usuario es posterior a la salida de fondos, puede dar lugar a retiros duplicados.
Para resolver el problema de reentrada, es necesario tener en cuenta los siguientes puntos:
No solo se debe prevenir el problema de reentrada de una sola función.
Seguir el patrón Checks-Effects-Interactions al codificar.
Utilizar decoradores de prevención de reentradas que han sido probados a lo largo del tiempo.
Es importante destacar que reinventar la rueda a menudo es innecesario. Usar soluciones maduras y bien verificadas es más seguro que desarrollar por cuenta propia.
Sugerencias de seguridad
Sugerencias de seguridad del equipo del proyecto
Seguir las mejores prácticas de seguridad para el desarrollo de contratos.
Implementar funciones de actualización y pausa del contrato.
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, mejorando la eficiencia al mismo tiempo que se refuerza el control de riesgos.
Introducir componentes de terceros con precaución, asegurando su seguridad.
¿Cómo pueden los usuarios juzgar la seguridad de los contratos inteligentes?
Verifica si el contrato es de código abierto.
Confirmar si el Owner utiliza un mecanismo de múltiples firmas descentralizado.
Ver el estado de las operaciones existentes del contrato.
Confirma si el contrato es un contrato de agencia, si es actualizable y si tiene un bloqueo de tiempo.
Verificar si el contrato ha sido auditado por múltiples instituciones y si los permisos del propietario son demasiado amplios.
Presta atención a la fiabilidad del oráculo utilizado por el proyecto.
Al prestar atención a estos aspectos, los usuarios pueden evaluar mejor la seguridad de los contratos inteligentes y reducir la probabilidad de participar en proyectos de riesgo.
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
6
Compartir
Comentar
0/400
ETHReserveBank
· hace5h
Este tema que se repite constantemente.
Ver originalesResponder0
ThreeHornBlasts
· hace17h
Escuchar a un maestro es mejor que leer diez años de libros.
Ver originalesResponder0
fomo_fighter
· hace17h
tomar a la gente por tonta y Rug Pull!
Ver originalesResponder0
MetaverseVagrant
· hace17h
Flash Loans又被Ser engañados了
Ver originalesResponder0
BagHolderTillRetire
· hace17h
Continuamente golpeado hasta temer al mundo Cripto
Finanzas descentralizadas seguridad 101: Profundidad en el análisis de vulnerabilidades comunes y estrategias de protecció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 para los miembros de la comunidad. Repasó los importantes incidentes de seguridad que ha sufrido la industria Web3 en más de un año, exploró las razones detrás de estos incidentes y cómo evitarlos, resumió las vulnerabilidades de seguridad comunes en los contratos inteligentes y las medidas preventivas, y ofreció 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 de fallback, vulnerabilidades de lógica de negocio, filtración de claves privadas y ataques de reentrada, entre otros. 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 puede ser fácilmente explotado por hackers. Los atacantes suelen pedir prestados grandes cantidades de dinero a través de préstamos relámpago para manipular precios o atacar la lógica comercial. Los desarrolladores deben considerar si las funciones del contrato podrían verse afectadas por grandes sumas de dinero, o si podrían ser explotadas para obtener recompensas indebidas.
Muchos proyectos de Finanzas descentralizadas parecen tener altos rendimientos, pero en realidad, el nivel de los equipos detrás de los proyectos es desigual. Algunos proyectos pueden haber comprado su código, y aunque el código en sí no tenga vulnerabilidades, podría haber problemas lógicos. Por ejemplo, algunos proyectos distribuyen recompensas en un momento fijo según la cantidad de tokens que tienen los poseedores, pero los atacantes pueden aprovechar los préstamos relámpago para comprar una gran cantidad de tokens y así obtener 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, 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. Por ejemplo, en la función de retiro, si la actualización del saldo del usuario es posterior a la salida de fondos, puede dar lugar a retiros duplicados.
Para resolver el problema de reentrada, es necesario tener en cuenta los siguientes puntos:
Es importante destacar que reinventar la rueda a menudo es innecesario. Usar soluciones maduras y bien verificadas es más seguro que desarrollar por cuenta propia.
Sugerencias de seguridad
Sugerencias de seguridad del equipo del proyecto
¿Cómo pueden los usuarios juzgar la seguridad de los contratos inteligentes?
Al prestar atención a estos aspectos, los usuarios pueden evaluar mejor la seguridad de los contratos inteligentes y reducir la probabilidad de participar en proyectos de riesgo.