Cracking the Code of DeFi Vulnerabilities: Alp Bassa's Deep Dive into Smart Contract Security

En esta entrevista exclusiva, realizada durante la Conferencia Hack Seasons, Alp Bassa, investigador científico de Veridise, comparte ideas sobre las herramientas innovadoras de Veridise, las complejidades de las auditorías de prueba de conocimiento cero y el futuro de la seguridad de blockchain. Durante la discusión, exploraremos la intersección de las matemáticas, la criptografía y la tecnología blockchain a través de los ojos de uno de los principales expertos de la industria.

Muchos emprendedores se sienten atraídos por su campo por un momento o evento específico. ¿Cuál fue tu viaje hacia Web3?

Vengo de una formación académica. Soy un matemático que investigaba en teoría de números, centrándose en curvas sobre campos finitos, curvas elípticas y sus aplicaciones en teoría de codificación y criptografía. Estas herramientas se utilizan mucho, especialmente ahora que la criptografía de conocimiento cero tiene una mayor influencia en el espacio Web3. 

Vi que estaban sucediendo muchas cosas interesantes allí. Luego comencé a trabajar en Veridise, donde hacen auditorías de seguridad y se especializan particularmente en el dominio ZK, que es donde mi experiencia encaja muy bien.

¿Por qué necesitamos auditorías de seguridad? ¿Pueden los desarrolladores operar sin ellos o son obligatorios?

La seguridad de los sistemas requiere una mentalidad diferente que hay que adoptar ya en la fase de desarrollo. No todos los desarrolladores pueden centrarse en todos los aspectos del proceso de desarrollo simultáneamente, garantizando las especificaciones, el comportamiento, la eficiencia, la integración en una configuración más amplia y la seguridad correctas. La mayoría de las veces la seguridad es un aspecto que no se trata bien durante todo el proceso de desarrollo.

Se ha vuelto casi imposible para un desarrollador tener la suficiente confianza con varias herramientas complejas para garantizar que se utilicen correctamente y que no existan vulnerabilidades. Es simplemente una mentalidad diferente que debe aplicarse. Por eso las auditorías son útiles.

¿Puede darnos más detalles sobre las herramientas internas que Veridise ha desarrollado y cómo mejoran la calidad de la auditoría?

Existe un amplio espectro de herramientas que se pueden utilizar. Algunos son más primitivos pero no requieren demasiados conocimientos y son de fácil acceso, como los fuzzers. Algunas están en el medio, como herramientas de análisis estático. Son bastante rápidos pero no demasiado exactos; pueden dar algunos falsos positivos. 

Luego están las herramientas que están fuertemente respaldadas por las matemáticas, basadas en solucionadores SMT y otros conocimientos matemáticos. Son muy precisos pero computacionalmente pesados. Usamos una combinación de todas estas herramientas, cada una con sus pros y sus contras, para detectar errores y vulnerabilidades.

¿Cuáles son algunas de las consideraciones de seguridad únicas que aborda Veridise para los protocolos DeFi?

Para los protocolos DeFi, tenemos una herramienta de análisis estático en la que usted le indica al sistema de antemano qué tipo de vulnerabilidades buscar o a qué estructuras apuntar. Hay muchos de ellos. Por ejemplo, los ataques de reentrada fueron responsables del hackeo de DAO de 2016. Los ataques de préstamos flash fueron explotados en el ataque a Cream Finance, que provocó el robo de alrededor de 130 millones de dólares. 

Gracias a nuestra experiencia a lo largo de años de auditoría, tenemos una buena visión general de cuáles son las vulnerabilidades y nuestras herramientas están diseñadas para comprobarlas todas. Durante nuestras auditorías, los analizamos uno por uno en detalle para ver si aparecen tales riesgos.

Por favor, explique más sobre cómo utiliza la tecnología ZK y por qué las auditorías ZK son su principal prioridad.

ZK es particularmente interesante desde una perspectiva de verificación formal porque se traduce muy bien en el uso de herramientas. Disponemos de herramientas que están especialmente dirigidas a comprobar aplicaciones ZK. Debido a que es tan adecuado para nuestros métodos, esa es el área en la que nos hemos centrado mucho. 

Hemos identificado vulnerabilidades críticas en las bibliotecas de circuitos centrales. Nuestro equipo es muy fuerte en ese campo, por eso decidimos estar muy presentes y en la frontera de la auditoría ZK. La mayor parte de nuestra investigación también está motivada por las necesidades y requisitos desde la perspectiva de un auditor en el dominio ZK.

¿En qué se diferencia su experiencia en circuitos ZK de la de otras empresas?

Yo diría que nuestras herramientas son las que nos diferencian mucho porque venimos de una experiencia en verificación formal. Contamos con herramientas muy potentes y, a estas alturas, el alcance de los proyectos se ha vuelto tan grande que el esfuerzo humano por sí solo no es suficiente para tener una buena cobertura del código base. Es necesario, pero por sí solo no es suficiente. 

¿Cómo equilibra Veridise la revisión manual del código con el análisis de herramientas automatizadas en su proceso de auditoría?

Ambos son necesarios. Lo notamos también en las auditorías. La mayoría de las veces, cuando realizamos una auditoría humana muy rigurosa y luego ejecutamos las herramientas en el código base, encontramos algunas vulnerabilidades que han escapado a nuestra atención. A veces, ejecutamos las herramientas primero, pero las herramientas solo pueden detectar ciertos tipos de estructuras. 

Dado que hay tantas capas de complejidad y abstracción en estos sistemas, tampoco basta con confiar en las herramientas. Siento que no puedes prescindir de ninguno de ellos y no creo que eso cambie en el futuro.

¿Cuáles son las características clave de la herramienta Vanguard de Veridise y cómo mejora la seguridad de los contratos inteligentes?

Vanguard es una de nuestras principales herramientas. Se utiliza para análisis estático. En el análisis estático, usted proporciona una determinada especificación del comportamiento previsto y luego verifica si se cumple, si ciertas propiedades se mantienen sin ejecutar el código. No es dinámico; no ejecuta el código, pero intenta evaluar estáticamente si existen ciertos patrones que podrían causar vulnerabilidades. 

Vanguard viene en muchos sabores. Tenemos partes que son bastante buenas para mejorar la seguridad de los contratos inteligentes y partes que se centran en aplicaciones zk. 

¿Puede dar más detalles sobre las vulnerabilidades que ha encontrado en los contratos inteligentes y los circuitos ZK?

En los circuitos ZK, en los que trabajo más, una de las vulnerabilidades más comunes serían los circuitos con restricciones insuficientes. En una aplicación ZK, su código base consta de dos partes: el programa en sí (la ejecución normal) y las restricciones. Necesita que las restricciones reflejen el comportamiento de la ejecución del programa de forma uno a uno. 

Según un artículo reciente, alrededor del 95% de todas las vulnerabilidades en los circuitos ZK son causadas por circuitos poco restringidos. Disponemos de herramientas, como PICUS, que está especialmente dirigida a detectar esos circuitos poco restringidos.

¿Cómo aborda Veridise el proceso de divulgación de las vulnerabilidades descubiertas durante las auditorías?

Por supuesto, no hacemos públicas las vulnerabilidades en ningún momento porque alguien más podría explotar el error antes de que se solucione, especialmente si el código base ya está en uso. Al final del proceso de auditoría, entregamos un informe de auditoría en el que le damos al cliente una lista de todos los errores y vulnerabilidades que hemos descubierto. 

Le damos al cliente algo de tiempo para solucionarlos y luego nos envía sus correcciones, que revisamos para verificar si realmente abordan todos los problemas que planteamos. Lo reunimos todo en un informe final. El informe es propiedad del cliente. No lo hacemos público a menos que el cliente esté de acuerdo.

Si visita la página web de Veridise, puede ver una lista de todos los informes de auditoría que los clientes acordaron hacer públicos. En la mayoría de los casos, están de acuerdo con que lo hagamos público. De hecho, lo quieren como certificado de que el código fue auditado y está tan libre de errores como puede estarlo después de una auditoría. 

¿Cómo adapta Veridise sus procesos de auditoría a diferentes plataformas e idiomas de blockchain?

Como sabes, el campo es muy vibrante y cada día aparecen nuevas cadenas, nuevos lenguajes y nuevas formas de expresar los circuitos ZK. Esto también lo vemos con los proyectos entrantes y las solicitudes de auditorías que se basan en diferentes entornos o lenguajes. Nos dejamos llevar, vemos de dónde vienen las solicitudes y tenemos una idea de en qué dirección evolucionará el campo en el futuro cercano. 

Intentamos adaptar nuestras herramientas para abordar las necesidades de la comunidad. Esto continuará en el futuro, donde cambiaremos las cosas dinámicamente según cómo evolucione el campo.

¿Puedes dar más detalles sobre las herramientas que planeas implementar en el futuro? 

Una dirección en la que cambiarán las herramientas en el futuro cercano es que ofreceremos seguridad como servicio. Se llama nuestra plataforma SaaS, donde pondremos las herramientas a disposición de las personas para que las utilicen durante el proceso de desarrollo. 

En lugar de terminar primero todo el proyecto y luego realizar una auditoría, haremos que nuestras herramientas sean útiles en una configuración donde los desarrolladores puedan usarlas mientras desarrollan para garantizar que el código que están desarrollando sea seguro y no contenga vulnerabilidades. El SaaS debería estar disponible en un futuro próximo.

La publicación Descifrando el código de las vulnerabilidades DeFi: la inmersión profunda de Alp Bassa en la seguridad de los contratos inteligentes apareció por primera vez en Metaverse Post.