Dieses Dokuwiki verwendet ein von Anymorphic Webdesign erstelltes Thema.

Razlike

Slijede razlike između dviju inačica stranice.

Poveznica na ovu usporedbu

Starije izmjene na obje strane Starija izmjena
Novija izmjena
Starija izmjena
racfor_wiki:blockchain:forenzika_pametnih_ugovora_na_ethereum_blockchainu [2020/01/09 18:52]
dlatecki [Chapter 4]
racfor_wiki:blockchain:forenzika_pametnih_ugovora_na_ethereum_blockchainu [2024/12/05 12:24] (trenutno)
Redak 1: Redak 1:
 ===== Sažetak ===== ===== Sažetak =====
 +
 +Blockchain tehnologija omogućuje transparentnu i neporecivu komunikaciju koja ima mnoge primjene, od kojih su jedna od njih pametni ugovori. Ethereum platforma pruža fleksibilnost i jednostavnost pri pisanju pametnih ugovora, ali je zbog toga programerima teže na vrijeme uočiti potencijalne sigurnosne propuste. Zbog toga je potrebno upoznati se s čestim potencijalnim programskim greškama i alatima koji mogu pomoći kod sigurnosne analize pri pisanju pametnih ugovora.
 +
 +**Ključne riječi:** Ethereum; blockchain; pametni ugovori
 +
  
 ===== Uvod ===== ===== Uvod =====
Redak 91: Redak 96:
  
 function increment(uint _number) public returns (uint) { function increment(uint _number) public returns (uint) {
-_number += _number; +    _number += _number; 
-return _number;+    return _number;
 } }
  
Redak 99: Redak 104:
  
 Kada se izvrši navedeni kod, vrijednost ''newNumber'' varijable će biti 0, a ne 256. Ovaj problem se najjednostavnije može riješiti koristeći biblioteku //SafeMath//. Kada se izvrši navedeni kod, vrijednost ''newNumber'' varijable će biti 0, a ne 256. Ovaj problem se najjednostavnije može riješiti koristeći biblioteku //SafeMath//.
- 
  
  
Redak 116: Redak 120:
 Metode analize pametnih ugovora na Ethereum platformi možemo svrstati u tri kategorije: statička analiza, dinamička analiza i formalna verifikacija. Za bilo koju od navedenih metoda nam je potreban programski kod pametnog ugovora. Njega možemo pronaći koristeći //Etherscan //unosom adrese željenog pametnog ugovora. Na //Etherscan//-u također možemo pronaći potpunu povijest transakcija koje su izvršene na nekoj adresi. Metode analize pametnih ugovora na Ethereum platformi možemo svrstati u tri kategorije: statička analiza, dinamička analiza i formalna verifikacija. Za bilo koju od navedenih metoda nam je potreban programski kod pametnog ugovora. Njega možemo pronaći koristeći //Etherscan //unosom adrese željenog pametnog ugovora. Na //Etherscan//-u također možemo pronaći potpunu povijest transakcija koje su izvršene na nekoj adresi.
  
-**Statičkom analizom** provjeravamo sigurnost koda prije samog izvršavanja. Ova vrsta analize provjerava programski kod i pokušava naći potencijalne sigurnosne propuste provjerom svih ponašanja u programskom kodu i slabosti koje bi mogle nastati pri izvršavanju koda. Za statičku analizu postoje alati kao što su //OYENTE//, //ZEUS//, //GASPER//, //Vandal//, //Ethir, Securify i MAIAN.// Svaki od navedenih alata detektria različite sigurnosne propuste, tako da je preporučeno kosristiti više njih kako bi se osigurala veća razina sigurnosti pametnog ugovora.+**Statičkom analizom** provjeravamo sigurnost koda prije samog izvršavanja. Ova vrsta analize provjerava programski kod i pokušava naći potencijalne sigurnosne propuste provjerom svih ponašanja u programskom kodu i slabosti koje bi mogle nastati pri izvršavanju koda. Za statičku analizu postoje alati kao što su //OYENTE//, //ZEUS//, //GASPER//, //Vandal//, //Ethir, Securify i MAIAN.// Svaki od navedenih alata detektira različite sigurnosne propuste, tako da je preporučeno koristiti više njih kako bi se osigurala veća razina sigurnosti pametnog ugovora.
  
-**Dimanička analiza** provjerava ispravnost pametnog ugovora dok se on izvršava. Time se oponaša način na koji bi napadač tražio sigurnosne propuste u pametnom ugovoru. Sigurnosni propusti koji bi se identificirali kao lažno negativni u statično analizi se mogu uspješno identificirati uz pomoć dinamičke analize. Dinamička analiza se također može koristiti kao metoda validacije rezultata statičke analize.+**Dinamička analiza** provjerava ispravnost pametnog ugovora dok se on izvršava. Time se oponaša način na koji bi napadač tražio sigurnosne propuste u pametnom ugovoru. Sigurnosni propusti koji bi se identificirali kao lažno negativni u statičkoj analizi se mogu uspješno identificirati uz pomoć dinamičke analize. Dinamička analiza se također može koristiti kao metoda validacije rezultata statičke analize.
  
 +**Formalna verifikacija** koristi dokazivače teorema ili formalne metode iz matematike kako bi se dokazala određena svojstva pametnog ugovora, kao što su funkcijska ispravnost, sigurnost pri izvođenju koda, pouzdanost, itd. Alati za formalnu verifikaciju pametnih ugovora koriste postojeće dokazivače teorema, kao što su //Coq//, //Isabelle/HOL//, //Lem// i //SMT// dokazivači. Primjeri ovakvih alata su //F* Framework// i //FEther// interpreter.
  
-===== Chapter 5 ===== 
- 
-===== Chapter 6 ===== 
  
 ===== Zaključak ===== ===== Zaključak =====
  
-zaključak.+Zbog neporecivosti blockchain tehnologije nije moguće promijeniti programski kod postojećih pametnih ugovora, pa je zbog toga potrebni pri pisanju samih ugovora jako paziti na ispravnost i sigurnost. To se može postići upoznavanjem s čestim programskim propustima, korištenjem standardnih biblioteka, uz pomoć alata za statičku i dinamičku analizu, te formalnom verifikacijom programskog koda pametnog ugovora. 
  
 ===== Izvori ===== ===== Izvori =====
Redak 138: Redak 141:
  
 [4] [[https://ethereumdev.io/safemath-protect-overflows/|SafeMath biblioteka]] [4] [[https://ethereumdev.io/safemath-protect-overflows/|SafeMath biblioteka]]
 +
 +[5] [[https://arxiv.org/pdf/1908.08605.pdf|Security Analysis Methods on Ethereum Smart Contract Vulnerabilities — A Survey, Purathani Praitheeshan, Lei Pan, Jiangshan Yu, Joseph Liu, Robin Doss, 2019.]]
  
  
racfor_wiki/blockchain/forenzika_pametnih_ugovora_na_ethereum_blockchainu.1578595950.txt.gz · Zadnja izmjena: 2024/12/05 12:23 (vanjsko uređivanje)
Dieses Dokuwiki verwendet ein von Anymorphic Webdesign erstelltes Thema.
CC Attribution-Share Alike 4.0 International
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0