关于论文《FLUSH+RELOAD:一种高分辨率、低噪声的L3缓存侧信道攻击》的理解现代系统为了省内存,大量使用共享内存页(比如共享库等),但这同时来带了一些问题:进程间的独立性/隔离性,通常可以通过共享页强制只读或共享数据写时拷贝的方式实现。 虽然可以保证进程无法修改共享页的内容,但也存在一些无法阻止的进程间干扰。有一种通过共享页面产生的干扰形式会导致CPU缓存的共享使用,那么当一个进程访问共享页面的某个部分时,由于局部性原理,访问的数据会被放进缓存。 作者观察到,clflush 指令会把数据从所有缓存层级清空,包括共享的 L3(最后一级缓存)。 基于这个发现,作者设计了 FLUSH+