[发明专利]一种通过驱动自动化拦截Windows自动更新的方法有效
申请号: | 201910676339.6 | 申请日: | 2019-07-25 |
公开(公告)号: | CN110417771B | 公开(公告)日: | 2021-07-09 |
发明(设计)人: | 刘德建;任佳伟;陈宏展 | 申请(专利权)人: | 福建天晴在线互动科技有限公司 |
主分类号: | H04L29/06 | 分类号: | H04L29/06;H04L29/08;H04L29/12 |
代理公司: | 福州旭辰知识产权代理事务所(普通合伙) 35233 | 代理人: | 程勇 |
地址: | 350212 福*** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 通过 驱动 自动化 拦截 windows 自动更新 方法 | ||
1.一种通过驱动自动化拦截Windows自动更新的方法,其特征在于:所述方法为:在Windows操作系统底层安装WFP网络过滤器,并设置一驱动程序,所述驱动程序注册并开启WFP网络过滤器,WFP网络过滤器能实时拦截Windows操作系统向微软更新服务器接收的网络数据包,以及微软更新服务器发送来的网络数据包,从而实现拦截Windows操作系统自动更新;
所述WFP网络过滤器拦截Windows操作系统自动更新的具体方式为:
步骤1、设置一用于存储域名黑名单和IP黑名单的黑名单数据库,初始化黑名单数据库,并在黑名单数据库中加入update.microsoft.com和windowsupdate.com 两项域名信息;
步骤2、驱动使用FwpmEngineOpen函数获取基本过滤引擎BFE句柄,作为后续操作的参数;
步骤3、驱动使用FwpsCalloutRegister函数,分别在应用层数据流建立层、数据流层和数据包层对应注册监控数据的回调函数;其中,应用层数据流建立层的回调函数用于处理请求网络链接的数据包,数据流层的回调函数用于处理TCP数据包,数据包层的回调函数用于处理UDP数据包;
步骤4、驱动使用FwpmCalloutAdd函数向过滤引擎申请添加注册的3个回调函数;
步骤5、驱动使用FwpmSubLayerAdd函数,分别在应用层数据流建立层、数据流层和数据包层创建子层,用于捕获数据;
步骤6、驱动使用FwpmFilterAdd函数,通过过滤引擎,分别在应用层数据流建立层、数据流层和数据包层创建过滤器,并将回调函数与子层关联;完成关联后,当子层捕获到网络数据包时,Windows操作系统会调用子层对应的回调函数处理这个数据包;
步骤7、 应用层数据流建立层的回调函数在被系统调用时,先解析网络数据包的进程路径、进程ID、本地IP地址、远端IP地址、本地端口、以及远端端口信息,并将这些信息保存至上下文数据流中,然后使用FwpsFlowAssociateContext函数将上下文数据流与数据流层和数据包层关联绑定;所述过滤器会将上下文数据流跨层传输至数据流层和数据包层,在数据流层、数据包层的回调函数处理子层捕获的数据包时,通过解析上下文数据流获取此数据包的进程路径、进程ID、本地IP地址、远端IP地址、本地端口、远端端口信息;
步骤8、数据流层和数据包层的回调函数捕获到UDP和TCP数据包后,判断数据包的远端IP是否位于黑名单数据库的IP黑名单中,是,则拦截数据包,阻止数据包向下一层传递,否,则进入下一步骤;
步骤9、数据流层和数据包层分别判断截获的数据包是否为HTTP数据包或DNS数据包,若是则进入下一步骤,否则放行数据包;
步骤10、数据流层和数据包层分别解析HTTP报文和DNS报文;通过字符串比较判断报文中的请求域名是否位于黑名单数据库中的域名黑名单中,若不在域名黑名单中,则放行此数据包;如果在域名黑名单中则进行拦截处理;
步骤11、当需要终止拦截Windows操作系统自动更新时,调用ControlService函数向驱动传递控制码SERVICE_CONTROL_STOP 使驱动停止作用,驱动收到控制码后调用默认的驱动卸载回调函数,在驱动卸载回调函数调用过程中卸载并注销过滤器,最后应用程序调用DeleteService函数卸载驱动程序。
2.根据权利要求1所述的一种通过驱动自动化拦截Windows自动更新的方法,其特征在于:所述方法进一步具体包括如下步骤:步骤S1、启动Windows操作系统的一应用程序,所述应用程序加载驱动程序,加载是否成功,是,则进入步骤S2;否,则将加载失败的驱动程序卸载后再重新加载一次驱动程序;再进入步骤S2;
步骤S2、所述应用程序刷新DNS缓存,并开启驱动程序,使驱动程序在Windows操作系统内核层运行;
步骤S3、所述驱动程序注册并开启WFP网络过滤器,开始执行拦截功能;
步骤S4、所述应用程序等待用户传来的停止拦截Windows操作系统更新的请求;
步骤S5、等待到终止请求后,驱动程序关闭并注销所述WFP网络过滤器;
步骤S6、应用程序停止并卸载驱动程序,然后应用程序终止。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于福建天晴在线互动科技有限公司,未经福建天晴在线互动科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910676339.6/1.html,转载请声明来源钻瓜专利网。