Finanzas descentralizadas seguridad vulnerabilidades 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 enfrentado la industria de Web3 recientemente, exploró las causas de estos eventos y los métodos para evitarlos, resumió las vulnerabilidades de seguridad comunes en los contratos inteligentes y las medidas preventivas, y proporcionó algunos consejos de seguridad para los proyectos y los usuarios.
Los tipos comunes de vulnerabilidades en las Finanzas descentralizadas incluyen préstamos relámpago, manipulación de precios, problemas de permisos de funciones, llamadas externas arbitrarias, problemas con la función fallback, vulnerabilidades en la lógica de negocio, filtración de claves privadas, ataques de reentrada, entre otros. A continuación, nos centraremos en tres tipos: préstamos relámpago, manipulación de precios y ataques de reentrada.
Préstamo relámpago
El préstamo relámpago es en sí una innovación de las Finanzas descentralizadas, pero puede causar enormes pérdidas cuando es utilizado por hackers:
Los atacantes piden prestado una gran cantidad de fondos 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 se verán afectadas por grandes cantidades de dinero.
Algunos proyectos utilizan la cantidad de Tokens para calcular recompensas, o utilizan la cantidad de Tokens en pares de comercio DEX para participar en el cálculo, estas variables son fácilmente manipulables por préstamos relámpago.
En los últimos dos años, muchos proyectos de altas rentabilidades en Finanzas descentralizadas han sufrido ataques de préstamos relámpago debido a problemas de código o lógica. Por ejemplo, algunos proyectos otorgan recompensas en momentos fijos según la cantidad de tokens en posesión, y los atacantes utilizan préstamos relámpago para comprar una gran cantidad de tokens y obtener la mayor parte de las recompensas.
Manipulación de precios
El problema de la manipulación de precios está estrechamente relacionado con los préstamos relámpago, y principalmente hay dos tipos:
Al calcular el precio, se utilizan datos de terceros, pero el método de uso es incorrecto o falta verificación.
Usar el saldo de tokens de ciertas direcciones como variable de cálculo, y esos saldos pueden ser aumentados o disminuidos temporalmente.
Ataque de reentrada
El principal riesgo de llamar a contratos externos es que pueden tomar el control del flujo, realizando cambios inesperados en los datos. Por ejemplo:
Debido a que el saldo del usuario se restablece a cero solo al final de la función, las llamadas repetidas aún pueden extraer el saldo con éxito.
Para resolver el problema de reentrada, es necesario tener en cuenta:
No solo previene la reentrada de una única función
Seguir el patrón de Checks-Effects-Interactions
Utilizar el modificador de protección contra reentradas verificado
Los ataques de reentrada son diversos y pueden involucrar múltiples funciones o contratos. Se recomienda utilizar prácticas de seguridad establecidas para evitar reinventar la rueda.
Sugerencias de seguridad
Sugerencias de seguridad del proyecto
Seguir las mejores prácticas de seguridad en el desarrollo de contratos.
Implementar funciones de contrato actualizables y pausables
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 comportamiento malicioso interno, mientras se mejora la eficiencia y se refuerza el control de riesgos.
Introducir terceros con precaución, por defecto tanto el upstream como el downstream no son seguros.
El usuario evalúa la seguridad del contrato inteligente
Verificar la situación de las transacciones existentes del contrato
¿El contrato es actualizable y tiene un tiempo de bloqueo?
¿El contrato acepta auditorías de múltiples instituciones? ¿Los permisos del propietario son demasiado amplios?
Presta atención a la fiabilidad de los oráculos
En resumen, en el campo de las Finanzas descentralizadas hay numerosos riesgos de seguridad, tanto los desarrolladores de proyectos como los usuarios deben estar alerta, adoptar múltiples medidas de protección y mantener conjuntamente la seguridad del ecosistema.
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.
19 me gusta
Recompensa
19
4
Compartir
Comentar
0/400
TokenCreatorOP
· 07-28 02:54
Si lo hubieras dicho antes, ya no tengo usdt.
Ver originalesResponder0
RooftopReserver
· 07-28 02:53
Otra vez hay tontos que quieren subir al tejado.
Ver originalesResponder0
consensus_failure
· 07-28 02:53
Otra vez interpretando un guion de trampa y Rug Pull~
Seguridad en DeFi: Guía de prevención de Flash Loans, manipulación de precios y ataques de reentrada
Finanzas descentralizadas seguridad vulnerabilidades 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 enfrentado la industria de Web3 recientemente, exploró las causas de estos eventos y los métodos para evitarlos, resumió las vulnerabilidades de seguridad comunes en los contratos inteligentes y las medidas preventivas, y proporcionó algunos consejos de seguridad para los proyectos y los usuarios.
Los tipos comunes de vulnerabilidades en las Finanzas descentralizadas incluyen préstamos relámpago, manipulación de precios, problemas de permisos de funciones, llamadas externas arbitrarias, problemas con la función fallback, vulnerabilidades en la lógica de negocio, filtración de claves privadas, ataques de reentrada, entre otros. A continuación, nos centraremos en tres tipos: préstamos relámpago, manipulación de precios y ataques de reentrada.
Préstamo relámpago
El préstamo relámpago es en sí una innovación de las Finanzas descentralizadas, pero puede causar enormes pérdidas cuando es utilizado por hackers:
En los últimos dos años, muchos proyectos de altas rentabilidades en Finanzas descentralizadas han sufrido ataques de préstamos relámpago debido a problemas de código o lógica. Por ejemplo, algunos proyectos otorgan recompensas en momentos fijos según la cantidad de tokens en posesión, y los atacantes utilizan préstamos relámpago para comprar una gran cantidad de tokens y obtener la mayor parte de las recompensas.
Manipulación de precios
El problema de la manipulación de precios está estrechamente relacionado con los préstamos relámpago, y principalmente hay dos tipos:
Ataque de reentrada
El principal riesgo de llamar a contratos externos es que pueden tomar el control del flujo, realizando cambios inesperados en los datos. Por ejemplo:
solidez mapeo (direccion => uint) saldoPrivadoUsuarios;
función withdrawBalance() pública { uint amountToWithdraw = userBalances[msg.sender]; (bool success, ) = msg.sender.call.value(amountToWithdraw)(""); require(success); userBalances[msg.sender] = 0; }
Debido a que el saldo del usuario se restablece a cero solo al final de la función, las llamadas repetidas aún pueden extraer el saldo con éxito.
Para resolver el problema de reentrada, es necesario tener en cuenta:
Los ataques de reentrada son diversos y pueden involucrar múltiples funciones o contratos. Se recomienda utilizar prácticas de seguridad establecidas para evitar reinventar la rueda.
Sugerencias de seguridad
Sugerencias de seguridad del proyecto
El usuario evalúa la seguridad del contrato inteligente
En resumen, en el campo de las Finanzas descentralizadas hay numerosos riesgos de seguridad, tanto los desarrolladores de proyectos como los usuarios deben estar alerta, adoptar múltiples medidas de protección y mantener conjuntamente la seguridad del ecosistema.