Skanowanie po stronie klienta analizuje treści na urządzeniu użytkownika, gdzie mogą być już czytelne przed wysłaniem lub po odebraniu. Może więc stworzyć ścieżkę ujawniania danych poza szyfrowanym kanałem dostarczania. Porównanie sumy kontrolnej APK nie dowodzi, że aplikacja nie zawiera kodu skanującego. Odpowiada na węższe pytanie: czy wybrane bajty odpowiadają określonemu skrótowi.
Rozdzielenie tych twierdzeń zwiększa użyteczność zarówno szyfrowania, jak i weryfikacji oprogramowania.
Dlaczego skanowanie na urządzeniu zmienia granicę prywatności
Aplikacja musi przetwarzać tekst jawny, aby wyświetlić wiadomość lub przygotować zdjęcie do wysłania. Funkcja skanowania może działać w tym miejscu, nawet jeśli późniejsza wiadomość sieciowa jest szyfrowana end-to-end. To, co opuszcza urządzenie, zależy od projektu skanera: może on zgłaszać dopasowanie, przesyłać wybrane treści lub wysyłać inne wyprowadzone informacje.
Artykuł naukowy Bugs in our Pockets analizuje ryzyka, w tym nadużycia, fałszywe trafienia i dodatkową powierzchnię ataku. To powody, by badać przepływy danych i zasady zarządzania proponowanym systemem skanowania. Nie dowodzą one, że każda funkcja na urządzeniu jest inwigilacją ani że konkretne prawo wprowadziło powszechny obowiązek skanowania.
Lokalna funkcja pod kontrolą użytkownika nie jest automatycznie równoważna obowiązkowemu raportowaniu. Zapytaj, kto wybiera analizę, co ją uruchamia, kto może aktualizować jej reguły i jakie dane mogą opuszczać urządzenie.
Cztery różne rodzaje dowodów dotyczących oprogramowania
| Sprawdzenie | Co może potwierdzić | Czego samo nie może potwierdzić |
|---|---|---|
| Suma kontrolna SHA-256 | Plik odpowiada zaufanemu skrótowi referencyjnemu | Że program referencyjny jest bezpieczny lub odpowiada kodowi źródłowemu |
| Weryfikacja podpisu APK | Podpis pakietu jest poprawny i wskazuje certyfikat podpisujący | Że podpisujący jest godny zaufania lub kod nie ma niepożądanych zachowań |
| Odtwarzalna kompilacja | Określone źródła i dane wejściowe kompilacji mogą wygenerować oczekiwane artefakty | Że źródła są wolne od podatności lub szkodliwej logiki |
| Niezależny przegląd i testy | Ustalenia dotyczące określonej wersji i zakresu | Trwałej gwarancji obejmującej każdą przyszłą aktualizację |
Androidowa dokumentacja apksigner wyjaśnia weryfikację pakietów i raportowanie certyfikatów. Definicja Reproducible Builds wyjaśnia, dlaczego przy odtwarzaniu artefaktu znaczenie mają zarówno źródła, jak i środowisko kompilacji oraz instrukcje.
Archiwum źródeł i wypisana obok suma kontrolna same w sobie nie stanowią wyniku odtwarzalnej kompilacji. Podobnie poprawny podpis złośliwego wydania nadal jest poprawnym podpisem.
Jak sprawdzić pobrany plik bez nadinterpretacji wyniku
Najpierw ustal zamierzone wydanie i uzyskaj jego APK oraz oczekiwany skrót z godnego zaufania kanału dystrybucji. Oblicz skrót lokalnie. Jeśli się różni, nie instaluj pliku, dopóki rozbieżność nie zostanie wyjaśniona: inne wydanie, niepełne pobranie lub manipulacja mogą powodować niezgodność.
Jeśli skrót jest zgodny, zapisz wydanie i wynik. Ustalono zgodność bajtów z tym punktem odniesienia, a nie brak skanowania po stronie klienta. Jeśli ten sam napastnik może podmienić pobierany plik i wyświetlaną sumę kontrolną, porównanie nadal może zakończyć się powodzeniem. Niezależne źródła odniesienia, ciągłość kluczy podpisujących i przejrzystość wydań pomagają rozwiązywać różne części tego problemu zaufania.
W przypadku twierdzenia o zgodności źródeł z plikiem binarnym szukaj udokumentowanych instrukcji kompilacji i niezależnie odtworzonych wyników dla rzeczywistego wydania. Nie wywodź tej właściwości ze słów „otwarte źródła”.
Aktualizacje pozostają ważne
Dystrybucja oprogramowania może zostać zaatakowana, lecz bezterminowe unikanie aktualizacji bezpieczeństwa nie jest rozsądną ogólną obroną. Aktualizacje naprawiają również podatności, które można wykorzystać. Korzystaj z zaufanego kanału aktualizacji, czytaj istotne komunikaty bezpieczeństwa i weryfikuj dowody dotyczące wydania, gdy uzasadnia to Twoje ryzyko. Stara wersja ze znaną wadą nie jest bezpieczniejsza tylko dlatego, że jej suma kontrolna kiedyś się zgadzała.
Co potwierdza Proof Lab Livary
Proof Lab Livary oferuje lokalne porównanie skrótu APK i demonstracje kryptograficzne w przeglądarce. Strona podaje, że nie uruchamia kompletnych mechanizmów ratchet LVR1/LGS1 i nie stanowi audytu protokołu. Jej model zagrożeń wyjaśnia też ograniczenie w sytuacji, gdy napastnik może podmienić zarówno plik, jak i jego oczekiwany skrót.
Te sprawdzenia są przydatne w swoim zakresie. Nie dowodzą, że telefon z zainstalowaną aplikacją jest wolny od złośliwego oprogramowania, że Livara ma niezależnie odtwarzalne wydania ani że jej aplikacja nie może zawierać nieujawnionych zachowań. Osobno przeczytaj dokumentację bezpieczeństwa, aby poznać deklarowane granice ochrony wiadomości.
Właściwe pytanie nie brzmi, czy jedna plakietka mówi „zweryfikowano”. Brzmi: jakie twierdzenie sprawdzono, względem jakiego zaufanego odniesienia i dla którego dokładnie wydania.



