Ko vam ugrabimo računalnik
Letošnja evforija okoli kriptovalut je postregla še z eno tehnološko inovacijo, za katero ta hip ni čisto jasno, ali bo korenito spremenila financiranje spletnih vsebin ali pa gre za muho enodnevnico. Upravljavci spletnih strani so spoznali, da lahko za čas obiska izkoristijo procesorsko moč obiskovalca in si z njo narudarijo nekaj kriptovalut. Bomo v prihodnosti v zameno za dostop do spletnih vsebin prispevali procesorski čas?
Chrome opozori na strani s kodo, ki rudari.
Sredi septembra je spletna stran The Pirate Bay spet prišla na naslovnice. Ponavadi se je to dogajalo zaradi njene pomoči pri nezakonitem razpečevanju avtorsko zaščitenih vsebin (po domače: od tam smo vlekli torrente), to pot je bil razlog nenadno povečanje obremenitve procesorja. Se zgodi, moderni brskalniki se včasih zataknejo. Toda tokrat ni bilo krivo ponorelo obnašanje brskalnika, saj se je ponovilo vsakokrat. The Pirate Bay je nekako ugrabil procesor obiskovalca, a le pri obisku določenih podstrani.
Upravljavci strani so se kmalu odzvali z izjavo za javnost, v kateri so pojasnili, da preizkušajo nov način monetizacije strani. Nanjo so vgradili v javascriptu napisan Coinhive, ki izkorišča obiskovalčev procesorski čas za rudarjenje kriptovalute monero. Odzivi uporabnikov so bili zelo različni, od zanimanja do pogroma, na koncu pa je The Pirate Bay preizkus končal. Toda duh je ušel iz steklenice.
Coinhive
Zamisel je v resnici precej briljantna. Spletne strani se dandanes financirajo na tri načine. Nekatere se financirajo iz drugih virov in so podaljšek kakšne druge storitve, denimo RTVjev MMC. Strani z dobro vsebino se financirajo tudi iz naročnin, recimo The New York Times, The Economist ali zdaj že pokojni slovenski Piano. Praktično vse strani pa nekaj zaslužijo tudi z oglasi. Nelegalne spletne strani imajo pri prodaji oglasnega prostora težave, zato so se podjetni ljudje domislili, da bi uporabniki dostop do vsebin plačevali z rudarjenjem v svojih računalnikih.
Rudarijo tudi z virusi
Strokovnjaki ocenjujejo, da se 2–3 odstotke vsega rudarjenja minera izvaja na okuženih računalnikih brez vednosti lastnikov. To niso samo osebni računalniki. Lani so na primer odkrili črva, ki domuje na 5000 strežnikih FTP. Še zanimivejši primer pa je ugledna spletna stran Politifact (nagrajena celo s Pulitzerjevo nagrado), ki preverja verodostojnost izjav ameriških politikov. Ta je 13. oktobra nekaj ur uporabljala Coinhive, ki so ga tja postavili hekerji. Podobno se je septembra zgodilo CBSjevemu Showtime.com. Moderne spletne strani namreč vsebujejo koščke kode od drugod – oglase, analitiko in podobno, kamor lahko napadalci podtaknejo zlonamerna orodja. To se je v preteklosti že dogajalo.
Da ne bi bilo treba vsaki strani izumljati tople vode, se je problema lotilo mlado zagonsko podjetje Coinhive. Razvili so v javascriptu napisan dodatek za spletno stran, ki rudari kriptovaluto monero. Od tako pridobljene vsote Coinhive 30 odstotkov zadrži zase, 70 odstotkov pa posreduje upravljavcu spletne strani. Za monero so se odločili, ker se transakcije potrjujejo (rudarjenje) z izračunavanjem zgoščenih vrednosti po algoritmu Cryptonight, ki je računsko dovolj zahteven, da ga je smiselno poganjati na procesorjih v osebnih računalnikih (CPU). Bitcoin je že zdavnaj prešel na specializirane kose strojne opreme (ASIC), Ethereumu se obeta podobna prihodnost. S procesorjem Intel Core i7 je mogoče rudariti s hitrostjo 140 hashev na sekundo, poganjanje Coinhiva pa zaradi javascripta to učinkovitost zniža na 65 odstotkov, torej okrog 90 h/s. Na prenosnih računalnikih in slabših procesorjih so te številke seveda nižje, podrobnosti o zaslužkih pa so v okvirju.
Hiter razmah
The Pirate Bay je bil prvi, ki je začel rudariti v brskalnikih, a ni ostal edini. Prakso so kmalu preizkusile druge nezakonite spletne strani, kmalu so sledile tudi prve povsem legitimne. Sredi oktobra je po Alexi izmed 100.000 najbolj priljubljenih spletnih strani Coinhive ali njegove klone (JSEcoin, CryptoLoot, MineMyTraffic), ki so tudi hitro vzklili, uporabljalo 220 strani. To ni veliko, a kaže na širjenje početja.
Zato ni presenetljivo, da je sledil tudi hiter in odločen odziv nasprotnikov. Številne spletne strani so namreč Coinhive integrirale brez obvestila, kar je v najboljšem primeru slaba praksa, kaže pa na ignorantski odnos za obiskovalcev. Ponekod se je obvestilo o tem početju znašlo na dnu strani, da so ga obiskovalci prebrali šele, ko so prej na strani preživeli nekaj minut pri branju članka. Čeprav Coinhive omogoča omejitev, koliko odstotkov procesorja lahko zasede, ga marsikje niso omejili. Če obiščemo več takih strani hkrati, to lahko upočasni računalnik do neodzivnosti.
Coinhive se je znašel na najrazličnejših straneh, od The Pirate Baya do CBS Showtime, AirAsia, uradne strani Christiana Ronalda pa do Slovenskih novic.
Odzivi
Spletne ankete so pokazale, da prepričljiva večina uporabnikov interneta Coinhive šteje za zlonamerno programsko opremo (malware). Najenostavnejša rešitev je blokada javascripta, kar ima glede na količino spletne nesnage koristne stranske učinke. Hitro pa se je našlo precej orodij (npr. razširitev No Coin za Chrome), ki blokirajo Coinhive in sorodno kodo. Isto funkcijo so dobili tudi »veliki« dodatki za blokado reklam, denimo AdBlock Plus. Cloudflare pa je kot ponudnik gostovanja že začel onemogočati račune, ki gostujejo spletne strani s Coinhivom. Toda mnenje obiskovalcev postane bolj pozitivno, če jim dogajanje in motive najprej pojasnimo.
Povprečen prenosnik pri polni obremenitvi zmore 20 hashev na sekundo.
Kaj pa v Sloveniji?
Prva spletna stran, ki je v Sloveniji preizkusila Coinhive, so bile Slovenske novice. Svoj čas so bile del vseslovenskega plačljivega zidu Piano, v katerega se je leta 2012 povezalo enajst tiskanih medijev. Uspeh je bil pičel, zato sta Delo in Slovenske novice leta 2013 izstopila iz Piana pod svoj plačljivi zid. To je zadalo dokončni udarec Pianu, do leta 2015 je umiral na obroke.
Slovenske novice se danes financirajo iz naročnin in oglasov. Obsežnejši (premijski) članki so zaklenjeni in dostopni le ob plačilu. Zato so letos preizkusili, kako bi se obneslo financiranje z rudarjenjem. Doslej so preizkus izvedli enkrat, 25. septembra na premijskem članku o nekem sodnem procesu, ki je bil dostopen vsem, v zameno pa je ob njegovem odprtju stekel Coinhive (le na tej podstrani). Pod člankom je bilo tudi obvestilo, kaj se dogaja. To je bil prvi praktičen preizkus te tehnologije v Sloveniji.
Pri Slovenskih novicah natančnih številk niso mogli razkriti, so pa nazorno povedali, da se ni nabralo niti za sok.
Preizkus je tekel dva dni. Rezultati so bili klavrni, so nam povedali v uredništvu. Članek je bil sicer izbran naključno, a je bila njegova branost podpovprečna. Natančnih številk niso mogli razkriti, so pa nazorno povedali, da se ni nabralo niti za sok. To je tako malo, da odpadejo vse pravne zagate z izplačilom, saj Coinhive izplača šele pol monera (okrog 50 dolarjev), temu pa se niso niti približali.
Resda gre za samo en članek, a približen račun pokaže, da četudi bi Slovenske novice tako monetizirale celotno spletno stran, izplen ne bi zadoščal niti za plačilo minimalnih prispevkov enega samostojnega podjetnika, pa so Slovenske novice med petimi najbolj obiskanimi slovenskimi stranmi (več številk v okvirju). Za zabaven zasuk celotne zgodbe je poskrbel SI-CERT, ki jih je obvestil, da imajo na spletni strani nekaj čudnega, naj preverijo.
Slovenija je premajhna
Slovenija je za zdaj premajhna, da bi se rudarjenje v brskalnikih izplačalo. Pri Slovenskih novicah so dejali, da bodo tehnologijo spremljali in v prihodnosti morda izvedli kak drugačen preizkus, a za zdaj ni pričakovati, da bi tako lahko nadomestili klasične vire financiranja. So pa poudarili, da so bili odzivi uporabnikov presenetljivo spodbudni.
Seveda je drugače v tujini, kjer sega število bralcev v milijone. A ob tem še nekaj pomislekov. Rudarjenje na mobilnih napravah je bistveno bolj moteče, saj porablja baterijo, v trenutnih izvedbah pa tega marsikje ne ločujejo in rudarijo kar vsem. Etično je omejiti maksimalno porabo procesorja, prav tako je treba jasno zapisati, kaj stran počne, in dati obiskovalcem možnost, da jo podprejo kako drugače. Mimogrede, tudi številne reklame, zlasti s Flashem, znatno obremenijo procesor, pa imamo od tega še manj.Stanje lahko tudi obrnemo in vsebino ponudimo zastonj, potem pa uporabnike prosimo, naj kliknejo gumb Rudari in prostovoljno donirajo procesorski čas. Morda bo tako odziv višji kot ob gumbih Doniraj prek Paypala. To je ena izmed možnosti, ki jo na primer preučujejo v Slovenskih novicah.
Brskalniško rudarjenje je trenutno neregulirano, torej se zanj smiselno uporabljajo splošni zakoni. Gre za prihodek iz poslovanja. Nadaljnji razvoj pa je odvisen od prihodnosti kriptovalut. Za zdaj se zdi svetla.
Kako razširjeno je rudarjenje v brskalnikih
Absolutnega odgovora na to vprašanje ni, ker se stanje naglo spreminja. V zadnjem tednu septembra in prvih dveh tednih oktobra je vtičnike Coinhive in podobne uporabljalo 220 strani izmed 100.000 najbolj obiskanih po seznamu Alexa (0,22 %), je pokazala raziskava AdGuarda. Najviše rangirana stran s Coinhivom je bil francoski Uptobox.com (klon Dropboxa) na 699. mestu, a je po pritisku nehal. Podobno je storilo veliko priljubljenih strani, ki so Coinhive preizkušale in ga pokopale. Po eni strani so zaslužile premalo, po drugi strani pa jezile uporabnike.
V glavnem Coinhive vztraja na straneh s sumljivimi vsebinami, denimo z različnimi torrenti, pornografijo, nezakonitimi pretočnimi vsebinami in podobnim. To je razumljivo, saj te strani zaradi nezakonite narave teže pridobivajo večje oglaševalce. Ni povsod tako kot v Sloveniji, kjer na največji lokalni strani s torrenti oglašujejo velike banke in telekomunikacijski operaterji.
Mizerni izkupički
Coinhive izplačuje 0,000142 monera za milijon izračunanih hashev. To je po trenutnih tečajih 1,3 centa. Povprečen prenosni računalnik zmore 30 hashev na sekundo, če vso razpoložljivo moč porabi za rudarjenje. To je malo. Spletna stran z milijon obiskovalci na dan, izmed katerih vsak na strani preživi na dan pol ure, bi na mesec zbrala okrog 700 evrov. Z omejeno rabo procesorja bi bil izkupiček še nižji. Najbolj obiskana slovenska stran je 24ur.com, na kateri uporabnik na dan preživi 12 minut; stran doseže okrog 700.000 ljudi. To pomeni, da z rudarjenjem v nobenem primeru ne bi mogli zbrati več kot 200 evrov. V prihodnosti se lahko te številke še zelo spremenijo, ker lahko Coinhive izplačuje več ali manj, tečaj monera niha, zahtevnost rudarjenja se spreminja, zmogljivosti računalnikov se povečujejo itd.