Les gens ont souvent négligé les vulnérabilités - trois dangers pour la sécurité des gaz Ethernet carrés

Placez chaque transaction envoyée à la chaîne de bloc Ethernet devront être traitées par un grand nombre de calculs. Le gaz est une mesure de la façon et le traitement des paiements. Les utilisateurs ont tendance à gaz comme des problèmes déroutants, les développeurs ont tendance à penser du gaz en termes d'optimisation des coûts. Comme un bon auditeur du contrat, je souvent le gaz comme vecteur d'attaque potentiel. Dans cet article, nous examinerons le plomb de gaz à des failles de sécurité de trois façons.

La personne qui a envoyé la transaction est payée dans le gaz

Un fait de base sur l'affaire est qu'ils sont par l'expéditeur transaction - les transactions de compte signé des coûts de transaction de paiement.

Si les conditions suivantes peuvent conduire vecteurs d'attaque:

1. L'assaillant vous permet d'envoyer une transaction et 2. ils peuvent causer les consume de transaction beaucoup de gaz.

Satisfaire la première condition est pas difficile. Si je possède un compte dans un échange centralisé (par exemple Coinbase), je peux indiquer que la Bourse de transférer des fonds à ma sélection de compte. A étapes de mise en uvre typiques comprendront l'opération d'échange est envoyé d'un compte. Parce qu'il envoie la négociation d'échange, ils doivent payer pour le gaz.

Pour les développeurs de contrat à puce, satisfaire la deuxième condition est facile. contrat intelligent pourrait exécuter du code arbitraire en réponse aux transactions entrantes. Les contrats de renseignements suivants à la réception du transfert des EPF consomment beaucoup de gaz:

L'expéditeur spécifie la limite supérieure de la transaction consommera gaz, appelées restrictions de gaz. Cette limite est généralement déterminée automatiquement par le commerce simulé. Si l'échange de le faire, ils peuvent être facilement falsifiée, qui consomme beaucoup de gaz.

Le code ci-dessus n'a pas de sens de consommer beaucoup de gaz, il est clair que le gaz peut être utilisé de manière plus efficace. Peut-être que le contrat de l'attaquant peut être calculé en utilisant ces gaz précieux. Comme niveau K récemment observé comme une bonne utilisation du gaz supplémentaire est de l'utiliser pour libérer GasTokens, peut revenir, il peut aussi être vendu.

Réduire le risque

Pour se protéger contre de telles attaques, Assurez-vous de toujours fixer une limite raisonnable pour votre gaz de transactions .

La transaction est remplie dans le bloc de personnes peuvent lancer des attaques par déni de service

Parce que les ressources sont limitées informatiques Ethernet carrés, donc un seul bloc peut être utilisé la quantité de gaz est limitée. On appelle cela les restrictions de gaz à bloc. Mineurs a tenté de régler emballés dans un bloc, le plus près possible de limiter le gaz, car les coûts du gaz sont payés aux mineurs.

A ce jour, le réseau Ethernet gaz bloc carré, la principale limite d'environ 8.000.000. Consommer plus de gaz beaucoup ne pouvait pas creuser.

Cela peut être un déni de vecteur d'attaque de service - Causer l'attaquant d'une manière intelligente contrat ne peut pas exécuter . Voici un exemple des contrats intelligents vulnérables:

Si le tableau de dépôt assez longtemps, il ne peut appeler plus withdrawAll, que ces opérations ne sont pas des blocs appropriés. Un attaquant pourrait en appelant à plusieurs reprises le dépôt jusqu'à ce que la longueur correcte du tableau pour facilement conduire à l'apparition de cette situation. Cela verrouille tous les contrats de ETH existant.

En remplissant votre entièrement trading bloc commercial, vous pouvez également lancer une attaque par déni de service sur la chaîne de bloc. Tant que ces opérations spécifiées suffisamment de gaz, les mineurs attaquant rationnels seront emballés dans des blocs commerciaux.

Réduire le risque

vérificateurs contractuels intelligents ont vu une boucle se sentir nerveux. Essayez d'éviter de les utiliser à moins qu'ils ne soient soumis à un nombre constant d'itérations de limites (et, moins souvent).

Bloc attaque est rempli coûteux, afin d'atténuer ce risque, dans la conception des contrats, afin de minimiser l'impact financier d'une durée déterminée. Par exemple, la date limite de vente est habituellement d'accepter l'offre, de sorte que le bloc est rempli attaque peut empêcher les gens offre. Pour veiller à ce que la vente aux enchères des biens dans le système d'un tel n'a pas assez valeur qui bloque l'attaque sur la faisabilité remplis économique .

opération à terme est la personne qui a payé le gaz

Pour contourner ce problème première vulnérabilité (mais pas fondamentalement résolu, mais il peut éviter la question de remplacement), je vois beaucoup de discussions récemment au sujet de la soi-disant « transaction en dollars (transaction méta) » est. Yuan négociation comme un accord, mais il peut être transmis (relais) par un tiers. relais tiers est effectivement envoyé compte de trading, de sorte qu'il paie au gaz.

Cela se fait par des contrats remplis et signés procuration. Les utilisateurs signent leurs transactions en dollars et la diffusion dans le monde. Tout le monde peut voir le yuan échangé avant au contrat d'agence. Tant que le message contient une signature valide, les accords proxy exécuteront l'appel spécifié. Habituellement, les besoins des utilisateurs à payer pour répéteurs (comme le paiement des jetons) pour couvrir les frais nécessaires pour passer le répéteur.

Dans ce mode de réalisation, le répéteur a le vecteur d'attaque inhabituel. Comme l'expéditeur de la transaction, ils peuvent décider combien de leur gaz. Si vous fournissez trop peu de gaz, ce qui peut entraîner un appel à l'échec. Si elles ont un régime spécial d'encouragement à le faire, ce sera un problème, comme dans les contrats suivants:

Nombre aléatoire (nonce) est utilisé pour prévenir les attaques replay, mais il vous plaît noter que nonce augmente lorsque l'appel réussit. peut être invoqué Un répéteur malveillant en manipulant le gaz limitant échoué à plusieurs reprises. Chaque fois que l'exécution d'appel de répéteur, quelle que soit la quantité de gaz, ils seront payés.

Réduire le risque

Une solution est appelée quel que soit le succès ou l'échec ont augmenté nonce, mais se traduira par un déni de vecteur d'attaque de service. Chaque fois qu'un utilisateur diffusé leur dollar lors de la négociation répéteur malveillant peut obtenir le commerce Yuan et la faire échouer, comme auparavant. Maintenant, nonce a augmenté, les utilisateurs doivent signer un nouveau yuans de commerce, puis répétez le processus.

Si l'appel échoue, une autre solution tentante est de faire reculer la transaction, mais cela signifie que lorsque vous appelez pour une raison légitime de l'échec, ne peut pas compenser les répéteurs.

La meilleure solution est d'aborder directement le problème fondamental que le répéteur est autorisé à préciser les restrictions commerciales de gaz. Pour verrouiller, assurez-vous d'inclure des restrictions de gaz dans le message signé, et vérifier si le contrat d'agence dans le respect des restrictions. Ceci est une méthode d'agent de relais d'état utilisé.

Christian Lundqvist « simple portefeuille multi-signature » opération majeure en permettant à l'utilisateur de spécifier la partie de l'expéditeur pour remédier à ce problème pour ses messages de signature. Cela signifie qu'un relais malveillant incapable de participer à la négociation dès le début.

résumé

Sans problème de gaz peut causer une attention appropriée échappatoire contrat intelligente grave. En examinant le code, ces vulnérabilités sont généralement insignifiants, mais ils causent beaucoup d'ennuis.
CCTD | charbon Superviseur Bureau a ordonné la profondeur des mines de charbon ultra Kilomètre du pays fermé pour la démonstration de la sécurité
Précédent
L'idée de la voiture, mais aussi saupoudré combien de temps?
Prochain
CCTD | baisse de l'indice des prix pour revenir au port tout le chemin vers le bas
Le nouveau détail peut jouer à ce jeu! Un tel style de Sa-vous comme ça?
voiture de luxe Audi est toujours le patron, les ventes de voitures marathon PK, pour aider Audi conduire les trois Cheats
CCTD | Shenhua a relevé son prix spot hebdomadaire de 11 yuans prix / tonne de retour d'origine du charbon à 500 yuans / tonne
Ou la vente de 130000 Terminator SUV joint-venture, pousser Geely dans l'histoire de la plus belle SUV coupé
Dossier complet! Bitcoin consensus règle Histoire de bifurcation
L'apparition de la science-fiction, deux cents secondes MPH, camions lourds Mercedes-Benz ont honte de laisser Bugatti a rencontré
CCTD | marché du charbon vapeur a été la tendance récente des prix du charbon sur le marché du port d'ajustement a légèrement augmenté
Maroc s'engager aussi dans le culte « autopartage », Volkswagen devrait couronne des ventes mondiales de sa réélection
2017 inventaire logistique: la logistique verte dans une nouvelle atmosphère
CCTD | prix du charbon ont rebondi ce mois-ci montrera la scène, les caractéristiques douces
2018 Seven New Deal, de nouvelles voitures pour être équipés de gilets réfléchissants, une nouvelle taxe sans achat de véhicules d'énergie pour trois ans