Es una grandísima idea... siempre que se puedan leer los datos de la caché ummm....
Aunque ahora que lo pienso...
Si el hypervisor siempre está atento a todo lo que ocurre... supongo que éste tienene que tener acceso directo a la caché...
Con lo cual salen las líneas de la propia CPU hasta el Hypervisor...
mmmmm
¿Una de estas líneas no podría ser la conexión que necesitamos directamente hacia la caché L1?
[/quote)
No. Una de las principales ventajas (en cuanto a seguridad se refiere el cell) es que cuando una aplicacion corre en una SPE, esta,queda aislada del resto del mundo y del universo, tanto de las otras spe, como del cell central, por lo que ni el hypervisor, ni root ni dios, tiene acceso a la cache de esa SPE (entonces piensas, coño, y si meto un "sniffer" en background en esa propia SPE para que lo almacene en memoria, y vaya leyendo de la cache que utiliza??" --> pues..no se hasta que punto podemos OBLIGAR a una SPE a hacer correr mas de un proceso y que no se lo lleve otra SPE,habria que mirarlo)
Una pregunta interesante...
¿El Hypervisor que trabaja con los datos cifrados o descifrados?
Me explico...
Este tiene que supervisar todo lo que ocurre en la CPU...
Pero como sabemos, ningún procesador puede trabajar con datos cifrados... con lo cual...
O el mismo cifra y descifra también o le llegan directamente los datos sin cifrar...
El Hypervisor esta en el central. En el momento en que "destina" un proceso a una SPE, esa SPE se aisla (como si fuera una puta isla rodeada de agua, incomunicada) y ella misma se lo guisa y se lo come es la SPE Juan PAlomo, yo me lo guiso yo me lo como.
A esa SPE le llegan los datos cifrados, los desencripta en su cache (a la que nadie tiene acceso) opera, y vuelve a encriptarlo.
El hypervisor trabaja con datos X (si estan encriptados, llamara a una SPE para q le descifre justo el "cacho" que necesita para operar)
--------------------
Pregunta:
Podemos acceder a la cache de una SPE aislada ?
Respuesta:
No, a menos que ya estemos en ella.
Por eso desde un principio mi idea era "matar" (dejar K.O,quitar alimentacion, como querais llamarlo) de todas las SPE y dejar solo el central (o en su defecto cargarselo todo yactivar el de respuesto)
Imaginar que tenemos un programa que hace lo siguiente:
(entiendase que para el ejemplo,cuando diga que se hace una operacion del estilo suma(a,b) y otro procesador tiene que hacerla tambien, no es que la sume de nuevo, sino que otra SPE le dara el resultado)
( Multiplica el resultado de restar dos sumas por 3 )
multiplica ( resta( suma (a,b), suma(c,d)) , 3 )
El hypervisor ve eso.. y dice:
- Joder que programador mas mamon.. encima lo va a querer
para ayer... bueno tranquilo Hyper (porque el así mismo se llama asi) vamos a ver.... estoy en la Central, voy a llamar a mis SPringaos
SPringao1 --> hazme la suma (a,b) y dime cuanto da
Springao 2 -> hazme la suma(c,d) y dime cuanto da
Springao 3 -> hazme resta( suma (a,b), suma(c,d) ) y dime cuanto da
SPringao 4 -> Hazme la multiplicacion de resta( suma (a,b), suma(c,d) ) * 3 y dime cuanto da
y yo mismo... dare el resultado, A LA 1.... A las 2....... Y a las 3 !!!!!! vamos to dios cagando leches a trabajar en paralelo que lo quiero para ayer !! VAMOS NENAZAS !!! ZAS ZAS ZAS!!!!!! - Grita superHyper sobre su cell azotando a las pobres SPE subordinadas -
Pasan X nanosegundos y el hypervisor suelta: El resultado es TAL y el programador se corre de gusto.
Bien, hasta aqui todo estos datos estan encriptados. Por lo que si quisieramos ver como alguna SPE hace la operacion, no tendriamos ni puñetera idea de como lo hace.
Imaginemos ahora..que nosotros, podemos obligar a tener un proceso residente en memoria en una SPE concreta corriendo en background que lo que hace es ir leyendo de la Cache cada vez que esta es modificada.
Si estuvieramos en la SPE1 podriamos tener acceso al resultado de la operacion (de modo desencriptado).
Nos sirve de algo eso? Pues no... asi que... imaginemos que podemos estar en todas las SPE en bacground snifeando que pasa.
Nos sirve de algo eso? (ahora es cuando suenan las trompetas de Shreck)
Sirve para determinar el algoritmo que encriptacion/encriptacion? (ahora es cuando suena el ñiaaau ñiaaaau ñiaaau ñiaaaaau.. you lost)
Pero bueno, tenemos el resultado de la operacion que en principio es lo que nos interesa (de momento)
Es decir, cuando la PS3 lea la NAND, podemos sacar su contenido sin cifrar de este modo? Pues si la idea del sniffer en background por SPE funciona si.
La duda que me queda, es como leches hacer que corra mas de un proceso dentro de una SPE, ya que si cuando corre uno, esta queda aislada del resto del mundo, es sniffer lo unico que oleria son los propios "peditos" que se tire esa SPE, porque no iba a entrar nada mas.
Que quiere decir eso? que si hacemos un (para los que sepan programar aunque sea de forma ultra basica) bucle infinito del estilo
a Boolean;
a := True;
while (a) loop;
null;
end loop;
en cada una de las SPE, colgariamos todos los SPE y el central no podria mandar mas trabajo a nadie, por lo que o lo hace el, o...
a) se cuelga la PS3 ?
b) hace el el trabajo ?
Hacemos otro bucle infinito en el centra......
a) se cuelga la PS3 ?
Si esto es asi........ kaka de la vaca, habria que probarlo con el SDK intentar correr mas de un proceso en una SPE sin que esta quede aislada.
SI por SPE solo puede haber una aplicacion (quiza sea mas correcto decir aplicacion y no proceso, porque una aplicacion puede tener mas de un proceso, y entonces si que tendria sentido que solo una aplicacion corriera en una SPE y en ella multiples procesos, y entonces, arde troya
)
omeuiD
a idea está bien pero.... así se conseguiría obtener el funcionamiento del algoritmo de encriptación? yo no lo veo muy claro, todo más consguirias la clave si está guardada por hardware, pero el algoritmo utilizado es desconocido o no?
Un Saludo
No, el algoritmo no, tendriamos los datos en "plain text"
werewolf y
Darkangelus (perdon si no lo escribo bien , lo hago de memoria)
? El dibujito ese que salen los SPE y el PPE etc... es un diagrama del cell... El cell es un chip, totdo eso está en un mismo integrado, así que ya me dirás como vas "pinchar" el bus de datos ese...