Home Ciencia y Tecnología ¿Qué sucede cuando se rompen los contratos inteligentes?

¿Qué sucede cuando se rompen los contratos inteligentes?

32
0

Resumen y 1. Introducción

  1. Fondo

    2.1 Ethereum Primer

    2.2 Verificación de dirección blanca

    2.3 Análisis de mancha en contratos inteligentes y modelo de amenaza 2.4

  2. Ejemplo y desafíos motivadores

    3.1 Ejemplo motivador

    3.2 Desafíos

    3.3 Limitaciones de las herramientas existentes

  3. Diseño de averificador y descripción de 4.1

    4.2 Notaciones

    4.3 Componente#1: Grapher de código

    4.4 Componente#2: Simulador EVM

    4.5 Componente#3: Detector de vulnerabilidad

  4. Evaluación

    5.1 Preguntas experimentales de configuración e investigación

    5.2 RQ1: efectividad y eficiencia

    5.3 RQ2: Características de los contratos vulnerables del mundo actual

    5.4 RQ3: detección en tiempo actual

  5. Discusión

    6.1 amenazas a validez y limitaciones 6.2

    6.3 Consideración ética

  6. Trabajo relacionado

  7. Conclusión, disponibilidad y referencias

6 discusión

6.1 Amenazas a validez

Escalabilidad del averificador. Avverifier está diseñado específicamente para la vulnerabilidad de verificación de direcciones. Sin embargo, debido al análisis de contaminación eficiente que implementamos en Avverifier, se puede extender fácilmente para detectar otros tipos de vulnerabilidades, como llamadas externas sin management y controles de acceso inadecuados. Además, el averificador también se puede adoptar en otras plataformas blockchain, es decir, cadenas compatibles con EVM, como BSC, Tron y Avax. En consecuencia, el averificador no es una herramienta limitada a la vulnerabilidad de verificación de direcciones en Ethereum.

Contratos candidatos. Al responder RQ1 y RQ2, solo elegimos alrededor de 5 millones de contratos como candidatos. Según las estadísticas, todavía existen millones de contratos. Sin embargo, creemos que aquellos ya desplegados sin transacciones son los objetivos sin valor para los atacantes. Sin embargo, al responder RQ3, es decir, implementar avverificador como detector en tiempo actual, tomamos todos los contratos recién implementados como candidatos.

6.2 Limitaciones

Aunque el averificador es efectivo para identificar la vulnerabilidad de verificación de direcciones, aún enfrenta las siguientes tres limitaciones:

Mecanismo de verificación de parámetros dinámicos. Algunos contratos inteligentes emplean mecanismos de verificación de parámetros dinámicos, como las firmas digitales, que requieren la carga de datos en la memoria. Con este fin, el tamaño de CallData se desconoce de antemano, lo que plantea desafíos al averificador ya que la longitud variable de los datos de llamada conduce a compensaciones impredecibles, lo que dificulta el seguimiento de los argumentos variables en la memoria dinámica. Actualmente, para tales parámetros dinámicos, Avverifier concreta su longitud para obtener los resultados finales. Debido a su posibilidad de introducir falsos negativos, tomamos esto como una de nuestras futuras direcciones de investigación.

Escalabilidad. Avverifier es una herramienta diseñada específicamente para identificar la vulnerabilidad de verificación de direcciones. Como tal, actualmente, no se puede utilizar para identificar otras vulnerabilidades de contratos inteligentes directamente. Sin embargo, debido a que hemos implementado un conjunto integral de reglas de propagación de contaminación, el averificador se puede extender fácilmente a otros problemas de seguridad de contratos inteligentes.

Explotación automática. Si bien Avverifier puede identificar de manera eficiente y precisa la vulnerabilidad de verificación de direcciones y el punto de entrada, aún no puede generar automáticamente la explotación. Actualmente, todos los contratos identificados aún requieren una confirmación guide integral para determinar si son realmente vulnerables y explotables. Sin embargo, podemos aprovechar otras técnicas, como la ejecución difusa y simbólica, para ayudar a Avverifier a generar explotaciones y llamada de llamada en función de los resultados generados. Creemos que es un área de investigación significativa.

6.3 Consideración ética

Debido al anonimato de blockchain, solo es posible contactar a los desarrolladores de proyectos de código abierto. Por lo tanto, hemos hecho todo lo posible para contactar a los desarrolladores de contratos vulnerables a través de todos los medios posibles y utilizables, como Mail, Sitio net oficial y Twitter, con más de 500 transacciones en la historia. Desafortunadamente, después de advertir a 48 desarrolladores una vez después de la identificación y la volver a verificar guide, no recibimos ninguna respuesta de ellos dentro de las 2 semanas. Cuando implementamos un detector en tiempo actual en Ethereum y BSC, observamos que el averificador ha generado alarmas varias veces, como la que se muestra en §5.4.2. Sin embargo, es imposible llegar a sus desarrolladores en privado. Además, no podemos iniciar una transacción para notificar al desarrollador, ya que también notificará a los usuarios maliciosos que existe una posible víctima. Por lo tanto, instamos a la colaboración con compañías de seguridad blockchain para la divulgación segura y eficiente de las vulnerabilidades.

Autores:

(1) Tianle Solar, Universidad de Ciencia y Tecnología de Huazhong;

(2) Ningyu He, Universidad de Pekín;

(3) Jiang Xiao, Universidad de Ciencia y Tecnología de Huazhong;

(4) Yinliang Yue, Laboratorio Zhongguancun;

(5) Xiapu Luo, la Universidad Politécnica de Hong Kong;

(6) Haoyu Wang, Universidad de Ciencia y Tecnología de Huazhong.


fuente