Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Uzupełnienie brakującej dokumentacji wyjaśniającej jak zweryfikować wiarygodność kodu źródłowego #95

Open
kamil-gwozdz opened this issue Jun 3, 2020 · 6 comments

Comments

@kamil-gwozdz
Copy link

Obecna dokumentacja nie informuje o tym jak zweryfikować czy kod źródłowy, który jest w tym repozytorium został faktycznie użyty do skompilowania aplikacji, która jest w AppStore.

Proszę o stworzenie dokumentacji, która umożliwi to szerszej publiczności. Przykład takiej dokumentacji: https://core.telegram.org/reproducible-builds#reproducible-builds-for-ios

@RMalczynski
Copy link
Contributor

@kamil98 przyjrzymy się temu i postaramy się jak najszybciej wrócić z informacją zwrotną 😄

@qLb
Copy link
Contributor

qLb commented Jun 4, 2020

@kamil98 o ile w przypadku aplikacji na platforme android jest to dosc proste i tylko lekko "krzywe" (sciaganie apk odbywa sie przez apkpure lub inne niezbyt zaufane zrodlo) o tyle w tym wypadku jest juz super "krzywo":

The verification process for iOS builds is, unfortunately, a lot more complex than for Android. The two main issues with Apple's current policies and infrastructure are as follows:

Apple insists on using FairPlay encryption to “protect” even free apps from “app pirates” which makes obtaining the executable code of apps impossible without a jailbroken device (it also needlessly increases app package size by about 50%). To solve this issue, Apple would simply need to allow submitting unencryptable binaries to the App Store. This would not affect security since the code would still be signed – and would enable anyone to check the integrity of apps supporting reproducible builds without endangering the integrity and security of their devices.

Building your own reproducible binaries is difficult because macOS doesn't support containers like Docker. If Apple followed in the footsteps of Linux (and even Microsoft!) and added container support, it would eliminate the need for steps 1-3 in the guide below.

As things stand now, you'll need a jailbroken device, at least 1,5 hours and approximately 90GB of free space to properly set up a virtual machine for the verification process.

Mysle, ze posiadanie macOS'a + jailbreak'owanego urzadzenia to wystarczajacy bloker dla "szerszej publicznosci" by nie przeprowadzac tego testu we wlasnym zakresie. Ale jesli sie myle (a mam nadzieje, ze tak jest) to moze jest ktos w naszej spolecznosci kto powyzsze wymagania spelnia i chcialby pokazac "nam", "jak to sie robi"? ;)

@kamil-gwozdz
Copy link
Author

Mysle, ze posiadanie macOS'a + jailbreak'owanego urzadzenia to wystarczajacy bloker dla "szerszej publicznosci" by nie przeprowadzac tego testu we wlasnym zakresie. Ale jesli sie myle (a mam nadzieje, ze tak jest) to moze jest ktos w naszej spolecznosci kto powyzsze wymagania spelnia i chcialby pokazac "nam", "jak to sie robi"? ;)

Zdaję sobie sprawę z tego, że ten proces nie jest prosty, ale jest to (popraw mnie jeżeli się mylę) jedyny dostępny proces, umożliwiający weryfikację skompilowanej aplikacji, a co za tym idzie audyt kodu źródłowego. Właśnie dlatego potrzebna jest dokumentacja, która krok po kroku go wyjaśni. Mam nadzieję, że autorom aplikacji zależy na przejrzystości całego projektu, która jest niesamowicie ważna ze względu na liczne kontrowersje z nim związane, i że zdecydują się na jej opracowanie i opublikowanie.

@qLb
Copy link
Contributor

qLb commented Jun 5, 2020

@kamil98
Nie moge zgodzic sie z tym, ze jest to jedyny sposob na audyt kodu zrodlowego poniewaz sposob ten dotyczy wylacznie potwierdzenia jednolitosci aplikacji dostepnej publicznie w stosunku do aplikacji skompilowanej ze zrodel na lokalnym uradzeniu.

Przyznaje, masz racje, taka dokumentacja bylaby ekstra.
Niestety opisywanie "lamania" oprogramowania firmy Apple na forum oficjalnego projektu Ministerstwa Cyfryzacji ze wzgledow etycznych jest niemozliwe i obawiam sie, ze w zwiazku z powyzszym proces tzw "reproducible builds" zostanie przez nas udokumentowany tylko w przypadku aplikacji Android.

@lukasz-szyszkowski
Copy link
Contributor

cześć @kamil98, napisałem w tej sprawie do Apple, jak tylko będę miał jakiś konkret od nich to wrócę z odpowiedzią. Pozdrawiam.

@lukasz-szyszkowski
Copy link
Contributor

cześć @kamil98, napisałem w tej sprawie do Apple, jak tylko będę miał jakiś konkret od nich to wrócę z odpowiedzią. Pozdrawiam.

Zgodnie z obietnicą wracam z odpowiedzią (cytuje):
We do not offer such a capability, but I understand the desire for it in this context. It has come up with other countries too. I will let you know if we come up with a solution.

qLb pushed a commit that referenced this issue Sep 8, 2020
…lidacjikluczyTEK

Upload Validation & Debug console
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants