pokaż komentarz
@VanGogh: @szopa123:
Istnieje binary patching (mozna to zrobić nawet w locie podczas pobierania instalatora przez kogoś orzez http (zamiast https)). Dlatego ważne jest szyfrowanie komunikacji.
Zatem teoretyczna możliwość istnieje. Odpowiedzią na to są sumy kontrolne plików (dlatego widzimy często skrót (hash) MD5 czy SHA256 przy plikach, ale na stronie można przecież umieść dowolny tekst). Kolejną odpowiedzią jest "reproducible builds", czyli każda kompilacja z niezmienionego kodu źródłowego, z tym samym zestawem bibliotek, wersji zależnych, na takiej samej platformie, ma dawać taki sam skrót (czyli bit po bicie ma wyjść to samo). Do tego są potrzebne źródła, Signal je ma, ale zdaje się nie ma reproducible builds (fajnie byłoby gdyby miał).
Natomiast takie *.apk też można przeanalizować i sprawdzić czy jest to to samo, co się w markecie wcześniej umieściło.
Tak samo jest to wykonalne przez inną osobę indywidualnie (porównanie ze znaną kopią, której ufamy).
Ale tak, masz rację, że jest tutaj pewna doza ufności w google. I tę ufność google właśnie podważa (cenzurą).
Systemy Unix/Linux mają własne repozytoria, pakiety są podpisywane cyfrowo. Co do appek w marketach - nie wiem do końca jak to wygląda (czy, kto, na jakim etapie) oraz jak to jest weryfikowane. Tutaj przydałaby się podpowiedź kogoś, kto w mobilnych aplikacjach działa. Raczej developrzey mają swój klucz i podpisują cyfrowo, więc powinno nie być problemu.
Ale, że appka jest open source, to można zrobić fake'ową i umieścić w markecie. : )
Albo zadać inne pytanie: czy można ufać narzędziom developerskim od Google, przy udziale których te appki są tworzone i budowane.
"Reflections on trusting trust" - Ken Thompson.