Los autores: (1) Tianle Sun, 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 de Zhongguancun; Xiapu Luo, Universidad Politécnica de Hong Kong. Haoyu Wang, Universidad de Ciencia y Tecnología de Huazhong. : Authors (1) Tianle Sun, 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 de Zhongguancun; Xiapu Luo, Universidad Politécnica de Hong Kong. Haoyu Wang, Universidad de Ciencia y Tecnología de Huazhong. Mesa de la izquierda Abstracto y 1a Introducción Background 2.1 Ethereum Primer 2.2 Whitelisted Address Verification 2.3 Taint Analysis on Smart Contracts and 2.4 Threat Model Motivating Example and Challenges 3.1 Motivating Example 3.2 Challenges 3.3 Limitations of Existing Tools Design of AVVERIFIER and 4.1 Overview 4.2 Notations 4.3 Component#1: Code Grapher 4.4 Component#2: EVM Simulator 4.5 Component#3: Vulnerability Detector Evaluation 5.1 Experimental Setup & Research Questions 5.2 RQ1: Effectiveness & Efficiency 5.3 RQ2: Characteristics of Real-world Vulnerable Contracts 5.4 RQ3: Real-time Detection Discussion 6.1 Threats to Validity and 6.2 Limitations 6.3 Ethical Consideration Related Work Conclusion, Availability, and References Abstracción En Ethereum, la práctica de verificar la validez de las direcciones pasadas es una práctica común, que es un paso crucial para garantizar la ejecución segura de los contratos inteligentes. Las vulnerabilidades en el proceso de verificación de direcciones pueden conducir a grandes problemas de seguridad, y la evidencia anecdótica ha sido reportada por nuestra comunidad. Sin embargo, este tipo de vulnerabilidad no ha sido bien estudiado. Para llenar el vacío, en este documento, buscamos caracterizar y detectar este tipo de vulnerabilidad emergente. Diseñamos e implementamos AVVERIFIER, un analista de daño ligero basado en la simulación de código optico estático EVM. Su detector de tres fases puede descartar progresivamente falsos positivos y falsos negativos basados en las características intrínsecas. Después de un trabajo bené 1 Introducción Después de que Satoshi Nakamoto lanzó Bitcoin [60], las plataformas blockchain han surgido. Entre ellos, Ethereum [18] es el más conocido. Además de estas características comunes entre todas las plataformas blockchain, la característica más llamativa en Ethereum es la Puede ser tomado como una pieza de script inmutable que se ejecutará de una manera determinada una vez que se cumplan las condiciones predefinidas. Contrato inteligente Como miles de millones de dólares de activos equivalentes se almacenan en contratos inteligentes, la identificación y explotación de vulnerabilidades ocultas en ellos es la principal prioridad para los atacantes. Según un informe reciente [68], hay alrededor de 303 grandes eventos de ataque contra conocidos contratos Ethereum en el último año, lo que equivale a pérdidas de aproximadamente $ 3.8 mil millones. Chen et al. [21] han resumido 26 tipos principales de vulnerabilidades en contratos inteligentes de Ethereum, y nuevos tipos de vulnerabilidades todavía están surgiendo en un flujo sin fin a lo largo de la constante introducción de características y depreciación en Ethereum [48]. La identificación automática de vulnerabilidades en los contratos inteligentes de Ethereum es un tema bien estudiado [14, 37, 46, 47, 56, 70, 72, 78]. Considerando el número de contratos y la pérdida económica causada por falsos negativos, la ejecución simbólica estática, que puede garantizar la solidez en cierta medida, se utiliza como el método principal de análisis. Por ejemplo, Mythril [70] es un ejecutor simbólico estático a nivel de bytecode para los contratos de Ethereum, mientras que Slither [31] trabaja en el código fuente, que afirma lograr una alta eficiencia y eficacia. Verificar la validez de las direcciones de entrada es una práctica común y un paso clave para garantizar la ejecución segura de los contratos inteligentes. Las vulnerabilidades en el proceso de verificación de direcciones pueden conducir a grandes problemas de seguridad, y la evidencia anecdótica ha sido reportada por nuestra comunidad [11]. Para ser específicos, las funciones en los contratos inteligentes pueden ser abordadas como argumentos. Si los desarrolladores negligen la verificación accidentalmente en la dirección pasada, una vez que se toma como objetivo de una llamada externa, se pueden invocar operaciones arbitrarias, incluidas las maliciosas, dentro de una dirección. Actualmente, ninguna herramienta existente puede detectar la vulnerabilidad de verificación de direcciones, y la implementación de un detector de vulnerabilidades basado en el marco existente es desafiante. Por un lado, de acuerdo con las características de la vulnerabilidad de verificación de direcciones, para identificarla de manera efectiva, el detector debe realizar un análisis interprocedural o incluso intercontractual. El trabajo existente, sin embargo, sufre invariablemente de la eficiencia o el problema de efectividad al llevar a cabo tales análisis. Por ejemplo, un detector basado en patrones apenas puede manejar un patrón de vulnerabilidad tan complicado, mientras que la ejecución simbólica sufre los problemas de explosión del camino y el bloqueo de botella traído por las restricciones de resolución. Por un lado, la mayoría de los contratos son de fuente cerc Para llenar el vacío, buscamos caracterizar y detectar este tipo de vulnerabilidad emergente. Para ser específicos, diseñamos e implementamos AVVERIFIER, un nuevo marco de análisis de taint estático ligero que puede identificar de manera eficiente y efectiva la vulnerabilidad de verificación de direcciones. Su análisis de taint se basa en la simulación estática de la secuencia de opcode. En otras palabras, sin considerar la viabilidad de los caminos, AVVERIFIER mantiene los valores de las estructuras de datos (por ejemplo, pila y memoria) y el estado de propagación de taint. Tal simulación estática atraviesa muchos caminos, incluyendo los originalmente imposibles. Así, según los estados correspondientes recogidos, AVVERIFIER detecta formalmente la vulnerabilidad de verificación de direcciones a través de una detección en tres fases This work. Sobre la base de nuestros estándares elaborados, AVVERIFIER supera significativamente las herramientas de detección de contratos inteligentes de última generación (es decir, Mythril, Ethainter, Jackal y ETHBMC)[1] en términos de eficiencia y eficacia. De acuerdo con una evaluación integral de más de 5 millones de contratos Ethereum implementados, AVVERIFIER marca más de 812 contratos vulnerables, y 348 contratos inteligentes de código abierto fueron aún más verificados, cuyo valor total bloqueado es de más de $11.2 mil millones. Finalmente, implementamos AVVERIFIER como un detector en tiempo real en Ethereum y BSC, una plataforma de blockchain similar a EVM. Los resultados muestran que AVVERIFIER es capaz de levantar alertas tempranas a los desarrolladores y a la comunidad Este artículo hace las siguientes contribuciones: • Este es el primer trabajo sobre la detección de la vulnerabilidad de verificación de direcciones.Hemos diseñado e implementado AVVERIFIER, un analizador de taint eficiente y eficaz basado en la simulación estática de EVM. • Hemos aplicado AVVERIFIER a más de 5 millones de contratos inteligentes en Ethereum, y hemos descubierto cientos de contratos inteligentes vulnerables que habían sido desvelados por nuestra comunidad antes. En comparación con Mythril, Ethainter, Jackal y ETHBMC, AVVERIFIER puede mejorar la eficiencia de análisis alrededor de 2 a 5 veces, al tiempo que alcanza la precisión del 94,3% y el 100% de la recogida en valores de referencia bien establecidos. • Hemos implementado AVVERIFIER como un detector en tiempo real en Ethereum y BSC. Los resultados sugieren que AVVERIFIER es capaz de levantar advertencias tempranas una vez que se implementan contratos antes de que el ataque sea iniciado por los atacantes. Este artículo está disponible en archivo bajo la licencia CC BY 4.0 DEED. Este artículo está disponible en archivo bajo la licencia CC BY 4.0 DEED. Disponible en Archivo [1] Tenga en cuenta que estas herramientas no pueden detectar la vulnerabilidad de verificación de direcciones, hemos implementado la misma lógica de detección encima de ellas, para una comparación justa.