← 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 rejestruZłagodzonyUtrwalony kod parowania jest szyfrowany za pomocą Windows DPAPI (na konto), więc nie można go odczytać ze skopiowanego dysku ani innego konta Windows.

Poza zakresem

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

Ujawnienie