Share this article

Paano Nakakakuha ang mga Ethereum Application ng A+ Security Rating

Mahigit sa 1.2 milyong Ethereum application ang gumamit ng hindi kilalang tool sa seguridad mula sa Amberdata upang makatulong na maiwasan ang mga magastos na error mula sa mga smart contract.

Mahigit sa 1.2 milyong Ethereum application ang gumamit ng hindi kilalang tool sa seguridad upang matulungan silang maiwasan ang mga magastos na error na nagmumula sa mga self-executing na linya ng code na kilala bilang mga smart contract.

Inilunsad ng Ethereum Technology startup na Amberdata noong Oktubre, ang libreng tool ay magagamit para sa sinuman sa pangkalahatang publiko upang bigyang-kahulugan ang seguridad ng mga aktibong application sa Ethereum blockchain. Ang mga matalinong kontrata sa mga bug na pinagsamantalahan ay humantong sa malaking pagkalugi, kahit na sa tono ngdaan-daang milyon.

STORY CONTINUES BELOW
Don't miss another story.Subscribe to the Crypto for Advisors Newsletter today. See all newsletters

Ang automated na serbisyo ay nag-scan para sa mga karaniwang kahinaan na makikita sa smart contract code at bumubuo ng letter grade rating (hal. A, B, o C) para sa seguridad ng isang desentralisadong aplikasyon (dapp).

Ang feature ay ONE sa maraming tool na naghihikayat sa pinakamahusay na kasanayan at pinataas na transparency sa pagitan ng mga developer ng dapp at mga end-user sa Ethereum ecosystem.

Higit pa rito, ito ay isang tampok na nasa mas malawak na espasyo sa web sa loob ng mahabang panahon. Ang browser na may pag-iisip sa privacy na DuckDuckGo ay naglunsad kamakailan ng isang extension ng browser ng Chrome na ginagamit upang i-rate ang mga website (hindi dapps) na may marka ng letra, na nagbibigay sa mga user ng madaling insight sa kung gaano kahusay o hindi magandang pinoprotektahan ng mga administrator ng serbisyo ang Privacy ng user .

"Ang aming pananaw ay itaas ang pamantayan ng pagtitiwala online," isinulat ng DuckDuckGo sa isang post sa blog mula Enero 2017.

Katulad nito, ang pananaw sa likod ng tool sa pagmamarka ng seguridad ng Amberdata, na itinampok ng CEO ng Amberdata na si Shawn Douglass sa isang press release, ay ang magbigay ng "mas mahusay na pag-access at pinahusay na kakayahang makita sa mga matalinong kontrata."

Idinagdag niya:

"Umaasa kami na sa pamamagitan ng pagbibigay ng mga tool na ito sa komunidad, mababawasan namin ang mga dependency sa labas at paganahin ang komunidad na bumuo ng mas mabilis at mas ligtas."

Ang mga rating

Ngunit paano eksaktong na-rate ang mga application na ito sa Ethereum sa Amberdata?

Itinuro ang 13 uri ng mga kahinaan na awtomatikong na-scan ng programa, inihalintulad ni Amberdata CTO Joanes Espanol ang bawat isa sa mga ito sa "mga ilaw ng makina sa dashboard ng [isang kotse]."

"Ito ay nangangahulugan lamang na kailangan kong suriin kung ano ang nangyayari sa kotse. Anuman sa mga ito ay maaaring magresulta sa error sa seguridad," paliwanag ni Espanol sa CoinDesk.

At kung mas maraming mga error sa seguridad na natukoy ng pag-scan ng seguridad ng Amberdata, mas mababa ang marka ng alpabeto ng titik na matatanggap ng isang dapp. Ang mga rating na ito ay mula sa isang A+ hanggang sa isang F.

Ngunit T sila mahigpit na nakadepende sa bilang ng mga error sa seguridad. Ang bawat isa sa 13 mga kahinaan ay may iba't ibang antas ng kalubhaan, paliwanag ng Espanol, na makakaapekto sa panghuling grado ng isang dapp. Dalawang karaniwang kahinaan na may mababang kalubhaan na minarkahan ng Espanol ang "pag-delegate ng tawag sa isang address na ibinigay ng user" at "tawag sa mensahe sa panlabas na kontrata."

Ang huli ay maaaring magdulot ng potensyal na panganib sa seguridad kung ang isang dapp, sa halip na maging self-contained sa ONE matalinong kontrata, ay tumawag ng mga karagdagang kontrata na may buggy code.

Katulad nito, ang delegadong tawag ay isa pang operasyon na karaniwang ginagamit upang hatiin ang smart contract code sa maraming sub-contract, upang ang anumang kinakailangang pag-upgrade sa software ay maaaring gawin nang unti-unti nang hindi tinatapos ang buong application.

"Iyon ang magandang bahagi ng mga tawag sa delegado. Ngunit ang masamang bahagi ay ngayon bilang isang may-ari ng kontrata, maaari akong magsimulang gumawa ng mga hindi magandang bagay. Kaya, maaari kong simulan ang pagpapalit ng mga kontrata na nagbabago sa pag-uugali ng orihinal na [application,] "paliwanag ni Espanol.

Dahil dito, sa parehong bilang, inilarawan ng Espanol ang pag-audit sa seguridad bilang nagpapadala ng "mga babala," sa halip na magturo ng mga agarang error sa code.

Sa katunayan, ang ONE dapp na kasalukuyang gumagamit ng tawag sa mensahe at dating nag-deploy ng isang matalinong pag-upgrade ng kontrata gamit ang delegadong tawag noong Enero ay TrueUSD. Nilikha ng blockchain startup TrustToken, ang USD-backed stablecoin sa Ethereum ay kasalukuyang niraranggo na may C na marka ng titik.

Bagama't T iyon maganda, tinitingnan ang mga kahinaan na na-flag para sa TrueUSD, sinabi ng security engineer ng TrustToken na si William Morriss sa CoinDesk sa isang dating panayam na ang lahat ng natukoy na alalahanin ay talagang hindi "kritikal."

"Ang mga kahinaan na iniulat ay hindi mga paraan kung saan maaari tayong atakihin ... Alam namin ang mga ito at kapag ang mga tao ay nagdadala ng mga kahinaan sa amin ay tinatrato namin sila nang seryoso," sabi ni Morriss.

Partikular na nagpapaliwanag sa usapin ng mga tawag sa mensahe, idinagdag ni Morriss na para sa TrueUSD, lahat ng mga panlabas na kontrata ay pagmamay-ari at pinapatakbo ng mga kumpanya mismo kumpara sa mga ikatlong partido na may potensyal na mas mababang mga pamantayan sa seguridad.

Paano makakuha ng A+

Ang mga error sa "mataas" na kalubhaan ay higit na tatama sa rating ng seguridad ng application dahil nagpapahiwatig ang mga ito ng mas malaking potensyal para sa error sa code at pagsasamantala.

Ang ONE sa mga pinakakaraniwan sa mga ito, ang "integer overflow," ay nagpapahiwatig na ang mga operasyong isinasagawa sa loob ng isang matalinong kontrata ay maaaring makabuo ng mga halaga na lampas sa mga limitasyon ng code, na humahantong sa kakatwa, hindi mahuhulaan na pag-uugali na, sa mas masamang sitwasyon, ay maaaring humantong sa pagkawala ng mga pondo.

Ang flipside ay "integer underflow," isa pang kahinaan ng "mataas" na kalubhaan, kung saan maaaring mangyari ang eksaktong kabaligtaran at ang isang halaga sa ibaba ng tinukoy na hanay ay nagdudulot din ng maling output.

Mayroon ding ilang feature sa Solidity na dapat lang iwasan ng mga developer ng dapp, ayon sa grading system ng Amberdata, kasama ang “suicide()” at “tx.origin.” Ang huli ay inilarawan ng Espanol bilang "deprecated code" na maaaring ganap na maalis sa Solidity language sa hinaharap, habang ang una ay nagdudulot ng panganib na ma-hijack ng mga panlabas na partido upang i-freeze ang mga pondo ng user - na hindi na nila maibabalik.

Dahil T itong alinman sa apat na kahinaang ito, ang kasumpa-sumpa sikat na Ethereum dapp CryptoKitties kasalukuyang may isang A+ rating ng seguridad sa Amberdata. Iniuugnay ito ng CryptoKitties software engineer na si Fabiano Soriani sa "pagpapatupad ng maraming pagsubok hangga't maaari."

Idinagdag na ang "passive resources" tulad ng nakasulat na dokumentasyon at mga video tutorial sa pagbuo ng dapp ay hindi sapat upang bumuo ng mga secure na application sa Ethereum, sinabi ni Soriani sa CoinDesk:

"Kapag ang isang tao ay nagpatakbo ng isang pag-audit, itinuturo nila ang mga bagay Para sa ‘Yo. Ito ay isang napakahusay na pantulong na mapagkukunan [sa mga passive na mapagkukunan] dahil ang mga developer na nagmumula sa isang mas tradisyonal na background ay T pamilyar sa blockchain."

'Ito ay isang bagong hanay ng mga problema'

Sa katunayan, pagdating sa pagbuo ng mga dapps, ang kahalagahan ng airtight, impenetrable code ay hindi maaaring maliitin. Ang CORE pangangatwiran para dito ay dalawang beses.

Una, hindi tulad ng mga tradisyunal na application, ang mga dapps ay karaniwang open-source na mga programa sa computer at tulad ng ipinaliwanag ni Morriss, "mas mataas na antas ng pag-iingat" ay kinakailangan kapag nagpapatakbo ng code na "pampubliko."

"Kung mayroong anumang bug sa isang tradisyunal na application maaari mong maalis ito sa loob ng ilang taon ... ngunit kung mayroon kang isang bug sa iyong matalinong kontrata ay hahanapin ito ng mga tao nang mabilis at sasamantalahin ito alinman sa iyong pagkasira o para sa kanilang pakinabang," sabi ni Morriss.

Pangalawa, ang dapps sa Ethereum ay eksklusibong tumatakbo sa mga smart contract. Espesyal na naka-code sa programming language Solidity at ipinatupad sa nerve center ng blockchain na tinatawag na Ethereum Virtual Machine (EVM), ang pangunahing lakas ng dapps ay T na mababago ang mga ito.

Ang downside dito ay halata. Hindi madaling maitama ng mga programmer ang mga error o bug sa software kapag na-deploy sa blockchain.

Tinatawag itong "malubhang error" upang laktawan ang isang third-party na pag-audit ng seguridad o pag-scan para sa mga kadahilanang ito, sinabi ni Morriss sa CoinDesk na mahalaga para sa mga developer na huwag maging biktima ng kanilang sariling "hubris" at tiyakin na "sinasaklaw ng mga pagsubok ang bawat sangay ng iyong code."

"Sa Ethereum, ito ay isang bagong hanay ng mga problema na T alam ng mga tao kapag nagko-coding sa Solidity," idiniin ni Espanol sa CoinDesk.

Larawan ng programming sa pamamagitan ng Shutterstock

Christine Kim

Si Christine ay isang research analyst para sa CoinDesk. Nakatuon siya sa paggawa ng mga insight na batay sa data tungkol sa industriya ng Cryptocurrency at blockchain. Bago ang kanyang tungkulin bilang isang research analyst, si Christine ay isang tech reporter para sa CoinDesk na pangunahing sumasaklaw sa mga development sa Ethereum blockchain. Cryptocurrency holdings: Wala.

Christine Kim