Konferencja Mega Sekurak Hacking Party w Krakowie – 26-27 października!
Kod mObywatela został udostępniony – co w nim widać? Np. “Hello World” ;-)
Ministerstwo Cyfryzacji udostępniło dzisiaj kod źródłowy mObywatela. To chyba super? No prawie.
Dla tych, którym nie chce się czytać: udostępnienie kodu appki mObywatel wygląda tak, jakby ktoś udostępnił kod webowej appki mObywatel ale tylko postaci plików HTML, które i tak każdy posiada. Przy okazji nie udostępniono plików JavaScript (które i tak każdy ma). Innymi słowy: udostępniono części frontendu bez najistotniejszych elementów – czyli backendu.
A teraz trochę szerzej:
- Udostępniono to, co i tak każdy posiada (appkę, którą instalujemy na telefonie każdy może w prosty sposób zdekompilować – np. narzędziem jadx). No dobra, w udostępnionym kodzie jest nawet mniej niż to co możemy sami zdobyć z appki – publicznie dostępnej od samego początku działania mobilnego mObywatela
- NIE ma udostępnionego kodu API – czyli części serwerowej aplikacji, tj. tego co wszystkich chyba najbardziej interesuje (innymi słowy udostępniono tylko część kodu appki mobilnej)
- Kolejna kontrowersja – jeśli za parę dni wyjdzie nowa wersja appki, to czy wyjdzie też nowa wersja kodu źródłowego? (wątpię ;) Dodatkowo – nie ma prostej metody sprawdzenia, czy udostępniony kod jest rzeczywiście tym, co jest uruchamiane na telefonie
- Sposób udostępnienia kodu jest niezbyt optymalny (delikatnie pisząc) – z jednej strony kod jest udostępniony na licencji MIT (czyli mocno liberalnej – to bardzo dobrze). Fragment licencji:
Niniejszym udziela się każdej osobie, która uzyska kopię tego oprogramowania i powiązanej dokumentacji (dalej „Oprogramowanie”), bezpłatnie, prawa do korzystania z Oprogramowania bez ograniczeń, w tym bez ograniczeń prawa do używania, kopiowania, modyfikowania (…)
Z drugiej strony dostęp jest tylko po zalogowaniu się (jako obywatel) i to w formie: HTML / pojedyncze pliki / bez łatwej możliwości skopiowania kodu przez zwykłego użytkownika (nie działa np. przeglądarkowe copy-paste) / nie ma nigdzie przycisku “pobierz”.
Na szczęście są osoby, które wykonały deczko żmudną pracę i wrzuciły kod na GitHuba (uwaga – nie gwarantujemy, że w tym repozytorium jest poprawny kod :)
Dobre podsumowanie przygotował też Łukasz Olejnik, zaznaczając jednocześnie:
Żeby było jasne. Ja się nie czepiam. (…) Ale skoro już to zrobiono, to można było to zrobić porządnie. Nie zrobiono porządnie. Zrobiono byle jak, tak że to w ogóle jest bez sensu. (…)
Łukasz wskazuje też na pewne smaczki – czyli np. “Hello World” w udostępnionym kodzie:
Co z tego wszystkiego wynika? No niewiele – w zasadzie nie można przeaudytować bezpieczeństwa takiej aplikacji, nie można też proponować sensownych zmian (na poziomie kodu).
Dla jasności – uważamy że mObywatel to dobre rozwiązanie, nawet bardzo dobre. Ale w ten sposób udostępniać kod źródłowy całości? Dajcie spokój.
~ms

Czytam czasami i się zastanawiam czy tam jest jakaś ciężka obfuskacja czy może to nie o aplikacje mobilną chodzi że tak ciężką decyzję trzeba podjąć o upublicznieniu. Może jestem już stary i nie wiem o rzeczach oczywistych?
Ciekawe dlaczego poważne firmy jak np. Microsoft nie udostępniają kodu… A juz wiem! Żeby nie ułatwiać życia niedzielnym hakerom.
Może ms nie publikuje kodu, bo ma rozwiązania, które są płatne, a nie robione z pieniędzy podatnika? (zresztą są rzeczy, które ms udostępnia)
Ostatnio miałem remont lazienki, majster cały proces technologiczny wykonał za zamkniętymi drzwiami. Po jakimś czasie odpadły plytki. Przeprowadziłem audyt rodzinny i wujkowie i stryjkowie dopatrzyli się rażących błędów w kodzie… w procesie. Gdyby cały proces był przeprowadzany pod okiem zewnętrznego audytu uniknołbum fuszerki. Tak samo widzę zamknięte oprogramowanie. Wannacray pokazała jakie kwiatki dla bezpieczenstwa sa zaszyte w kodzie dla naszego bezpieczenstwa. I tak niedzielni hakerzy sa odcieci ale nsa i inne trzyliterowe organizacje sa dobrze w kodzie okopane. Dlatego bezpieczny jest tylmo openhardwer i opensorce, zadne zamkniete pudeleczka zadne kladzenie kafli za zamknietymi drzwiami.
Jak to jest, ze np kod ukraińskiej apki dostępny a u nas robi się z tego taki cyrk?
naprawdę ktoś myślał że udostępniony zostanie kod serwera ?!?!?!?!
Ale klikbajtowy tytuł;)