Egy hacker nemrégiben olyan sebezhetőséget fedezett fel a Bitcoin SegWit kódjában, ami az ezt támogató walleteket kiszolgáltatottá tette egy nagyon speciális támadási formával szemben. A programozó értesítette erről a hardveres tárcákat gyártó cégeket, többek között a Ledgert és a Trezort is.
Az utóbbi a napokban tette közzé a hibát befoltozó javítását, ami azonban lehetetlenné tette, hogy felhasználóik a tárcájuk biztonságából tudjanak csatlakozni bizonyos harmadik felek által üzemeltetett szolgáltatásokhoz, például az anonim tranzakciókat támogató és egyébként magyarok által fejlesztett Wasabi wallethez, vagy a a bitcoin fizetési integrációt lehetővé tevő BTCPay Serverhez.
1/ If you use Trezor and updated the firmware, you won't be able to get the money out of your Trezor via BTCPay Server anymore. We can't fix the issue as we don't have the data Trezor will request. (no transaction index)https://t.co/FIJOTiIHuD
— BTCPay Server (@BtcpayServer) June 4, 2020
A SegWit lényege, hogy lehetővé teszi a kötelegelt tranzakciók végrehajtását, vagyis egyetlen utalás során több címre is küldhetünk vele bitcoint úgy, hogy csak egyetlen tranzakció árát kelljen kifizetnünk. A most felfedezett biztonsági rés ezt így tudja kihasználni:
Tegyük fel, hogy 15 bitcoin értékű tranzakciót szeretnénk végrehajtani egyetlen utalással:
- X címzettnek szeretnénk küldeni 5 BTC-t,
- Y Címzettnek 10.0001 BTC-t, ahol a 0.0001 BTC a bányászoknak kifizetett SegWit tranzakciós jutalék.
A bug lehetővé teszi, hogy a támadó felcserélje ezeket az értékeket, vagyis a címzetteknek csak 0.0001 BTC-t, míg a bányászoknak 15 BTC-t küldjön.
Egy ilyen típusú támadás sikeres végrehajtásához elég sok dolognak kellene klappolnia, a hackernek ugyanis amellett, hogy telepítenie kellene a gépünkre egy kártékony programot és bele kellene nyúlnia az utalásunkba, még egy olyan bányásznak is kellene lennie, akinek éppen a mi tranzakciónk blokkját kellene kibányásznia ahhoz, hogy profitálni tudjon ebből az akcióból.
A Trezor biztos, ami biztos, kiadott egy javítást, ami lehetetlenné tette ezt a hackelési formát, ennek a következménye azonban az lett, hogy egyes harmadik felek által üzemeltetett szolgáltatáshoz a jövőben nem tudnak majd csatlakozni a hardveres tárca tulajdonosai. Ha valaki például a Wasabi, vagy a BTCPay szolgáltatásait használja, akkor azokba mostantól csak a “hagyományos módon”, vagyis a walletek létrehozásakor kapott seed jelszavak megadásával tud majd belépni, a Trezor felületén keresztül nem.
Ennek oka, hogy a Trezor által kiadott javítás után, a tárcáknak biztonsági okokból további adatokat kellene letöltenie a blokkláncról, ám ezt a folyamatot sem a Wasabi, sem a BTCPay nem támogatja.
“A BTCPay-t úgy terveztük, hogy az minél könnyebb legyen és minél kevesebb adatot kelljen letöltenie a működéshez. A szolgáltatás futtatása jelenleg egy havonta 8 dollárért bérelhető szerverrel is megoldható, ha viszont bevezetnénk a Trezor által megkövetelt ellenőrzési folyamatot, akkor ez 25 dollárra növekedne.”
Mivel az anonimitás és a bitcoin alapú fizetések területén a Wasabi és a BTCPay által kínált lehetőségek is az elérhető legjobbak közé tartoznak, többen is vitatják, hogy egy ilyen marginális támadási forma miatt a Trezornak vajon tényleg muszáj volt-e kizárnia ezek felhasználóit a szolgáltatásából.
“A bug kijavítása nagyobb problémát okozott, mint amit meg akartak oldani vele, ennek ellenére mégsem hibáztatom a Trezort, hogy a biztonságot választották.” – nyilatkozott ezzel kapcsolatbam Ficsor Ádám, a Wasabi fejlesztője.