Ethereum

Ne faites confiance à personne : la sécurité des Smart Contracts Ethereum s’améliore progressivement

La devcon3 Ethereum

Martin Swende« N’im­porte qui peut consti­tuer une proie. Soyez paranoïaques ».

C’est avec ces mots que Mar­tin Swende, res­pon­sable de la sécu­ri­té au sein de la Fon­da­tion Ethe­reum, a conclu sa confé­rence por­tant sur la sécu­ri­té des smart contracts, lors de la Devcon3.

Jus­qu’i­ci, le déve­lop­peur a pu assis­ter à de nom­breuses attaques menées sur le réseau Ethe­reum.

Il y a eu le hack de The­DAO, suite auquel des mil­lions de dol­lars d’E­thers ont été déro­bés  – un hack qui s’ap­puyait sur les failles d’un smart contract mal sécu­ri­sé. Il y a eu ensuite le ralen­tis­se­ment des tran­sac­tions sur Ethe­reum, à cause d’un pirate res­té incon­nu – sur­ve­nu alors que M. Swende venait tout juste de com­men­cer à tra­vailler sur le pro­to­cole. Et, il y a seule­ment quelques mois, un uti­li­sa­teur s’é­tait fait voler 30 mil­lions de dol­lars d’E­thers à cause d’une faille de sécu­ri­té sur le wal­let Pari­ty.

Ajou­tez à cela les dif­fé­rents pira­tages liés au Bit­coin, et vous com­pren­drez vite en quoi la pro­blé­ma­tique de la sécu­ri­té est déci­sive pour l’en­semble des réseaux Blo­ck­chain.

Les déve­lop­peurs ont expli­qué que, même si Ethe­reum était révo­lu­tion­naire, il per­sis­tait de nom­breux pro­blèmes de sécu­ri­té à résoudre. C’est l’une des rai­sons pour les­quelles la deuxième jour­née de la confé­rence Devcon3 a mis l’ac­cent sur la sécu­ri­té, visant notam­ment à faire prendre conscience à la com­mu­nau­té de la néces­si­té d’a­mé­lio­rer celle des smart contract.

Mais en dépit de ces attaques majeures, les déve­lop­peurs semblent res­ter opti­mistes quant à leurs chances de mieux sécu­ri­ser, à l’a­ve­nir, les smart contracts.

Ser­gio Demian Ler­ner, un scien­ti­fique tra­vaillant pour le RSK Labs, une pla­te­forme de smart contracts s’ap­puyant sur le réseau Bit­coin, a ain­si expliqué :

« L’é­co­sys­tème tout entier est en train d’ac­qué­rir une plus grande matu­ri­té en termes de sécu­ri­té. »

La nécessité de disposer des bons outils

Alors que de nom­breux élé­ments d’E­the­reum néces­sitent la mise en place de dis­po­si­tifs de sécu­ri­té, le deuxième jour de la Dev­con s’est foca­li­sé sur les smart contrats, dans la mesure où les vul­né­ra­bi­li­tés qu’ils peuvent com­por­ter sont sus­cep­tibles de pro­vo­quer des pertes d’E­thers pour les uti­li­sa­teurs.

Manuel Araoz, chef de la direc­tion tech­nique de Zep­pe­lin, une socié­té qui pro­pose des ser­vices d’au­dit de smart contracts, a expli­qué que l’an­née 2016 consti­tuait un « âge pré­his­to­rique » pour la sécu­ri­té d’E­the­reum – la situa­tion semble être en train d’évoluer.

Tout d’a­bord, le fait de « mettre à jour » des smart contracts, une fois qu’ils sont déployés sur Ethe­reum, apporte de nom­breuses pro­blé­ma­tiques. En effet, contrai­re­ment aux logi­ciels tra­di­tion­nels qui peuvent faci­le­ment être cor­ri­gés, le code d’un smart contract ne peut être mis à jour en cas de bug.

Mais Manuel Araoz et ses équipes ont com­men­cé à tra­vailler sur un outil qui devrait s’a­vé­rer par­ti­cu­liè­re­ment utile pour les déve­lop­peurs. Ils ont ain­si récem­ment dévoi­lé l’é­la­bo­ra­tion d’un nou­veau sys­tème d’ex­ploi­ta­tion qui vise à per­mettre des l’ap­port de modi­fi­ca­tion au code d’un smart contract, même si celui-ci est déjà en cours d’exé­cu­tion.

« Si nous trou­vons un bug, ou que nous avons besoin d’améliorer un pro­gramme, nous pou­vons le faire. » a‑t-il expliqué.

Même si ce pro­jet ne per­met pas tota­le­ment de résoudre la pro­blé­ma­tique des mises à jours, il offre un nou­vel outil aux déve­lop­peurs, qui pour­ra s’a­vé­rer pré­cieux à l’avenir.

Un autre pro­jet, Secu­ri­fy, a éga­le­ment été dévoi­lé lors de la confé­rence. Il agit comme un « bou­ton d’au­dit de sécurité » :

Audit de smart contracts avec Securify
Secu­ri­ty est un outil per­met­tant d’a­na­ly­ser la sécu­ri­té d’un smart contract

Dévoi­lé au cours d’un ate­lier inti­tu­lé « Not Your Grand­ma’s Smart Contract Veri­fi­ca­tion », il offre aux déve­lop­peurs l’ac­cès à une inter­face simple, per­met­tant de loca­li­ser des bugs et des vul­né­ra­bi­li­tés en un seul clic.

Quen­tin Hibon, cher­cheur au Soft­ware Relia­bi­li­ty Lab d’ETH Zurich, a expli­qué que Secu­ri­fy appor­tait « une forte garan­tie de sécurité ».

Pour Ser­gio Demian Ler­ner de RSK Labs,  de tels déve­lop­pe­ments sont plus qu’en­cou­ra­geants, et montrent que la com­mu­nau­té avance dans la bonne direction.

Il a éga­le­ment expli­qué « que la machine vir­tuelle d’E­the­reum (« EVM ») [avait] été amé­lio­rée en termes de sécu­ri­té ».

« Un sys­tème de véri­fi­ca­tion for­melle y a été ajou­té – un sys­tème qui uti­lise des preuves mathé­ma­tiques pour détec­ter si les smart contracts fonc­tionnent cor­rec­te­ment » a‑t-il poursuivi.

Il a ain­si conclu : « Soli­di­ty, le prin­ci­pal lan­gage de pro­gram­ma­tion des smart contracts, est deve­nu plus mature – de nom­breuses erreurs qui exis­taient aupa­ra­vant ont été cor­ri­gées ».

« Je suis toujours inquiet »

Il ne s’a­git pas de dire qu’il n’y aura plus jamais aucun pro­blème avec les smart contracts.

La qua­si-tota­li­té des confé­rences dédiées à la sécu­ri­té se sont d’ailleurs conclues par un « appel à l’ac­tion », un aver­tis­se­ment ou une liste des défis aux­quels devra répondre la deuxième Blo­ck­chain au monde en termes de capitalisation.

Ser­gio Demian Ler­ner a évo­qué le fait qu’il exa­mi­nait les contrats d’I­COs dans son temps libre, et qu’il était en mesure d’y déce­ler de nom­breux bugs. « Le fait que les émet­teurs de tokens cherchent désor­mais à s’ap­puyer sur l’aide d’ex­perts en sécu­ri­té pour véri­fier le code de leur contrat consti­tue un signe encou­ra­geant » a‑t-il expliqué.

Il s’a­git éga­le­ment de pro­po­ser des bugs boun­ties pour inci­ter les hackers à aler­ter quant à d’é­ven­tuelles failles, plu­tôt que de ten­ter de les exploiter.

Mais de nom­breuses ini­tia­tives n’en sont encore qu’à l’é­tat de projet.

Ethe­reum – et les cryp­to-mon­naies de manière plus géné­rale – consti­tuent, selon cer­tains, un « para­dis pour les hackers ».

« Le monde du hacking a pro­fon­dé­ment chan­gé. Les sources de reve­nus des hackers se limi­taient aupa­ra­vant aux agis­se­ments de bot­nets, des­ti­nés à per­pé­trer des attaques par déni de ser­vice, ce qui est par­ti­cu­liè­re­ment com­plexe à mettre en place. Aujourd’­hui, avec les cryp­to-mon­naies, les attaques des hackers sont plus faci­le­ment moné­ti­sables, et n’im­pliquent que de faibles prises de risques. » a sou­li­gné Mar­tin Swende.

Ceci sup­pose de nou­veaux défis à rele­ver pour les déve­lop­peurs, ce qui amène M.Swende a appe­ler à plus de vigilance.

Il conclut :

« Je suis tou­jours inquiet. »

Réfé­rence : Coin­Desk