Durante el período del 18 de junio, me preocupaba que "Avalokitesvara" no fuera suficiente. Si me despertaba, de repente descubrí que las cuentas de mis padres se pueden usar de manera casual, y que el dinero de mi ex novio está abierto para ti y todos sus ex. novias debido a la configuración de permisos incorrecta. No es que no haya pastel en el cielo, sino que puede haber un agujero en el cielo.
Lo que es mío es mío, y lo que es tuyo es mío.
Esta vulnerabilidad le sucedió al contrato inteligente implementado por Bancor el 18 de junio.
Bancor implementó su contrato inteligente BancorNetwork v0.6 el 16 de junio, y dos días después se descubrió que el contrato tenía vulnerabilidades de seguridad graves. Los atacantes pueden usar esta vulnerabilidad para transferir dinero en el contrato.
Hay muchos tipos de vulnerabilidades que pueden generar los contratos inteligentes, y las vulnerabilidades generadas por los contratos inteligentes de Bancor esta vez están relacionadas con las funciones.
En primer lugar, en un contrato inteligente, las funciones tienen 4 derechos de acceso:
Público - puede ser llamado por todos
Externo: solo se puede llamar externamente
Interno: solo puede ser llamado por el propio contrato y los contratos heredados.
Privado - solo puede ser llamado por el propio contrato
Se enfatiza aquí que cuando el permiso de la función se establece en público, cualquiera puede llamar a esta función para transferir el dinero en el contrato. En otras palabras, cuando su exnovio establece accidentalmente los permisos de su billetera en público, cualquier persona en el mundo, incluidos su actual, ex y ex-ex, puede transferir fácilmente su dinero. Debe estar muy molesto en este momento.
Echemos un vistazo al código de la vulnerabilidad de Bancor:
En la línea 45 del contrato vulnerable, vemos la función safeTransferFrom. La función de esta función es transferir dinero de una dirección a otra. Tenga en cuenta que el permiso de esta función está configurado como público.
La red social LINE incluye su criptomoneda en el servicio de cupones LINE Point Club: el 16 de noviembre, la red social LINE anunció que lanzará recompensas LINK en su servicio de cupones LINE Point Club, y los usuarios pueden cambiar las recompensas por la criptomoneda LINK. Nota: LINK es una criptomoneda emitida por LINE TECH PLUS, una subsidiaria de LINE Singapur. (JP. Cointelegraph) [2020/11/16 20:55:43]
Curiosamente, el equipo de CertiK descubrió a través de una investigación adicional que dos días después de que se implementó el contrato con la vulnerabilidad, el equipo de Bancor usó las siguientes dos direcciones de billetera para retirar los fondos del contrato a través de la vulnerabilidad para borrar los fondos del contrato y evitar que los piratas informáticos Robar también es un movimiento astuto para compensar el vacío legal:
0xc8021b971e69e60c5deede19528b33dcd52cdbd8,
0x14fa61fd261ab950b9ce07685180a9555ab5d665
Casi al mismo tiempo, dos empleados de terceros también comenzaron a utilizar esta vulnerabilidad para retirar fondos. Uno de ellos utilizó la vulnerabilidad para realizar 16 transacciones de retiro, con un retiro total de 131.889,34 dólares estadounidenses. La dirección ETH y la dirección de correo electrónico de este tercero son:
0x052ede4c2a04670be329db369c4563283391a3ea
arden43y@gmail.com
La persona afirmó que detrás de esta dirección hay un sistema de transacciones automatizado, que puede usar involuntariamente errores humanos y lagunas en los contratos para obtener fondos. Si se puede probar que esta dirección consiguió el dinero a través de la escapatoria, puede devolver el dinero.
Y la dirección de la otra son las dos siguientes:
0x854B21385544c44121f912AEdF4419335004F8ec,
0x1ad1099487b11879e6116ca1ceee486d1efa7b00
En total, realizó cuatro transacciones de retiro, retirando un total de $3340. (Equivalente a unos 23.000 RMB, puedes comer más de 2.000 toneladas de cangrejos de río).
Bancor respondió oficialmente a este incidente (para más detalles, consulte el primer artículo de "Otros enlaces de referencia" al final del artículo):
Uno de los párrafos mencionó que usaron esta laguna para transferir el saldo de $455,349 en el contrato a otra billetera.
Otro párrafo decía que se había puesto en contacto con dos miembros del personal de terceros y les había pedido que devolvieran los fondos transferidos aprovechando las lagunas en el contrato.
Posteriormente, Bancor actualizó el contrato vulnerable.
Se puede ver claramente que público ha sido cambiado a interno.
Esta vulnerabilidad crítica se debe a un error del desarrollador al configurar los permisos de las funciones. En un contrato inteligente, solo un parámetro incorrecto puede poner en riesgo el dinero de todos en el contrato.
Afortunadamente, esta vulnerabilidad no fue aprovechada por piratas informáticos, de lo contrario, el dinero de los usuarios nunca se rastrearía.
Las vulnerabilidades similares a los errores de llamada de función en los contratos inteligentes incluyen, entre otras, miles de posibilidades, como DOS, errores lógicos, acceso no autorizado, reingreso y desbordamiento de enteros. Cualquiera de estas mil posibilidades traerá enormes pérdidas de propiedad para la empresa y los usuarios, y el contrato tiene la propiedad de que no se puede cambiar una vez que se implementa.
Por lo tanto, es muy importante asegurarse de que los contratos inteligentes no tengan lagunas. Antes de implementar el contrato, es un enlace indispensable para enviarlo a una empresa de seguridad profesional para una auditoría de seguridad.
CertiK utilizará la formalización para probar la corrección de los contratos inteligentes a través de la verificación matemática. Lo anterior es parte de la auditoría de seguridad de CertiK.
Las pruebas de programas pueden probar la existencia de vulnerabilidades, pero nunca pueden probar la ausencia de vulnerabilidades.
La existencia de CertiK es hacer que las lagunas no existan.
No solo buscamos lagunas, sino eliminar hasta el 0,00000001% de la posibilidad de ser atacado.
Los contratos inteligentes y los enlaces de direcciones mencionados en el artículo son los siguientes:
Contratos inteligentes vulnerables:
https://github.com/bancorprotocol/contracts-solidity/blob/4394c0e1d1785a71044101b1d6df57e332b73ba9/solidity/contracts/utility/TokenHandler.sol
Dirección de implementación del contrato de vulnerabilidad:
0x8dFEB86C7C962577deD19AB2050AC78654feA9F7
0x5f58058C0eC971492166763c8C22632B583F667f
0x923cAb01E6a4639664aa64B76396Eec0ea7d3a5f
Contrato inteligente modificado:
https://github.com/bancorprotocol/contracts-solidity/blob/master/solidity/contracts/utility/TokenHandler.sol
Enlaces de referencia adicionales:
https://blog.bancor.network/bancors-response-to-today-s-smart-contract-vulnerability-dc888c589fe4
https://github.com/bancorprotocol/contracts-solidity/blob/4394c0e1d1785a71044101b1d6df57e332b73ba9/solidity/contracts/utility/TokenHandler.sol#L45
https://explore.duneanalytics.com/public/dashboards/mEUEd9rQCPjeMkryEIgbtC0YUZwOXESQPTkkqdPX
Tags:
Golden Finance Blockchain News, 23 de junio Muchos especuladores del mercado creen que durante mucho tiempo en el pasado.
Después de que CertiK capturó el ataque de Balancer a las 2:00 a. m. del 29 de junio, "Guantes vacíos: análisis de ataque de Balancer".
La Undécima Enmienda a la Ley Penal aún comenzó a solicitar opiniones según lo programado. A juzgar por el contenido de la revisión.
Durante el período del 18 de junio, me preocupaba que "Avalokitesvara" no fuera suficiente. Si me despertaba, de repente descubrí que las cuentas de mis padres se pueden usar de manera casual.
La forma de matar cerdos en el círculo monetario ha vuelto a evolucionar.En el pasado, la forma más común de sacrificar cerdos era involucrarse en algunos supuestos conceptos que nunca antes se habían visto.
El 30 de junio, la Oficina General del Gobierno Popular Municipal de Beijing emitió el "Plan de Acción de Desarrollo e Innovación de Blockchain de Beijing (2020-2022)".El "Plan" propone establecer un fondo de inversió.
Si se usara una palabra para describir el mercado DeFi en junio, sería "avanzando rápidamente".En el último mes.