Oporavak novčanika izgleda kao zadatak unosa teksta, a zapravo je zadatak čuvanja ključeva. Fraza koju upišete nije lozinka koju provjerava poslužitelj; ona je ulaz u funkciju izvođenja koja ponovno gradi iste privatne ključeve koje je novčanik imao prije nego što je izgubljen. Sve što u tom trenutku može čitati pritiske tipki, međuspremnik ili memoriju procesa može ih također ponovno izgraditi. Zato priprema znači odlučiti gdje je tajni podatak dopušten, prije nego što postoji.

Pratite frazu od medija do izvedenog ključa

Mnemonička fraza u stilu BIP-39 normalizira se, proširuje s PBKDF2-HMAC-SHA512 koristeći opcionalnu lozinku kao sol i pretvara u sjeme iz kojeg novčanik izvodi ključeve. Iz toga izravno slijede dvije posljedice. Prvo, fraza je trajno ovlaštenje, a ne vjerodajnica sesije, pa nema poništavanja na strani poslužitelja ako pobjegne. Drugo, opcionalna lozinka sudjeluje u izvođenju, zbog čega oporavak koji kao da daje prazan novčanik obično znači da je unesena pogrešna lozinka, a ne pogrešna fraza.

Svaki korak nakon normalizacije odvija se unutar procesa u koji ste upisivali. To je dio koji većina vodiča za oporavak preskače: površina izloženosti je put unosa i memorija tog procesa, a ne mreža između vas i web-stranice.

Koji je proces legitiman ovisi o novčaniku. Hardverski uređaj ima vlastito sučelje za oporavak na samom uređaju; softverski novčanik ima dokumentirani zaslon za oporavak u provjerenoj verziji. Ni jedno nije razgovor s podrškom, i ni jedno nije stranica koja nudi da provjeri frazu umjesto vas.

Gostujući sustav nasljeđuje povjerenje svog hosta

Virtualni stroj osjeća se kao zasebno računalo i nije neovisna granica povjerenja. NIST-ove smjernice o punoj virtualizaciji opisuju tu ovisnost izravno: sigurnost gosta ovisi o hostu i hipervizoru ispod njega, a dijeljeni resursi poput međuspremnika ili integracije mapa proširuju kanal između njih. Instaliranje gosta na stroj u koji već sumnjate ne stvara novi put unosa.

ControlWhat it addressesWhat it leaves exposed
Verified wallet buildRunning the code the publisher actually signedEverything the running process can read once it starts
Live-boot environment, no persistent diskSecrets left in swap, caches or a saved sessionThe firmware, the keyboard and the display path
Full-disk encryption on the hostRecovery material at rest after shutdownThe same material while the machine is unlocked
Tunnel to a trusted exitWho can observe traffic in transitLocal processes, screen capture and input hooks

Praktična curenja slijede istu liniju. Dijeljeni međuspremnik nosi sve što ste kopirali. Snimke i datoteke obustavljenog stanja mogu uhvatiti memoriju koja sadrži frazu. Dodaci za gosta s pristupom datotečnom sustavu hosta daju gostu pogled na putanje hosta, a hostu pogled na putanje gosta. Ništa od ovoga nisu egzotični napadi; to su značajke koje virtualni stroj čine praktičnim.

Iskren zaključak uži je od »virtualni stroj nije siguran«. Virtualni stroj može biti pravi kontejner za posao kada je host stroj kojem vjerujete i kada ste uklonili značajke dijeljenja. Ne može spasiti host kojem ne vjerujete.

Što enkriptirani tunel zapravo pokriva

VPN štiti pakete između dvije krajnje točke. Nema mišljenje o tome tko čita zaslon na bilo kojoj strani i ne sprječava lokalni proces da promatra što upisujete u prozor. Zato je tunel relevantan kada je briga put, a irelevantan kada je briga host.

Ta razlika je važna jer se oboje prodaje zajedno. »Enkriptirana veza« opisuje prijenos; »pouzdan uređaj« opisuje krajnju točku. Postupak oporavka zahtijeva odvojen odgovor na oboje, a samo na jedno od njih može odgovoriti mrežna usluga.

Provjera onoga što ste preuzeli pripada istoj obitelji pitanja o krajnjoj točki. Provjera hasha i provjera potpisa utvrđuju da arhiva odgovara onome što je izdavač objavio; one ne govore ništa o stroju koji će ju pokrenuti.

sha256sum -c SHA256SUMS.txt
gpg --verify SHA256SUMS.txt.sig SHA256SUMS.txt

Pripremite okruženje prije nego se materijal pojavi

Redoslijed je važniji od alata. Odlučite o hostu, uklonite značajke dijeljenja, isključite ono što ne treba biti povezano i tek tada izvadite zapis za oporavak iz njegova spremišta. Ako to učinite obrnutim redoslijedom, tajna je već u memoriji dok još odlučujete kamo treba ići.

Zatim držite tajnu u toku koji proizvođač novčanika dokumentira. Unesite ju u vlastito sučelje za oporavak novčanika, na mreži koju novčanik očekuje, i odobravajte samo operacije koje možete provjeriti na pouzdanom zaslonu koji novčanik pruža. Poznat prozor radne površine nije dokaz da će uređaj odobriti ono što prozor tvrdi.

Ako sumnjate na izloženost, prestanite unositi materijal na tom sustavu i prijeđite u okruženje kojem možete neovisno vjerovati. Zatvaranje virtualnog stroja, promjena VPN lozinke ili ponovna instalacija aplikacije novčanika ne mijenjaju ovlaštenje novčanika; to čini samo premještanje sredstava u novi novčanik s novoizgeneriranim ključevima. Držite sirovu frazu izvan svakog razgovora s podrškom dok dobivate korake za svoj novčanik, jer nijedan legitiman proces podrške ne treba ju. To jedno pravilo sprječava više gubitaka od bilo kojeg kontrolnog popisa za jačanje sigurnosti.

Povezani članci