Encontré este video:
En el video, Meltdown se usa para leer la memoria de proceso basada en PID / nombre.
¿Cómo se hace?
El programa busca task_struct en la memoria filtrada y analiza los datos de if, según el miembro de la estructura PID o COMM?
¿Alguien puede explicarlo? Lo mejor es usar conceptos de programación, pero la respuesta general también está bien.
¿Cómo es que funciona tan rápido, hice experimentos y parece que task_struct tiene un tamaño de 5760 bytes para un proceso? Le tomaría un tiempo leerlo, y ¿cómo sabrá que lo obtuvo por completo? Quiero decir que tendría que verificar el 5760 completo y verlo en ciertos datos de compensaciones (miembros de estructura) ¿tiene sentido?
Además, hay una gran cantidad de espacio de direcciones virtuales del kernel para leer y buscar esta información:
#ifdef __x86_64__
#define DEFAULT_PHYSICAL_OFFSET 0xffff880000000000ull
#else
#define DEFAULT_PHYSICAL_OFFSET 0xc0000000ull
#endif