12
SVEUČILIŠTE U ZAGREBU FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA SEMINAR Ethereum blockchain platforma - analiza tehnologije i potencijalni napadi Krešimir Ostović 0036474393 Predmet: Računalna forenzika 2017./2018. Zagreb, siječanj, 2018.

Ethereum blockchain platforma - analiza tehnologije i potencijalni …nevena.lss.hr/recordings/fer/predmeti/racfor/2018/... · 2017. 12. 27. · Blockchain tehnologija je relativno

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Ethereum blockchain platforma - analiza tehnologije i potencijalni …nevena.lss.hr/recordings/fer/predmeti/racfor/2018/... · 2017. 12. 27. · Blockchain tehnologija je relativno

SVEUČILIŠTE U ZAGREBU FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA

SEMINAR

Ethereum blockchain platforma - analiza tehnologije i potencijalni napadi

Krešimir Ostović 0036474393

Predmet: Računalna forenzika 2017./2018.

Zagreb, siječanj, 2018.

Page 2: Ethereum blockchain platforma - analiza tehnologije i potencijalni …nevena.lss.hr/recordings/fer/predmeti/racfor/2018/... · 2017. 12. 27. · Blockchain tehnologija je relativno

2

Sadržaj 1. Uvod .................................................................................................... 3

2. Sigurnost novčanika..............................................................................4

2.1 Držanje tokena u privatnom novčaniku..................................... 4

2.2 Držanje tokena na burzi.............................................................5

2.3 Držanje tokena na hardverskom novčaniku...............................5

3. Sigurnost platforme i pametnih ugovora...............................................7

3.1 Sigurnost platforme i PoW algoritam.........................................7

3.2 Sigurnost pametnih ugovora......................................................7

3.3 Napadi na platformu i pametne ugovore....................................8

4. Sigurnost Initial Coin Offering (ICO)....................................................10

4.1 Sigurnost tvrtki u blockchain poslovanju..................................10

4.2 Napadi na ICO na Ethereum platformi ....................................11

5. Zaključak ........................................................................................... 11

6. Literatura ........................................................................................... 12

Page 3: Ethereum blockchain platforma - analiza tehnologije i potencijalni …nevena.lss.hr/recordings/fer/predmeti/racfor/2018/... · 2017. 12. 27. · Blockchain tehnologija je relativno

3

1. Uvod

Tema ovog seminara je analiza sigurnosti u Ethereum platformi koja korist blockchain tehnologiju. Blockchain tehnologija je relativno nova te novootkriveni propusti u implementaciji nisu nikakva novost. Ethereum platforma koristi mnogobrojne prednosti blockchain tehnologije, ali također postoje mnogobrojne ranjivosti. Neke od tih ranjivosti su prouzročene lošom implementacijom, neke lošim specifikacijama ethereum platforme, a neke jednostavnim propustima developera bilo Ethereum developera bilo developera koji baziraju svoj produkt djelomice na Ethereum platformi. Veliki problem u sigurnosti je i takozvani ICO koji se najčešće događa na Ethereum platformi u osnovi podržava lagano kreiranje novih coina. Seminar će analizirati nedavne napade na Ethereum platformu te pokušati odgonetnuti gdje bi se mogao pronaći krivac. Veliki problem u sigurnosti Blockchain tokena su novčanici. Postoje razne vrste novčanika za Ethereum platformu, te će se u seminaru obraditi i sigurnost novčanika.

Page 4: Ethereum blockchain platforma - analiza tehnologije i potencijalni …nevena.lss.hr/recordings/fer/predmeti/racfor/2018/... · 2017. 12. 27. · Blockchain tehnologija je relativno

4

2. Sigurnost novčanika Ethereum platforma kao i ostale platforme se bazira na tokenu ovdje

nazvanom Ether koji služi za razmjenu dobara. Token se mora negdje moći spremiti na sigurno tako da ga nitko drugi osim nas ne može koristiti ili prebacivati. Postoje tri najosnovnija načina držanja Ether tokena te tokena generiranih preko Ethereum platforme. 2.1 Držanje tokena u privatnom novčaniku

Držanje tokena u privatnom novčaniku ima svojih prednosti poput toga

da ako kripto mjenjačnice budu hakirane, tu osobu to nimalo ne dotiče. Pošto su ključevi novčanika spremljeni na lokalnom računalu/računalima korisnika. U slučaju da korisnik želi promijeniti novčanik ili izgubi privatne ključeve samo on ima sposobnost ih vratiti preko 24rječne zaštite. Međutim ako i to izgubi onda korisniku više nitko ne može vratiti novac na račun. Lokalni novčanik je siguran onoliko koliko je sigurno računalo na kojem se drži. Naime napadač može doći do pristupa lokalnom računalu na nebrojeno puno načina te pronaći i poslati sebi privatne ključeve novčanika. Trenutno je najpoznatiji novčanik ove vrste Mist kojeg je dizajnirala službena Ethereum strana te nije poznat niti jedan sigurnosni incident koji uključuje maliciozni kod u samom Mistu. Ipak u Chromiumu je bila otkrivena ranjivost koja je omogućavala pokretanje malicioznog koda unutar njega kako bi došla do privatnih ključeva u Mistu. [10]

Page 5: Ethereum blockchain platforma - analiza tehnologije i potencijalni …nevena.lss.hr/recordings/fer/predmeti/racfor/2018/... · 2017. 12. 27. · Blockchain tehnologija je relativno

5

2.2 Držanje tokena na burzi

Burza sadrži

nekoliko računa na kojoj se nalaze tokeni. Neki računi služe za transakcije sa drugih burzi, neki za hladnu pohranu tokena i tamo se nalazi veći dio tokena. Osim uz pomoć internih stručnjaka, tokeni držani u hladnom spremištu su na sigurnom. Obično se smatra da je novac držan na popularnim mjenjačnicama/burzama siguran. Ipak često se zna dogoditi da se socijalnim inženjeringom ili izradom stranica koje na prvi pogled izgledaju kao prave, a zapravo su lažne i omogućuju prikupljanje podataka, se prikupe podatci koji dovode do hakiranja novčanika.

U napadu 21.12.2017 na manje poznatu kripto mjenjačnicu EtherDelta ukradena je manja količina Ether tokena. Napad je izvršen tako da su napadači preuzeli kontrolu nad DNS serverom koji opslužuje stranice EtherDelta stranice te je postavljeno da korisnike vodi do napadačeve stranice. [1] Bithumb tada najveća Ether kripto mjenjačnica je napadnuta polovicom 6. mjeseca 2017 godine. U napadu je navodno ciljano bilo zaraženo računalo jednog od zaposlenika te su samo podatci iz tog računala kompromitirani, nažalost čak i uz tako malo podataka napadači su iskoristili dobivene informacije i privatne ključeve kako bi olakšali Bithumb za poveći iznos Ethera. [11]

2.3 Držanje tokena na hardverskom novčaniku Hardverski novčanici su iznimno popularni kod čuvanja veće količine tokena te kod čuvanja tokena koji se zasigurno neće neko duže vrijeme koristiti. Razlog tomu je velika sigurnost zbog toga što tokeni nisu na mreži već se čuvaju izvan mreže, pa je jedini način da netko ukrade tokene taj da ukrade i uređaj. U većini slučajeva osoba koja ukrade uređaj, a ne zna pin za uređaj, ostat će kratkih rukava.

Page 6: Ethereum blockchain platforma - analiza tehnologije i potencijalni …nevena.lss.hr/recordings/fer/predmeti/racfor/2018/... · 2017. 12. 27. · Blockchain tehnologija je relativno

6

2.3.1 Najčešće korišteni hardverski novčanici za Ethereum te njihova sigurnost Hardverski novčanici u sebi sadrže privatne ključeve računa na kojem osoba ima tokene. Također postoji i spremište za 24 riječnu šifru koja se koristi u slučaju da je osoba izgubila privatni ključ te se time može vratiti privatni ključ. Cijeli novčanik je zaključan pinom tako da se novčanik ne može otključati bez pina, a postoji i sigurnosni mehanizam protiv brute force napada. Novčanik se spaja na računalo samo ako želimo prebaciti ključeve/adrese s računala, inače ga se ne uključuje u računalo.

Najviše se koriste [8] : Ledger Nano S – podržava i 2faktorsku autentifikaciju preko FIDO standarda te sadrži 2 mikrokontrolera za različite zadaće kako bi se razdvojile zadaće te poboljšala sigurnost novčanika. Trezor – Najčvršći od svih te pogodan za loše vremenske uvjete. Ima ugrađen password manager te poveći ekran te je teže prevariti korisnika s transakcijom sa sličnom adresom. Keep Key – Podržava najveći broj altcoina odnosno tokena koji nisu poznati široj javnosti. Poveći ekran s mnogo opcija te „premium“ izgled. 2.3.2 Napadi na hardverske novčanike Svi hardverski novčanici imaju i određene slabosti te ih je moguće hakirati u određenim slučajevima čak i ako napadač nije u posjedu uređaja. Pošto je u seminaru naglasak na sigurnosti Ethereum platforme, obradit će se samo oni koji najviše pogađaju upravo Ethereum platformu. [9] Trezor and Keep Key Freezing attack – [7] zasniva se na činjenici da se podatci o privatnim ključevima zapisuju u SRAM bez enkripcije tako da ih možemo bez problema očitati. Trezor uređaj se priključi na računalo te nakon inicijalizacije spojimo RESET i Ground pin zajedno te držimo oba Trezor gumba. Pokrenemo update firmwarea sa hackom te RESET kad je gotov. Nakon toga možemo dobiti cijelu SRAM memoriju s naredbom tz_dump. Man in the middle attack – Ledger ima mali ekran te ne može prikazati potpunu adresu primatelja, pa pokazuje prva 4 i zadnja 4 hex znaka. Napadač može generirati adresu koja pokazuje istih 8 hex znakova kao i prava adresa te žrtva ne sumnjajući je prebacila novac na tuđi račun umjesto svoj.

Page 7: Ethereum blockchain platforma - analiza tehnologije i potencijalni …nevena.lss.hr/recordings/fer/predmeti/racfor/2018/... · 2017. 12. 27. · Blockchain tehnologija je relativno

7

Rješenja većina problema su multi-signature novčanici. Problem je što Ethereum platforma nema nativno ugrađenu podršku već se to radi preko pametnih ugovora. Za pametne ugovore trenutno ne postoji podrška na hardverskim novčanicima te i na softverskim implementacijama postoje sigurnosne rupe koje napadač može iskoristiti.

3. Sigurnost platforme i pametnih ugovora 3.1. Sigurnost platforme i PoW algoritam

Sigurnost platformi se temelji na algoritmu traženja novih blokova te sigurnošću kriptografskog algoritma za potvrđivanje transakcija. Ethereum platforma implementira jedan od Proof of work algoritama zvan Ethash. Osnovna značajka za traženje novog bloka je traženje SHA3-256 hasha te je u osnovi algoritam siguran pošto je SHA3-256 siguran odnosno još nije pronađen sigurnosni propust u algoritmu koji bi omogućio pronalazak hasha puno brže od zamišljenog pretraživanja redoslijedom. Skupine ljudi mogu se dogovoriti i rudariti zajedno odnosno tražiti blokove zajednički tako da svatko pokuša jedan dio otkriti. [12] Sigurnost blockchaina kao takvog je neupitna. Naime ako bi željeli promijeniti jedan blok negdje u sredini blockchaina, morali bi promijeniti i svaki sljedeći blok do današnjeg trenutka. Za takve postupke treba nam 50%+1 dio procesne snage koja rudari nove blokove. S obzirom na to da najjače kriptovalute imaju veliku diverzificiranost procesne snage takvo što je nemoguće osim u slučajevima zajedničkog dogovora koji je obično posljedica sugeriranja od strane programera pojedine platforme. Takav dogovor se naziva račvanje i u Ethereum platformi je nastao nekoliko puta zbog velikih promjena unutar sustava. Jednom i poluuspješno izvedeno, a taj put se mreža nije mogla dogovoriti te su nastale 2 platforme Ethereum i Ethreum classic koje su od tog trenutka počele raditi odvojeno.

3.2. Sigurnost pametnih ugovora S druge strane postoje pametni ugovori koji su zapravo funkcije koje se

izvršavaju u slučaju da ih pozove bilo korisnik bilo program. Funkcije u pametnim ugovorima čitaju s blockchaina ili pišu na blockchain uz određene uvjete. Funkcije je moguće izvršavati pomoću „Ethereum Virtual Machine“ (EVM) okoline te kada se jednom prenesu u blockchain, nemoguće ih je mijenjati. Zbog toga ih je nemoguće hakirati međutim

Page 8: Ethereum blockchain platforma - analiza tehnologije i potencijalni …nevena.lss.hr/recordings/fer/predmeti/racfor/2018/... · 2017. 12. 27. · Blockchain tehnologija je relativno

8

postoji problem ako su same funkcije loše napisane odnosno postoji neki propust u njima, to je nemoguće promijeniti čak i od strane vlasnika upravo zbog mehanizma blockchaina. Naravno postoji mogućnost da se Phishing napadom usmjeri krajnjeg korisnika na napadačev pametni ugovor. Također postoji mogućnost da je u pametnom ugovoru korištena neka vrsta dodatne enkripcije koja je naknadno probijena te napadač ako uspije doći do podataka koje se šalju tako kriptirane može doći do pravih podataka ako osoba odgovorna za pametni ugovor ne izda novu verziju.

3.3. Napadi na platformu i pametne ugovore U početku je Ethereum platforma imala svojih problema. Od toga da se sav novac šalje na 0x0 adresu u slučaju krivog zapisa, pa do toga da se službeni JavaScript kod za kreiranje adresa kvario te često dao neiskoristiv novčanik. Zbog toga su se počeli održavati Ethereum Hackatoni. Zadnji Ethereum Hackathon koji je održan u 9. mjesecu 2017. je otkrio još nekoliko slabosti u pametnim ugovorima odnosno Ethereum Virtual Machine okolini. Napadač je uspio iskodirati takav pametan ugovor da ga EVM prihvatio, iako bi ga inače odbio da je pravovaljano otkrio, te kada je ugovor pokrenut dolazi do „buffer overflow“ napada. Jedan od ranjivosti je bila i transakcija novca koja inače košta, za besplatno i to preko posebnih internih metoda u top programskom jeziku Solidity. Manji dio napada i preuzimanje novca od ICO kampanja je izvršen zbog loše isprogramiranih pametnih ugovora. Najveći takav napad je ujedno bio i najbolniji za Ethereum platformu. Napad se dogodio 6. mjesecu 2016. godine kada je mnogo ljudi uložilo u The DAO organizaciju unutar Ethereum platforme koja je zapravo bila skup pametnih ugovora. Jedan od pametnih ugovora koji je služio za vraćanje novca imao je tada već poznati sigurnosni propust koji je

Page 9: Ethereum blockchain platforma - analiza tehnologije i potencijalni …nevena.lss.hr/recordings/fer/predmeti/racfor/2018/... · 2017. 12. 27. · Blockchain tehnologija je relativno

9

omogućavao da korisnik uloži u drugu organizaciju odnosno povuče novac iz glavne nebrojeno puta. Odgovorni za propust su većinom bili osnivači Ethereum platforme te imali velike novčane uloge u The DAO organizaciji. Želeći vratiti svoj novac pokušali su nagovoriti ostatak Ethereum zajednice na presedan, a to je poništiti sve transakcije prije napada te omogućiti vraćanje novca na privatne račune odnosno napraviti takozvani „hard fork“. Naravno velika većina se s njima složila te je efektivno The DAO organizacija prestala postojati. Ostatak koji se nije složio te je smatrao da bi onda za svaki napad i pogrešku smjeli vraćati sustav na prijašnje vrijeme je stvorio svoj „fork“ Ethereum platforme koja je nastavila raditi odvojeno poznata kao Ethereum Classic. Treba napomenuti da sama Ethereum platforma nije bila kompromitirana kao ni EVM ni ostali pametni ugovori te da je do krivice došlo zbog programera koji su pisali dotični pametni ugovor za The DAO organizaciju.

Ethereum platforma nema podržan multi potpisni novčanik koji omogućuje odnosno sprječava da se transakcija s jednog računa odvije bez potpisa većine ostalih računa. U tu svrhu postoje aplikacije koje šalju pametan ugovor na blockchain u kojima je inicijalizirano bar 3 računa te se transakcija smije odviti ako je većina potvrdila transakciju. U jednom napadu je u loše zamišljenom Parity multi signaturenovčaniku otuđena veća količina novca s nekoliko računa. Napad je odvijen tako što su programeri razdvojili logiku za kreiranje novih računa u posebnu biblioteku te je to omogućavalo da se ta transakcija odvije besplatno, ali i neovisno. Napadač je jednostavno pozvao tu funkciju te prebrisao stare prave vlasnike i postavio sebe te nakon toga pozvao funkciju za prijenos novca, a funkcija mu se izvršila pošto je bio jedini pravi vlasnik. Drugi napad na multi signaturenovčanike zaštićene Parityem se dogodio u 12. mjesecu 2017. [2] [3] te ovaj put napadač nije uspio prebaciti novac na svoj račun, ali je zaključao novac na svim računima koji su stvoreni nakon sigurnosne zakrpe od prošlog napada. Trenutno ne postoji način otključavanja tih tokena, te će se najvjerojatnije posegnuti za račvanjem odnosno vraćanjem ugovora na prijašnje stanje što će omogućiti sigurnosne rupe unutar Parityja te prekinuti po drugi put konzistentnost blockchaina da se sve što se dogodilo ostaje takvo kako je.

Page 10: Ethereum blockchain platforma - analiza tehnologije i potencijalni …nevena.lss.hr/recordings/fer/predmeti/racfor/2018/... · 2017. 12. 27. · Blockchain tehnologija je relativno

10

4. Sigurnost Initial Coin Offering (ICO)

4.1 Sigurnost tvrtki u blockchain poslovanju

Najveći dio napada na tvrtke koje rade s kriptovalutama su napadi na

web stranice tih tvrtki tako da lakše odrade phishing napad. Napadi mogu ciljati DNS servere te tvrtke tako da vode na lažnu web stranicu. Također napadi mogu ciljati i samu web stranicu te napadač može izmijeniti adresu na kojoj se šalje novac i postaviti na svoju prevarivši tako korisnike. Napadač može i postaviti lažnu stranicu koja isto izgleda i ima domenu sličnu pravoj domeni tako da korisnik bude obmanut i ne sumnjajući preda svoje podatke napadaču.

Napadi na računala zaposlenika s ciljem preuzimanja privatnih ključeva ili bar šifri te tvrtke su isto česti. Napadač može poslati malware u obliku privitka ili zaposlenik može zaraziti računalo u tvrtki preko USBa te tako kompromitirati podatke. Napadač se može i proširiti po mreži te postupno dobiti pristup svim računalima unutar tvrtke te svim privatnim ključevima novčanika. Hardverski novčanici su i dalje sigurni te ih se u slučaju napada na tvrtku nikako ne smije spajati na inficirana računala odnosno mrežu. Initial Coin Offering (ICO) je sličan Initial public offering (IPO) odnosno tvrtka koja želi napraviti nešto i želi svježi kapital daje u zamjenu token na

Page 11: Ethereum blockchain platforma - analiza tehnologije i potencijalni …nevena.lss.hr/recordings/fer/predmeti/racfor/2018/... · 2017. 12. 27. · Blockchain tehnologija je relativno

11

nekoj platformi, najčešće Ethereum platformi pošto su većinom takve tvrtke potpomognute Ethereum platformom i pametnim ugovorima koje pruža. Tokenom se može trgovati, a da bi osoba kupila token, mora dati određenu količinu drugih tokena u zamjenu, najčešće se prihvaća samo token na čijoj platformi je zamišljena aplikacija.

4.2 Napadi na ICO na Ethereum platformi

CoinDash je Ethereum platformski potpomognuta socijalno trgovinska platforma. Sredinom 7. mjeseca 2017. godine su izdali ICO te su „prikupili“ 6m$ u prve 3 minute [6] prije nego što je otkriven napad. Taj novac je ipak otišao u ruke hakera, a sumnja se da je haker imao kontrolu nad stranicom duže vrijeme te je netom prije izlaska ICO promijenio adresu na koju investitori šalju novac na svoju. 3 mjeseca poslije haker je ipak vratio sav novac tvorcima CoinDasha najvjerojatnije zato što su financijski istražitelji iz Izraela potpomognuti javnom infrastrukturom za pregled blockchaina došli do osobnih podataka hakera. Etherparty je početkom 10. mjeseca 2017. godine na sličan način izgubio dio kapitala

Veritaseum je krajem 7. mjeseca 2017. godine bio izložen napadu u kojem je manji dio njihovog izdanog tokena bio prebačen na privatne račune te zatim zamijenjen za Ethereum. Sumnja se da je napadač imao pristup preko zaraženih računala zaposlenika. Enigma, također jedna od decentraliziranih platformi doživjela je spam Phirshing napade [5] u kojima su korisnici koji su željeli uložiti u ICO izgubili značajan dio novca tako što su uplatili na napadačev račun. JobCoin je doživio DDoS napad krajem 10. mjeseca 2017. za vrijeme ICO. Napad je doživio neuspjeh te nije uspio ugroziti ICO, te svi investitori koji su željeli uložiti su i dalje mogli pristupiti web stranicama zbog pravovremene reakcije uključivanja dodatnih vatrozida.

5. Zaključak

Može se zaključiti da je Ethereum platforma sigurna sama po sebi te da ima sve prednosti blockchaina koji ju čine neranjivom na napade. Međutim Ethereum platforma nudi pametne ugovore koji imaju mnogo nedostataka u izvršavanju te nisu još na razini kakvi bi trebali biti. Dodaju li se tome i programeri koji nestručno pišu pametne ugovore dogodi se mnogo sigurnosnih propusta koje napadači rado koriste. Mnogo propusta je i u tvrtkama koji loše održavaju vlastitu sigurnost i sigurnost vlastitih web stranica slučajno ili namjerno. Ljudi lakomisleno ulažu očekujući velike profite, te je napadačima lako obaviti i phishing napade zbog toga što ljudi ne provjeravaju sigurnost odnosno ispravnost web stranica na koje dolaze. Mnoge web stranice tvrtki koje se bave blockchainom su napravljene u alatima koje imaju sigurnosne propuste te ih napadači koriste kako bi stekli ovlasti nad privatnim ključevima računa povezanih s tokenima u vlasništvu tvrtki. Zbog toga što još nigdje u svijetu ICO nije reguliran, napadači često ostaju imuni na pravosudna tijela te se više odvažuju počiniti štetu.

Page 12: Ethereum blockchain platforma - analiza tehnologije i potencijalni …nevena.lss.hr/recordings/fer/predmeti/racfor/2018/... · 2017. 12. 27. · Blockchain tehnologija je relativno

12

6. Literatura

[1] http://mashable.com/2017/12/21/etherdelta-

hacked/#z8bZhSWACqqL

[2] https://www.coindesk.com/ethereum-security-lead-hard-fork-

required-to-release-frozen-parity-funds/

[3] http://mashable.com/2017/11/08/ethereum-parity-

bug/#XBTMoLJmFmqS

[4] http://www.trustnodes.com/2017/05/21/ethereum-now-secure-

public-blockchain-overtaking-bitcoin

[5] https://thehackernews.com/2017/08/enigma-cryptocurrency-

hack.html

[6] https://www.csoonline.com/article/3209130/security/hacker-

allegedly-stole-7-4-million-worth-of-ether-in-three-minutes.html

[7] https://medium.com/@Zero404Cool/frozen-trezor-data-remanence-

attacks-de4d70c9ee8c

[8] http://hardware-wallet.com/ethereum-hardware-wallet/

[9] https://blog.gridplus.io/hardware-wallet-vulnerabilities-

f20688361b88

[10] https://blog.ethereum.org/2017/12/15/security-alert-chromium-

vulnerability-affecting-mist-browser-beta/

[11] https://bravenewcoin.com/news/fourth-largest-bitcoin-exchange-

bithumb-hacked-for-billions-of-won

[12] https://github.com/ethereum/wiki/wiki/Ethash