Skip to content

Personal Blog

Menu
  • Home
  • News
  • Categories
  • About
  • Contact
Menu

Czy mObywatel szpieguje Polaków?

Cześć. Dzisiaj pora na bzdurę bezpieczeństwa. I przyznam szczerze, nie spodziewałem się aż takiego odzewu z waszej strony, bo gdy wrzuciłem na Twittera informacje o tym, że no ktoś
tutaj mówi, że m obywatel jest strasznym narzędziem szpiegowskim niczym Pegasus, Predator czy inne, to okazało się, że ten temat jest bardzo gorący i bardzo nośny i co więcej sporo osób pisało do
mnie w wiadomościach prywatnych, część z was pisała maile. Także zgodnie z wolą ludu dzisiaj będzie o m obywatelu. [Muzyka] I teraz aby ustalić w jaki sposób
przejdziemy przez całość. Ja posłucham sobie tych panów, których powiem szczerze nigdy wcześniej nie słyszałem i zamierzam odnosić się tylko i wyłącznie do merytoryki, nie do polityki, nie do
innych rzeczy. I w ramach tego odnoszenia się kawałek po kawałku będziemy sobie rozmawiać o elementach technicznych. Potem, jeżeli ktoś z was zostanie i będzie chciał zerknąć w
głębiej, to będziemy sobie rozmawiać także o kodzie źródłowym, o tym co tam rzeczywiście się znajduje i jak sami możecie to sprawdzić, tak żeby nie wierzyć mi na słowo. Także dajcie potem
znać w komentarzach, przy którym poziomie głębokości po prostu było wam dość. No to zaczynamy od początku, ale będę pewnie przeskakiwał do tych bardziej istotnych elementów.
>> Przypomnę taką aplikację M obbywatel. o >> yyy korzysta z niej yyy miliony Polaków z niej korzysta i to jest teoretycznie y aplikacja yyy która jest yyy korzystna, tak, że
ułatwia życie. To jest tak, że można wiele rzeczy załatwić nie wychodząc z domu. Natomiast ja państwu powiem, dlaczego ja bym nigdy
nie nie z nie zapisał się i nie wziął, nie ściągnął tego na swoją na swój telefon, na swoje urządzenia. Ta aplikacja inwigiluje człowieka. ją uruchomiono w roku y
bodajże 2000 [Muzyka] 17. Yyy, natomiast yyy to jest y przepraszam y 2000, dobrze mówię, powiedziałem 2017 na Androida,
2018 na telefony iPhone. I teraz tak e dlaczego ona jest niedobra?
Po prostu tak, M obbywatel ma dostęp, uwaga, do twojej kamery, do twojego mikrofonu, lokalizacji precyzyjnej, pamięci telefonu i teraz uwaga, biometrii
i kolejnej rzeczy, listy uruchomionych aplikacji. Szczególnie ostatnio mnie to bawi. Po co m obywatel interesuje się jakie mamy aplikacje na urządzeniu i jakich używamy.
Może i teraz posłuchajcie może modyfikować pliki. Co to oznacza? To oznacza, że jest narzędziem typu Pegasus.
>> Dobra. I to jest moment, w którym ja już mam bardzo silną wewnętrzną potrzebę, żeby po kawałku przejść co tu się wydarzyło, jak działa w ogóle bezpieczeństwo w systemach Android, bo
mówimy w tej chwili o analizie systemu, jakby aplikacji zainstalowanej na systemie Android, bo jest tu dużo rzeczy, które są nieprecyzyjne. No więc to jest tak w Androidzie od samego
początku ten system był tak przemyślany, żeby każda aplikacja była w oddzielnej piaskownicy. Co to w ogóle oznacza? To znaczy, że aplikacje pomiędzy sobą, gdzie mamy tutaj jakąś aplikację
pierwszą, aplikację drugą i tak dalej, one jak cokolwiek chcą od systemu operacyjnego, jakiegokolwiek uprawnienia, to muszą o niegrzecznie poprosić.
To co jeden z rozmówców tutaj przed chwilą wypowiedział, to to, że aplikacja może poprosić system operacyjny, który niejako jest taką warstwą poniżej, czyli w tym wypadku Androida o różne
uprawnienia. może poprosić go o kamerę, może poprosić go o zapis plików na dysku i o inne takie rzeczy. Co jest istotne, co pierwsze rzuca się i bardzo, bardzo mnie boli jak tego słucham, to jest to,
że jeżeli aplikacja ma jakieś uprawnienia do zapisu, to ona zapisuje sobie te rzeczy tylko i wyłącznie w swojej przestrzeni. Na tym polega cały koncept piaskownicy i oddzielenia
aplikacji pomiędzy sobą, że jeżeli ta aplikacja, która tutaj będzie tym naszym m obywatelem, ma tutaj, jeżeli ona chce coś zapisać, to ona ma swój kawałek przestrzeni i ona
pisze sobie tutaj nie ma uprawnień do innych aplikacji. A co by się stało, jakby próbowała dostać się do przestrzeni jakiś innych aplikacji? No to zostanie ubita, zostanie jakby system
operacyjny ma różne sposoby na to, żeby go chronić. Będziemy sobie o tym też mówić, że jest SL Linux, że są uprawnienia. Po prostu takie coś jest niemożliwe. Aplikacja zostanie
wyłączona. Poza tym to są działania, które bardzo często próbują wykonywać jakieś malwary i inne takie. To się w normalnych sytuacjach nie zdarza. A dlaczego tego też ta aplikacja nie robi?
Zobaczymy sobie później w kodzie. No dobra. Więc mamy jedną z kilku rzeczy, która tutaj padła. To znaczy, że ta aplikacja może wpisywać wam rzeczy na telefonie. Nie, ta aplikacja może
wpisywać sobie rzeczy do pamięci tylko związanej ze sobą. I teraz kiedy to jest w ogóle używane? Przede wszystkim wtedy, kiedy macie jakieś informacje, które mają lokalnie zostać, czyli jakaś baza
danych, jakiś certyfikat covidowy, jakieś wasze prawo jazdy czy cokolwiek innego. No i wtedy taki przykład, że hej, no ta aplikacja potrzebuje sobie zapisać coś jest bardzo logiczny i
rozsądny. To nie znaczy, że ta aplikacja odczytuje cokolwiek innego, co macie na telefonie. To znaczy nie odczytuje waszych zdjęć, waszych innych plików z innych aplikacji. Tyle na razie. Kolejny
element to kamera. I teraz jeżeli taka aplikacja chce mieć dostęp do kamery, no to musi poprosić no to system operacyjny. Tak, no bo system operacyjny dopiero zarządza tym, że on tam
przekierowuje dalej to do fizycznie do kamery zapytanie o tym, że chciałbym tutaj zacząć zebrać. Czyli tu mamy kamerę, która jest sprzętem, a tu mamy aplikację, która jest mobywatelem. I
teraz rzeczywiście aplikacja M Obywatel prosi o uprawnienia do kamery. W momencie kiedy taka aplikacja o to prosi, to prosi system operacyjny: "Hej, daj mi teraz kamerę". I to co robi
system operacyjny to informuje użytkownika: "Hej, w tej chwili kamera jest wykorzystywana. Czy ty się na to zgadzasz? I to użytkownik ma prawo zgodzić się albo nie zgodzić, bo tym kto
kontroluje dostęp do kamery jest wasz system operacyjny. Jak się nie zgodzicie, to tu po drodze nie będzie dostępu do tej kamery. To znaczy system operacyjny powie: "Słuchajcie ziomeczki,
spadajcie. W żadnym wypadku ja wam tego dostępu nie dam". Natomiast jak się zgodzicie, to system operacyjny dostarcza wam informację o tym, że takie uprawnienie zostało dostarczone i
pojawia się kropeczka, taka kropeczka, która informuje o tym, że nagrywacie już od wielu androidów, więc wiecie, że ta kamera jest wykorzystywana. Czy to ma jakiś rozsądny use case? No ma. jak się
skanowało QR kody, które były w przypadku wyborów, jak się skanowały kody Astek na dowodzie. Więc sens tego, żeby ta aplikacja miała uprawnienia do kamery jest. Natomiast tu też chodzi o
to, że ta kamera nie jest włączona cały czas. Ona nie jest włączona bez waszej wiedzy i bez waszej woli, więc jest to wyolbrzymienie. Apel do pana Krzysztofa Gawkowskiego.
Macie proszę powołać zespół, że który weźmie po pierwsze doprowadzi do usunięcia wszystkich rzeczy, które [Muzyka] mogą i które mogą być używane do
inwigilowania obywatela. Bo dziś odpowiedzią panów z ministerstw jest to, że my tego nie używamy. Rozumiecie państwo? Ale
>> nie widziałem. Widziałem, że jest odpowiedź z ministerstwa i jest odpowiedź na stronie goov.pl, gdzie Ministerstwo prób mówi, że nie zbiera takich danych, co dalej wykażemy.
Natomiast jak na razie żadna z tych informacji nie jest informacją krytyczną. Przejdziemy sobie jeszcze do biometrii, do get tasks i do lokalizacji, bo chciałbym wam to pokazać
głębiej. Natomiast chciałbym jeszcze trochę posłuchać zarzutów. Macie to. Czyli w każdym momencie państwo może po prostu, no jeżeli masz zainstalowaną aplikację Mobbywatel i
rządzą ludzie, którym się nie podobasz, którzy chcieliby, nie wiem, dowiedzieć się czegoś na twój temat, zrobić ci krzywdę, dojechać cię brutalnie rzecz biorąc, to w tym momencie okazuje się,
że nie trzeba ci instalować Pegasusa, nie trzeba płacić dużo za licencję, po prostu wchodzi się do M obywatela i się to uruchamia. No więc hipoteza, która tu jest
przedstawiona przez interlokutora wygląda tak, że mamy jakiś centralny serwer, który łączy się z waszym telefonem, z aplikacją M obbywatel i zdalnie jest w stanie w tej aplikacji
powiedzieć, żeby zrobiła coś, że to będzie, nie wiem tam jakieś narzędzia do analizy tego, co się dzieje. Tutaj bardzo ciężko jest bez znajomości, co jest wewnątrz, wybić, że tak powiem,
ten argument z ręki, więc potrzebujemy wejść trochę głębiej. A jak wejść trochę głębiej? No więc każda aplikacja, która publikowana jest w Play Storze jest także publikowana, często jest
mirrorowana w innych sklepach, więc taką aplikację możecie sobie pobrać na telefon i możecie sobie albo pobrać na swój komputer yyy i możecie sprawdzić, co tam w środku tak naprawdę się
znajduje. I ja wykonałem coś takiego w tak zwanym międzyczasie. Wykonałem to głównie dlatego, żeby zobaczyć co wewnątrz tej aplikacji się znajduje i czego ta aplikacja rzeczywiście używa. I
uwaga, M obywatel może ci włączyć telefon. >> Ojeny, m obywatel może włączyć telefon. To rozprawmy się z tym od razu. Ten system uprawnień, który działa w
Androidzie polega na tym, że każda aplikacja musi powiedzieć o tym, czego żąda od systemu, czyli tego dostępu do kamery, dostępu do zapisu i tak dalej, i tak dalej. To wszystko jest zapisywane w
pliku Android Manifest. W jaki sposób można się do takiego pliku dostać? No więc pobieramy sobie yyy plik APK, to znaczy aplikacja, która która yyy się znajduje w m Obywatelu. Następnie jak
sobie ją pobierzemy i pokażę wam na samym końcu jak można się do tego dostać i jak sobie ją otworzycie, to jest taki plik Android Manifx XML. Ja wiem, że ten plik jest mało czytelny na pierwszy rzut
oka, ale on tu ma wszystkie te uprawnienia, których chce aplikacja od systemu i tam chc wiedzieć, że ma dostęp do sieci, ma dostęp do internetu, do kamery, wykorzystanie biometrii i tak
dalej, i tak dalej. No i tutaj pojawiła się taka informacja od jednego z interlokutorów, że Mobywatel może kontrolować uruchomienie waszego systemu. No to jest nieprawda, żeby mieć
aż takie uprawnienia, to to jest aplikacja, która powinna być na poziomie systemowym. To znaczy ona nie może być wtedy w tej piaskownicy, którą sobie tutaj rysujemy, tylko musiałaby mieć o
wiele wyższe uprawnienia, których tutaj nie ma. I teraz żeby nie było, że wiecie, pokazuję wam jakiś magiczny plik. Każdy z was może sobie ten plik wyeksportować, wrzucić do pierwszego
lepszego czata GPT czy czegokolwiek innego, yyy, czemu bardziej ufacie, y jeżeli nie chcecie tego analizować samemu. Ja tutaj mam moją sesję z czatem GPT, gdzie po prostu ten plik wrzuciłem
i on mi pokazuje kroczek po kroczku, które uprawnienie do czego służy. Tutaj dostęp do informacji o tym, czy w ogóle mamy internet, dostęp do internetu, dostęp do aparatu, do biometrii. A to
jest start po uruchomieniu systemu, czyli w momencie kiedy system operacyjny startuje, to ta aplikacja dostaje taki sygnał, że hej, system jest uruchomiony, możesz coś zrobić, na przykład nie wiem,
spróbować pobrać sobie nowe dane czy zrobić cokolwiek innego. To nie oznacza, że ktoś zdalnie może uruchamiać wasz system albo zdalnie przez mela sterować czymś innym. M
>> obywatel może ci włączyć telefon. O tym też tego nie mówią. Nope. >> Yyy, po drugie, m obywatel zawiera komercyjne skrypty śledzące yyy takie jak Google yyy Firebase Analytics
yyy, które yyy zbiera dane marketingowe. Szanowni państwo, yyy ja bardzo lubię i cenię firmę Google, natomiast ja nie wiem, przepraszam, kto to zrobił, kto wrzucił komercyjne narzędzie do
zbierania danych. do akcji, do do to jest szanowni państwo nie do obrony. >> To ja spróbuję to obronić, bo sytuacja wygląda tak. Firebase, tu potrzebujemy
cofnąć się trochę w tym jak działały rzeczy. Firebase jest standardowym sposobem, w którym komunikujemy się z aplikacją. Dawno, dawno temu, kiedy były stare Androidy, to każda aplikacja, z
której korzystaliśmy, każda aplikacja tak naprawdę walczyła o to, żeby mieć czas procesora. I wyobraźcie sobie, że macie aplikację na waszym telefonie, która potrzebuje, nie wiem, odbierać
wiadomości o tym, że co się dzieje. Niech to będzie jakiś alarm. Te wiadomości są zazwyczaj wysyłane z chmury za pomocą tak zwanych wiadomości typu push, czyli tego, że chmura mówi:
"Hej ziomuś, jest tutaj dla ciebie coś nowego". I jak były pierwsze androidy, no to problem polegał na tym, że ten mechanizm nie był ustandaryzowany. Więc każda aplikacja po kolei, jak chciała
coś sobie pobrać z internetu, to robiła tak zwany polling. Czyli powiedzmy, że chciałeś wiedzieć, czy masz nowego maila, czy cokolwiek innego, to co 30 sekund, co 60 sekund te aplikacje po
prostu się tam budziły i wchodziły i próbowały coś pobrać z internetu. Strasznie nieefektywne energetycznie, strasznie jakby zajeżdżało system, ale nie było na w tamtym momencie po prostu
lepszego sposobu. Ja wiem, że to nie jest coś, co dzieje się dzisiaj. To było kiedyś. No i teraz patrząc na to, by cały ekosystem lepiej działał, w pewnym momencie
producenci i tu mam na myśli nie tylko Androida, ale też iOSa stwierdzili, że no nie możemy pozwalać aplikacjom po to, żeby drenowały baterie tylko i wyłącznie dlatego, żeby próbować pobrać coś z
internetu. Trzeba to ujednolicić. I tak powstały wiadomości push. Firebase jest takim wielkim kombajnem, który jest ustandaryzowany właśnie przez Googlea i jest własnością Googlea, który służy do
wielu rzeczy. Rzeczywiście może służyć do analityki, może służyć do wysyłania wiadomości typu push i do zbierania logów, paru, paru innych rzeczy, które technicznie są łatwe. Efekt jest taki,
że macie Androida, który łączy się do chmury Googlea i który dostarcza te wiadomości push. nie ma osobnego systemu, osobnego systemu wysyłania na przykład wiadomości push dla każdej
aplikacji. Więc efekt jest taki, że system operacyjny jest bardziej wydajny i efekt jest taki, że jest bardziej energooszczędny. No dobra, ale szpiegują, zbierają informacje
marketingowe i w ogóle. No więc ja po zdekompilowaniu i wyciągnięciu sobie informacji o tym, co rzeczywiście Firebase robi w tym projekcie, mam takie takie informacje, jak jak do tego
doszedłem. No więc yyy to jest tak, że jak się zdekompiluje aplikacja, ja nie mam kodu źródłowego, ja to robię na własny użytek i sprawdzam co tam się znajduje, jak sam sobie instaluję, to
widzę, że w tej aplikacji poszukując w plikach Smali, to są te pliki, które są jakby plikami po dekompilacji, szukam gdzie jest wykorzystywany Firebase Analytics Analytics albo jakieś
logowanie. No i efekt jest taki, że to co tam znalazłem to jest tylko informacja, że Firebase nie korzysta z wszystkich swoich możliwości, ale tylko z cloud messaging, czyli z powiadomień
push, czyli właśnie z tego, że jakiś serwer może wysłać przez pusha powiadomienia. nie ma włączonej analityki, nie ma włączonego zbierania logów, nie ma włączonego czegokolwiek
innego. Nie jest to więc narzędzie, które w tej chwili, w tej wersji, którą analizuję jest skonfigurowane do tego, żeby zbierać jakieś dane marketingowe. Delikatnie głębiej, to co jest wysyłane
i musi być wysyłane, to jest device token, czyli informacja, które to jest konkretne urządzenie. No bo Google musi wiedzieć do którego urządzenia coś wysyła. Jest status, dotarło albo nie
dotarło, ale nie ma eventów związanych z użytkownikiem, nie ma danych osobowych i nie ma nawet danych o aktywności. Kropka. Argument obroniony. >> Teraz tak zamknięty kod źródłowy. Na
przykład ukraińska aplikacja puszcza ten kod źródłowy. On jest open, on jest otwarty. O co chodzi? Żebyśmy widzieli wszystko, co ta aplikacja może robić. Jeżeli nie masz złych intencji,
to po prostu pokazujesz całość. Nie ma, nie ma żadnego uzasadnienia, aby aplikacja, która ma nam pomagać, była narzędziem inwigilacji. Więc to jest też adresowane do premiera Donalda Tuska. Ja
wiem, że ma pan dużo rzeczy na głowie, ale niech pan im powie, żeby aplikacja M Obywatel została po prostu odwąsikowana i odcieszyńskowiana, nie wiem, od Kaczyńskowienia, nie wiem jak to się jak
to odmienić. Ona >> tak oni zrobili z tego narzędzie poboru danych. >> No więc tak, to jest jedyny raz, który w
pierwszej części tej wypowiedzi zgodzę się z mówiącymi. To znaczy fajnie by było, gdyby każdy z nas bez umiejętności technicznych dekompilowania i innych takich mógł zajrzeć w kodu M obywatela.
I duża część moich kolegów i koleżanek z branży bezpieczeństwa prosi o to, bo wtedy argumenty, a przynajmniej duża część argumentów, która tutaj pada, w ogóle nie miałyby miejsca, bo można
byłoby to przeanalizować i zobaczyć, że nic takiego nie się nie dzieje w tej aplikacji. I yyy ja się zgadzam, że tak powinno być. Z tego co wiem, to trwają prace na ten temat i trzymam kciuki,
żeby tak się wydarzyło, bo wtedy takie filmy jak ten po prostu nie będą potrzebne. Lecimy dalej. Aplikacja M Obywatel tworzy wam cyfrową teczkę yyy która jest łączona z innymi danymi.
C c cpik e pułap. Yyy i ja już to powiem państwu już pomijam yyy założenie, że państwo jest zawsze dobre. Ja mam no mamy my z Tomkiem mamy takie doświadczenia. Zresztą polecamy materiał
na kanale Tomka o tym, że ile kosztowała inwigilacja nas w przeciągu ostatnich 8 lat. Szanowni państwo to jest tam ponad 150 >> Janka więcej, bo Janka dłużej jeszcze
robią, więc >> Janek, Janek zajmował się sprawą niezwykle niewygodną, to znaczy no >> paroma niewygodnymi sprawami. >> To znaczy
>> no dobra, jak wyglądałaby taka teczka, którą ta aplikacja robi? Co ta aplikacja musi o nas wiedzieć? No więc żeby ta aplikacja w ogóle wiedziała, że my to my, no to musimy w jakiś sposób to
udowodnić. No więc musimy do serwera wysłać informację, że my to my. No więc co ta aplikacja w ogóle robi w komunikacji z serwerem, z internetem? Ta aplikacja służy do tego, żeby między
innymi pobierać wasze dokumenty poprzez API z domen rządowych, czyli goov.pl. Jest tam rzeczywiście integracja z cpikiem, z epuapem, ale to nie jest nic, co powinno mieć
teorię spiskową, bo jest to wprost napisane w dokumentacji. To służy do tego, żebyście mogli korzystać z dokumentów w waszym telefonie. Więc zupełnie nie rozumiem, o co chodzi w
tworzeniu cyfrowej teczki. Skoro te dokumenty i tak rząd ma o nas, a my pobieramy niejako takie cyfrowe wersje na nasz telefon i zapisujemy w pamięci tej aplikacji i tyle. Ja nie za bardzo
zrozumiałem, więc jeżeli ktoś ma ideę, co panowie mieli na myśli, to chętnie posłucham. >> Aplikacja M Obywatel nie powinna mieć możliwości włączania nagrywania na
naszych telefonach. nie powinna mieć możliwości po prostu >> dostępu do kamery, dostępu do >> Aplikacja Mob Obywatel nie powinna mieć dostępu nagrywania. Panom chodzi o
dostęp do mikrofonu, jak rozumiem. Teraz cała zabawa polega na tym, że jak prześledzicie sobie tutaj te uprawnienia, które są w Androidzie, to mikrofon w ogóle nie występuje. Więc nie
wiem skąd ci panowie pobierali dane i na jakiej podstawie to działa. Natomiast ja patrząc w plik Android Manifest, który mam tutaj na ekranie, jeżeli wpisuję magic, to w ogóle go nie ma. A co to
oznacza? To oznacza, że w momencie gdyby taka aplikacja nawet była zdalnie sterowana i była wielkim trojanem na naszym telefonie, czyli mamy aplikację i ona poprosiłaby o mikrofon, włączenie
mikrofonu systemu operacyjnego, to system operacyjny powiedziałby: "Spadaj, nie poprosiłeś o takie uprawnienia, nie masz takiego prawa". to dalej >> nagrywania na naszych telefonach nie
powinna mieć możliwości po prostu >> dostępu do kamery dostępu do nie by >> dostępu do kamery no ma sens no bo trzeba skanować kody QR kody Asteek więc dla mnie to jest zaprzeczanie samemu
sobie >> ona musi mieć w określonych rzeczach ale nie może być tam jest tam jest to jest Pegasus >> to nie jest Pegasus Pegasus jest czymś
zupełnie innym m obywatel jest aplikacją na waszym telefonie Pegasus odsyłam albo do filmiku mojego o Pegasusie się albo do Predatora, albo Adam z zaufanej trzeciej strony zrobił świetny webinar o
Pegasusie, gdzie tłumaczę jak to działa. To są zupełnie inne rzeczy. Aplikacja jest czymś co jak macie swój telefon, to jest telefon, macie na nim system operacyjny, macie jakiś sprzęt,
instalujecie sobie go tutaj. Pegasus jest zewnętrznym systemem, który próbuje się do tego systemu dostać i powyciągać jakieś dane. To jest absolutnie coś innego. Więc nazywanie Pegasusem
aplikacji na telefon jest niezrozumieniem tematu. >> To jest Pegasus w stanie >> instalowany na własny. To jest Predator Janek taki prędzej. Nie znaczy nie no
Tomek to jest Pegasus, bo to jest on ma wszystkie te funkcje. Ten Pegasus Predator to jest to samo. >> To samo. >> Nie ma wszystkich tych funkcji
>> tylko, że prator musimy kliknąć. No. >> No to jest to jest >> i to jest ciekawe, bo jeżeli pamiętacie materiały o Predatorze, to są różne kategorie ataków. są kategorie ataków
zero click, to znaczy takie, że ofiara na jak jest atakowana na przykład Pegasusem czy czymkolwiek innym, nawet nie wie, że jest atakowana, nawet nie musi niczego kliknąć. W przypadku ataków
tańszych tych one click, to działa w taki sposób, że na przykład musisz kliknąć jakiegoś linka, coś zrobić i tak dalej. I rzeczywiście więcej ataków takich one click było w przypadku,
przepraszam, było w przypadku Predatora niż Pegasusa. Natomiast to ciekawe, że coś tam dzwoni, ale nie do końca wiadomo w którym kościele. >> Sami sobie to jest dokładnie to jest, bo
to jak oni to nazywają, to naprawdę nie ma znaczenia. To jest system pełnej kontroli nad urządzeniem, który w obecnej wersji >> no nie jest systemem pełnej kontroli nad
urządzeniem, bo żeby taka aplikacja miała pełną kontrolę nad urządzeniem, to musiałaby być podpisana kluczem kryptograficznym twórcy urządzenia, czyli nie wiem Samsunga, Huawea czy
kogokolwiek innego, bo wtedy może mieć uprawnienia, które wykraczają poza te podstawowe uprawnienia aplikacji. Ta aplikacja nie jest podpisana przez jakiegokolwiek z producentów, to znaczy
pokażę wam zaraz jakie w ogóle materiał kryptograficzny tam się znajduje. Więc nie może kontrolować całego waszego systemu. Może kontrolować tylko i wyłącznie to co ma w swojej własnej
piaskownicy. >> Jest w wersji uśpionej. Natomiast państwo, jeżeli chce, aby ludzie się tym posługiwali, nie może po prostu zachęcać
obywateli. To jest po prostu nieuczciwe. To jest instalowanie po prostu rzeczy. To jest takie, poprzedam, bardzo chińskie i bardzo rosyjskie. Jak znam życie, to w Chinach
instalowanie tego typu aplikacji >> obowiązkowe. >> Tak, jest po prostu obowiązkowe. Masz se zainstalować i tyle. Jak se nie zainstalujesz, to masz kredyt społeczny.
>> Nie będziesz jeździł samochodem kul. >> Tak. Masz kredyt społeczny minus tyle i do widzenia. Masz być po prostu kontrolowany. >> Nie być zatrudniony w większości.
>> Tam jest po prostu to to jest tego nie wolno takich rzeczy robić. Zbieranie tych danych to jest tworzenie po prostu mechanizmu kontroli społeczeństwa. Co więcej większość z naszych geniuszy,
którzy rządzą nie mają bladego pojęcia dla kogo tak naprawdę zbierają te dane. Ja miałem takiego kolegę, który >> zbierają te dane, czyli jakie dane? Ja myślę, że na chwilę obecną mam mniej
więcej dość tego materiału i chciałbym wam pokazać co tam jeszcze w tej aplikacji tak naprawdę się dzieje. To, co widzicie tutaj to jest analiza, którą robiłem absolutnie na szybko. To znaczy
gdyby trzeba było zrobić taką analizę poważnie, a nie na szybki odcinek, to pewnie zajęłoby to parę tygodni. Natomiast opowiem wam krok po kroku jak to działa i jak możecie zrobić to także
sami. Aplikacja się dekompiluje przy użyciu na przykład APK Tool. E, to jest taka aplikacja, która wypakowuje to, co znajduje się w aplikacji Mobbywattle. Przeglądnąłem tam kilka klas z kodem, a
także przeanalizowałem rzeczy związane z Firebaseem. I oczywiście niektórzy powiedzą, że jestem leniwą bułą, bo część zrobiłem sztuczną inteligencją, ale tak, rzeczywiście tak zostało to
zrobione po to, żebym nie musiał tego robić ręcznie. No więc przejdźmy przez podglądanie użytkownika. Rzeczywiście, tak jak wam pokazywałem w manifeście Androida w linii ómej jest wymaganie
tego, żeby mieć dostęp do kamery, ale to co jest tu po prawej napisane Android required false oznacza, że aplikacja dalej będzie działać nawet jeżeli tego uprawnienia nie nadamy. Więc ma każdy z
nas prawo wyboru i skorzystać z M obywatela bez dostępu do kamery. A jak jest wykorzystywany ten dostęp do kamery? Jest kilka klas, które są mało czytelne, ale jest oczywiście skaner
kodów QR, skaner dla dokumentów i implementacja kamera X, która jest takim standardem. Więc y no nie ma tu możliwości cichego nagrywania. System operacyjny zawsze nam o tym powie.
Użycie kamery jest zgodne z USasem. Kolejny kawałek. Mikrofon nagrywa potajemnie jak Pegasus. No więc w manifeście nawet nie ma takiego uprawnienia. Nie ma możliwości
nagrywania, więc to jest czysta spekulacja. Albo dotyczy innej wersji, o której nie wiem. Kolejny element spiskowy. Rząd śledzi każdy nasz krok, bo wymaga uprawnienia do GPS-u i to tak
do lokalizacji ogólnej albo do takiej dokładnej. I to widzimy w kodzie w 11 i 12 linijce. Course Location to jest właśnie taka lokacja ogólna. A Fine Location to jest taka dokładna nasza
aplikacja. No ale po co to w ogóle jest? No więc to służy do tego, że jak chcecie poszukać sobie najbliższego urzędu albo zgłaszacie, że jest nielegalne wysypisko śmieci albo coś się stało, co jest
zgodne z funkcjonalnością tej aplikacji, no to potrzebna jest wasza lokalizacja, więc trzeba się zgodzić wtedy na dostęp do tej lokalizacji. I co ciekawe, zaszyty jest w kodzie klucz API do
Google Maps. To nie jest jakiś duży problem bezpieczeństwa, ale każde hard kodowanie kluczy jest złym pomysłem, bo potencjalnie ktoś mógłby wyciągnąć ten kluczyk, no i potem nabić duży rachunek
albo spowodować, że Google zablokuje to. No ale to są drobnostki, to nie powoduje, że ta aplikacja nagle nas śledzi. I dlaczego to jest coś, co moim zdaniem nie jest elementem inwigilacji?
No bo odpala się wtedy i widzicie, że aplikacja korzysta z GPS-u wtedy kiedy macie uruchomiony use case, czyli jeżeli chcecie to zweryfikować sami, to odpalacie sobie m obywatela, wyłączacie
GPS-a, a potem spróbujcie wykorzystać jakąś funkcję, czyli znajdź najbliższy urząd albo cokolwiek innego, to aplikacja poprosi was o takie uprawnienie. Proste. Zarzut pod tytułem
będzie mi wrzucała jakieś zdjęcia jak tutaj Pegasus albo cokolwiek innego na mój telefon. No więc yyy to też nie jest prawda, bo aplikacja głównie zapisuje sobie PDFy w swojej pamięci i ma dwa
uprawnienia. Write external storage i read external storage. Dlaczego tak i dlaczego? W ogóle tu jest taki dziwny napis Max SDK Version. Wszystkie systemy operacyjne w tym Android uczą się na
swoich błędach. To znaczy rzeczy, które kiedyś były dostępne w uprawnieniach z czasem już przestają być wymagane. I wersja Androida 32 to jest Android 13. Powyżej tej wersji to uprawnienie w
ogóle jest nieaktywne, bo zostało wprowadzony lepszy, nowszy sposób zarządzania dostępem do plików dla aplikacji. Natomiast ze względu na to, żeby nie dyskryminować dostępu do usług
cyfrowych, aplikacja Mobbywatel działa od Androida 8. To jest absolutnie prehistoryczna wersja, pełna błędów, bugów, pełna jakby dziur. Więc ja i tak podziwiam, że tak bardzo daleko
utrzymują stare rozwiązania, ale yyy w pewnym momencie wraz z ewolucją wykorzystuje się po prostu nowsze formy zabezpieczenia, także dostępu do plików. I teraz jak to wygląda? Aplikacja ma
dostęp tylko do własnego folderu, nie ma żadnego dostępu do plików systemowych, więc to co sobie sama wrzuci, to będzie się po prostu działo. W efekcie to, co aplikacja może sobie wrzucić albo
odczytywiać z plików, będzie tylko z tej własnej piaskownicy, z niczego więcej. Biometria przechwytuje odciski palców one, one one. Teraz będą nas wszystkich sprawdzać. No więc tak to nie działa, bo
w większości producenci telefonów robią to tak, że dostęp do danych biometrycznych w ogóle nie jest możliwych z Androida. Ale jak to? No więc tak jak wcześniej rysowaliśmy sobie
gdzieś jakiś telefon i w ramach tego telefonu mamy różne sensory. Jednym z nich będzie sensor biometryczny. Nieważne czy to palce czy cokolwiek innego, to bardzo często ten system,
który tutaj działa jest podzielony na kilka. Jeden z nich to jest tak zwany trusted execution environment, a drugi to jest system operacyjny, czyli Android. I teraz gdyby ktoś chciał
zbierać dane o naszych odciskach palców, no to ta hipoteza brzmi prawdopodobnie, że jest tu jakaś aplikacja, jakiś m obywatel, który zbiera informacje od moich odciskach palców. No tylko, że
nie, bo dostęp do samego urządzenia związanego z biometrią jest niemożliwy w takiej formie. Jak to działa w takim wypadku? No więc aplikacja musi poprosić system operacyjny po to, żeby on
następnie zweryfikował, czy ty to rzeczywiście jesteś ty zgodny ze swoim wzorcem. Jak to się dzieje? No więc tutaj sam system operacyjny w takich mniej chronionych ekosystemach mógłby
próbować rozmawiać bezpośrednio z tym urządzeniem biometrii. No i wtedy gdyby ktoś miał ruta na takim urządzeniu, w sensie przeszedłby przez zabezpieczenia, rzeczywiście mógłby zacząć odbierać
informacje o tym co zostało sczytane z tego czytnika. No więc by nie było takich zarzutów, że ktokolwiek z producentów telefonów śledzi i tak dalej i tak dalej, powstał osobny kawałek
systemu operacyjnego, który nazywa się Trusted Execution Environment. I co ciekawe, on hardwareowo jest podłączony do niektórych sensorów. Jednym z tych sensorów zazwyczaj jest czujnik
biometryczny, to znaczy fizycznie on jest podłączony do miejsca, do którego nie można się dostać z systemu Androida, z kernelu Androida. Efekt jest taki, że aplikacja jak prosi o weryfikację
biometryczną, to mówi tam Android: "Hej, zweryfikuj mi, czy to jest ten użytkownik". Następnie Android zgłasza się do swojego kernela, czyli do jądra. Jądro następnie zgłasza się do Trusted
Execution Environment, który jest osobnym systemem operacyjnym, który jest podłączony fizycznie do tego osobnego czujnika, który mówi do czytnika biometrycznego: "Hej, czy to jest ten
ziomek? Przykładasz, przykładasz palec, on wraca, to fizycznie jest podłączony w osobne miejsce niż Android. W Trusted Execution Environment jest taka aplikacja, która zwraca tak zgodne albo
nie niezgodne. Więc informacja, która wraca do aplikacji to jest albo prawda, to jest ten sam ziomek, albo fałsz. Tu nie ma miejsca, które pozwoliłoby na to, żeby zbierać dane biometryczne i żaden
rozsądny twórca telefonów dzisiaj w ogóle nie umożliwia czegoś takiego. Także znowu teoria chybiona. Kolejny zarzut, czyli profilowanie polityczne. Get tasks. Po co aplikacja w ogóle
sprawdza, jakich aplikacji używasz? I to jest coś, co jest związane właśnie z historią. To znaczy yyy kiedyś było tak, że żeby aplikacja wiedziała, że jest uruchomiona, to stosowało się różne
sztuczki. Ta sztuczka, która tu jest zastosowana, to jest to, że w starszych wersjach Androida, czyli od 8:00 do 11:00 wywoływało się właśnie funkcję get tasks, żeby zobaczyć, czy ja jako
aplikacja, czyli jako jako obywatel jestem na wierzchu. No bo po co ja mam coś robić, jak nie jestem na wierzchu, czyli na takim pierwszym planie. Co ciekawe, od wersji Androida 11 w ogóle
to zwraca pustą listę. Czyli jeżeli ktoś z was ma w miarę nowoczesny telefon przez nowoczesny, mam na myśli aktualizowany z bieżącą wersją Androida i tak dalej, to w ogóle nie ma
możliwości, żeby ta funkcja, która jest wykorzystywana przez obywatela, cokolwiek zwracała. Po Androidzie 11 zwraca pustą listę, więc nawet gdyby ktoś chciał zbierać te dane i wysyłać,
to nie ma takiej możliwości. No dobra, a teraz tak głębiej. Czy ta aplikacja może modyfikować nasz system operacyjny? Pełna zdalna kontrola jak Pegasus. Coś takiego padło. No więc żeby coś takiego
było w ogóle możliwe, a można poprosić o takie uprawnienia w ramach Android Manifesto, no to aplikacja musiałaby być podpisana i musiałaby poprosić o te uprawnienia. Żadnego z tych uprawnień
nie ma w Android Manifeście. Żeby coś takiego się wydarzyło, to aplikacja musiałaby sama spróbować zaatakować nasz system. Czyli tak jak mamy nasz telefon, to w ramach niego mamy aplikację, która
najpierw musiałaby próbować oszukać system operacyjny i to co tam się dzieje w tych sprawdzeniach, tak? I spróbować uzyskać uprawnienia podwyższone, czyli na przykład uprawnienia routa. Musiałaby
oszukać mechanizmy bezpieczeństwa typu SL Linux. musiałaby przejść przez bardzo wiele warstw zabezpieczeń, które normalnie są wbudowane w system operacyjny i każda
aplikacja, która coś takiego próbuje robić w jakimś momencie jest w efekcie wywalana ze sklepu Play albo ze sklepu Apple w momencie, kiedy tylko coś takiego zostanie wykryte. Innymi słowy,
założenie, że ktoś będzie miał jakiś atak, który ukryje w tej aplikacji, no jest moim zdaniem bardzo, bardzo na wyrost. No bo musiałby spalić mnóstwo pieniędzy na to, żeby taki atak wykonać.
To znaczy ekonomia ataków wygląda tak, że jak ktoś taki atak posiada, no to wykorzystuje go na przykład w systemach, które służą do tego, żeby prowadzić inwigilację. Wyobraźmy sobie Pegasusa.
Pegasus płaci miliony dolarów za tego typu ataki. Więc jeżeli teraz ktoś byłby złym człowiekiem, hipoteza i chciałby taki atak wykorzystać w M obbywatelu, to rozdystrybuowałby kod źródłowy tego
ataku do milionów ludzi, więc każdy by go znał. Więc te miliony dolarów zostałyby po prostu spalone w powietrze. Tak się nie robi. To nie ma uzasadnienia ekonomicznego. A może ten zamknięty kod
ma jakieś begdury? I oprócz tego, że zgadzam się, że fajnie gdyby to było otwarte, to zerknijmy co tam tak naprawdę się dzieje. No bo mamy tam parę rzeczy, które potencjalnie są
interesujące. Po pierwsze wykorzystuje się certificate pinning. Co to jest certificate pinning? Sytuacja wygląda tak, że żeby na jakimś lotnisku czy w jakimś innym miejscu, gdzie ktoś
pomiędzy wami, a pomiędzy nam nie wiem na przykład aplikacją bankową, w tym wypadku między m obywatelem, czyli mamy na sobie nasz telefon, mamy jakieś Wi-Fi, któremu niekoniecznie ufamy i
mamy tutaj serwery goov.pl m obywatela. Jeżeli ktoś by mógł podsłuchiwać rzeczy po drodze albo gdzieś tam podmieniać w jakiś sprytny sposób, no to mógłby wpływać na to, co wysyłamy. No i po co
ten certificate peing jest w ogóle? To co widzicie tutaj, te dwa kawałki to są tak zwane fingerprinty, czyli takie odciski palców konkretnych certyfikatów, które jako jedyne są przez aplikację
akceptowane. Czyli jak wasza aplikacja tutaj połączy się do internetu i dostanie certyfikat, to sprawdza, czy on pasuje z tym co jest w kodzie. Jak pasuje spoko, zestawia połączenie. Jak
nie pasuje, bo ktoś zły po drodze próbuje cokolwiek zmieniać, to tego nie zaakceptuje. I to jest zabezpieczenie nas jako użytkowników aplikacji przed tym, że ktokolwiek mógłby próbować coś
po drodze zmieniać. No dobra, to trzeci poziom, czyli delikatnie głębiej dla tych, którzy będą chcieli. Możemy sobie zobaczyć Firebase Service w jaki sposób jest skonfigurowany. No więc celowo jest
wyłączona obsługa odświeżania tokenów. Jest to uruchomione w normalny sposób, to znaczy taki jaki jest oficjalny dostarczony przez FCMA. Każdy US case odpowiada za pewną funkcjonalność, jeden
za deszyfrowanie komunikatów z puszy, rejestracja do usługi i obsługę kanału. I tutaj mamy wywołania. Co się dzieje w momencie jak dostaniesz wiadomość? Następnie wiadomość jest musi być
zaszyfrowana. Innymi słowy, m obywatel nie akceptuje wiadomości, która zostanie wysłana na wasz telefon, która nie jest zaszyfrowana. To też jest dodatkowe zabezpieczenie. Więc najpierw sprawdza
się rejestrację, potem przetwarza się tylko te zaszyfrowane wiadomości i w sumie nie ma się do czego doczepić. A może coś tutaj jest strasznego w notyfikacjach? No więc to jak są robione
notyfikacje na Androidzie też jest zrobione dosyć prosto, bo tutaj zbiera się dostęp do menadżera notyfikacji, potem jest generowany identyfikator, a potem są dodawane informacje o tym co
tak naprawdę jest w tej w notyfikacji. Nie ma nic zupełnie szczególnego w tym. No dobra, ale czy to jest wszystko, co jest związane z obywatelem? Bo może tam jest jakiś taki kod, który tylko czeka
na to, żeby go uruchomić, żeby ktoś wcisnął duży czerwony guzik i żeby można było przejąć kontrolę nad naszym urządzeniem. No więc jak w każdym przypadku aplikacji, która stara się
dostarczać jakieś usługi, to dotyczy aplikacji bankowych, M obbywatela i innych, te aplikacje mają dużo defensywnych mechanizmów. Ten segment jest właśnie o defensywnych
mechanizmach. To znaczy wyobraźcie sobie, że ktoś odpala M obywatela na przykład na urządzeniu, które jest zrutowane tylko po to, żeby, nie wiem pobrać jakieś dokumenty albo certyfikaty
czy udawać kogoś innego. Więc wbudowane jest w aplikację mobywatel biblioteka, który służy do tego, żeby sprawdzać czy to urządzenie jest zrutowane czy nie jest zrutowane, jak to jest zrobione. No
więc okazuje się, że tam jest biblioteka, która nazywa się BS Leip, która jest prawdopodobnie twórc stworzona przez NASK, która sprawdza kilka informacji. Sprawdza czy
urządzenie jest zrutowane, jakie tam są detale tego urządzenia, czy są wykorzystywane takie frameworki jak na przykład exposed czy Freeda. To są takie narzędzia do instrumentacji, innymi
słowy do tego, żeby można było na przykład wstrzykiwać inne informacje do aplikacji niż rzeczywiście są. Czyli gdyby ktoś chciał oszukiwać to, co m obywatel widzi w danym systemie, to albo
by go zrutował, albo by korzystał z któryś z tych frameworków, a tu oni wykrywają, czy ktoś ich nie oszukuje. To jest absolutnie fajna defensywna strategia, którą wykorzystuje prawie
każda aplikacja bankowa, a przynajmniej powinna. Drugi poziom, czyli device fingerprinting. Po co on w ogóle jest? On jest do tego, żeby sprawdzić, czy ktoś na przykład na jednym urządzeniu
nie ma zainstalowanych 100em obywateli i 100 różnych tożsamości, których wykorzystuje nie wiadomo po co. Device fingerprinting służy do tego, żeby sprawdzić, że to jest to konkretne
urządzenie, bo gdyby teraz się okazało, że na przykład mój obywatel jest uruchomiony, nie wiem, na 100 różnych urządzeniach, no to jest to podejrzane. To znaczy ktoś mógłby się posługiwać
prawdopodobnie moją tożsamością na przykład z różnych urządzeń. Więc device fingerprinting, czyli sprawdzanie, że to jest to konkretne urządzenie, służy do tego, żeby przypisać konkretną
instalację obywatela do konkretnego urządzenia. Co tutaj widzimy? Widzimy informacje o tym, kto jest twórcą, jaki jest numer seryjny, jaka jest wersja systemu operacyjnego, jakie są łatki
bezpieczeństwa, jak wygląda kryptografia. I to jest też istotny element, bo wcześniej w systemach operacyjnych, jak nie było jeszcze osobnych chipów, które były sprzętowymi
chipami kryptograficznymi, to było to po prostu zapisywane na dysku. A jak było zapisywane na dysku, no to ktoś mógł się do tego dobrać. Dzisiaj mamy właśnie takie dwa elementy jak secure element,
który jest osobnym chipem kryptograficznym i trusted execution environment, który jest tym osobnym systemem operacyjnym, gdzie zapisywane są rzeczy. Efekt jest taki, że z
definicji jeżeli w waszym telefonie jest dostępne wsparcie sprzętowe do szyfrowania i przechowywania kluczy, to jest wykorzystywane i mobywatel z tego korzysta. Czyli im macie bardziej
bezpieczniejszy telefon, to on chętnie skorzysta z tych lepszych mechanizmów bezpieczeństwa. Kolejny element obronny to antitampering, czyli weryfikacja integralności. Czyli sprawdźmy, czy ktoś
na przykład nie rozpakował tej aplikacji, zmienił tego, co tam jest i spakował ją jeszcze raz. Jak się to sprawdza? sprawdza się, czy na pewno ten certyfikat, którym aplikacja została
podpisana, jest certyfikatem NASKU. Sprawdza się certyfikat Sza 1, Sza 256, to znaczy żeby zweryfikować wszystkie certyfikaty, które tam po kolei to podpisywały i jaki jest w ogóle cel
tego. Dzięki temu wiadomo, że ktoś nie modyfikował tej aplikacji i na przykład nie wrzucił, natomiast to jest mało prawdopodobne w oficjalnym sklepie Play. Dalej sprawdza się, czy aplikacja na
przykład jest w trybie debugowania, czyli jest ukryta, czy jest jakoś zainstalowana inaczej. Więc to są wszystko rzeczy, które miałyby pokazać jakieś anomali. Jeżeli występuje jakaś
anomalia, to strategia jest taka, że obywatel powie: "Nie, ziomuś, na tym urządzeniu to ja nie ufam, ja nie będę wrzucać twoich jakichś wrażliwych danych", bo nie jestem do końca pewien
tego, czy to urządzenie nie jest skompromitowane w ten czy inny sposób. To ma swoją ciemną stronę. Ja rzeczywiście tej ciemnej strony nie lubię, czyli jeżeli ktoś ma swój ROM,
swojego Androida, swojego grafinosa czy cokolwiek innego, czasami te funkcje tam działają zanadto. To znaczy mam na myśli, że mimo, że to jest normalny system operacyjny, to czasami takiemu
obywatel czy aplikacja bankowa nie zadziała i też mi się to nie podoba. Natomiast cała intencja zastosowania tego jest słuszna, żeby sprawdzić czy ktoś nie oszukuje aplikacji, że na
przykład działa to na jakimś emulatorze. Kolejne wykrywanie to wykrywanie za pomocą AI botów. Są tu modele lokalne, nie będziemy wchodzić dokładnie o co chodzi, ale idea jest taka, żeby ktoś
automatycznie na przykład nie kontrolował za pomocą jakichś skryptów naszego m obywatela. Jest to wbudowane. Kolejny element to Google Play Integrity. To znaczy sam Google
dostarcza takiego mechanizmu atestacji i sprawdzania, czy rzeczywiście to jest ta konkretna aplikacja, która jest na urządzeniu i nie została podmieniona albo czy system cały czas poprawnie
działa. To y jest element, w który musielibyśmy dosyć długo wchodzić głębiej. Natomiast cała idea polega na tym, że Google niejako sprawdza i weryfikuje, czy nasz system operacyjny
nie został w pewien sposób skompromitowany. I poprzez zweryfikowanie tego po stronie serwerowej przez Googlea i naszego urządzenia, widzimy, okej, ktoś tutaj
nie mieszał palców, nie zepsuł na przykład tego trusted execution environment, gdzie się dzieją rzeczy. System wygląda zdrowo. A co robi Mobby Oywatel? Mobbywatel korzysta z tego API,
którego dostarcza Google, żeby sprawdzić, że rzeczywiście nic takiego się nie wydarzyło. Co ciekawe, każda z tych funkcji może być włączona albo wyłączona zdalnie, to znaczy z funkcji
obronnych, bo tutaj widzimy, że jest możliwość konfiguracji i włączania, wyłączania konkretnych elementów, które się tutaj znajdują. Więc ten system obrony jest modularny i pewnie jest
włączany, wyłączany w zależności od tego jakie ataki się pojawiają. Efekcie mamy kilka mechanizmów obronnych. wykrywanie rutów, sprawdzanie fingerprintu urządzenia, wykrywanie czy ktoś nie
modyfikował aplikacji, czy nie ma jakichś botów, które próbują wchodzić z nią w interakcję. Jest zabezpieczenie przed tym, że jesteśmy, że możemy mieć niebezpieczną sieć, czyli certificate
peeling. Sprawdzamy z Googlem, czy ten telefon nie został skompromitowany. Co prawda safety Net Integration jest w formie opcjonalnej na chwilę obecną w tej wersji, więc być może w pewnym
momencie zostanie włączone jako wymagany. To też jest rzecz, którą można poprawić. Yyy, potem sprawdzanie jak aplikacja działa, jak działa sieć. Jest bardzo dużo dobrze zaimplementowanych
zabezpieczeń w Mobbywatelu. A może to jest tak, że ktoś ma jakiś klucz, który jest gdzieś ukryty, który uruchomi po prostu m obywatela w trybie teraz będę cię inwigilował. No więc możemy
przyjrzeć się wszystkim materiałom kryptograficznym, które się tam znajdują, czyli wszystkim kluczom, wszystkim podpisom wszystkiego, co znajduje się w samej aplikacji. Mamy
cztery klucze. Jeden do Google Maps, który wiemy do czego służy. Drugi do Firebasea, żeby działały pushe i trzeci to jest web client, czyli do tego, żeby można było łączyć się z stronami
rządowymi. No i mamy trzy certyfikaty. Certyfikat jeden, dwa służą do tego, żeby można było się połączyć z stronami goov.pl pl i jeden z Googlem. Mamy 25 endpintów. I
co tutaj? Co tutaj jeszcze widać? Klucze Googlea. No to klucze Googlea tutaj nie ma w ogóle w co wchodzić. Co ciekawe, no niestety API Key jest z hardkodowany, więc w postprodukcji oczywiście mam
nadzieję, że tego nie widzicie, albo że schowają go w inny w inny sposób, żeby ktoś z tego nie skorzystał. Następnie mamy konfigurację Firebasea. W tej konfiguracji jest tylko informacja
endpincie, czyli gdzie będą będzie się ta aplikacja łączyła, żeby dostarczać wiadomości push. Nie ma tam analityki. Mamy certyfikat peeling i tylko te dwa certyfikaty, o których już mówiliśmy.
Nie ma jakichś innych ukrytych serwerów. Są tylko certyfikat główny i certyfikat backupowy. Tyle. Pierwszy z nich jest spinowany dla omobywatelg.pl, czyli dla oficjalnej domeny, a mamy drugie, które
jest zabezpieczeniem na wszystkie subdomeny, czyli wszystkie domeny, które są pod mobywatelg.pl pl. Y w momencie, gdyby było potrzeba, no to jest właśnie taki drugi pin. Gdyby coś w tym
pierwszym się wydarzyło, to też jest dobra praktyka, żeby mieć taki zapasowy pin. Klucz do Googlea RSA 4K. No taki standard, ale można byłoby lepiej. Podpis Sza 256 wygląda spoko. Następny
Certum Certyfikat. certyfikat wystawiony w 2008 roku, więc dawno dawno temu, który jest wykorzystywany dalej do tego, żeby podpisywać kolejne elementy w łańcuchu. No i ten klucz rzeczywiście,
uwaga, czepiam się, ten klucz ma długość 2048. Jest to klucz RSA z podpisem sza. No i dzisiaj przy obecnym stanie wiedzy i kryptografii, no to już ludzie, którzy
się tam zajmują, trochę kręcą nosem, no bo można byłoby trochę lepiej. No tak, 4096 jest standardem. Natomiast biorąc pod uwagę to, że ten klucz został wystawiony paręnaście lat temu, no to
nie jest nic dziwnego i spodziewam się, że prędzej czy później ten klucz po prostu zostanie zrotowany. Nie wiem dlaczego akurat ten jest gdzieś tam w łańcuchu, musiałbym się głębiej
przyjrzeć. Tak jak mówię, to jest analiza na szybko, a nie analiza, która zajła, zajęłaby parę tygodni. A może coś specjalnie poknocili, żeby można było dostać się do danych? No nie, bo
korzysta się ze standardowych funkcji AS, czyli czegoś, co jest yyy automatycznie jakby stosowane przez wszystkich, jeżeli chcą być yyy zgodni ze standardami. AS jest w trybie GCM,
yyy, korzysta z kluczy 256 bitów i jest dostarczany y jakby jest wykonywany przez y sprzęt, który jest dostępny w danym Androidzie. Nie ma się do czego przyczepić w tym wypadku. No to może
lokalne szyfrowanie bazy danych. No i tutaj gdyby gdybym chciał się przyczepiać to tak można się przyczepić, bo Lip SQL Cher jest skonfigurowany jako AS256 w trybie CBC. Co to oznacza? AS w
trybie cyher blockchain powoduje, że można zrobić tak zwany Oracle padding attacks. Natomiast tutaj to jest tylko do lokalnej bazy danych. Gdyby ktoś chciał się przyczapić, no można
zastosować ASXTS albo właśnie GCMA i tego problemu nie będzie. Pewnie jest za tym jakaś decyzja architektoniczna, żeby skorzystać z tego CBCK. Natomiast to jest absolutnie drobna rzecz. gdzie są
przechowywane wszystkie klucze? No są przechowywane w w Kistorze i są przechowywane właśnie trusted execution environment albo secure elemencie, więc nie są nigdzie na waszym dysku. To nie
jest tak, że ktoś może wam je wyciągnąć, może je podmienić. One są w sprzęcie. Bardzo trudno i drogo jest je zaatakować. Dalej mamy konfigurację SSL, która mówi wprost: "Nie pozwalam na to,
żeby komunikować się bez SSLa, bez szyfrowania ruchu." I to jest super, bo jesteśmy pewni, że za każdym razem ruch będzie szyfrowany. Jakie mamy ustawienia? TLS1
i są wybrane dosyć silne jak na dzisiaj szyfry co do tego, więc tutaj nie mam żadnych zastrzeżeń. Podsumowując, aplikacja Mobbywatel nie zbiera od nas danych, których nie miałaby celu
zbierać. Ta aplikacja mogłaby być w paru miejscach delikatnie poprawiana. Nie wiem, za chwilę będziemy mieli komputery kwantowe, więc można by stosować certyfikaty zgodne z post quantum
kryptography, ale to jeszcze nie jest zagrożenie, które w dzisiejszym świecie jest bardzo istotne. Ja jestem wielkim zwolennikiem open sourceu i chciałbym, żeby ta aplikacja była otwarta i super,
żeby to się wydarzyło, bo wtedy nie będziemy potrzebowali wchodzić aż tak głęboko. Można by poprawić delikatnie te kryptografie na lokalnej bazie danych, ale to nie jest coś, co jest w żaden
sposób krytyczne. W rzeczywistości. Więc czy aplikacja cię podgląda, korzysta z twojej kamery? No nie korzysta tylko i wyłącznie do skanowania kodów QR albo kodów Astek. Co do mikrofonu w ogóle nie
ma uprawnień, więc nie może zacząć cię nagrywać. Tym bardziej, że zauważysz, kiedy to się dzieje. Co do lokalizacji jest konkretny use casase. Co do pamięci ma dostęp tylko do swojej. Co do
biometrii to nie ma dostępu bezpośrednio do naszych odcisków palca. korzysta tylko z systemowych funkcji, które zwracają tak w przypadku, kiedy zostało potwierdzone, że to jesteś ty jako
użytkownik, który korzysta z tego telefonu, albo nie, jeżeli to ktoś inny przyłoży swój palec, kto nie został w tym telefonie zarejestrowany. Dalej, lista uruchomionych aplikacji. To już w
najnowszych Androidach w ogóle nic nie zwraca i nic nie działa. I jest obejściem rzeczy w starych Androidach. Oni nie zobaczą jakie masz aplikacje uruchomione na telefonie, jak masz
Androida, który jest nowszy niż 11. Jeżeli chodzi o Firebasea, czyli zbieranie informacji poprzez Googlea, no to on jest skonfigurowany tak, że tam idą przez niego tylko szyfrowane
wiadomości push. Żadnej analityki, żadnych danych osobowych. Jeżeli chodzi o centry, to też jest ciekawa rzecz, bo on nie jest automatycznie skonfigurowany. Centry to jest taka
aplikacja, który służy do tego, żeby zbierać błędy z aplikacji, ale ona nie zbiera ich automatycznie. Ona jest w trybie manualnym. To jest pewien standard zbierania logów z czegoś, co
się wywaliło. Ona też nie służy do tego, żeby was śledzić. I to już wszystko na dziś. Dajcie znać w komentarzach, jak podobała się wam ta bzdura bezpieczeństwa. To jest taki dosyć
luźniejszy format, jak widzicie, gdzie po kolei przechodziłem przez rzeczy, które tam siedziały. A jeżeli macie ochotę na przykład mnie wesprzeć, to zapraszam was na patronite albo
zapraszam was do newslettera naucz mnie.pl. Tymczasem dziękuję za waszą uwagę i do zobaczenia. [Muzyka]

13.08.25

  • NAJLEPSZE FILMY FANTASY WSZECH CZASÓW I WARTE POZNANIA PEREŁKI
  • CIEKAWOSTKI O PINGWINACH – ODKRYJ ZASKAKUJĄCE FAKTY
  • CIEKAWOSTKI O PINGWINACH – ODKRYJ ZASKAKUJĄCE FAKTY
  • 🏠 Szkoda spreparowana przez AI?
  • 💸 Uważaj na tę „aplikację”!
  • Contact
  • Czy mObywatel szpieguje Polaków?
  • Zhakowano eSIMy! Ale (na razie) się nie martw.

LOREM IPSUM

Sed ut perspiciatis unde omnis iste natus voluptatem fringilla tempor dignissim at, pretium et arcu. Sed ut perspiciatis unde omnis iste tempor dignissim at, pretium et arcu natus voluptatem fringilla.

LOREM IPSUM

Sed ut perspiciatis unde omnis iste natus voluptatem fringilla tempor dignissim at, pretium et arcu. Sed ut perspiciatis unde omnis iste tempor dignissim at, pretium et arcu natus voluptatem fringilla.

LOREM IPSUM

Sed ut perspiciatis unde omnis iste natus voluptatem fringilla tempor dignissim at, pretium et arcu. Sed ut perspiciatis unde omnis iste tempor dignissim at, pretium et arcu natus voluptatem fringilla.

© 2026 Personal Blog | Powered by Superbs Personal Blog theme