Logo pl.androidermagazine.com
Logo pl.androidermagazine.com

Android 7.0: naprawdę ważne korzyści bezpieczeństwa

Spisu treści:

Anonim

Zaktualizowano 13 sierpnia 2016 r. O informacje o ostatecznych funkcjach i interfejsach API Androida Nougat.

W Android N. wprowadzono wiele zmian kodu. Niektóre z nich możemy zobaczyć - jak nowe powiadomienia - i inne, których nie możemy (ale wciąż jest to wielka sprawa). Widzimy to samo z każdą aktualizacją. Istnieją udoskonalenia i zmiany w interfejsie, ale pod maską wprowadzane są zmiany i zmiany, aby Android działał lepiej i bezpieczniej.

Google poprawiło bezpieczeństwo w Android Nougat w kilku różnych obszarach. Niektóre mają na celu zahartowanie samego Androida, podczas gdy inne są narzędziami dla programistów, więc pozostaje tak podczas instalowania aplikacji. Rzućmy okiem na same zmiany.

Bezproblemowe aktualizacje

Google już wykonuje „bezproblemowe aktualizacje” w systemie operacyjnym Chrome i działa naprawdę dobrze. W Androidzie będzie bardzo podobnie.

Bezproblemowe aktualizacje będą korzystały z dwóch oddzielnych partycji systemowych. Jednym z nich jest system, z którego korzystasz podczas codziennego korzystania z telefonu. Kiedy nadejdzie czas aktualizacji, druga partycja systemowa zostanie zmieniona i zaktualizowana, a przy następnym uruchomieniu zostaniesz automatycznie przełączony. Przy następnej aktualizacji inna partycja systemowa zostanie zmieniona i nastąpi powrót.

: Android 7.0: Co to są bezproblemowe aktualizacje i jak działają?

Oznacza to, że można to zrobić podczas pracy lub grania, a po zakończeniu wystarczy zrestartować komputer. Byłbyś zaskoczony (byłem wtedy, gdy go usłyszałem), ale spora część ludzi nie aktualizuje telefonu, ponieważ zajmuje to trochę czasu. Mogli to zrobić raz, a potem siedzieć i czekać, i postanowili nie robić tego więcej. Powiadomienie można łatwo odrzucić. Ale zmieniając procedurę, ułatwiając aktualizacje i eliminując straszny czas oczekiwania podczas wyświetlania okna dialogowego „aktualizowanie aplikacji”, więcej osób to zrobi.

Konfiguracja bezpieczeństwa sieci

Konfiguracja zabezpieczeń sieci umożliwia twórcom aplikacji tworzenie i używanie niestandardowego pliku konfiguracji dla ustawień zabezpieczeń sieci zamiast żądania zmian na poziomie systemu. Plik konfiguracji można zmienić bez modyfikowania samej aplikacji i można ustawić niestandardowy urząd certyfikacji zamiast urządzenia domyślnie i można również ustawić ignorowanie jednego lub wszystkich urzędów certyfikacji zaufanych przez system. Jest to ważne w przypadku łączenia się z hostem, który ma samopodpisany urząd certyfikacji (np. Aplikacje korporacyjne) lub w przypadku aplikacji, która powinna ufać tylko konkretnemu urzędowi certyfikacji.

Ponadto konfigurację można ustawić tak, aby zrezygnowała z dowolnego ruchu sieciowego w postaci zwykłego tekstu i wymusiła szyfrowaną komunikację przy użyciu protokołu HTTPS. Jeśli jesteś administratorem sieci lub tworzysz aplikacje sieciowe, wiesz, jak ważne są te zmiany. Reszta z nas może być szczęśliwa, że ​​możemy uzyskać bezpieczniejszy ruch sieciowy w aplikacjach, które są łatwiejsze do opracowania.

Hartowanie serwera multimediów

Pamiętasz Stagefright? Chociaż większość mediów zdmuchnęła go nieproporcjonalnie, za hiperbolą krył się prawdziwy problem. Odtwarzanie pliku multimedialnego i możliwość zmuszenia go do ponownego uruchomienia komputera lub utraty całego dźwięku to paskudny problem, a fakt, że (teoretycznie) można go wykorzystać do potajemnego uzyskania uprawnień roota, jest jeszcze bardziej przerażający. Google traktuje to bardzo poważnie i co miesiąc widzimy łaty do biblioteki serwerów multimediów, aby starać się wyprzedzać związane z tym błędy i obawy dotyczące bezpieczeństwa.

W Androidzie N serwer multimediów został gruntownie odnowiony. Google podzielił serwer multimediów na mniejsze komponenty, które można aktualizować poza pełną aktualizacją systemu - podobnie jak w przypadku komponentu WebView. Oznacza to, że gdy mają nową łatkę, możesz pobrać aktualizację z Google Play zamiast czekać sześć miesięcy lub dłużej na osoby, które sprawiły, że Twój telefon zdecydował się wysłać ci łatkę.

Zmienili również model uprawnień dla serwera multimediów, nie dając mu już pełnych uprawnień systemowych. Uruchamianie z niskimi uprawnieniami sprawia, że ​​jeszcze trudniej jest włamać się do systemu, jeśli dostanie się na serwer multimediów. Jest to poważna zmiana, która sprawi, że włamanie się do telefonu z Androidem (zły sposób włamania) będzie jeszcze trudniejsze niż kiedyś.

Kluczowe zaświadczenie

Key Attestation pozwoli programistom upewnić się, że klucze, których mogą używać w swoich aplikacjach, są prawidłowe i przechowywane w magazynie kluczy zabezpieczonym sprzętem telefonu, a nie w oprogramowaniu. Gdy narzędzie do atestacji otrzymuje wygenerowany alias dla klucza (rzeczywisty klucz nigdy nie powinien być udostępniany), generuje łańcuch certyfikatów, którego można użyć do weryfikacji klucza. Programiści mogą zweryfikować zarówno klucz, jak i zweryfikowany stan rozruchu, aby upewnić się, że wszystko jest prawidłowe.

Telefony dostarczane z Androidem N i korzystające z usług Google będą miały certyfikat wydany przez Google jako organ główny (lub główny), podczas gdy inne telefony, które zostały zaktualizowane, będą potrzebować certyfikatu wydanego przez firmę, która je utworzyła.

Nie wszystkie telefony z systemem Android N mają zaufane środowisko sprzętowe do przechowywania kluczy szyfrowania. W takich przypadkach zamiast tego używane jest uwierzytelnianie klucza na poziomie oprogramowania. Zweryfikowany stan rozruchu można nadal sprawdzić, aby upewnić się, że oprogramowanie systemowe nie zostało zmienione. Tak, oznacza to, że programista może sprawdzić root. To dobrze, pod warunkiem, że użytkownicy, którzy zrootowali swój telefon, nie zostaną ukarani.

Szyfrowanie na poziomie plików

Wcześniej Android używał szyfrowania na poziomie bloku, aby cała partycja lub urządzenie pamięci masowej były szyfrowane jednocześnie. To była bardzo bezpieczna metoda szyfrowania, a trzymanie rzeczywistych tokenów poza pamięcią i sprzętem oznaczało, że jedynym wyjściem było prawidłowe hasło lub PIN. W Androidzie N zmieniło się szyfrowanie na poziomie plików.

Direct Boot został zaprojektowany do pracy z szyfrowaniem na poziomie plików, aby zapewnić zarówno wygodę, jak i bezpieczeństwo.

Gdy zaszyfrowane urządzenie z Androidem uruchomi się (lub uruchomi się ponownie w kieszeni), urządzenie zostanie zaszyfrowane i zablokowane. Mogą działać tylko niektóre aplikacje, co nazywa się trybem bezpośredniego rozruchu. Oznacza to, że nadal możesz odbierać połączenia telefoniczne lub uruchamiać alarm (lub nawet wyświetlać powiadomienia), ale aby zrobić cokolwiek więcej, musisz odblokować i odszyfrować urządzenie. Po odblokowaniu N używa szyfrowania na poziomie plików, aby umożliwić nam (użytkownikowi) i aplikacjom nieco większą kontrolę nad sposobem blokowania danych.

Gra ma tutaj dwie zalety - FDE (szyfrowanie blokowe na pełnym dysku) sprawia, że ​​urządzenia klasy niskiej działają dość słabo. Google potrzebował kilku prób na Nexusie 6, aby wszystko dobrze, a każde urządzenie z pamięcią flash do odczytu i zapisu poniżej 50 MB / s nadal ma problemy. Drugą (i ważniejszą) zaletą jest zastosowanie szyfrowania na poziomie pliku do uwierzytelnionego szyfrowania za pomocą powiązanego z nim D ata (AEAD). AEAD oznacza, że ​​dostęp do danych jest trudniejszy dla nieautoryzowanego użytkownika lub aplikacji. Dla osób zainteresowanych AEAD, oto naprawdę dobra lektura profesora UC Davisa Phillipa Rogaway'a (plik.pdf).

To wielopoziomowe podejście do szyfrowania pozwoli firmom, które produkują androidy w bardzo przystępnej cenie, oferując szyfrowanie bez obniżenia wydajności.

Bezpośredni rozruch

Szyfrowanie na poziomie plików będzie również działać lepiej z funkcją bezpośredniego rozruchu. Bezpośredni rozruch zapewnia nowy tryb, który programiści mogą wykorzystać, dzięki czemu ich aplikacja może działać natychmiast po włączeniu systemu, zamiast czekać na odblokowanie lub odszyfrowanie telefonu przez użytkownika.

Odbywa się to w połączeniu z nowym obszarem pamięci urządzenia, a aplikacje korzystające z funkcji rozruchu bezpośredniego nie będą oddziaływać z normalnym systemem plików chronionym za pomocą danych uwierzytelniających ani z indywidualnie zaszyfrowanymi plikami lub katalogami.

: Android 7.0: Co to jest Direct Boot i jak poprawi twoje wrażenia?

Zakres dostępu do katalogu

Scoped Directory Access to sposób na uzyskanie przez aplikację pozwolenia na dostęp do określonego katalogu w pamięci zewnętrznej (pamięć zewnętrzna to partycja poza systemem i obejmuje zarówno pamięć telefonu, jak i kartę SD lub inne podłączone urządzenie magazynujące) bez pytania uprawnienia do całego woluminu lub za pomocą wyskakującego okienka z zapytaniem o uprawnienia do folderu.

Ważny jest bezpieczny dostęp do przechowywanych danych. Aplikacja, która potrzebuje tylko dostępu do folderu przechowywania muzyki lub zdjęć, nie powinna widzieć nic innego, a pisanie kodu w celu wykorzystania istniejącej struktury Storage Access Framework w celu zawężenia spraw okazało się czymś, czego wielu programistów odmawia. nowy interfejs API Scoped Directory Access ułatwi programistom tworzenie bezpiecznych aplikacji i ochrony danych.

Te kluczowe funkcje bezpieczeństwa są dużą częścią Androida N. Chociaż niektóre telefony (zwłaszcza te, które nie są dostarczane z Nougat) mogą nie korzystać z nich wszystkich, każdy z nich pomaga chronić nasze dane, jeśli są właściwie używane. Android dojrzał, a dbałość o szczegóły, którą Google pokazuje w wersji 7.0, może nie być tak krzykliwa jak nowe emoji lub nowa kolorystyka, ale jest to o wiele ważniejsze.