MIUI - potencjalna luka bezpieczeństwa


(Domker) #1

Dzisiaj grzebąc w ROMie MIUI.eu/Polska 8.5 natknąłem się na katalog “app_screenshot” (w /data/system), była w nim masa plików ponieważ nie mam zrootowanego ROMu to postanowiłem, że przez TWRP sobie skopiuję na pendrive via USB-OTG i zobaczę, co to jest.

Mniej więcej tak to wyglądało:

Jednym słowem system tworzy screenshoty każdej aktywności, nawet aplikacji bankowych, nawigacji nawet kamery itp.
ROM jest czysty, bo instalowany kilka dni temu, a już zdążyło się “nacykać” 350 plików jpg.

Zmieniłem prawa dostępu na “0000” do tego katalogu i okazało się, że to nic innego, ale tworzenie miniaturek aplikacji odpowiedzialne jest za te pliki i to nie tylko podczas przechodzenia do podglądu otwartych aplikacji, ale w momencie jak obojętnie jaka aktywność “activity” (Ci co programują dla Androida wiedzą o co chodzi) traci swój focus. (np. podczas wysuwania menu, przełączania między aplikacjami, pojawienia się powiadomienia itd.)

Po zmianie praw dostępu do katalogu podgląd miniatur wyglądał tak:

Takim oto sposobem w parę dni znalazły się tam screeny z moimi notatkami, numerami telefonów, screeny ze stron internetowych i wiele innych rzeczy.

Najgorsze jest to, że katalog ma domyślnie prawa 0775, a więc poza systemowym użytkownikiem do katalogu mają dostęp inne konta. Przed dostępem do niego na nie zrootowanym systemie chroni tylko SELinux.
System nie usuwa absolutnie, żadnych miniatur, gromadzi je jak “chomik”.

Przykładowe miniatury pozostawione w katalogu systemowym app_screenshot:

Myślę, że Xiaomi powinno zmienić mechanizm tworzenia podglądu aplikacji, a przynajmniej katalog powinien być okresowo czyszczony z zachowanych miniatur.
Kij wie, czy coś nie ma dostępu do tych plików i nie są “przemycane” poza smartfona.

Puki co prawa ustawiłem na 0750, aby tylko użytkownik systemowy i grupa system miała do tego katalogu dostęp.


(krystian3w) #2

Hej a dali radę obejść mechanizm rozmazywania z Firefox Focus?


(Domker) #3

Tego nie wiem, ale ten “mechanizm” tworzenia miniaturek do przełączania aplikacji to pracuje na bardzo wysokich uprawnieniach skoro ma dostęp do folderu z u/g “system”, więc całkiem możliwe, bo zwykła aplikacja pracuje z dużo niższymi uprawnieniami.

Aplikacja BZWBK np. radzi sobie z tym nie poprzez jakieś standardowe API tylko podstawia aktywność z szarym tłem jak traci focus.

Dużo apek, które jednak normalnie nie pozwalają na SS takowe można bez problemu zrobić wbudowaną funkcją SS w MIUI, wybierając typ zrzutu przewijany. (nie używając standardowego skrótu power+vol down, tylko wyzwolenia ss z menu powiadomień)


#4

A w poprzednich romach grzebałeś? Nie natknąłeś się na to samo w starszych wersjach?


#5

Wyłącz skan mediów w fonie, bo to on toto robi. W niektórych przypadkach mogą także galerie - systemowa, albo guglowe photos.


(Domker) #6

W poprzednim ROM (MIUI v8.1.2.0 Global Stable) nie mogłem grzebać, bo telefon miał od oryginalności zablokowany bootloader, a to katalog systemowy.
Zdecydowałem się na odblokowanie BL i flash MIUI.EU/Polska, bo przystopowali z aktualizacjami i sporo bugów było tam, które wk…y.
Dostałem się tam przez menadżer plików z recovery TWRP.
EDIT: w rozpakowanym oryginalnym ROM też ten katalog istnieje, więc też można założyć, że w podobny sposób screenshoty przełącznika aplikacji są zachowywane.

@MartinaNeumayer
To nie skan mediów, bo do katalogu dostęp regularnie ma systemowa aplikacja odpowiedzialna za podgląd otwartych aplikacji. Skan mediów umieszcza swoje dane w katalogu MIUI w pamięci wewnętrznej użytkownika.
Googlowego Photos nie mam, a galeria systemowa w DCIM tylko mieli we wszystkich podkatalogach oprócz .thumbnails


#7

Nie tylko… z resztą… rozgrzeb ten rom na jakimś PC i sam sobie zobacz :wink: Się zdrowo zdziwisz. Podobnych krzaków jest więcej. A kolesie z MiuiPL mieli o tym mówione od dawna, ale jak widać olewka po całości :stuck_out_tongue:


(Domker) #8

Na pewne aspekty nie mają takiego wpływu. ROM dziedziczy większość rzeczy z chińskiej wersji oryginalnego ROM. Oni, czyszczą go z nieprzydatnych chińskich apek i tłumaczenie dorzucają.
Ale prawda skoro potrafili zrobić fix’a do GPS, kalibrację do OIS kamery, odblokować poziomy widok w aplikacji sms i jeszcze kilka innych usprawnień to mogli się tym zainteresować.
Sam bym nawet zrobił skrypt shell’a z rm * w tamtym katalogu i wrzuciłbym go do ROMu, gdybym wiedział, gdzie go do autostartu dodać (podczas podnoszenia systemu).


#9

Wszystko mogą zrobić, tylko chyba im się nie chce. Szlag ich wie? Kumpeli wykopałam Miui całkowicie z fona i zastąpiłam innym romem. Przynajmniej sprzęt się teraz fajnie zbiera i nie muli.
A co do reszty… rm nie załatwi sprawy. Raczej z biegiem czasu załatwi pamięć. Lepiej jest znaleźć dokładnie, który to proces syfi i go killnąć na amen. A do /data/system/ wcale nie trzeba jakiś specjalnych uprawnień. To przestrzeń “usr” więc praktycznie każda apka może tam rzeźbić praktycznie dowolnie.


(Domker) #10

Mi nie muli przy SD 820, wręcz przeciwnie działa rensposywnie.
Proces mogę ubić, ale wtedy nici z podglądu otwartych aplikacji.

Też o tym myślałem, ale z drugiej strony 350 ss tylko 14,3MB ważyło, jakby okresowo usuwać lub po przekroczeniu danego rozmiaru to nie byłoby tak źle.
Z resztą jeżeli nawet oryginalnie by załatwili sprawę np. ograniczając liczbę ss to i tak by się to z nadpisywaniem danych wiązało.


(Acid-mipl) #11

W MIUI 9 nie ma tego katalogu.


#12

Tak, ale musisz pamiętać o żywotności pamięci. Im więcej zapisów/odczytów, tym krótsze jej żyćko.
Do tego rm musiałbyś też dodać, co jakiś czas trimm’a, tak dla “odśmiecenia” keszów. Wtedy miało by to sens.
A może zrób coś takiego jakimś automatyzerem i sobie zobacz jak działa? Tasker na przykład mógłby tu pomóc. Robisz w nim “makro”, wrzucasz w start przy boocie i w sumie sprawa załatwiona :wink:


(Domker) #13

Pewnie nie ma, bo przebudowali przełączanie aplikacji przy okazji dodania tam split screen i usunięcia przełączania do ikonek.
Tak poza tym ile osób ma MIUI 9, które jest w fazie beta / rozwojowe, a ile jeszcze siedzi na ostatnich stabilnych romach w swoich smartfonach z serii v8.X.

Nie można tego w każdym razie bagatelizować, tym bardziej, że folder wraz ze swoją zawartością zostaje jeżeli ktoś zrobi aktualizację przyrostową (increment) lub bez wipe /data. A prawa “read” dla “others” pozwalają ukraść zawartość tego katalogu złośliwym aplikacjom.


#14

No to zgłaszaj buga. Może jeszcze jakiś kesz dadzą? :wink: Ale chyba żadnego bug-bounty nie mają. Nawet nie sprawdzałam.


(Domker) #15

Haha, prędzej oznaczą jako “Is not a bug, it’s a feature” :wink: