Arquitetura do sistema do smartphone
Last updated
Last updated
Os smartphones são basicamente pequenos computadores de mão, e as principais diferenças arquitetônicas em relação aos computadores são:
Os sistemas são mais protegidos:
Carregadores de inicialização (bootloaders) não são customizáveis
Adição de coprocessadores para fins especiais
Enclave seguro
Banda base (Baseband, para telefonia)
Processamento de imagens
Aceleradores de IA
Os coprocessadores são processadores usados somente para uma finalidade específica que não seja o sistema. Eles ajudam o processador principal a lidar com determinadas tarefas e, portanto, precisam se comunicar com ele. Os coprocessadores geralmente executam seu próprio sistema operacional e aplicativo incorporados, e não podem ser controlados diretamente pelo usuário. Geralmente, eles têm acesso privilegiado aos recursos do sistema e aos dados do usuário, portanto, às vezes, são alvos de ataques de exploit mais sofisticadas. Devido à sua natureza protegida, é difícil auditar ou obter dados forenses dos coprocessadores. Para os fins deste guia, você só precisa saber que:
Os coprocessadores podem ser atacados por exploits
Os ataques de exploits a coprocessadores são sofisticados e incomuns
O restante deste guia se concentrará, portanto, nos softwares executados no processador do aplicativo.
Os sistemas operacionais dos smartphones diferem dos sistemas operacionais dos computadores, pois implementam mais controles e isolamento entre os diferentes componentes e aplicativos do sistema, de modo que um componente comprometido não possa afetar facilmente todo o sistema.
É possível que os invasores explorem as vulnerabilidades do núcleo (kernel), mas essas vulnerabilidades são bastante raras e geralmente exigem técnicas sofisticadas para serem exploradas.
Os aplicativos do sistema podem conter vulnerabilidades. Uma vez atacados, eles podem causar mais danos do que a exploração de aplicativos de usuário, pois geralmente têm mais privilégios para alterar o sistema subjacente. Um exemplo comum é o navegador incorporado, que é violado com frequência.
Os aplicativos de usuário são menos privilegiados. No entanto, se as permissões forem concedidas, eles podem acessar informações confidenciais do usuário e causar grandes danos. Às vezes, eles também podem enganar ou explorar o sistema subjacente para obter mais controle.