@dyk
2015-07-10T04:41:10.000000Z
字数 1193
阅读 384
ReadingNote
S&P'11
为了保护计算,一个安全的架构不仅需要保护那个软件,同样需要保护软件的操作时候的状态。如果软件回滚到一个正常但是老旧的版本,那么它很有可能发现错误。所以保护软件的状态不仅仅是保护状态的私密性与完整性。为了达到上上面说的目标,作者提出了Memoir,Memoir是第一能够保证软件模块状态的连续性的系统。换句话说,Memoir保护软件的状态保持持续并且不会被破坏。Memoir的最大贡献是在做到rollback resistance的同时并没有让系统更加的容易发生crash。Memoir实现了一个确定的模块,这个模块精确的将被保护模块的请求记录的总结存放在NVRAM里面。并且在发生crash的时候仅仅允许安全的命令重新执行。由于现在的硬件设备的NVRAM并不能频繁的进行读写,作者对这个问题也做出了优化。
作者为了确保其设计的正确性,作者给出了基于公理化的安全证明。作者还对Memoir的性能在真实的环境中进行了测试。
作者解决可信存储空间的不足,以及写入次数的限制,通过特别的数据结构将日志保护起来,只有在关机的时候才写入NVRAM。作者在基于Flicker的基础隔离了被保护的模块。
问题的解决有一下几个挑战: