[发明专利]应用层与驱动层的通讯方法及装置在审
申请号: | 201710498952.4 | 申请日: | 2017-06-26 |
公开(公告)号: | CN107357667A | 公开(公告)日: | 2017-11-17 |
发明(设计)人: | 林凯 | 申请(专利权)人: | 北京金山安全管理系统技术有限公司 |
主分类号: | G06F9/54 | 分类号: | G06F9/54;G06F9/50 |
代理公司: | 北京康信知识产权代理有限责任公司11240 | 代理人: | 赵囡囡,褚敏 |
地址: | 100013 北京市朝阳区北三环*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 应用 驱动 通讯 方法 装置 | ||
技术领域
本发明涉及安全技术领域,具体而言,涉及一种应用层与驱动层的通讯方法及装置。
背景技术
在windows系统安全技术领域,一般情况下,windows系统(例如,32位的windows系统)中应用层与驱动层进行通信都是通过系统应用程序编程接口(Application Programming Interface,简称为API)Createfile打开驱动设备对象,然后通过devicecontrol API和驱动进行通信,然而,利用相关技术中的这种方式进行应用层和驱动层的通讯,在驱动通讯时的windows API的调用次数较多,效率较低。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种应用层与驱动层的通讯方法及装置,以至少解决应用层和驱动层效率低的技术问题。
为了解决上述问题,根据本发明实施例的一个方面,提供了一种应用层与驱动层的通讯方法,包括:获取系统的系统服务描述符表SSDT和阴影SSDT;根据SSDT和阴影SSDT两者的大小,在驱动层分配内存空间;将获取的SSDT和阴影SSDT拷贝到分配的内存空间中;根据在驱动层存储的SSDT和阴影SSDT与应用层进行通讯。
可选地,获取系统的SSDT和阴影SSDT包括:根据驱动入口DriverEntry函数,获取系统的系统版本号;根据系统版本号获取SSDT和阴影SSDT的系统内存地址;在获取的系统内存地址获取SSDT和阴影SSDT。
可选地,根据在驱动层存储的SSDT和阴影SSDT与应用层进行通讯包括:在驱动层存储的SSDT和阴影SSDT追加系统没有的通讯函数和通讯函数对应的参数,得到更新的SSDT和更新的阴影SSDT;根据更新的SSDT和更新的阴影SSDT,与应用层进行通讯。
可选地,在得到更新的SSDT和更新的阴影SSDT之后,还包括:判断系统所包括的中央处理器CPU是否仅为当前线程对应的CPU;在判断结果为是的情况下,将更新的SSDT和更新的阴影SSDT对应替换系统的SSDT和阴影SSDT;在判断结果为否的情况下,中断除当前线程对应的CPU之外的其它CPU后,将更新的SSDT和更新的阴影SSDT对应替换系统的SSDT和阴影SSDT。
可选地,根据在驱动层存储的SSDT和阴影SSDT与应用层进行通讯还包括:确定驱动层与应用层进行通讯的通讯函数;根据在驱动层存储的SSDT和阴影SSDT,获取确定的通讯函数在SSDT中的序号;通过在应用层向驱动层发送的调用指令中填写序号,以及通讯函数对应的参数表的方式,与驱动层进行通讯。
可选地,通过在应用层向驱动层发送的调用指令中填写序号,以及确定通讯函数对应的参数表的方式,与驱动层进行通讯包括:根据获取的序号,检测系统的CPU是否支持Sysenter指令;在判断结果为是的情况下,通过在应用层的Sysenter指令中填写序号,以及通讯函数对应的参数表的方式,与驱动层进行通讯;在判断结果为否的情况下,通过在应用层的int 2e指令中填写序号,以及通讯函数对应的参数表的方式,与驱动层进行通讯。
为了实现上述问题,根据本发明的另外一个实施例,还提供了一种应用层与驱动层的通讯装置,包括:获取单元,用于获取系统的系统服务描述符表SSDT和阴影SSDT;分配单元,用于根据SSDT和阴影SSDT两者的大小,在驱动层分配内存空间;拷贝单元,用于将获取的SSDT和阴影SSDT拷贝到分配的内存空间中;通讯单元,用于根据在驱动层存储的SSDT和阴影SSDT与应用层进行通讯。
可选地,获取单元包括:第一获取模块,用于根据驱动入口DriverEntry函数,获取系统的系统版本号;第二获取模块,用于根据系统版本号获取SSDT和阴影SSDT的系统内存地址;第三获取模块,用于在获取的系统内存地址获取SSDT和阴影SSDT。
可选地,通讯单元包括:第四获取模块,用于在驱动层存储的SSDT和阴影SSDT追加系统没有的通讯函数和通讯函数对应的参数,得到更新的SSDT和更新的阴影SSDT;第一通讯模块,用于根据更新的SSDT和更新的阴影SSDT,与应用层进行通讯。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京金山安全管理系统技术有限公司,未经北京金山安全管理系统技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710498952.4/2.html,转载请声明来源钻瓜专利网。