发明名称 一种面向非易失性存储器的恶意读写程序监控装置及方法
摘要 本发明公开了一种面向非易失性存储器的恶意读写程序监控装置,所述装置包括第一模块、第二模块、第三模块和第四模块,所述第一模块,包括写次数管理单元、PM页损耗均衡管理单元和PM页恶意写管理单元,该模块用于记录PM物理页的写次数以及PM物理页的所有映射关系,所述第二模块,包括计数器、PM页累计命中记录器、附加寄存器、随机数生成单元和计算单元,用于检测当前程序在其对应物理页上的写频繁程度,所述第三模块,由决策逻辑单元组成,用于决策当前程序的恶意程度和相应均衡措施,所述第四模块,由DRAM_Reserve表组成,用于管理判定为恶意程序所对应的物理页。
申请公布号 CN105678196A 申请公布日期 2016.06.15
申请号 CN201511027390.2 申请日期 2015.12.31
申请人 上海交通大学 发明人 黄林鹏;朱燕民;沈艳艳;周纤;薛栋梁
分类号 G06F21/78(2013.01)I;G06F21/56(2013.01)I 主分类号 G06F21/78(2013.01)I
代理机构 上海伯瑞杰知识产权代理有限公司 31227 代理人 孟旭彤
主权项 一种面向非易失性存储器的恶意读写程序监控装置,其特征在于,所述装置包括第一模块、第二模块、第三模块和第四模块,所述第一模块,包括写次数管理单元、PM页损耗均衡管理单元和PM页恶意写管理单元,该模块用于记录PM物理页的写次数以及PM物理页的所有映射关系,所述第二模块,包括计数器、PM页累计命中记录器、附加寄存器、随机数生成单元和计算单元,用于检测当前程序在其对应物理页上的写频繁程度,所述第三模块,由决策逻辑单元组成,用于决策当前程序的恶意程度和相应均衡措施,所述第四模块,由DRAM_Reserve表组成,用于管理判定为恶意程序所对应的物理页,在所述第一模块中:写次数管理单元由一颗平衡二叉排序树构成,所述的平衡二叉排序树的每个节点由标志位、物理页号、对应物理页号的写次数三个域组成;PM页损耗均衡管理单元由PM_WH_to_WL表构成,这个表的第一列是按照写次数递减的物理页的页号,第二列是按照写次数递增的物理页的页号,PM_WH_to_WL表的作用是交换两个物理页时记录其正映射和逆映射关系;PM页恶意写管理单元由PM_to_DRAM表构成,这个表的第一列是写次数达到某较大阈值的物理页的页号,第二列是按照物理地址递增的DRAM物理页的页号,PM_to_DRAM表的作用是将当前写次数最多的PM物理页复制到DRAM时,记录PM物理页号到DRAM物理页号的映射关系;在所述第二模块中:计数器由计数器Write_Sum构成,用来统计当前活动窗口内部的偏移值;PM页累计命中记录器由Hit_Sum统计表构成,这个表的第一列是最近一段时间内访问物理页的页号,第二列是在对应物理页上的写次数Hit_Counter,记Hit_Counter_Sum为所述Hit_Sum统计表中第二列写次数求和的结果,Hit_Sum统计表的作用是统计写次数多的物理页的写次数,所述Hit_Sum统计表的大小为检测的活动窗口大小的1%到2%,记录的是写次数较多的物理页的写次数;附加寄存器由Hit_add寄存器构成,由于PM页累计命中记录器中所述Hit_Sum统计表的大小仅为检测的活动窗口大小的1%到2%,当所述Hit_Sum统计表中某行被替换出去时,所述Hit_add寄存器用来累计所述的Hit_Sum统计表中替换出去的行的第二列Hit_Counter的和;随机数生成单元,若当前读写操作的物理页号在PM页累计命中记录器中所述Hit_Sum统计表中第一列没有找到时,在第一个模块的写次数管理单元中所述的平衡二叉排序树中以当前读写操作的物理页号为关键字查找,若找到,根据当前读写操作的物理页的写次数按照某种计算方法得到所述的当前读写操作的物理页号的替换概率,然后由随机数生成单元生成一个随机数与所述的当前读写操作的物理页号的替换概率进行某种运算,结果为1则替换,结果为0则不替换;计算单元用来计算当前检测的写密度,所述的写密度为PM页累计命中记录器中所述Hit_Counter_Sum与附加寄存器中所述Hit_add的累加和,再与计数器中所述Write_Sum的比值;在第三模块中,若当前程序对应物理页的写密度在[0,1%]内,则判定当前程序为正常程序,继续下一次检测;若当前程序对应物理页的写密度在[1%,10%]内,则判定当前程序为危险程序,从第一个模块的写次数管理单元的所述平衡二叉排序树中以写次数为关键字查找一定数量的写次数最多的物理页号和写次数最少的物理页号,依次将所述写次数最多的物理页的内容和所述写次数最少的物理页的内容交换,同时在第一个模块的PM页损耗均衡管理单元中的PM_WH_to_WL表中添加所述交换的物理页号的正映射和逆映射;若当前程序对应物理页的写密度在(10%,100%]内,则判定当前程序为恶意程序,在第一个模块的写次数管理单元中所述的平衡二叉排序树上以写次数为关键字查找写次数最多的物理页号,将所述的写次数最多的物理页号复制到第四个模块的DRAM_Reserve表的第一列的相应行,同时在第一个模块的PM页损耗均衡管理单元的表PM_to_DRAM中增添一行,所述行的第一列为第一个模块的写次数管理单元中所述的平衡二叉排序树的右子树最右边的叶子节点对应的物理页号,所述行的第二列为DRAM中对应的物理页号,同时将第一个模块的写次数管理单元的平衡二叉排序树中写次数最多的对应节点删除;在第四模块中,所述的DRAM_Reserve表有两列,第一列是DRAM保留区的物理页号,所述的物理页号按自然数递增,第二列是对应物理页的写次数。
地址 200240 上海市闵行区东川路800号