Anuncio de MCD Bug Bounty y Actualización de la guía de seguridad

26 julio, 2019

Cuando se desarrollan proyectos para la red de Ethereum, escribir el código del smart contract es solo una parte del trabajo. La mayor parte del tiempo de desarrollo se emplea en análisis de requisitos y garantía de la calidad, particularmente, para garantizar la seguridad del sistema.

La Fundación Maker siempre ha estado comprometida con los máximos estándares de seguridad y, por supuesto, eso no cambiará con el lanzamiento del Multi-Collateral Dai (MCD). Esta publicación del blog proporciona una descripción general de la guía de seguridad en la que nuestros equipos están trabajando en el periodo previo al lanzamiento.

Vías de la Guía de Seguridad

La guía de seguridad del MCD consiste en cuatro vías paralelas:

  1. Un extenso programa Bug Bounty organizado en colaboración con HackerOne. El programa se ejecutará por un periodo de tiempo indefinido, continuando luego del lanzamiento del MCD.
  2. Una Verificación Formal en la mayor medida posible con la tecnología actual.
  3. Auditorías de seguridad de terceros independientes realizadas por auditores líderes en la industria.
  4. Un Programa de Integración de Socios para probar el MCD en colaboración nuestros socios más cercanos en un entorno realista.

Cada una de estas vías se detalla a continuación.

Programa Bug Bounty

En Junio, invitamos a investigadores selectos a una versión privada del programa bug bounty. Hoy, anunciamos la versión pública, la cual progresará en iteraciones a medida que nos acercamos al lanzamiento del MCD:

El alcance inicial es una selección de smart contracts del MCD implementados en la Kovan Testnet de Ethereum; se agregarán más activos con el lanzamiento del MCD. El alcance también puede expandirse para incluir aplicaciones web, herramientas, etc.

Para esta iteración del programa daremos un premio de 50,000$ por el descubrimiento de un error clasificado como crítico, además de recompensas más pequeñas por errores de alta, media y baja gravedad.

Se planea que el programa continúe indefinidamente luego del lanzamiento del MCD.

Para aprender más y participar como investigador, por favor visita la página del programa de HackerOne.

Verificación Formal

La Verificación Formal del código de programación es realizada usualmente para el software más críticos en los sistemas de ingeniería. Esta es, por ejemplo, aplicada en ingeniería aeroespacial para garantizar la precisión de funciones de seguridad críticas. más específicamente, la verificación formal garantiza que el código de bytes de bajo nivel, que es ejecutado por el computador, refleja correctamente las iteraciones del desarrollador del software y no tiene efectos secundarios indeseados.

Debido a los altos riesgos y la inmutable naturaleza de la blockchain, que evita fácilmente aplicar parches a los errores de software luego del despliegue inicial, la práctica de verificar formalmente los smart contracts se ha convertido en algo estándar en el ecosistema de Ethereum. Maker siempre ha estado a la vanguardia de esta práctica y fue uno de los primeros en aplicar la metodología a una gran dapp.

Desde la verificación formal de los contratos centrales del MCD, se ha cubierto mucho más terreno. Nuestra meta no es solamente verificar formalmente esos contratos centrales, sino también tantos contratos de sistema del MCD cómo sea técnicamente posible.

La verificación formal del sistema central, el contrato del token Dai, los contratos de subastas, la Tasa de Ahorros de Dai, el módulo de Apagado de Emergencia, y el módulo de seguridad de oracle se han completado en gran medida.

El equipo aún está trabajando para verificar formalmente los contratos secundarios y contratos de gobernanza en el sistema. En particular, estos son los contratos proxy de votación, el contrato de adinistración de CDP, y la llamada ruta de unión / salida de contratos de adaptador de colateral, el cual maneja el bloqueo y la liberación de colateral en el sistema.

Auditorías de Seguridad

Mientras la verificación formal de los contratos garantiza que el código de bytes de bajo nivel refleje precisamente la intención del desarrollador de software, también viene con un número de limitaciones. Por ejemplo, no brinda protección contra errores lógicos en los contratos, ni puede ir más allá del alcance de una simple transacción.

Por esta razón, la verificación formal de los contratos siempre debe combinarse con auditorías de seguridad más tradicionales, y si es posible, modelos formales de alto nivel.

Esto es exactamente los que la Fundación Maker está realizando. Estamos adquiriendo no una, sino tres auditorías de seguridad independientes por expertos líderes de la industria:

  1. Una colaboración con Runtime Verification, una compañía con sede en Illinois que creará un modelo formal de alto nivel que puede ser usado para verificar la lógica del sistema. Si la verificación formal de los contratos puede ser comparada con una prueba de unidad, entonces esto puede ser equivalente a una prueba de integración formal.
  2. Una auditoría de Trail of Bits, nuestro socio a largo plazo para revisiones de seguridad de nuestros smart contracts. Trail of Bits se enfocará específicamente en áreas que no están bien cubiertas por la verificación formal.
  3. Una auditoría mñas tradicional por PeckShield, relativamente un recién llegado a la industria con sede en China y fundado a principios del 2018 por veteranos de la industria. PeckShield verificó independientemente la vulnerabilidad del Maker DSChief que fue parcheada en Mayo de este año.

Programa de Integración de Socios

Los programas Bug Bounty, verificaciones formales y auditorías externas son herramientas excelentes para garantizar la seguridad del sistema MCD como una unidad independiente. Pero, si bien el sistema se ve muy prometedor, el ecosistema realmente progresará solo con las integraciones de los socios.

La Fundación Maker está trabajando estrechamente con un grupo selecto de socios de integración y negocios para probar el MCD en un entorno realista, lo que reduce aún más las probabilidades de que se produzcan vulnerabilidades.

Si te gustaría unirte al programa de integración de socios, contacta a nuestro equipo de integraciones en [email protected].

Próximos pasos

A medida que nos acercamos al lanzamiento del MCD, nuestros equipos están trabajando duro para completar toda la guía descrita anteriormente. Esperamos trabajar junto con la comunidad y nuestros socios para ofrecer un sistema con la máxima seguridad que esperan nuestros usuarios.

Más allá de la seguridad y detrás de escena, nuestros equipos están trabajando en infraestructura adicional que asistirá a nuestros socios de integración y a nuestros propios ingenieros de control de calidad con las rigurosas pruebas que requiere este proyecto.

Para ese punto, esté atento para la próxima actualización de seguridad, donde se discutirá sobre nuestra plataforma Staxx para pruebas de calidad y de control de calidad de extremo a extremo.

Para más sobre el MCD, lea la Introducción a las Subastas y Guardianes en el Multi-Collateral Dai y la Guía de Incorporación de Colateral: cómo nominar tokens para el MCD.


26 julio, 2019