← Назад до WindowsHelper

Модель безпеки

Як WindowsHelper захищає ваш комп’ютер і ваш телефон, яку криптографію ми використовуємо, а від чого ми явно не захищаємося. Останнє оновлення: 2026-04-25.

повідомлення про вразливість

Електронна пошта support@windowshelper.app з предметом [security]. Будь ласка, не відкривайте загальнодоступні проблеми GitHub — дайте нам вікно, щоб надіслати виправлення перед розголошенням.

Життєвий цикл сполучення коду

Код сполучення є спільний секрет кожна інша криптооперація походить від. Повний життєвий цикл:

[ Phone GENERATES random 8-char code ]
   ↓
[ Phone WRITES code + sessionId to Firestore in pc_connections doc ]
   ↓
[ Phone DISPLAYS code to user on screen ]
   ↓
[ User READS code, types it into companion's input field ]
   ↓
[ Companion QUERIES Firestore for waiting session matching the code ]
   ↓
[ Both sides DERIVE crypto keys from SHA-256(code, sessionId) ]
   ↓
[ Code STAYS in memory on both sides; never written to Firestore by either ]
   ↓
[ Disconnect / re-pair WIPES the code from both sides ]

Криптографія

AES-256-GCM (конфіденційність команд + цілісність)

Кожна команда, що надсилається по дроту, шифрується за допомогою AES-256-GCM, режиму автентифікованого шифрування.

HMAC-SHA256 (автентичність команд)

Кожна команда також містить підпис HMAC, тому телефон, який не знає коду сполучення, не може вводити команди, навіть якщо він може писати у Firestore.

Модель загрози

ЗагрозаСтатусПримітки
Прослуховувач локальної мережіПом'якшеноШифрований текст AES-GCM є непрозорим для спостерігачів MITM.
Підслуховувач на серверах FirestoreПом'якшеноGoogle sees AESGCM:... blobs, not commands.
Зловмисник, який може писати у Firestore, але не знає кодуПом'якшеноПеревірка HMAC не вдається; компаньйон реєструє відхилення + відмовляється від виконання.
Зловмисник, який зламав/зібрав код підключенняЗалишковийВони можуть видавати команди, як якщо б вони були користувачем. Пом'якшення: поверніть код із меню трея.
Повторне відтворення записаної командиЗалишковийsentAtMillis is HMAC-bound; companion doesn't yet enforce a freshness window. Future fix adds a TTL.
Неавтентифікований зловмисник у режимі локальної мережіПом'якшеноРукостискання пари WebSocket перевіряє код; HMAC + AES gate кожна наступна команда.
Зламаний телефон із вкраденим ключем сполученняЗалишковийНевідрізнити від «самого користувача». Пом'якшення: обмеження швидкості (10 cmd/хв) + підтвердження руйнівної команди вимагає клацання на стороні ПК.
Неправильно введена команда з програми для телефонуПом'якшеноБілий список на стороні телефону блокує нерозпізнані префікси; перед польотом на стороні компаньйона блокує команди, спрямовані на неіснуючі служби.
Деструктивна команда запускається випадковоПом'якшеноCompanion-side modal requires user click to approve Remove-Item, Format-Volume, reg delete, shutdown /r, etc.
Завислий/неактивний процес PowerShellПом'якшеноЖорсткий 5-хвилинний тайм-аут вбиває все дерево процесів.
Companion.exe змінюється між завантаженням і запускомПом'якшеноSHA-256 published in companion-version.json; users can verify. Authenticode signing landing soon.
Companion аварійно завершується витік конфіденційного стануПом'якшеноЗвіти про збої + очищення зворотних записів про помилки Firestore %USERPROFILE% / %MACHINE% / %USER%.
Викрадений пристрій, збережений ключ сполучення реєструЗалишковийЗловмисник із доступом до диска + логіном міг прочитати збережений код. Майбутнє виправлення обгортає його Windows DPAPI.

Поза рамками

Те, що WindowsHelper робить явно ні захистити від:

Розкриття