Google revelou nova falha grave no Android e desta vez a culpa é da Qualcomm
Não são anormais as falhas no Android, em especial nas apps que o rodeiam. O próprio sistema está por vezes vulnerável, mas muito mais raras são as falhas de hardware, quase sempre de um fabricante de topo e presente em muitos equipamentos.
Com o controlo de grande parte dos componentes nas mãos de alguns fabricantes, estas situações são muito perigosas. Neste contexto, há um novo problema detetado e que afeta milhões de smartphones Android. É uma falha da Qualcomm e de um dos seus componentes.
Surge uma nova falha no Android
Foi a própria Google que veio a público revelar esta nova falha que afeta os smartphones Android. Enquadrado no seu Project Zero, a equipa de investigadores de segurança da Google descobriu e revelou detalhes sobre este problema.
Do que pode ser lido na descrição, a falha afeta milhões de smartphones Android, tudo devido ao hardware que têm presente. O problema está no GPU Adreno da Qualcomm, que como se sabe está disseminado no universo dos smartphones com o sistema da Google.
Problema está no GPU Adreno da Qualcomm
A revelação desta situação seguiu os planos normais do Project Zero e foi revelada 90 dias após ser encontrada. O seu grau está marcado como se elevada severidade, mostrando bem a sua importância e a disseminação que terá nestes equipamentos.
Descrição da falha pela Google
The Adreno GPU driver associates a private device structure ("process_priv") with each KGSL file descriptor. The process_priv private structure holds the page tables that are used for GPU context switching. This process_priv structure is tied to the PID of the calling process, and can be reused multiple times by additional KGSL file descriptors in the same process (presumably to save the cost of performing a GPU context switch between draw contexts in the same process).
When a process forks, the child inherits the parent's KGSL file descriptors along with the private structure associated with the parent's PID. If a child process holds a KGSL file descriptor that was originally opened in a parent process, and if that parent process exits, then the child still holds a reference to the private structure associated with the parent's PID.
However if the parent's PID is reused by a victim process, then the victim will reuse the existing private structure rather than creating a new one. In practice this gives the child process (an attacker) the ability to read any subsequent GPU shared mappings that the victim process creates, since their draw contexts are considered to be running in the same GPU context.
Ao explorar a forma como a criação dos processos filho é feita, os atacantes podem ler todos os dados que os presentes no resto dos processos associados. Isto claro, porque estes mantêm os descritores de ficheiros privados associados ao KGSL (kernel graphics support layer).
Foi a 15 de setembro que a Google relatou a falha à Qualcomm, com uma sugestão para a sua resolução no Android. Esta terminaria a 14 de dezembro, mas a solução surgiu uma semana antes, tendo sido informados os fabricantes de smartphones afetados.
Estará a atingir milhões de smartphones
O problema aqui, e a Google é particularmente boa nestas situações, é que a solução aparentemente vem trazer novos problemas. A Qualcomm ainda não lançou a correção para esta nova falha e como tal os smartphones Android voltam a expostos.
Este é mais um problema que pode eventualmente passar sem qualquer solução nos smartphones Android. A sua disseminação será muito grande, com milhões de dispositivos afetados, graças à presença do GPU Adreno da Qualcomm. Resta apenas aguardar e ver se a correção surge em breve.
Este artigo tem mais de um ano
Apenas mais uma falha “descoberta” para “obrigar” os consumidores mais “receosos” a adquirir um novo equipamento.
Tanta texto afinal qual é o problema? ?
Depois de ler o artigo também não entendi qual é o real problema!
+1
The attack works as follows:
1) An attacker creates a process, and opens the /dev/kgsl-3d0 device file.
2) The attacker’s process forks. The parent PID “X” is recorded, and the parent exits. The child process “Y” is running with a KGSL fd that is associated with the private structure for PID “X”.
3) The attacker induces a target/victim process to reuse the PID “X”. The victim process will reuse the existing private structure for its own KGSL fds.
4) The child process “Y” creates a GPU shared mapping called “output”, and then submits a GPU command to copy data from a GPU shared memory mapping belonging to victim process “X” to the output buffer.
Não uso Qualcomm há uns anos.
Então desta safam-se os Samsung na Europa e os Huawei, que usam SoC’s Exynos e Kirin.