Ubuntu na Samsungu Galaxy Note 10.1
18.12.2012 | aktual.: 20.12.2012 13:52
Jest to kolejny mój wpis poświęcony urządzeniom Samsunga, rozdanych wybranym zlotowiczom do testów. Po wpisie o tablecie Samsung Galaxy Note 10.1, zamierzałem napisać nieco o drugim urządzeniu, który otrzymałem w ramach tych testów - w moim przypadku o telewizorze UE46ES700SXXH, ale ostatnie wydarzenia nieco pokrzyżowały moje plany. Ten wpis także będzie dotyczył wyżej nadmienionego tabletu, a dokładniej o jego "przypadłości", dzięki której ostatnio zrobiło się dosyć głośno wokół Samsunga.
Jak dowiedzieliście się zapewne ze wcześniejszych doniesień, odkryto lukę w urządzeniach Samsunga opartych na układach Exynos, pozwalającą uzyskać aplikacjom dostęp do root'a. Znaczy to, że jest możliwe stworzenie aplikacji, która przejmie kontrolę nad systemem i urządzeniem. Pół biedy, kiedy aplikacje taką znamy i wiemy jak działa, zdajemy sobie sprawę, że nie grozi nam nic złego po uruchomieniu takiego programu. Niestety, luki w oprogramowaniu najczęściej wykorzystywane są w nieco innych celach i sprzyjają powstawaniu sporej ilości niechcianego przez użytkowników oprogramowania, które zazwyczaj mocno ingeruje w system i jego funkcje, uprzykrzając życie użytkownikom, jednocześnie niejednokrotnie potrafiąc zadowolić ich twórców - tak rodzą się różnego rodzaju, potocznie zwane, wirusy.
Na razie (dla uspokojenia) nie ma wieści o niecnym wykorzystaniu tej luki. Samsung nie zareagował w żaden sposób na wiadomość o odkrytej luce, jednak zawsze można liczyć na społeczność, dzięki której powstał patch uniemożliwiający wykorzystanie odkrytej luki. Żeby wgrać patch'a nie potrzeba mieć zrootowanego urządzenia, ale trzeba się liczyć z pewnymi niedogodnościami: na niektórych modelach, po wgraniu patch'a, może nie działać aparat i HDMI.
Urządzenia, które trapione są tą groźną luką, to: Samsung Galaxy S2 GT‑I9100, Samsung Galaxy S3 GT‑I9300, Samsung Galaxy S3 LTE GT‑I9305, Samsung Galaxy Note GT‑N7000, Samsung Galaxy Note 2 GT‑N7100, Verizon Galaxy Note 2 SCH‑I605, Samsung Galaxy Note 10.1 GT‑N8000, Samsung Galaxy Note 10.1 GT‑N8010. Jak widać, tablet który otrzymałem do testów znajduje się na liście i ponoć jest podatny na lukę, więc można by wykorzystać już dostępnego exploita. Explot (ExynosAbuse v.1.10), dzięki luce, uzyskuje dostęp do roota i wykorzystując podwyższone uprawnienia, instaluje programik SuperSu służący do podnoszenia uprawnień i dostęp do root'a w "legalny sposób".
Postanowiłem sprawdzić "na własnej skórze", czy faktycznie otrzymany do testów tablet Galaxy Note 10.1 jest podatny na tą lukę i czy exploit wykorzystujący ją zadziała. Pobrałem exploita, zainstalowałem, uruchomiłem i... voila :) Po krótkiej chwili w aplikacjach miałem do dyspozycji programik SuperSu, którego instalacja normalnie wymaga dostępu do root'a. Exploit Exynos Abuse umożliwia także uniemożliwienie wykorzystania luki, ale trzeba się liczyć z niedogodnościami, o których pisałem wyżej.
Jak to mówią? Nie ma tego złego, co by na dobre nie wyszło ;) No, mając już SuperSu zainstalowane, nie omieszkałem zainstalować sobie i sprawdzić, czy na tym tablecie zadziała Ubunciak. Nie spodziewałem się cudów - i całe szczęście. Co prawda Ubuntu zadziałało, ale nie tak pięknie, jak jest to pokazane na filmikach krążących po sieci. Co mnie zniechęca do używania tego ubuntu na androidzie: brak integracji z tabletem, dostęp do pulpitu poprzez VNC. Ale po kolei... Pobrałem Ubuntu, utworzyłem w katalogu głównym /sdcard katalog ubuntu, czyli: /sdcard/ubuntu. Tam wgrałem pobrany obraz ubuntu.img (3,5GB). Następnie pobrałem Complete Linux Installer i postępując zgodnie z instrukcją odpaliłem Ubuntu. Aby tego dokonać należy wcześniej zainstalować sobie emulator terminala i klienta VNC. Można to zrobić z poziomu Installera, który grzecznie odeśle do zalecanych aplikacji.
Po odpaleniu Ubuntu (najlepiej z poziomy Complete Linux Installer -> Launch) w terminalu zostaniemy poproszeni o podanie hasła dla użytkownika ubuntu. Należy nadać hasło użytkownikowi, potwierdzić, następnie wprowadzić rozdzielczość dla pulpitu, np 1200x750. Pojawi się znak zachęty #. Ok, możemy przejść do kolejnego kroku. Odpalamy VNC i konfigurujemy: localchost, port 5900, użytkownik ubuntu, hasło i... pojawia nam się Unity. Niestety praca na "dotykowcu" przez VNC z Ubuntu nie należy do najwygodniejszych, co przekreśla zastosowanie tego rozwiązania w praktyce - przynajmniej według mnie. Jak to działa, zobaczcie sami:
Pozdrawiam - Marcin.