Стаття 1 з 125 хв читання

Вважайте комп’ютер скомпрометованим

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

Онлайн-зона з ноутбуком без ключів і загрозами навколо нього, повітряний проміжок і офлайн-телефон, на якому зберігається сид-фраза
Усе ліворуч можна заразити. Ключі — праворуч.
Зміст

Загроза — це машина, а не математика

Подумайте, як кошти насправді йдуть із гаманця. Пакет з інструментів розробника приносить із собою дещо зайве. Розширення браузера (browser extension) отримує оновлення, якого ніхто не читав. Документ виявляється зовсім не документом. Вебсторінка показує одну транзакцію, а просить підписати іншу. Програма для буфера обміну (clipboard) підміняє адресу за мить до того, як ви її вставите.

Жодна з цих атак не торкається криптографії. Кожній потрібне одне й те саме: приватний ключ (private key) або ваша згода на машині, підключеній до інтернету. Комп’ютер стає ціллю, бо саме на комп’ютері живе ключ.

Тож перше проєктне рішення в AirNox Wallet просте: ключ не повинен там жити.

Ключі поза комп’ютером

AirNox Wallet працює на комп’ютері. Сам по собі це повноцінний нативний гаманець, сид-фраза (seed) якого запечатана в його сховищі, і для повсякденних операцій це надійна конфігурація. У режимі AirGap він іде на крок далі: він ніколи не тримає ключа, яким можна перемістити ваші кошти. Він має лише ті адреси, які ви вирішили йому показати. З ними він робить онлайн усе, що робить гаманець: спілкується з мережею, читає баланси й історію, складає непідписані транзакції, перевіряє їх і відправляє в мережу все, що повертається підписаним.

Підписання відбувається в AirNox Vault — застосунку на Android-телефоні, який ніколи не виходить в інтернет. Сид-фрази зберігаються в ньому. Кожен запит він декодує із тих байтів, які збирається підписати, показує операцію, суму, сторони й мережу і підписує лише після того, як ви натиснете Accept (Прийняти).

Між ними — повітряний проміжок (air gap). Телефон не має шляху в інтернет, і єдине, що будь-коли переходить через проміжок, — це запит в один бік і підпис у зворотний.

dApp, розширення, AirNox Wallet, повітряний проміжок і AirNox Vault: запит іде праворуч, а назад повертається лише підпис
Три ланки. Ключі лише в одній із них, і вона офлайн.

Що робить кожна ланка

Запит може початися на вебсторінці, у самому гаманці або від ШІ-агента, підключеного до гаманця. Де б він не виник, шлях у нього один.

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

Комп’ютер декодує запит і перевіряє його. Він розпізнає стандартні операції, позначає все, що лише схоже на них, перевіряє дозволи на списання (allowance) та їхніх розпорядників (spender) і складає непідписану транзакцію. Потім передає цю транзакцію на телефон через QR-коди, Bluetooth LE або NFC.

Телефон декодує запит ще раз, із тих самих байтів, які підпише, і показує його вам простими словами. Опис запиту від комп’ютера — це твердження. Те, що показує телефон, — правда. Ви читаєте і натискаєте Accept або не натискаєте. Назад іде лише підпис.

Від того, де живе ключ, залежить, що може шкідливе ПЗ (malware)

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

Таблиця восьми атак проти трьох конфігурацій: гаманця-розширення браузера, AirNox Wallet на комп’ютері та AirNox Vault, з позначками «вразливо», «ризик знижено» і «захищено»
Розширення вразливе до кожної атаки. Нативний десктопний гаманець закриває майже всі. AirGap закриває решту.

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

AirNox Wallet на комп’ютері — програма іншого типу, яка вміє себе захищати. Це нативний C++, без скриптового рушія, у який можна щось впровадити, і без сторінки, яку можна отруїти. Сид-фразу він тримає в пам’яті лише доти, доки вона потрібна, і одразу після цього стирає. Він стежить за процесами навколо себе і за бібліотеками, завантаженими в нього, тож чужий код не працюватиме всередині гаманця непомітно. Кожен запит він декодує і перевіряє, тож ви схвалюєте (approve) саме те, що бачите. За буфером обміну теж стежить: підміну адреси помітить. Свої вікна ховає від знімків екрана. Збережені секрети запечатано вимогливим до пам’яті (memory-hard) Argon2id і прив’язано до чипа TPM 2.0 у комп’ютері, а відеокарти цього не прискорюють. Трекерів у ньому немає. Для повсякденних операцій це надійний вибір і сам по собі, а кожна функція безпеки з цієї серії діє для нього незалежно від того, чи задіяний телефон.

AirGap — найвищий рівень захисту поверх цього. Усе сказане вище діє й надалі, а сид-фраза переїжджає на офлайн-телефон. Навіть зловмисник, який контролює всю операційну систему, не знайде на комп’ютері нічого, що можна скопіювати, і не зможе змінити екран, на якому ухвалюється остаточне рішення. Підміна отримувача — єдиний хід, що скрізь лишається частково відкритим, бо атака з підміною адреси (address poisoning) цілить у ваші очі, а не в програму. Зображення адрес на обох пристроях існують саме для того, щоб її помітити.

Чого це не виправляє

Офлайн-підписувач (offline signer) показує вам правду про те, що ви підписуєте. Він не може завадити вам на це погодитися. Резервна копія сид-фрази — і далі ваша відповідальність: на папері чи на сталі, а не в менеджері паролів. І жоден гаманець не захистить вас від людини, яка змусить вас його розблокувати. Хай краще ви почуєте про ці межі від нас, ніж виявите їх самі.

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

Уся серія

  1. Вважайте комп’ютер скомпрометованим
  2. Mass Adoption Security: підписувач — це телефон, який у вас уже є
  3. Три способи перетнути повітряний проміжок: QR-коди, Bluetooth LE і NFC
  4. Невидимий в ефірі: підписувач, якого не знайти скануванням
  5. Каналу передачі не довіряють ніколи
  6. Що показує вам телефон: аналіз транзакцій на підписувачі
  7. Телефон веде власний журнал
  8. Сховище на вашому комп’ютері: Argon2id і профіль, стійкий до підбору
  9. dApp без браузерного гаманця
  10. MCP-сервер із правилами: ШІ-агенти в межах лімітів
  11. Один захищений гаманець для всього
  12. Компактний і нативний: C++, без JavaScript-рантайму, від робочої станції до Raspberry Pi

Запишіться до списку очікування

Залиште електронну адресу, і ми надішлемо новини про реліз. Більше нічого.