30/03/2015

BionicManDiary, część 3 – Jak ominąłem hasło smartfona

Informacje Porady

Największe rozczarowanie, jakiego doświadczyłem od chwili rozpoczęcia eksperymentu z bioczipem, to stanowisko Apple w związku z NFC. Mówiąc wprost, firma zapragnęła przyznać sobie prawo do użycia go w swojej platformie.

BionicManDiary-entry-003_vk

Każdy iPhone 6 posiada wbudowany czip NFC, choć jest on nieodstępny dla wszystkich dostawców oprócz samego Apple’a – żadna osoba z zewnątrz nie może zaprojektować aplikacji obsługującej NFC w urządzeniach tej firmy. Powód takiego stanu rzeczy jest trywialny: ludzie z Cupertino aktywnie promują swoją prawnie zastrzeżoną usługę płatności bezstykowych Apple Pay i w ten sposób odcinają się od konkurencji, która mogłaby podważyć ich nową platformę, a zauważyłem to podczas premiery iPhone’a 6. Ale czip w mojej ręce to już inna historia. Jak powiedział Oscar Wilde:

„Bo marzycielem jest ten, kto odnajduje drogę jedynie przy świetle księżyca, a jego karą jest to, że widzi brzask dnia, zanim reszta świata go dostrzeże”.

W przyszłości najlepsza w swojej klasie technika bioniczna nie będzie dostępna dla wszystkich

Gdy odkryłem, że moja własna ręka z wszczepionym mikroczipem nie będzie współdziałać z moim iPhone’em, przyszła mi do głowy okrutna prawda: w przyszłości najlepsza w swojej klasie technika bioniczna nie będzie dostępna dla wszystkich. Co więcej, ten fakt z dużą dozą prawdopodobieństwa będzie wykorzystywany do manipulowania ludźmi.

Dzisiaj, gdy Internet Rzeczy coraz odważniej pojawia się w codziennej rzeczywistości, kształtuje się infrastruktura dla tej koncepcji w świecie platform, protokołów i standardów (chociaż nie tylko). Tutaj stosowana będzie zasada: „kto pierwszy, ten lepszy”, a firmy, które będą mieć równy i skuteczny rozwój, będą miały znaczną przewagę. Zaletę, którą nie będą się chcieli z nikim dzielić.

W rzeczywistości dzisiejsze giganty technologiczne próbują przedefiniować rynek na nowo: firmy próbują oswoić konsumentów i przywiązać użytkowników do swoich produktów, aby uzyskać większy kawałek tortu.

Oczywiście przeciętny konsument nie zważa na to zamieszanie: jeśli jakiś gadżet mu nie pasuje, zwyczajnie zamienia go na inny. Ale dla mnie oraz innych przyszłych bionicznych ludzi, którzy będą wyposażeni w znacznie bardziej dokładne bioniczne neuroimplanty, będzie to bardzo istotna kwestia – bo nie tak łatwo jest wymienić sobie część siebie.

Zatem, jeśli za jakiś czas cybernetyczny system autoryzacji zainstalowany w metrze będzie kompatybilny z moim czipem, lecz na przystanku autobusowym nagle zmienią system płatności, będę musiał  wybrać (jakkolwiek niewiarygodnie to brzmi) jeden transport publiczny spośród nich.

Nie wspominając już nawet o podróżach międzynarodowych i potencjalnych problemach, gdy obywatel jednego kraju okaże się „niekompatybilny” z infrastrukturą innego kraju. Pewnie przesadzam tutaj z możliwymi problemami, ale mam nadzieję, że domyślacie się, o co mi chodzi.

Do przeprowadzenia eksperymentu miałem dwa smartfony – z Androidem i Windows Phone – odpowiednio HTC One M8 i Nokia Lumia 1020

Im dłużej żyję jako „cyborg nowicjusz™”, tym ostrożniej patrzę w przyszłość. Wypuściliśmy dżina z butelki, ale nie byliśmy przygotowani na konsekwencje tego czynu. Aby zmienić sytuację, musimy teraz włożyć wiele wysiłku w wielu płaszczyznach, łącznie z podejmowaniem najważniejszych decyzji. Do takich wniosków doszedłem podczas eksperymentowania z aplikacjami NFC dostępnymi w Google Play, gdy stałem się zakładnikiem architektury Androida.

Sam czip działa niezawodnie: jest całkiem prosty i nie ma w nim nic, co można by zhakować, nie ma też przerw w działaniu. Smartfony to inna bajka. Ponownie apeluję do zespołu tworzącego Androida, aby posprzątał nieco w kodzie stosowanym w aplikacjach NFC. Czasami po serii operacji odczytu/zapisu w pamięci czipa smartfony przestają go całkowicie rozpoznawać i trzeba je zrestartować. Czasami aplikacja NFC zamraża się lub zamyka. Innymi słowy, są to jeszcze dość niedojrzałe rzeczy (i przez „rzeczy” mam na myśli każdą jedną rzecz).

Ale dzisiejsza historia będzie o jednym bardzo krytycznym błędzie: odblokowaniu smartfona za pomocą bioczipu. To, co się stało podczas eksperymentu, tylko pogłębiło moje obawy.

Na potrzeby eksperymentu zainstalowałem taką małą aplikację – TapUnlock:

tap_unlock

Zaprogramowałem bioczip znajdujący się w mojej ręce tak, aby po dotknięciu smartfona mógł automatycznie odblokować ekran (na przykład, gdy biorę go w dłoń). Coś jak zastąpienie tradycyjnego hasła unikatowym kluczem przechowywanym w czipie pod Twoją skórą. Byłem bardzo podekscytowany prostotą i elegancją tego podejścia (w dniu 1.):

Ale wtedy aplikacja zamroziła się i… cóż, chyba był jakiś błąd w ustawieniach (szybka analiza pokazała, że plik zawierający wszystkie używane klucze został uszkodzony).

Właściwie znaczenie tutaj ma tylko fakt, że ostatecznie wszystko, co posiadałem, było potencjalnie niedziałającym smartfonem, którego w dodatku nie dało się odblokować – ponieważ nie wymagał wprowadzenia hasła. Nie miałem alternatywnej metody na odblokowanie urządzenia, a reset nie działał. Ostatecznie zostałem z bezużytecznym kawałkiem plastiku.

I wtedy doszedłem do przełomowego odkrycia: tę ochronę można w prosty sposób ominąć! Nawet nie musisz być hakerem, wystarczy jedynie przeciętne pojęcie na temat mobilnych systemów operacyjnych (w naszym przypadku Androida). Android to dość bezpieczny system operacyjny, głównie dlatego, że twórcy aplikacji zewnętrznych nie mogą manipulować w jądrze.

Poprzez całkowite kontrolowanie procesu tworzenia oraz swoich standardów Google może zagwarantować stabilność zarówno dla jądra, jak i dla natywnych aplikacji. Ale jeśli chodzi o firmy trzecie, system zawsze jest czujny – Google umożliwia użytkownikom usuwanie każdej aplikacji, która zawiera błędy, działa niestabilnie lub zwyczajnie jest irytująca.

Jeśli chodzi o smartfony z Androidem, usuwanie aplikacji zapobiega zapchaniu systemu. W tym celu:

  • Wciśnij i przytrzymaj przycisk włączania, w menu wybierz opcję „Wyłącz”, a następnie ponownie wciśnij i przytrzymaj go przez kilka sekund (ten krok może się różnić w zależności od modelu).
  • W menu wybierz „Uruchom ponownie w „Trybie bezpiecznym”.
  • Po uruchomieniu znajdź aplikację z „Google Play” (większość aplikacji będzie niewidoczna na ekranie), następnie wybierz zakładkę „Wszystkie aplikacje” i znajdź tę, której szukasz.
  • Wskaż niechcianą aplikację (w moim przypadku TapUnlock) i kliknij „Odinstaluj”.
  • Wciśnij i przytrzymaj przez kilka sekund przycisk zasilania, włącz smartfona w normalnym trybie.

Oznacza to, że tak naprawdę każda aplikacja zewnętrzna, która jest używana do celów autoryzacji użytkownika, może zostać wyłączona w dowolnym momencie poprzez wykonanie wspomnianych kilku kroków. Potwierdza to, że wszystkie aplikacje są uważane przez Google za niezaufane – nieważne, czy to z powodu wad, zhakowania czy zainfekowania. Przecież wszystko się może zdarzyć.

Apple i Microsoft mają tę samą strategię. Zatem, aby bioczip miał możliwość autoryzowania użytkownika, musi to być wykonane w sposób rzetelny, wygodny, stabilny i bezpieczny. Aby pożegnać stare dobre hasła, trzeba odwalić kawał trudnej roboty – zarówno na poziomie jądra systemu operacyjnego, jak i na poziomie logicznym czipa. Jest wiele rzeczy, o których trzeba pomyśleć i je wdrożyć: szyfrowanie asymetryczne, wieloetapowa autoryzacja oraz inne środki bezpieczeństwa.

Dobra nowina jest taka, że inżynierowie w firmach Google i Microsoft spieszą się. Wiem, że BionicManDiary jest czytany przez pracowników Apple. Mam więc nadzieję, że wszystkie te problemy zostaną wkrótce rozwiązane.

W moim kolejnym poście pokażę, jak wygląda interakcja bramek wejściowych w naszym biurze z moim bioczipem. Ale najpierw pokażę bezpośrednią korelację między bioczipami i Gwiezdnymi Wojnami.

Jak zwykle, z miłą chęcią odpowiem na wszystkie pytania, które możecie zadać w komentarzach do tego posta lub w serwisach Twitter i Facebook.