OKEx Academy pourparlers récapitulatif: DCEP – Comment assurer la sécurité des investisseurs DeFi?

DeFi, abréviation de Decentralized finance, était devenu un mot à la mode dans l’espace de la crypto-monnaie depuis 2019. À mesure que DeFi se développe, nous nous dirigeons vers l’avenir de la finance. Créer un cadre mondial et plus transparent pour chaque service financier aujourd’hui: épargne, prêts, trading, etc..

OKEx Academy a organisé un webinaire en ligne avec des invités spéciaux pour partager leurs idées sur la sécurité DeFi et comment les investisseurs DeFi peuvent garantir la sécurité de leurs investissements..

Cet article vous guidera à travers le récapitulatif de la discussion.

Conférenciers invités:

Yu Guo – Fondateur des SECBIT Labs

Dominik Teiml – Auditeur principal Ethereum de Certik

Zhengchao Du – Ingénieur sécurité senior chez Slowmist

Modérateur:

Michael Gui – Boxe

Michael: La finance décentralisée se développe à un rythme rapide, nous avons actuellement plus de 800 millions de dollars de crypto enfermés dans des contrats DeFi Smart. Comme ces contrats sont décentralisés, les créateurs doivent s’assurer que le code derrière ces contrats est sécurisé. Ne pas le faire peut entraîner des hacks catastrophiques – par exemple, il y a moins de 2 semaines, un pirate a réussi à «voler» 25 millions de dollars de crypto à des contrats dForce. La sécurité contre les hacks est primordiale pour assurer la croissance à long terme de DeFi. Heureusement, nous avons aujourd’hui un panel d’experts en sécurité.

Commencer par une citation critique d’un critique DeFi "Je ne connais DeFi que lorsqu’un projet échoue et perd des fonds". Selon vous, quels sont les plus grands risques de sécurité pour la finance décentralisée?

SECBIT: Le DeFi est construit sur du code, qui est composé de nombreux modules, qui ont été développés par différentes équipes. La mauvaise compréhension des modules de base, des blocs de construction entraînerait des pertes plus importantes. L’interface de chaque module n’est pas facile à clarifier, spécifier ou formaliser.

Certik: Outre les éléments hors chaîne tels que la sécurité des clés, le piratage des serveurs frontaux et / ou DNS, OpSec, etc. Je pense que les plus grands risques en chaîne sont les erreurs d’exécution (bogue Hegic) et l’interaction avec d’autres comptes, à savoir : oracles manipulables (bZx hack) et attaques de rentrée (Uniswap & Lendf.me pirater)

Slowmist: La finance décentralisée nous apporte trois caractéristiques principales: l’interopérabilité, la programmabilité et la composabilité. Grâce à ces trois fonctionnalités, nous sommes en mesure de combiner toutes sortes de contrats intelligents comme la combinaison de blocs lego, ce qui nous apporte des produits financiers abondants et des possibilités infinies. Cependant, DeFi est un système tellement compliqué que les risques seront amplifiés. En un autre mot, pour le système financier centralisé, les scénarios de risque possibles peuvent être contrôlés en travaillant sur des normes et en limitant les autorisations d’accès, tandis que pour DeFi, l’un des deux contrats qui répondent aux normes de l’accord peut être combiné, ce qui signifie que beaucoup plus de scénarios possibles et chaque nouveau scénario comporte de nouveaux risques potentiels. Et le plus important de tous, une caractéristique d’une norme peut devenir un défaut en toutes circonstances.

Michael: Pouvons-nous jamais atteindre une sécurité totale avec DeFi?

SECBIT: C’est un Saint-Graal. Il est impossible d’atteindre l’objectif, à la fois théoriquement et pratiquement. Toute sécurité est basée sur des hypothèses. Plus le système est complexe, plus les hypothèses de sécurité sont utilisées. Mais la fiabilité de ces hypothèses de sécurité est inconnue. Dans de nombreux cas, ces hypothèses de sécurité peuvent se desserrer.

En théorie, la définition de la sécurité est assez vague. Nous pouvons définir une sécurité spécifique, par exemple, sans débordements d’entiers. Mais il est généralement incomplet. Alors que le concept de DeFi ne cesse de croître, la signification de la sécurité augmente également. Nous ne savons pas comment définir un concept complet de sécurité.

La finance est risquée par nature. Classiquement, les bénéfices proviennent de la prise de risque. Désormais, les risques financiers se mêlent à la complexité des calculs, et donc les risques combinés sont plus difficiles à contrôler. En pratique, la sécurité est difficile à repérer, difficile à vérifier. Des problèmes de sécurité peuvent survenir à différents niveaux, hypothèses de sécurité, blockchains, machine virtuelle et compilateurs, bibliothèques, la logique du code, l’interface des services. Aucun d’entre eux n’est facile à réaliser sans bogue.

L’une des caractéristiques prometteuses de DeFi est que les contrats intelligents sont hautement composables, même si les contrats intelligents ont été développés par différentes équipes. Mais nous avons vu des bogues trouvés sur les interfaces – par exemple, ERC777, ERC827, ERC 233. La composabilité rendra le système plus ouvert et dynamique. De nombreuses approches traditionnelles visent à sécuriser le système statique ne fonctionneraient pas pour le nouveau système ouvert, dynamique et énorme..

Certik: La sécurité est une question de rendements décroissants. Nous ne pouvons jamais être sûrs qu’un raisonnement logique est valide parce que nous pourrions commettre une erreur dans la vérification elle-même, le paradoxe de la logique. De la même manière, nous ne pouvons jamais être sûrs à 100% que quelque chose est sécurisé. Cependant, je suis très optimiste que nous puissions obtenir des garanties de haute sécurité avec les mesures appropriées. Audits étendus et intensifs, vérification formelle, généreuses primes de bogues…

La question la plus intéressante est de savoir si ces échelles. Pouvons-nous trouver un outil qui automatise la sécurité? Personne n’a encore atteint cet objectif; c’est encore une question ouverte.

Slowmist: Une sécurité complète est impossible pour tous les produits, y compris DeFi. Nous devons comprendre que la sécurité implique des contre-mesures, dans le but que le pirate informatique coûterait beaucoup plus que les avantages qu’il pourrait en retirer. Et la sécurité est dynamique, de nouveaux scénarios, de nouvelles techniques et l’itération des produits DeFi pourraient causer de nouveaux problèmes de sécurité, donc être sécurisé une fois pour toutes n’est pas possible.

Michael: Avec l’adoption de nouveaux langages de programmation – Vyper (Ethereum), Haskell (Cardano) – pensez-vous que cela aidera à la sécurité de la blockchain?

SECBIT: Vyper est à peu près comme la solidité, la plupart des améliorations. Haskell, en revanche, est plus mathématique. Mais, comme je l’ai dit, les plus gros problèmes de sécurité viennent du niveau logique, pas du niveau de la langue. Les nouvelles attaques ne se situent pas uniquement au niveau du langage, et elles proviennent de l’ensemble du système blockchain, ce qui est très compliqué. Les pirates continuent d’inventer de nouvelles attaques que nous n’avons jamais vues auparavant. Les nouvelles vulnérabilités sont difficiles à détecter par les outils intégrés aux compilateurs. Nous ne pouvons pas imaginer que les attaques seraient automatiquement empêchées. Nous allons voir plus de vulnérabilités enracinées au niveau logique, même si les outils linguistiques s’améliorent. Le code doit être audité par des experts.

J’apprécie le travail de la communauté des langages de programmation, où le typage statique empêche les programmeurs de faire des erreurs stupides. Par exemple, le langage proposé par Facebook, nommé MOVE, s’exécute sur la chaîne Libra. Il emprunte l’idée à RUST de "déplacer ou copier", "propriété et emprunt". Le système de type statique garantit que le montant total des actifs numériques reste inchangé, de sorte que ni les développeurs ni les pirates ne peuvent.

D’un autre côté, nous avons besoin de spécifications formelles ou de vérifications formelles pour garantir la "exactitude" dans une certaine mesure. Pas à 100%, mais une sécurité maximale, nous ne dépendons que des mathématiques. Cependant, les outils et les pratiques sont toujours en cours. Je propose le travail de l’équipe CertiK.

Certik: Probablement. Je pense que nous avons sous-estimé la sécurité dans les premières phases de notre écosystème. Nous avons pris des décisions architecturales extrêmement difficiles à modifier par la suite. L’EVM a des sauts dynamiques, ce qui rend toute analyse statique extrêmement lourde, et il n’y a guère d’avantages. La solidité depuis 0.5, à mon avis, est devenue axée sur la sécurité, inversant une partie de ce qui était avec des décisions de conception de langage rétrospectives pauvres..

Vyper est meilleur, mais malheureusement, il n’est pas prêt pour la production pour les grands projets et manque de nombreuses fonctionnalités importantes.

Je suis en fait enthousiasmé par DeapSEA, un langage de programmation ciblé EVM qui tente de surmonter ces défis imposés par EVM et permet une vérification formelle plus facile des contrats intelligents Ethereum. Il est développé par Certik et Yale, et nous en saurons plus bientôt.

Bien que ce soit sur un horizon plus long, je pense que la transition vers eWASM sera excellente pour la sécurité. Non seulement wasm est beaucoup plus axé sur la sec, mais nous serons également en mesure d’exploiter son écosystème d’outils de sécurité..

Slowmist: Ces langues ont leurs propres fonctionnalités de sécurité. Par exemple, Vyper effectue de nombreuses vérifications de débordement s’appliquant aux calculs arithmétiques, et des langages fonctionnels comme Haskell peuvent aider à la vérification formelle. Mais la sécurité est multidimensionnelle et, outre les fonctionnalités sécurisées du langage de programmation, la sécurité du développement du produit et la sécurité de la logique métier sont aussi importantes que les langages..

Michael: Quel est le piratage de compte le plus dévastateur que vous ayez jamais rencontré? Toute expérience personnelle que vous pouvez partager?

SECBIT: Clé volée. Quelques centaines d’ETH de l’un de nos clients. Mais, plus de cas venant vers nous pour obtenir de l’aide ont été perdus. Les gens ont simplement oublié le code mnémonique ou le mot de passe. C’est encore un autre dilemme dans le monde de la sécurité. Comment pourrions-nous nous souvenir d’un mot de passe sûr? Un mot de passe faible est facile à retenir mais avec une faible entropie. Il est vulnérable aux attaques par force brute. (par exemple. Rainbow Table Attack); tandis qu’un mot de passe plus aléatoire est mortellement difficile à retenir. L’écrire sur un papier? On peut oublier le papier l’autre matin.

Certik: J’ai la chance qu’aucun des projets sur lesquels j’ai travaillé n’ait été piraté.

Slowmist: Le Ethereum Black Valentine’s Day, nommé par notre équipe. Cet incident de sécurité a été observé pour la première fois en mars 2018. Le pirate avait volé les eths et autres jetons du portefeuille de l’utilisateur avec le script automatique pendant deux ans avant que nous ne le trouvions pour la première fois. À l’heure actuelle, environ 54864 ETH d’une valeur actuelle de 10 millions de dollars ont été volés dans 6679 portefeuilles. Ce hack est très impressionnant compte tenu de son influence et du temps de durée.

Micahel: S’il y avait UN conseil de sécurité pour nos téléspectateurs – Le conseil qui, selon vous, permettra à nos téléspectateurs d’économiser potentiellement des milliers de dollars – quel serait-il?

SECBIT: Entraînez-vous à vous souvenir du code mnémonique; Je sais que c’est dur. C’est extrêmement dur. Mais croyez-moi, c’est la seule façon de protéger vos actifs numériques. Demandez aux fournisseurs de services le budget qu’ils ont dépensé pour la sécurité et le contrôle des risques, les contre-mesures qu’ils ont prises et lisez les documents tels que le rapport d’audit, les documents de conception de système sur le site Web. Je pense que les fournisseurs qui gèrent sérieusement une entreprise sur la blockchain devraient avoir des politiques strictes à ce sujet.

Certik: Lisez les rapports. Lisez un rapport d’audit avant d’utiliser une application décentralisée. De temps en temps, nous voyons des vulnérabilités mises en évidence lors des audits, jamais corrigées, puis exploitées. Vérifiez si le dernier rapport publié mentionne des vulnérabilités critiques ou importantes.

Slowmist: Pour les biens personnels, nous vous suggérons de protéger votre clé privée d’Internet.

Pour les crypto-monnaies dans les produits DeFi, nous suggérons que lors du choix des produits et des plates-formes DeFi, l’utilisateur doit prêter attention à la fois au mécanisme de contrôle des risques et à l’approbation des rapports d’audits de sécurité d’une équipe de sécurité tierce exceptionnelle. En outre, la sécurité est dynamique, donc tout le monde devrait vérifier les antécédents de sécurité des produits et des plates-formes defi de temps en temps..