← Назад до 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 (для кожного облікового запису), тому його не можна прочитати зі скопійованого диска чи іншого облікового запису Windows.

Поза рамками

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

Розкриття