![]() |
Bienvenue invité ( Connexion | Inscription )
![]() |
![]()
Message
#1
|
|
![]() BIDOUILLE Guru ![]() ![]() ![]() ![]() ![]() Groupe : Admin Messages : 55 527 Inscrit : 14 Jan 2001 Lieu : Paris Membre no 3 ![]() |
La société de sécurité Positive Technologies a annoncé avoir découvert une faille de sécurité touchant l'essentiel des processeurs Intel.
La faille est présente dans les modules Converged Security et Management Engine, qui sont destinés à s'assurer que certains composants logiciels sont fiables. Ces fonctions gravées dans les puces permettent par exemple de s'assurer avant leur exécution que l'EFI ou le Bios sont légitimes, elles sont aussi utilisés par Microsoft System Guard et BitLocker pour les mêmes raisons. Dans certaines conditions, il est possible de tromper le processeur et d'exécuter du code malveillant avant que ces fonctions ne soient enclenchées. La faille est contenue dans une ROM non modifiable. Il n'est donc pas possible de l'éliminer. Intel, prévenu depuis un moment, a mis en place des atténuations mais elles ne sont pas parfaites. Dans la pratique, un attaquant (très motivé) pourrait par exemple installer un keylogger sur la couche la plus basse de la machine, impossible à détecter même par des antivirus. Il y a cependant peu de chance que l'énergie nécessaire à compromettre une machine soit déployée en dehors de projets d'espionnage de haut vol. Dans l'immédiat, on ignore si cela aura un impact sur les Mac dotés d'une puce de sécurité Apple. Lien vers le billet original -------------------- C'est parce que la vitesse de la lumière est plus grande que celle du son que tant de gens paraissent brillants avant d'avoir l'air con
|
|
|
![]() |
![]()
Message
#2
|
|
Macbidouilleur de vermeil ! ![]() ![]() ![]() ![]() Groupe : Membres Messages : 835 Inscrit : 16 Nov 2003 Membre no 11 701 ![]() |
On s'éloigne du sujet initial, mais pour ceux que cela intéresse, un logiciel qui utilise de façon intensive l'assembleur, c'est OpenOffice.
Plus précisément, on utilise l'assembleur pour servir de "proxy" entre les API Java, Python, UNO et le C++, ou un autre langage éventuellement. L'assembleur permet la traduction des entités dans les2 sens, et c'est tellement rapide que c'est transparent pour l'utilisateur. La difficulté, c'est d'écrire la partie assembleur :-) Un autre endroit où c'est utilisé (toujours dans OpenOffice), c'est pour la manipulation des refcount (sorte de GC maison) qui permet d'éviter les fuites de mémoires). La contrepartie, c'est qu'il y a un assembleur par couple OS / processeur, soit une grosse vingtaine de cas traités à maintenir ! Dans les sources d'OpenOffice, tout est dans le module "bridge". Pour ceux qui veulent avoir une idée de ce à quoi ça ressemble, peuvent essayer avec la commande : Code gcc -S -o test.asm prog1.c L'option "-S" de gcc correspond à la 2ème étape de la compilation (après le parsing du code, servant à inclure toutes les macros, et à vérifier la syntaxe et la sémantique utilisée). À titre d'exemple, avec le code ci-dessous contenu dans le fichier progr1.c , et contenant Code #include <stdio.h> #include <stdlib.h> #include <math.h> /* au cas où une macroserait nécessaire */ #ifndef M_PI #define M_PI 3.14159265358979323846 #endif int somme( int valeur1 , int valeur2) { return (valeur1 + valeur2); } int main( void) { int result = 0; result = somme(3,2); fprintf(stdout, "La somme de 3 et 2 vaut %d et de 25 et 18 vaut %d \n", result, somme(25,18)); fprintf(stdout, "Le cos de 60° vaut %.2f \n", cos(60.0*M_PI/180.0)); return EXIT_SUCCESS; } Le fichier .asm obtenu - lisible par un humain, et compréhensible - sera ensuite transformé en langage machine (le tout en hexadécimal), non lisible par un humain, et ensuite lié à la libC du système (4ème et dernière étape de la compilation). En fait, quand j'ai commencé à programmer, on utilisait l'assembleur, et avec l'habitude on lisait directement le code machine. Je me souviens encore de la galère qui consistait à calculer les sauts quand on devait le faire à la main (au début seulement) @Pat94 : un processeur, ça comprend surtout le langage machine, non ? (l'assembleur, c'est juste une surcouche, écrite pour faciliter la création des programmes. Mais pour les couches du dessus, je suis d'accord) Ce message a été modifié par ericb2 - 8 Mar 2020, 12:31. |
|
|
![]() ![]() |
Nous sommes le : 31st July 2025 - 19:31 |