[关闭]
@dyk 2016-03-18T08:58:14.000000Z 字数 1756 阅读 1002

回滚设计

RollBack


威胁模型,
系统本身是否可信,
突出多机的问题。
TOCTOU
感知回滚 -> 做出相应,消除状态不一致 -> 达到新的状态

Created with Raphaël 2.1.2系统启动监控与感知是否回滚状态一致化新的状态yesno

M1交互操作,S1软件执行过程(单机收费软件,不收费,需要输入密码的程序,不需要密码就能使用)
M2交互数据,S2软件附加数据(回滚进行暴力破解)
M3虚拟机状态欺骗,S3软件自身状态

单机和多机旧状态威胁:TOCTOU,S1(这样的状态不能通过回滚到达),M3,S3
旧数据威胁:S2
交互状态威胁:M1 -> M2,

回滚感知->回滚监控域,状态度量,TOCTOU,M3
抗回滚数据域,S2
状态恢复,M1,M2,S1,S
3(通过对内存代码区进行,完整性度量)

状态收集机制

回滚发生前需要收集的状态: 解决回滚对于其他方的透明性

在虚拟机层面回滚回滚的信息是一定能够收集到的

自身状态记录 回滚感知 交互状态验证链
local PCR remote PCR PCR measurement Chain
传统PCR + rvTPM扩展 通过类似mount操作将其他虚拟机的PCR映射到本地(权限) 通过local或者remoutPCR构造状态交互链。不论是交互的服务,还是单机服务
回滚策略和以前一样 由于是进行映射,回滚之后需要再次确认映射关系 交互状态验证在每次回滚恢复之后将被重置到回复完成后的状态

自由mount机制(多机的状态交互经常发生改变)利用hypercall实现?,

快照、回滚发生后的应对策略

没有回滚过的状态我们认为是时间上安全的状态,主要是帮助过去的虚拟机维持没有回滚过的状态。

  1. 事件推送,关联方的感知机制

    • 首先回滚必须能够及时可信的记录,并且推送到各个remote PCR,进行回滚感知,进一步的信息通过远程证明可以获得。
    • 感知交互方发生回滚之后,针对抗回滚监控域的状态。
      • 如果虚拟机存在快照,保存当前状态下的安全监控域的状态。
      • 将调整(触发试监控的跳过需要完全的快照,如果单单是持续监控只需要对监控日志进行划分)抗回滚监控域的安全监控状态,监控产物数据的安全保护与验证。针对具体的监控软件,还需要恢复使用的句柄,xc 句柄,libvmi的句柄数据。
    • 当交互服务方方感知到回滚,交互进程,数据进行释放,清空(如果一方发生回滚,可靠通信出现过期的序列号)
      • 一般的交互服务在对方回滚之后自身的连接将会断开
      • 为什么呢?针对交互过程中的数据进行销毁,其他完成以完成的事务的状态进行保存
  2. 其次需要对丢失状态进行验算

    • 收集local 以及 remote PCR measurement Chain,与交互日志。
    • 构造回复操作序列,什么样的序列能够使得重放后到达安全一致的虚拟域状态。
      • 已经完成的操作(写入磁盘的操作,不需要进行恢复)
      • 未完成的操作,比如说?
  3. 状态恢复, 以及新状态的达成

    • 状态恢复之后的状态和回滚时的状态并不是完全一样的,当前的状态验证链是一个新的值,同时日志的内容也会发生变化。

时间安排

系统设计实现:

  1. 3月21日
  2. 3月28日
  3. 4月4日
  4. 4月11日
  5. 4月18日
  6. 4月25日
  7. 5月2日
  8. 5月9日
  9. 5月16日

论文撰写

  1. 4月18日开始撰写设计部分,威胁模型
  2. 5月1日,安全分析,国内外研究现状,介绍,总结
  3. 5月10日,撰写系统实现,以及性能测试
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注