Відновлення гаманця виглядає як завдання введення тексту, а насправді це завдання зберігання ключів. Фраза, яку ви вводите, не є паролем, який перевіряє сервер; це вхід функції виведення, яка заново будує ті самі приватні ключі, що гаманець мав до втрати. Усе, що в цей момент може прочитати натискання клавіш, буфер обміну або пам'ять процесу, може побудувати їх знову. Тому підготовка означає вирішити, де секрету дозволено існувати, ще до того, як він з'явиться.

Простежте шлях фрази від носія до похідного ключа

Мнемоніка в стилі BIP-39 нормалізується, розтягується за допомогою PBKDF2-HMAC-SHA512 з необов'язковою парольною фразою як сіллю і перетворюється на насіння, з якого гаманець виводить ключі. Звідси безпосередньо випливають два наслідки. По-перше, фраза є тривалими повноваженнями, а не обліковими даними сеансу, тому в разі витоку скидання на боці сервера немає. По-друге, необов'язкова парольна фраза бере участь у виведенні, і саме тому відновлення, яке начебто дає порожній гаманець, зазвичай означає введену неправильну парольну фразу, а не неправильну фразу.

Кожен крок після нормалізації відбувається всередині процесу, у який ви вводили. Саме цю частину більшість посібників із відновлення пропускає: поверхня впливу — це шлях введення та пам'ять цього процесу, а не мережа між вами й сайтом.

Який процес законний, залежить від гаманця. Апаратний пристрій має власний інтерфейс відновлення на самому пристрої; програмний гаманець має документований екран відновлення в перевіреній збірці. Ні те, ні інше не чат підтримки, і ні те, ні інше не сторінка, що пропонує перевірити фразу за вас.

Гостьова система успадковує довіру свого хоста

Віртуальна машина відчувається як окремий комп'ютер і не є незалежним кордоном довіри. Настанова NIST щодо повної віртуалізації описує цю залежність прямо: безпека гостьової системи залежить від хоста й гіпервізора під ним, а спільні ресурси на кшталт буфера обміну чи інтеграції тек дають ширший канал між ними. Встановлення гостьової системи на машині, якій ви вже не довіряєте, не створює нового шляху введення.

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

Практичні витоки йдуть тією самою лінією. Спільний буфер обміну переносить усе, що ви скопіювали. Знімки стану й файли призупиненого стану можуть захопити пам'ять, що містить фразу. Додатки гостьової системи з доступом до файлової системи хоста дають гостьовій системі огляд шляхів хоста, а хостові — огляд шляхів гостьової системи. Ніщо з цього не екзотична атака; це функції, які роблять віртуальну машину зручною.

Чесний висновок вужчий за «віртуальна машина небезпечна». Віртуальна машина може бути правильним контейнером для роботи, коли хост — це машина, якій ви довіряєте, а функції спільного доступу ви вилучили. Хост, якому ви не довіряєте, вона врятувати не може.

Що насправді покриває шифрований тунель

VPN захищає пакети між двома кінцевими точками. Він не має думки про те, хто читає екран на будь-якому з кінців, і не заважає локальному процесові спостерігати за тим, що ви вводите у вікно. Тому тунель доречний, коли турбота — шлях, і недоречний, коли турбота — хост.

Ця відмінність важлива, бо обидві речі продаються разом. «Шифроване з'єднання» описує передавання; «довірений пристрій» описує кінцеву точку. Процедура відновлення потребує окремої відповіді на обидві, і лише на одну з них може відповісти мережевий сервіс.

Перевірка завантаженого належить до тієї самої родини питань про кінцеву точку. Перевірка хешу й перевірка підпису встановлюють, що архів відповідає випущеному видавцем; про машину, яка його запустить, вони не кажуть нічого.

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

Підготуйте середовище до появи матеріалу

Порядок важливіший за інструменти. Визначте хост, вилучіть функції спільного доступу, від'єднайте те, що не потрібно підключати, і лише потім дістаньте запис відновлення з його сховища. Зробити це в зворотному порядку означає, що секрет уже в пам'яті, поки ви ще вирішуєте, куди він має потрапити.

Далі тримайте секрет у потоці, який документує виробник гаманця. Введіть його у власний інтерфейс відновлення гаманця, у тій мережі, яку гаманець очікує, і схвалюйте лише ті операції, які можете перевірити на довіреному екрані, який надає гаманець. Знайоме вікно робочого столу не є доказом, що пристрій дозволить те, що стверджує вікно.

Якщо ви підозрюєте витік, припиніть вводити матеріал у цій системі й перейдіть у середовище, якому можете довіряти незалежно. Закриття віртуальної машини, зміна пароля VPN або переінсталяція застосунку гаманця не змінюють повноважень гаманця; це робить лише перенесення активів до нового гаманця з новоствореними ключами. Тримайте сиру фразу поза будь-якою розмовою з підтримкою, поки отримуєте кроки для свого гаманця, бо жоден законний процес підтримки її не потребує. Це єдине правило запобігає більшим втратам, ніж будь-який контрольний список посилення захисту.

Схожі статті