← Powrót do WindowsHelper

Model bezpieczeństwa

W jaki sposób WindowsHelper chroni Twój komputer i telefon, jakiej kryptografii używamy i przed czym wyraźnie się nie bronimy. Ostatnia aktualizacja: 25.04.2026.

zgłaszanie luki

E-mail support@windowshelper.app z tematem [security]. Nie otwieraj publicznych problemów w GitHubie — daj nam czas na przesłanie poprawki przed ujawnieniem.

Cykl życia kodu parowania

Kod parowania to wspólny sekret każda inna operacja kryptograficzna wywodzi się z. Pełny cykl życia:

[ 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 ]

Kryptografia

AES-256-GCM (poufność poleceń + integralność)

Każde polecenie wysyłane przewodem jest szyfrowane przy użyciu AES-256-GCM, trybu szyfrowania uwierzytelnionego.

HMAC-SHA256 (autentyczność poleceń)

Każde polecenie zawiera również podpis HMAC, więc telefon, który nie zna kodu parowania, nie może wstrzykiwać poleceń, nawet jeśli może pisać do Firestore.

Model zagrożenia

ZagrożenieStanNotatki
Podsłuchiwacz w sieci lokalnejZłagodzonyTekst zaszyfrowany AES-GCM jest nieprzezroczysty dla obserwatorów MITM.
Podsłuchiwacz na serwerach FirestoreZłagodzonyGoogle sees AESGCM:... blobs, not commands.
Atakujący, który może pisać do Firestore, ale nie zna koduZłagodzonyWeryfikacja HMAC kończy się niepowodzeniem; towarzysz rejestruje odrzucenie + odmawia wykonania.
Osoba atakująca, która złamała/wyłudziła kod parowaniaPozostałyMogą wydawać polecenia tak, jakby byli użytkownikiem. Łagodzenie: obróć kod z menu zasobnika.
Powtórka nagranego poleceniaPozostałysentAtMillis is HMAC-bound; companion doesn't yet enforce a freshness window. Future fix adds a TTL.
Nieuwierzytelniony atakujący w trybie LANZłagodzonyUzgadnianie pary protokołu WebSocket sprawdza poprawność kodu; Bramka HMAC + AES przy każdym kolejnym poleceniu.
Zhakowany telefon ze skradzionym kluczem do parowaniaPozostałyNie do odróżnienia od „samego użytkownika”. Ograniczanie: limit szybkości (10 cmd/min) + potwierdzenie polecenia niszczącego wymaga kliknięcia po stronie komputera.
Błędnie wpisane polecenie z aplikacji na telefonZłagodzonyLista dozwolonych po stronie telefonu blokuje nierozpoznane prefiksy; Polecenia przed lotem po stronie towarzyszącej są skierowane do nieistniejących usług.
Destrukcyjne polecenie zostało uruchomione przypadkowoZłagodzonyCompanion-side modal requires user click to approve Remove-Item, Format-Volume, reg delete, shutdown /r, etc.
Zawieszony/niekontrolowany proces PowerShellZłagodzonyTwardy 5-minutowy limit czasu zabija całe drzewo procesów.
Companion Manipulowanie plikiem .exe pomiędzy pobieraniem i uruchamianiemZłagodzonySHA-256 published in companion-version.json; users can verify. Authenticode signing landing soon.
Companion awaria, wyciek, stan wrażliwyZłagodzonyRaporty o awariach + zapisywanie zwrotne błędów Firestore oczyszczają %USERPROFILE% / %MACHINE% / %USER%.
Skradzione urządzenie, zachowany klucz parowania rejestruPozostałyOsoba atakująca mająca dostęp do dysku i loginu może odczytać utrwalony kod. Przyszła poprawka obejmuje to za pomocą Windows DPAPI.

Poza zakresem

Rzeczy, które WindowsHelper wyraźnie robi nie bronić się przed:

Ujawnienie