[TL;DR]
Con los contratos inteligentes DeFi encabezando el chat de hackeos de blockchain en 2021, se han perdido más de 1.300 millones de dólares en criptodivisas por explotaciones, estafas y hackeos. Estas pérdidas masivas pueden deberse a contratos no auditados, a bifurcaciones precipitadas, a estafas descaradas y a muchas otras cosas. Pero según el informe de seguridad de Certik DeFi, la mayoría de los proyectos explotados no están auditados.
En este artículo, examinaremos qué son los contratos inteligentes y cómo protegerlos de los malos actores del mercado.
También examinaremos algunas empresas de auditoría de contratos inteligentes y sus enfoques.
Rellene el formulario para recibir 5 puntos de recompensa→
Ataques a los contratos inteligentes
Los contratos inteligentes son líneas de código autoejecutables que obedecen a instrucciones establecidas en la red blockchain. Estos contratos permiten a los usuarios realizar transacciones transparentes y de confianza en la cadena de bloques (blockchain) sin necesidad de una autoridad central ni de ningún sistema legal.
Debido a su utilidad, se han convertido en los bloques de construcción de complejas aplicaciones descentralizadas, como en DeFi y DExs, ICO, protocolos de votación y gestión de la cadena de suministro.
Por muy inteligentes que parezcan, pueden acarrear enormes pérdidas si se detecta alguna vulnerabilidad de seguridad o algún fallo en el código.
Por lo general, el contrato inteligente puede realizar sus funciones de diseño, pero la presencia de una laguna legal dará lugar a que los hackers construyan códigos capaces de interactuar con el contrato inteligente para desviar fondos.
- Un buen ejemplo es el reciente ataque a Qubit Finance, donde el hacker explotó su puente de cadena cruzada y robó 206, 809 tokens de BNB, unos 80 millones de dólares.
- Otro ejemplo histórico es el hackeo del DAO de 2016, que supuso una pérdida de 50 millones de dólares
Vulnerabilidades conocidas o estándar de los contratos inteligentes
Condiciones de carrera: donde los eventos no se producen en el orden previsto. En los contratos inteligentes, las condiciones de carrera pueden producirse cuando los contratos externos se hacen cargo del flujo de control.
Reentrada: en este caso, alguna función es llamada repetidamente antes de que se complete la primera invocación de la función. Una de las soluciones cruciales es bloquear las llamadas concurrentes en ciertas funciones, especialmente cuando se examinan las llamadas externas.
C
ross -función Condiciones de carrera: describen un ataque similar de dos funciones que comparten el mismo estado, con las mismas soluciones.
Dependencia del orden de las transacciones (TOD) / Front Running: es otra condición de carrera que afecta a los órdenes de las transacciones dentro de un bloque. Al manipular los pedidos de transacciones, un usuario se beneficia a costa de otro.
Manipulación del oráculo: este tipo de ataque está asociado a los contratos inteligentes que dependen de datos externos como entradas. Si los datos introducidos son incorrectos, se siguen introduciendo y se ejecutan automáticamente. Los protocolos que dependen de oráculos que han sido pirateados, desaprobados o con intenciones maliciosas podrían tener efectos desastrosos en todos los procesos que dependen de ellos.
Ataque a la dirección corta/parámetro: este tipo de ataque se asocia a EVM. ocurre cuando el contrato inteligente acepta argumentos incorrectamente rellenados. De este modo, los atacantes pueden explotar a los clientes mal codificados utilizando direcciones especialmente diseñadas para hacer que codifiquen los argumentos de forma incorrecta antes de incluirlos en las transacciones.
Auditoría de contratos inteligentes
Al igual que la auditoría de código normal, la seguridad de un contrato inteligente es directamente proporcional a la solidez y la calidad del código desplegado. Implica un amplio escrutinio y análisis del código de un contrato inteligente. Para ello, los auditores de contratos inteligentes comprueban los errores comunes, los errores conocidos de la plataforma de acogida y simulan ataques al código. Los desarrolladores (normalmente auditores externos de contratos inteligentes) pueden entonces identificar errores, fallos potenciales o vulnerabilidades de seguridad en el contrato inteligente del proyecto.
Este servicio es muy importante en la industria del blockchain porque los contratos desplegados no pueden ser modificados o son irrevocables. Lo más probable es que cualquier defecto haga que el contrato sea disfuncional o propenso a violaciones de la seguridad que podrían conducir a pérdidas irrecuperables. Hoy en día, conseguir una validación de auditoría es un impulso para ganarse la confianza de los usuarios.
Pasos para la auditoría de contratos inteligentes.
1. Examinar la coherencia entre la funcionalidad del código y el libro blanco del proyecto
2. Comprobar las vulnerabilidades estándar;
3. Análisis simbólico
4. Análisis automatizado mediante herramientas automatizadas (Enfoque 1): se utilizan herramientas como Truffle y Populus para la comprobación automatizada del código. Este enfoque lleva muy poco tiempo y tiene una penetración más sofisticada en comparación con la comprobación manual del código. Aunque también tiene limitaciones de falsa identificación y vulnerabilidad perdida.
5. Revisión manual de la calidad del código (enfoque 2): en este caso, el código es examinado manualmente por desarrolladores experimentados. Aunque las comprobaciones automatizadas son más rápidas, las comprobaciones manuales tienen en cuenta tanto las falsas & como las vulnerabilidades perdidas.
6. Análisis del uso del gas;
7. Optimización del rendimiento
8. Preparación de informes.
Empresas de auditoría de contratos inteligentes
1.
CertiK: Certik fue fundada en 2018 y es una de las preferidas en el nicho de blockchain debido a sus herramientas de transparencia y verificación del motor de pruebas que garantiza la escalabilidad y la seguridad de primera categoría. Es decir, su enfoque es principalmente matemático. La empresa afirma que ha detectado más de 31.000 vulnerabilidades en los códigos de los contratos inteligentes, ha auditado 1737 proyectos y ha asegurado más de 211.000 millones de dólares en activos digitales.
2.
Hacken: Hacken es otra empresa que ofrece servicios de auditoría para plataformas de blockchain como Ethereum, Tron,
EOS. Aunque sus servicios no se limitan únicamente a las soluciones de blockchain, Hacken también ofrece productos de seguridad para las empresas de TI. La plataforma de seguridad HackenAI es una solución diseñada por Hacken para proteger al usuario final de los compromisos de seguridad con características habilitadas como las alertas de monitorización de la red oscura.
3.
Quantstamp: Quantstamp es una empresa de seguridad de blockchain que cuenta con desarrolladores de las principales empresas de TI como Facebook, Google y Apple. Quanstamp cuenta con una amplia gama de herramientas y servicios de seguridad de la cadena de bloques, incluyendo; una red de seguridad descentralizada para la auditoría de contratos inteligentes. Según sus afirmaciones, Quantstamp ha protegido más de 200.000 millones de dólares en activos digitales, y cuentan con más de 200 fundaciones y startups que han contratado sus productos.
4.
ConsenSys: fundada en 2014, ConsenSys es un sólido equipo formado por desarrolladores de software, expertos en negocios, abogados, proveedores de seguridad. Su plataforma se basa en el ecosistema Ethereum y tiene como objetivo proporcionar soluciones de blockchain como la seguridad y la protección de productos, infraestructuras financieras. La empresa cuenta con un producto de análisis de seguridad de contratos inteligentes. 4. ConsenSys Diligence; que proporciona análisis criptoeconómicos y escaneo automatizado de contratos inteligentes para la cadena Ethereum.
5.
Chainsecurity: proporciona productos y servicios que aseguran los protocolos de la cadena de bloques y los contratos inteligentes. Chainsecurity cuenta con la confianza de más de 85 blockchains y ha asegurado activos digitales por valor de más de 17.000 millones de dólares. También se han asociado con PWC Suiza para llevar a cabo revisiones de seguridad, crear soluciones que evalúen los contratos inteligentes, probar y ejecutar métricas de rendimiento para los contratos inteligentes.
6. R
verificación en tiempo de ejecución: La verificación en tiempo de ejecución utiliza el método basado en la verificación en tiempo de ejecución, que ha aumentado el cumplimiento de la norma, la amplia cobertura durante la ejecución, para realizar auditorías de seguridad en las máquinas virtuales. El producto y servicio en tiempo de ejecución incluye la verificación de contratos inteligentes, la verificación de protocolos, el servicio de asesoramiento, Firefly, el verificador de tokens ERC20 e IELE.
Autor: Gate.io Observador:
M. Olatunji
Descargo de responsabilidad:
* Este artículo representa únicamente las opiniones de los observadores y no constituye ninguna sugerencia de inversión.
*Gate.io se reserva todos los derechos de este artículo. Se permitirá volver a publicar el artículo siempre que se haga referencia a Gate.io. En todos los demás casos, se emprenderán acciones legales por infracción de los derechos de autor.
Gate.io Artículos destacados
Por qué la industria de las criptomonedas necesita capital riesgo
Fondos de cobertura centralizados vs. descentralizados
Cómo buscar el proyecto de NFT adecuado