一种基于UEFI的终端实时定位系统和方法
技术领域
本发明属于计算机安全技术领域,涉及一种基于UEFI固件,在开机引导过程及操作系统启动后,对终端进行实时定位的系统和方法。
背景技术
目前,计算机从开机引导操作系统启动后,通过操作系统中的定位控制主程序,调用UEFI实时定位驱动模块,对定位装置进行控制。
操作系统层通过特定软件对定位设备进行控制有着以下的不足,主要包括:
在计算设备更换硬盘、Flash等存储被保护程序的装置后,将不能自动地恢复实时定位程序,获取地理位置。在对硬盘、Flash等被保护程序的存储空间进行重新分区后,计算设备将不能自动地恢复实时定位程序,获取地理位置;在对硬盘、Flash等被保护程序的存储空间进行格式化后,计算设备将不能自动地恢复实时定位程序,获取地理位置;不能阻止合法的终端使用用户非法地删除本地终端上的定位程序、中止定位程序的运行;当终端的操作系统中的定位程序被病毒或木马篡改和删除后,将不能自动地进行恢复;不能在开机过程中进行定位,并根据地理位置执行本地策略。
发明内容
本发明的目的是为了克服已有技术的缺陷,为了解决在开机引导操作系统启动后,无法在固件层实时获取终端地理位置的问题,提出一种基于UEFI的实时终端定位系统和方法。
一种基于UEFI的实时终端定位系统,包括定位控制驱动模块、定位控制客户端主程序和定位控制服务端;
所述定位控制驱动模块是符合UEFI规范的固件模块,主要包括自动恢复子模块、定位指令解析子模块、定位指令执行子模块、操作系统及网络接口子模块四个部分;其中,自动恢复子模块用于对定位控制驱动模块和定位控制主程序进行恢复;定位指令解析子模块用于将接收到的指令对应到具体的操作指令;定位指令执行子模块用于逐次执行解析后的定位指令;操作系统及网络接口子模块能够在开机过程或操作系统运行过程中,被定位控制主程序进行调用;
所述定位控制客户端主程序包括运行状态交互接口子模块,定位策略执行子模块、通信接口子模块、定时子模块;运行状态交互接口子模块用于定位控制客户端主程序与固件交互状态;定位控制客户端主程序使用通信子模块与服务端进行通信,接收服务端的控制指令;定时子模块用于根据特定时间间隔,调用UEFI驱动模块;
所述定位控制服务端包括定位控制服务、策略管理服务、信息存储服务;定位控制服务用于向客户端发送相应的控制指令;管理员可以通过策略管理服务对接入设备配置定位策略,如开启或关闭定位设备的条件、传输定位信息的条件等;定位信息存储服务用于存储用户的历史定位信息。
本发明方法是通过下述技术方案实现的:
步骤一、计算机终端开机上电后,开始进入UEFI的开机引导过程;
步骤二、检测定位控制驱动模块是否工作正常;如果出现异常,则进行自动恢复定位控制驱动模块并重启;
步骤三、检测是否需要在开机过程中进行定位;如果需要定位则转入步骤四,否则启动操作系统,转入步骤六;
步骤四、加载设备驱动并进行定位;
步骤五、根据策略,将定位信息发回服务端或在本地根据定位信息执行相应的控制策略;
步骤六、操作系统启动;
步骤七、定位控制主程序启动;
步骤八、检测定位驱动模块是否正常;如果运行正常则转入步骤九,否则自动恢复并重启;
步骤九、检测是否需要定位;如果需要定位,转入步骤十;如果不需要定位则定位流程结束;
步骤十、定位控制主程序根据既定策略,调用定位控制驱动模块;
步骤十一、定位驱动模块获取地理信息,并传送给控制主程序;
步骤十二、根据既定策略将地理信息发送到服务端,或执行本地策略;
步骤十三、终端实时定位流程结束。
有益效果:
1、本发明在计算设备更换硬盘、Flash等存储被保护程序的装置后,能够自动地恢复实时定位程序,获取地理位置。
2、在对硬盘、Flash等被保护程序的存储空间进行重新分区后,计算设备将能够自动地恢复实时定位程序,获取地理位置。
3、在对硬盘、Flash等被保护程序的存储空间进行格式化后,计算设备能够自动地恢复实时定位程序,获取地理位置。
4、能够防止合法的终端使用用户非法地删除本地终端上的定位程序,防止用户非法中止定位程序运行。
5、当终端的操作系统中的定位程序被病毒或木马篡改和删除后,能够自动恢复。能够在开机过程中进行定位,并根据地理位置执行本地策略。
附图说明
图1为基于UEFI的设备定位总体框架图;
图2为设备定位实时控制流程图。
具体实施方式
下面结合附图并举实施例,对本发明进行详细描述。
如附图1所示,本发明的一种基于UEFI的实时终端定位系统,包括定位控制驱动模块、定位控制客户端主程序和定位控制服务端;
所述定位控制驱动模块是符合UEFI规范的固件模块,主要包括自动恢复子模块、定位指令解析子模块、定位指令执行子模块、操作系统及网络接口子模块四个部分;其中,自动恢复子模块用于对定位控制驱动模块和定位控制主程序进行恢复;定位指令解析子模块用于将接收到的指令对应到具体的操作指令;定位指令执行子模块用于逐次执行解析后的定位指令;操作系统及网络接口子模块能够在开机过程或操作系统运行过程中,被定位控制主程序进行调用;
所述定位控制客户端主程序包括运行状态交互接口子模块,定位策略执行子模块、通信接口子模块、定时子模块;运行状态交互接口子模块用于定位控制客户端主程序与固件交互状态;定位控制客户端主程序使用通信子模块与服务端进行通信,接收服务端的控制指令;定时子模块用于根据特定时间间隔,调用UEFI驱动模块;
所述定位控制服务端包括定位控制服务、策略管理服务、信息存储服务;定位控制服务用于向客户端发送相应的控制指令;管理员可以通过策略管理服务对接入设备配置定位策略,如开启或关闭定位设备的条件、传输定位信息的条件等;定位信息存储服务用于存储用户的历史定位信息。
本发明在应用前,需要在计算机终端先行部署,可以选用的方法包括:
(1)在UEFI核心镜像中添加驱动模块。
(2)在UEFI核心镜像中挂载Option ROM模块。
(3)在可信卡等其他外围设备中挂载驱动模块。
如附图2所示,本发明方法是通过下述技术方案实现的:
步骤一、计算机终端开机上电后,开始进入UEFI的开机引导过程;
步骤二、检测定位控制驱动模块是否工作正常;如果出现异常,则进行自动恢复定位控制驱动模块并重启;
步骤三、检测是否需要在开机过程中进行定位;如果需要定位则转入步骤四,否则启动操作系统,转入步骤六;
步骤四、加载设备驱动并进行定位;
步骤五、根据策略,将定位信息发回服务端或在本地根据定位信息执行相应的控制策略;如果需要发送定位信息到服务端,需要首先在固件层加载TCP/IP协议栈;
步骤六、操作系统启动;
步骤七、定位控制主程序启动;
步骤八、检测定位驱动模块是否正常;如果运行正常则转入步骤九,否则自动恢复并重启;
步骤九、检测是否需要定位;如果需要定位,转入步骤十;如果不需要定位则定位流程结束;
步骤十、定位控制主程序根据既定策略,调用定位控制驱动模块;
步骤十一、定位驱动模块获取地理信息,并传送给控制主程序;
步骤十二、根据既定策略将地理信息发送到服务端,或执行本地策略;
步骤十三、终端实时定位流程结束。
综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。