AMD, ARM, IBM, Intel et Qualcomm : des failles sur les CPU et SoC comme s’il en pleuvait

AMD, ARM, IBM, Intel et Qualcomm : des failles sur les CPU et SoC comme s’il en pleuvait

AMD, ARM, IBM, Intel et Qualcomm : des failles sur les CPU et SoC comme s’il en pleuvait

Que serait un été sans la moindre annonce d’une nouvelle brèche dans les processeurs ? Rassurez-vous ce n’est pas en 2020 qu’on devra répondre à cette question.

Des chercheurs ont publié un rapport sur de nouvelles attaques de type « side-channel ». AMD, ARM, IBM et Intel sont concernés. Qualcomm n’est pas en reste avec pas moins de… 400 vulnérabilités, comme le rapporte Check Point qui a présenté ses découvertes à la DEFCON.

Commentaires (11)


Ce qui serait bien ce serait de connaitre les moyens d’exploitation malicieuse possibles plutôt que le nombre d’attaques.


ou au moins le sévérité des vulnérabilités


Il y a dans cette brève, un regroupement de 2 types de failles qui n’ont rien à voir, pourquoi pas, mais ce n’est pas évident pour le lecteur s’il ne suit pas les liens.




  1. des attaques de processeurs classiques : ce sont les attaques de types « side-channel ».



  2. des failles dans les DSP de Qualcom. DSP = Digital Signal Processor. Ces failles sont a priori des failles logicielles.




Sur ces dernières, il n’y a pas d’infos sur leur billet de blog mais ils ont fait un webminar sur le sujet le 13 Août. Je n’ai rien trouvé suite à ce webminar.
Par contre, ça risque d’être compliqué de corriger ces failles dans les DSP. Ils sont généralement utilisés en étant commandés par le processeur principal (ARM) des smartphones et cela se fait souvent par des commandes en mémoire partagée avec des données à traiter fournies par le processeur principal. Du code de DSP, c’est assez basique (même si c’est une affaire de spécialistes) et c’est fait pour faire du traitement de signal, image, son, modem, traitement du signal radio des mobiles, …. Ce n’est pas conçu pour être protégé.
La seule correction possible me semble dans l’OS du processeur ARM (Android ou IOS) afin d’interdire aux applications l’accès direct aux DSP. Le fait même que ces failles existent semble indiquer que ce n’est pas le cas, ce qui est plutôt surprenant. Mais en l’absence d’infos techniques, difficile de faire autre chose que des suppositions peut-être erronées.


Je ne suis pas sur que tu ais raison.
DSP : puce câblé pour telle rôle, alors que SoC -> puce programmée.



Donc c’est peut-être “sécurisable” par le software, mais ca resterait un workaround.


CryoGen

Je ne suis pas sur que tu ais raison.
DSP : puce câblé pour telle rôle, alors que SoC -> puce programmée.



Donc c’est peut-être “sécurisable” par le software, mais ca resterait un workaround.


Non, un DSP n’est pas “câblé” pour un rôle. C’est du logiciel qui tourne dedans comme l’indique d’ailleurs le P de DSP qui signifie processor comme je l’ai indiqué plus haut. C’est du logiciel spécialisé, mais c’est bien du logiciel.



On a quelques informations sur les DSP Qualcom ici. On y lit que les DSP “Modem” sont programmés uniquement par Qualcom mais que le DSP multimédia peut être programmé par l’utilisateur (je pense qu’il s’agit des fabricants de smartphones). Ça me laisse supposer que le logiciel de ces DSP n’est pas en ROM mais est chargé (en RAM). Ce logiciel est donc modifiable pour corriger des bugs.



Tu confonds peut-être avec des ASIC ou FPGA qui eux sont bien câblés (en dur pour les premiers, mais modifiables pour les seconds)



Et pour finir, un SOC, c’est juste un ensemble de fonctions différentes faisant un “système” sur une seule puce, ici, ça contient non seulement les DSP dont on parle mais aussi le processeur ARM, le GPU, le traitement du WiFI et d’autres fonctionnalités. En fait, c’est juste une intégration en une seule puce de ce qui dans le temps était en plusieurs puces.



On va dire que j’ai travaillé sur pas mal de produits de types différents intégrant des DSP pour être sûr de moi sur la première partie de mon message, le dernier paragraphe, est plus des suppositions comme je l’indiquais.


fred42

Non, un DSP n’est pas “câblé” pour un rôle. C’est du logiciel qui tourne dedans comme l’indique d’ailleurs le P de DSP qui signifie processor comme je l’ai indiqué plus haut. C’est du logiciel spécialisé, mais c’est bien du logiciel.



On a quelques informations sur les DSP Qualcom ici. On y lit que les DSP “Modem” sont programmés uniquement par Qualcom mais que le DSP multimédia peut être programmé par l’utilisateur (je pense qu’il s’agit des fabricants de smartphones). Ça me laisse supposer que le logiciel de ces DSP n’est pas en ROM mais est chargé (en RAM). Ce logiciel est donc modifiable pour corriger des bugs.



Tu confonds peut-être avec des ASIC ou FPGA qui eux sont bien câblés (en dur pour les premiers, mais modifiables pour les seconds)



Et pour finir, un SOC, c’est juste un ensemble de fonctions différentes faisant un “système” sur une seule puce, ici, ça contient non seulement les DSP dont on parle mais aussi le processeur ARM, le GPU, le traitement du WiFI et d’autres fonctionnalités. En fait, c’est juste une intégration en une seule puce de ce qui dans le temps était en plusieurs puces.



On va dire que j’ai travaillé sur pas mal de produits de types différents intégrant des DSP pour être sûr de moi sur la première partie de mon message, le dernier paragraphe, est plus des suppositions comme je l’indiquais.


Hum ok, je te fais confiance :D
Par contre, il reste une possibilité tout de même d’être une faille matérielle du coup, peut-être patchable par software, un peu comme les failles CPU ?


Ils vont faire concurrence à l’emmental!



fred42 a dit:


Non, un DSP n’est pas “câblé” pour un rôle. C’est du logiciel qui tourne dedans comme l’indique d’ailleurs le P de DSP qui signifie processor comme je l’ai indiqué plus haut. C’est du logiciel spécialisé, mais c’est bien du logiciel.




Ben un peu quand même. C’est pas généraliste du tout le dsp. Ça fait des calculs à la con et ça le fait bien.
Contrairement à l’asic ou le fpga qui peut tout faire, jusqu’à une machine complète mémoire comprise, on aime bien ça en rétro computing.
Il est temps de mettre à jour ses préjugés ;)


:keskidit:
On doit avoir un problème de définitions, là.



Un ASIC (Application-specific integrated circuit) ne fait que ce pour quoi il a été créé : il ne fait donc pas “tout”, mais exactement l’inverse. A moins de considérer un SoC comme un ASIC (mais l’usage veut qu’un ASIC avec un processeur s’appelle un SoC).
Un DSP, au contraire, peut en général (presque) tout faire, mais fera certains calculs bien mieux qu’un processeur “généraliste” (si le programme est bien fait), mais d’autres choses moins bien. D’ailleurs, tous les DSP que j’ai vus font tourner un mini OS permettant de gérer les priorités/interruptions/communications/etc. C’est loin d’être des calculs à la con. On peut mettre à jour le soft qu’ils font tourner, contrairement à l’ASIC, qui est (par définition) câblé pour le rôle donnée par celui qui l’a créé



Le FPGA, c’est un peu un hybride, donc je n’en parlerai pas, surtout les générations récentes qui brouillent encore plus la frontière.



On ne parle pas de préjugés ici, mais de définition



popi_le_clown a dit:


:keskidit: On doit avoir un problème de définitions, là.
Un ASIC (Application-specific integrated circuit) ne fait que ce pour quoi il a été créé : il ne fait donc pas “tout”, mais exactement l’inverse.




Bah si tu mets un coeur de x86 dans un ASIC, tu peux tout faire, qu’est-ce qui est difficile à comprendre? Idem pour les FPGA



Alors qu’un DSP ne sera jamais autonome, t’as toujours un CPU généraliste à côté pour le piloter



Bref, c’est pas parce que y a le P de processor dans DSP que c’est un processeur tout court. Tu ne peux pas dissocier le P de D et S. C’est un “processeur spécialisé dans le traitement du signal” => En fait un coprocesseur…


Non, un DSP n’est pas toujours utilisé comme coprocesseur. Il existe des applications où un DSP s’occupe de tout. C’est le cas quand la tâche principale comporte des calculs et qu’il reste de la réserve pour le reste. Un appareil de mesure par exemple.


Fermer