Google mówi o ulepszeniach bezpieczeństwa dzięki Project Treble

Na Google I / O w tym roku widzieliśmy ogłoszenie, że Android O wprowadzi nową zmianę na platformie Project Treble. Kiedy po raz pierwszy wyjaśniono, Google mówił o tym, jak oddziela interfejs dostawcy, aby producenci układów (np. Qualcomm) nie musieli przepisywać kodu dla układów na rynku za każdym razem, gdy pojawia się nowa wersja Androida. Celem jest sprawienie, aby proces aktualizacji był szybszy i tańszy dla firm pracujących nad tymi rzeczami.

Chociaż istnieją pewne nieodłączne korzyści bezpieczeństwa związane z szybszym dostarczaniem tych aktualizacji do urządzeń, Project Treble wykracza poza to, aby faktycznie zwiększyć bezpieczeństwo naszych urządzeń. Ponieważ Project Treble usuwa implementację dostawcy z platformy Android, znacznie trudniej będzie zaatakować i wykorzystać interfejs dostawcy przez złośliwy kod.

Google wyjaśnia tę zmianę, najpierw opisując działanie HAL (Hardware Abstraction Layer). Zapewnia to interfejs między kodem zależnym od urządzenia a sprzętem specyficznym dla urządzenia, które mamy w naszych telefonach. Dzięki temu, jak jest teraz bez Projektu Treble, uruchomienie warstwy HAL w procesie oznacza, że ​​potrzebuje ona dostępu do wszystkich uprawnień wymaganych przez każdą warstwę HAL w trakcie procesu. Dotyczy to również bezpośredniego dostępu do sterowników jądra, a także uprawnień wymaganych do innych procesowych warstw HAL.

To, co mamy, oznacza, że ​​mamy nadmiernie uprzywilejowane procesy i warstwy HAL, które ostatecznie mają dostęp do uprawnień i sprzętu, których nie powinni. Kiedy rozdzielamy te rzeczy za pomocą Project Treble, przenosimy warstwy HAL do ich własnych procesów (jak pokazano na obrazie tego artykułu). Generalnie powoduje to wzrost narzutu IPC między procesem klienta a HAL, ale wprowadzono pewne ulepszenia w sterowniku spoiwa, które sprawiają, że wszystko to jest praktyczne, poprawiając wydajność każdej transakcji.


Przeczytaj więcej na blogu programistów Androida!