Tabla de enlaces
Resumen y 1. Introducción
-
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
-
Ejemplo y desafíos motivadores
3.1 Ejemplo motivador
3.2 Desafíos
3.3 Limitaciones de las herramientas existentes
-
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
-
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
-
Discusión
6.1 amenazas a validez y limitaciones 6.2
6.3 Consideración ética
-
Trabajo relacionado
-
Conclusión, disponibilidad y referencias
4.5 Componente#3: Detector de vulnerabilidad
Según la información recopilada del simulador, es decir, F y CTC, el detector puede determinar si un contrato es weak. Específicamente, como lo ilustra la Fig. 1, el detector de riesgos está compuesto por tres fases secuenciales, correspondientes a los tres principios mencionados en §3.1 (P1 a P3). Detallamos estas tres fases a continuación.
4.5.1 Fase I: Examen de verificación con la lista blanca
Tenga en cuenta que los primeros dos pasos regresan Verdaderoque indica una verificación con la lista blanca no es aplicable o se realiza normalmente. En otras palabras, solo los estados con el FALSO El retorno se mantiene y se envían a la verificación de la fase II.
4.5.2 Fase II: Verificación de llamadas externas
Del mismo modo, para evitar el consumo de recursos sin sentido, solo los estados que corresponden al Verdadero El valor de retorno se pasa a la verificación de la tercera fase. Consideramos los de los FALSO Valor de devolución como contratos vulnerables sin valor.
4.5.3 Fase III: modificaciones de estado posterior a la llamada
4.5.4 Verificación de direcciones Contratos vulnerables
En pocas palabras, a través de dicha detección trifásica, el detector puede identificar efectivamente un estado que puede explotarse debido a la existencia de vulnerabilidad de verificación de direcciones. Podemos resumir formalmente nuestra estrategia de detección de la siguiente manera.
Al analizar los estados aprobados del simulador, el detector puede obtener un conjunto de tuplas, que consiste en posibles víctimas:
A través de una detección trifásica, solo quedan los estados valiosos y vulnerables:
Si un contrato tiene un estado que se corresponde a una tupla en Permanecidoel contrato es weak a la vulnerabilidad de verificación de dirección.
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.