EDICIóN GENERAL
157 meneos
1762 clics
Sandsifter busca secretos en tu procesador. [EN]

Sandsifter busca secretos en tu procesador. [EN]

El proyecto Sandsifter presentado en la DefCon 2017 analiza los procesadores x86 a la búsqueda de instrucciones ocultas y errores. Puede analizar instrucciones del fabricante, disassemblers, assemblers, emuladores, hipervisores y en general cualquier error en el hardware de la familia x86. github.com/xoreaxeaxeax/sandsifter

| etiquetas: procesadores , x86 , auditoría hardware , sandsifter
#1 ¿Qué le pasa a TechCruch? (pregunta en serio)
#6 Nada realmente, pero pasan la noticia muy por encima. Se pueden sacar más detalles desde los comentarios hackernews que casi del artículo.
Puede encontrar porno accidentalemnete borrado?
Es para un amigo pajillero.
#2 ¿En el procesador?
#3 Eso que es??
Se puede??
#4 los procesadores procesan datos no guardan xD
#5 Y tu como lo sabes??
#7 ehh porque estudio ingeniería de software. Pero vamos que cualquiera lo sabe xD
#8 Creo que eres tú el que no tiene ni idea de ingeniería de software. El procesador (CPU) es el equivalente al cerebro humano para una máquina, y doy fe de que mi cerebro guarda el recuerdo de cada palmo de las nalgas de mi primera novia. Hacke mate, listillo.
#10 seguro que todavía te la prlsd imagindotela
#11 Sí, pero no se la cuentes a la de ahora que se enfada.
#12 Un placer, la universidad de la vida es mi cátedra.
#13 joder ya nadie puede pelarsela tranquilo o que
#10 Gracias compi, así que si se puede.
#10 un ser humano y no ordenador se parecen lo que un huevo a una castaña.

Por ejemplo tu novia virtual eran solo píxeles es una pantalla por mucho que parecieran nalgas reales.
#14 O sabes de informática o de culos, elige.
#16 Eso es mito... cierto es que la primera generación, al estar en un nuevo entorno, presentó serias dudas sobre su capacidad reproductiva.

Pero hoy en dia yo no llamaba al amigo informatico y le decia a la novia que lo atienda mientras no estas en casa...
#10 Somos muchos los que guardamos recuerdos de cada palmo de las nalgas de tu primera novia.



:troll:
#8 Tienen registros y memoria caché, así que lo que es guardar algo guardan ;)
#8 #5 entonces si no tienen datos/instrucciones ¿que analiza?
#5 Mmm tecnicamente eso no es cierto, los procesadores actuamente poseen una caché suficiente como para grabar unas pocas fotos.
#15 la memoria cache de primer nivel lo dudo. La de tercer nivel puede guardar algo más, pero es volátil.
#17 eso es lo que quieren q pensemos
#15 La cache se borra cuando apagas el ordena...
#5 Si los diseñas para que guarden datos y los construyes para que lo hagan si. Sin que tu te enteres.
Dicho eso, en la entradilla dice que entre otras cosas buscan instrucciones ocultas.
Vamos que igual pueden hacer algo que no te han dicho porque no quieren que lo sepas y no lo han documentado.
¿Alguno que haya probado la herramienta?
#20 Pues yo mismo. No ha tardado mucho, menos de 30 minutos con los parámetros que vienen de ejemplo en mi i7 6700K. Pero no va demasiado bien en mi máquina, ni la búsqueda ni el sumarize muestran nada, aunque sí hay log.
#23 He estado leyendo en hackernews los comentarios y no se si entiendo bien como funciona la herramienta...¿detecta cambios en el firmware o codigo usado por el SO para que la CPU trate los datos?
El que ha programado la herramienta al parecer trabajaba para la CIA/NSA
Y la utilidad es?¿
#21
Buscar errores y funcionalidades no documentadas por el fabricante en las cpus, hardware que se ha demostrado puede tener los mismos problemas que el software (bugs, flaws, puertas traseras).

La verdad es que el autor lo explica bastante bien:

Although we treat our processors as trusted black boxes,
they are riddled with the same flaws and secrets we find in
software. Through guided instruction fuzzing based on a
depth-first search and page fault analysis, the sandsifter toolset
is

…   » ver todo el comentario
#31 Quien usa un x86 a estas alturas del siglo XXI?
#33 Formalmente, los intel y amd actuales siguen siendo x86.
#36 A que te refieres con formalmente? A que tienen compatibilidad hacia atras? El programa este también sirve para procesadores x64?
#37 En el readme dicen que soportan cualquier procesador x86, los actuales siguen siéndolo(incluyendo los x86_64 actuales). Aunque las arquitecturas ya no se parecen a los x86 originales, se pueden seguir usando las mismas instrucciones y registros en assembler como en los originales, aunque internamente se hace una conversión y patatín y patatán, pero genéricamente se les sigue denominando igual.
#37 la arquitectura del procesador sigue siendo x86 el x64 es una extension de trabajo en 64bits pero no un cambio de arquitectura.
#39 En realidad es al reves. Es una arquitectura diferente, no solo por el ISA ( la arquitectura del juego de instrucciones ) que es mayor, diferente y hasta incompatible a nivel semantico y de la codificacion en binario ( ver caso de ejemplo INC EAX / DEC EAX y su opcode en x86-64 ), si no que todas las tablas de descriptores, TSS, y muchas cosas mas cambian ( practicamente todo ), y no es una mera extension de 32 a 64 bits.
#40 Pues no estudie arquitectura de microprocesadores pero diria que siguen siendo misma arquitectura son procesadores cisc de proposito general y basicamente amd saco una extension sobre IA32 de intel. Es mas si tu razonamiento fuera cierto que hace amd pagando a intel por su arquitectura x86? Que yo sepa amd introdujo cambios en el datapath, direcciones de memoria y buses y de ahi salieron x86-64 EM64T o IA32e

Ahora si me hablas de sparc, powerpc o mips o cosas asi pues joder claro que son diferentes arquitecturas pero no es el segmento del que hablamos.
#42 Que ambas sean CISC ( en cuanto a ISA y arquitectura en la superficie, dentro son otra cosa ) no quiere decir que sean iguales o se limiten a ser una mera extension ).

AMD e intel tenian ( y siguen teniendo, si no me equivoco ), precisamente, un acuerdo de patentes cruzado en ESTE tema: esto es, AMD no paga a intel los royalties por x86 ( o mejor dicho i386 o IA32, x86 es incorrecto y un cajon desastre donde meterlo todo ) e intel no paga a AMD los royalties por AMD64 ( que es como se…   » ver todo el comentario
#42 Siguiendo lo de #43:

Un Windows typo "x64" ( asi es como Microsoft llama a los AMD64 fuera de ambitos tecnicos ), para su modo Wow64 ( Windows on [Windows 64] ) prepara descriptores de codigo y datos de modo IA32e dentro del modo AMD64 y algunos "gates" de pasarela entre IA32e y AMD64 y carga aplicaciones IA32 en ellas.
#43 no me suena nada de lo que me dices pero gracias por la informacion a ver si busco un hueco un dia y le echo un vistazo. Ya que sabes de esto... Podrias hablarme de truenorth?
#45 No lo conozco, la verdad. He mirado un poco y es un circuito integrado con 4096 "cores" ( no son procesadores clasicos, sino procesadores para uso especifico, funcionan como cumulos de neuronas electronicas que hacen mimica de las neuronas de los animales ) con 256 neuronas electronicas que pueden hacer 256 conexiones cada una.

4096 cores con 256 neuronas electronicas = 2^14 * 2^8 = 2^20 = 1 meganeuronas ( algo mas que un millon ). Como cada una de estas neuronas puede tener 256…   » ver todo el comentario
#46 1 millon de neuronas no es poca cosa, ademas habra que ver la velocidad de disparo de estas o los hz que puede correr este chip, la division que tienen haciendo uso de watson tiene que ser la principal demandante de las cosillas estas y ya me gustaria a mi echarle el guante a uno. Quizas en un futuro veamos esto como un coprocesador a los actuales para tareas de un futuro so con una ia integrada. Lo que si que veo es mucho secretismo al rededor de esto.
#47 La verdad es que de estas cosas no tengo ni idea. Sí que me mola leerme algunos artículos y si que veo un futuro apasionante en todo esto, pero no es mi campo ;(
#48 Cual es tu campo pues?
#49 Bueno, mi interes y trabajo y demas es programacion a bajo nivel, desarrollo de drivers, BIOS/UEFI, etc. Con contacto directo de la maquina y demas.
#50 Ufff suena a locura gorda, para eso habra tb frameworks no?
#51 pues si, la API ( conjunto de funciones ofertadas a los programadores ) del nucleo del sistema operativo, algo parecido pero mucho mas "pelado" en UEFI ( en BIOS practicamente nada, el hardware a pelo )... pero al final depende que tipo de drivers hagas, puedes programar sin tocar mucho el hardware, sin tocar mucho el hardware pero tocando cosas del procesador a muy bajo nivel o usando solmente esa API... aun asi tiene su cosa pero tambien es bastante mas divertido...
#33 Creo que se refiere en general, de hecho los ejemplos que muestra en el paper son con un i7. Además tiene una opción para ser usada en procesadores antiguos como los Pentium I.
El paper es breve y muy interesante.
No hace falta ponerse paranoicos con hackeos del microcódigo de la CPU, con los bugs e instrucciones no documentadas ya vale para romper cosas.
Supongo que en unas semanas aparecerán actualizaciones de microcódigo para Intel y AMD... Que meteran bugs nuevos y mejorados.
#24 Exacto, estamos justo en el momento de probar la herramienta.
#24 i5toi7_update.exe :palm:
Es como aquella actualización que instalé en mi teléfono Samsung para convertirlo en sumergible xD
Si bueno lo que hace lo he entendido, sigo sin ver la utilidad, una vez visto que tiene bugs o lo que sea se encuentre que? podemos de jar de echar las culpas al windows? :-P
Me parece de ciencia ficción que con software puedan auditar una cpu para comprobar sus puertas traseras, etc..
comentarios cerrados

menéame