Piratai rado būdą pavogti Bitcoin be privačių raktų
„Bitcoin“ piniginė „Electrum“ ištaisė saugumo trūkumą, dėl kurio įsilaužėliai galėjo nukreipti mokėjimus, kai vartotojai bandė padidinti operacijų mokesčius.
Kūrėjai atskleidė pažeidžiamumą spalio 24 d., patvirtindami, kad kenkėjiški serveriai pasinaudojo šia silpnybe ir kad mažiausiai vienas vartotojas prarado „Bitcoin“ nesąmoningai patvirtinęs nesąžiningą sandorį.
Didelis pažeidžiamumas turi įtakos senesnėms nei 4.8.3 Electrum versijoms. Ji išnaudoja piniginės priklausomybę nuo išorinių serverių, kad galėtų sekti nepatvirtintas operacijas, todėl užpuolikai gali manipuliuoti mokėjimo informacija, kurią vartotojai mato prieš patvirtindami papildomus mokesčius.
Paskelbta po dviejų skundų, gautų spalio 11 d. ir spalio 18 d. Pirmasis naudotojas pastebėjo nepažįstamą operaciją, kuri pasirodė jo piniginėje po to, kai transliavo mokėjimą, o antrasis pranešė, kad prarado lėšas, kai bandė pagreitinti laukiantį pervedimą.
Abiejuose incidentuose užpuolikai generavo Bitcoin adresus, kurie atitiko paskutinius keturis numatytų gavėjų adresų simbolius, o tai galėjo apgauti vartotojus, kurie pasitikėjo daliniais adresų patikrinimais.
Electrum neatskleidė pavogtos sumos, nors jos prižiūrėtojai patvirtino, kad kai kurie serveriai aktyviai vykdo ataką.
Kaip įsilaužėliai Bitcoin mokesčių koregavimus pavertė neteisėtais mokėjimais
Išnaudojimas pasinaudoja trūkumu, kaip Electrum apdoroja operacijų informaciją, kurią pateikia prijungti serveriai.
Kai vartotojas transliuoja Bitcoin mokėjimą, kenkėjiškas serveris gali sulaikyti operaciją tinkle ir vietoj to pateikti prieštaraujančią versiją, kuri nukreipia lėšas į užpuoliko valdomą adresą.
Iš pradžių apgaulingoje operacijoje yra neteisingų parašų, o tai reiškia, kad jos negalima apdoroti kaip teisėto mokėjimo. Tačiau paveiktiems Electrum klientams nepavyko patikrinti tų parašų prieš parodydami pakeistą operaciją nepatvirtintoje piniginės istorijoje.
Dėl to teisėtas mokėjimas dingsta iš šio rodinio, todėl vartotojui lieka manipuliuojama operacija, kuri, atrodo, laukia patvirtinimo.
Tada užpuolikas gali išnaudoti „Bitcoin“ funkciją „Replace-by-Fee“, kuri leidžia vartotojams padidinti operacijų mokesčius, kad paskatintų kalnakasius patvirtinti uždelstus mokėjimus.
Jei nukentėjusysis rankiniu būdu padidina pakeistos operacijos mokestį, Electrum sugeneruoja naujus parašus, leidžiančius pakeisti pakeistą mokėjimo informaciją. Dėl šio patvirtinimo užpuoliko nukreipta operacija galioja, todėl lėšos gali būti pervestos nepažeidžiant vartotojo privačių raktų.
Pranešama, kad spalio 18 d. incidento metu užpuolikai apgaulingo sandorio mokestį nustatė iki nulio, o tai gali paskatinti auką jį padidinti.
Atvejis parodo, kaip įprasta piniginės funkcija gali tapti vagystės mechanizmu, kai klientas priima operacijos duomenis iš nepatikimo serverio be tinkamo patikrinimo.
Naujausiame „Electrum“ leidime pateikiami piniginei priklausančių įvesties parašų patikros prieš nepatvirtintas operacijas patenkant į kliento vietinę istoriją, neleidžiant praneštam pakeitimo būdui pasiekti mokesčių koregavimo etapą.
Kūrėjai pažymėjo 4.8.3 versiją spalio 23 d. ir išplatino atnaujintą programinę įrangą spalio 24 d. kartu su viešuoju saugumu.
Jie patarė vartotojams atsisiųsti pataisą iš oficialios Electrum svetainės ir patikrinti visus gavėjų adresus ir mokėjimo sumas, kai pasirašo sandorius.
Patariame taip pat teigiama, kad klientai, prisijungę tik prie patikimų serverių, įskaitant privačiai valdomus, nėra veikiami šios atakos. Pleistras nepratęsia parašo tikrinimo kiekvienai gaunamai operacijai.
