发明名称 一种VxWorks系统驱动层块设备数据访问控制方法
摘要 本发明公开了一种VxWorks系统驱动层块设备数据访问控制方法。所述方法是设置VxWorks系统权限库,对块设备接口做无磁盘高速缓存的基本封装来创建CBIO设备,分别在块设备驱动层和dosFs文件系统驱动层嵌入访问监控器,任务在访问块设备数据的时候首先进入访问监控器,访问监控器根据当前任务ID和块设备匹配预先设置的权限库,控制任务对块设备数据的访问。本发明的方法较现有的访问控制方法,具有更好的访问控制效果,提高了块设备中数据的安全性。
申请公布号 CN104318152B 申请公布日期 2017.04.12
申请号 CN201410509089.4 申请日期 2014.09.28
申请人 江苏科技大学 发明人 戴跃伟;薛朋骏;翟江涛
分类号 G06F21/50(2013.01)I;G06F21/30(2013.01)I;G06F21/60(2013.01)I 主分类号 G06F21/50(2013.01)I
代理机构 南京经纬专利商标代理有限公司 32200 代理人 楼高潮
主权项 一种VxWorks系统驱动层块设备数据访问控制方法,其特征是包括如下步骤:步骤(1)、设置VxWorks系统中任务对块设备的访问权限库,VxWorks系统启动时加载该权限库;步骤(2)、对块设备接口做封装来创建CBIO设备;步骤(3)、在块设备读、写函数入口插入块设备层访问监控器函数,dosFs文件系统层的操作传递到块设备驱动层后,根据当前任务ID和块设备匹配权限库,当匹配成功确认有读、写权限,则继续执行块设备读、写操作,否则返回ERROR到dosFs文件系统驱动层,结束调用;步骤(4)、在dosFs文件系统驱动层嵌入访问监控器,具体方法步骤是:第(I)步、获取dosFs文件系统驱动层的dosFsRead()函数信息,获取内存中dosFs文件系统驱动层的dosFsRead()函数的汇编指令代码、机器码和dosFsRead()函数入口的内存位置,提取dosFsRead()函数的汇编指令代码特征;第(II)步、设计dosFs文件系统驱动层访问监控器,dosFs文件系统驱动层访问监控器根据当前任务ID和块设备匹配权限库,当匹配成功,将处理器的寄存器数据恢复到进入dosFsRead()函数前数据,执行dosFsRead()函数入口第一条汇编指令,预留一条空指令以存放跳转指令;当匹配不成功,则将处理器的寄存器数据恢复到进入dosFsRead()函数前数据,执行dosFsRead()函数入口第一次寄存器入栈操作,预留一条空指令以存放跳转指令;第(III)步、在dosFs文件系统驱动层嵌入访问监控器,根据步骤(4)中第(I)步计算获得dosFsRead()函数入口的内存位置和返回ERROR汇编指令代码的内存位置,根据dosFs文件系统驱动层访问监控器函数入口的内存位置,计算合成一条从dosFsRead()函数入口跳转到dosFs文件系统驱动层访问监控器入口的跳转指令机器码,并将该跳转指令机器码覆盖到dosFsRead()函数入口的内存位置;第(IV)步、完善dosFs文件系统驱动层访问监控器,分别计算出该dosFs文件系统驱动层访问监控器匹配成功和匹配不成功时预留空指令的内存位置,根据步骤(4)中第(III)步获得的dosFsRead()函数入口的内存位置,计算合成出匹配成功跳转到dosFsRead()函数入口第二条汇编指令代码处的跳转指令机器码,覆盖到步骤(4)中第(II)步匹配成功时预留空指令处;根据步骤(4)中第(III)步获得的dosFsRead()函数返回ERROR汇编指令代码的内存位置,计算合成出匹配不成功跳转到dosFsRead()函数返回ERROR汇编指令代码处的指令机器码,覆盖到步骤(4)中第(II)步匹配不成功时预留空指令处。
地址 212003 江苏省镇江市京口区梦溪路2号