一种基于wmi软件白名单机制的移动安全办公方法_2

文档序号:8259364阅读:来源:国知局
软件预处理流程图;
[0040]图3为本发明的软件下载与安装流程图;
[0041]图4为本发明的软件安装程序启动检测流程图;
[0042]图5为本发明的软件执行程序启动检测流程图;
[0043]图6为本发明的基于丽I创建监控程序流程图。
【具体实施方式】
[0044]为使本发明的上述目的、特征和优点能更加明显易懂,下面将结合本发明的附图,对本发明实施例中的技术方案进行完整、详细的描述。以下描述的实施例只是本发明的部分实施例,并不是全部的实施例。基于本发明的实施例,本领域中的普通技术人员在没有做出创造性劳动的前提下获得的所有其他实施例,均在本发明的保护范围中。
[0045]基于WMI软件白名单机制的移动安全办公方法,主要是对软件的安装与运行进行监控,保证用户能够安装与运行的软件都是从服务器端下载的,都在软件白名单中。对安装程序、执行程序进行启动检测的监控程序基于WMI来创建。
[0046]本发明的总体步骤如图1所示:
[0047]步骤Ml:构建基于WMI的移动安全办公系统,一个移动办公服务器端与多个移动安全办公终端;
[0048]步骤M2:初始化服务器端,服务器端管理员添加软件并创建软件白名单;
[0049]步骤M3:服务器端下发最新的软件白名单至终端;
[0050]步骤M4:终端用户提出请求(需求的软件)至服务器端;
[0051]步骤M5:服务器端对终端用户进行身份验证,根据身份验证码提供可下载的软件或软件列表;
[0052]步骤M6:在终端创建监控程序,对从服务器端下载的软件进行启动检测;
[0053]步骤M7:判断软件启动检测是否通过;
[0054]步骤M8:若软件启动检测未通过,禁止启动,软件运行失败;
[0055]步骤M9:若软件启动检测通过,允许启动,软件正常运行;
[0056]本发明中步骤M2中创建软件白名单,软件白名单的创建具体包含应用软件白名单的创建与系统软件白名单的创建。系统软件白名单是为了保证系统的正常运行,该系统软件,是装好无病毒木马的系统之后,第一次运行时计算机上已存在所有的PE文件,包括DLL,EXE,OCX和部分SYS文件。获取系统软件后,以PE文件的软件属性参数序列和设置的软件编号,构建软件-编号映射表,添加到系统软件白名单中。软件属性参数序列中的软件属性:具体为软件类型、软件版本、软件名称、出厂日期、大小、版权、数字签名、执行路径。
[0057]应用软件白名单的创建就是下载软件的预处理方法,参见图2,方法实现步骤如下:
[0058]步骤S1:服务器端管理员下载所需软件;
[0059]步骤S2:判断该下载的软件是否是软件安装包,若是,转到步骤S3,若不是,转到步骤S4 ;
[0060]步骤S3:若步骤S2中是软件安装包,在虚拟执行环境沙箱中预先安装,安装完成后运行,运行正常后,将安装程序与执行程序抽取出来;
[0061]步骤S4:若步骤S2中不是软件安装包,是供直接运行的执行程序,在虚拟执行环境沙箱中运行该程序,运行正常后,将执行程序抽取出来;
[0062]步骤S5:将步骤S3与步骤S4中抽取出的软件安装程序与执行程序添加到服务器$而软件库;
[0063]步骤S6:以软件属性参数序列,与设置的软件编号构成软件-编号映射表,添加到应用软件白名单中。
[0064]在沙箱中预先安装、运行下载的软件,是为了观察该下载软件在运行时的安全性与稳定性,避免直接安装到系统中对系统造成威胁。将软件的属性综合,设为软件属性参数序列,同时设置软件编号,以软件属性参数序列和编号构建软件-编号映射表,添加到应用软件白名单中。软件属性参数序列中的软件属性:具体为软件类型、软件版本、软件名称、出厂日期、大小、版权、数字签名、执行路径。
[0065]软件白名单的创建,可以根据企事业的实际情况,例如某企事业单位中不同部门使用的软件不同,可以将不同的部门分成不同的组,同一部门对应同一个组。服务器端管理员按照组的实际情况来创建每个部门的软件白名单,每个部门的员工共用该组中的软件。这样便于服务器端管理员对员工使用软件进行统一管理,同时,也可以使每个部门保持一定的独立性。
[0066]本发明步骤M3中,服务器端对终端用户下发最新软件白名单,是为了在终端进行软件启动检测时,主要是安装程序与执行程序的启动检测,保证使用到的软件白名单是最新版本,【具体实施方式】有两种:
[0067]方式一,在对软件启动(安装程序和执行程序的启动)进行检测前,终端向服务器端发出验证请求,验证此时已获得的软件白名单(上一次服务器端下发给终端的软件白名单)是否是最新的。若服务器端的软件白名单已经更新,就重新下发新的软件白名单到终端。
[0068]方式二,服务器端每次软件白名单更新后,直接向终端下发最新的软件白名单,覆盖旧的软件白名单。
[0069]本发明中步骤M4-M6中软件的下载与安装,参见图3,具体方法为:
[0070]步骤SOl:服务器端管理员将软件添加到服务器端;
[0071]步骤S02:服务器端对终端用户下发最新的软件白名单;
[0072]步骤S03:终端用户向服务器端发起软件请求;
[0073]步骤S04:服务器端根据终端用户的身份验证码对用户进行身份验证;
[0074]步骤S05:判断终端用户的身份验证是否通过;
[0075]步骤S06:若步骤S04中用户的身份验证未通过,阻断软件请求;
[0076]步骤S07:若步骤S04中用户的身份验证通过,服务器端根据用户的身份验证码提供可下载的软件或软件列表;
[0077]步骤S08:从服务器端下载所需软件至终端,然后启动软件安装;
[0078]步骤S09:终端在软件安装时进行软件的启动检测;
[0079]步骤SlO:检测通过后软件正常安装,未通过禁止软件安装。
[0080]对于步骤S01,服务器端管理员将软件添加到服务器端,在添加之前,将软件放在虚拟执行环境沙箱中进行安装与运行,运行正常后才添加。
[0081]对于步骤S07,服务器端根据用户的身份验证码提供可下载的软件或软件列表,具体是指,服务器端根据不同部门使用的软件不同,把不同的部门分成不同的组,使用一部门对应一个组,依次来创建部门的软件白名单,并设置一个部门识别码,所述部门识别码再加上部门内员工的PIN码共同组成部门内每个员工的身份验证码,服务器端把部门内所有的员工的身份验证码和对应的所述部门的软件白名单组成一个映射表供各个部门内对应员工的移动办公终端使用。因此,可以根据用户的身份验证码获得服务器端对应的可供下载的软件或软件列表。
[0082]对于步骤S08,软件在安装时进行启动检测,是依据图4中步骤S11-S15进行安装程序的启动检测,检测通过后软件才能正常安装,检测未通过软件不能正常安装。
[0083]本发明步骤M6中,终端对软件启动进行启动检测,主要是对安装程序与执行程序的启动检测。
[0084]安装程序的启动检测参见图4,方法的实现如下:
[0085]步骤Sll:在终端创建监控程序,监控安装程序的启动;
[0086]步骤S12:拦截安装程序启动进程;
[0087]步骤S13:判断启动进程对应的软件的安装程序是否在软件白名单中,若在,进入步骤S14,若不在,进入步骤S15;
[0088]步骤S14:允许启动进程运行,安装程序启动成功,软件正常安装;
[0089]步骤S15:关闭启动进程,安装程序启动失败,软件不能正常安装。
[0090]对于步骤S11,在终端创建监控程序,是基于WMI创建的。参见图6,创建的步骤如下:
[0091 ] 步骤SOO1:初始化微软组件对象模型COM库;
[0092]步骤S002:设置丽I服务进程COM安全信息,同时设置管理员权限;
[0093]步骤S003:创建WMI服务进程中的COM服务器,用于与WMI服务进程通信,便于接发数据;
[0094]步骤S004:连接丽I命名空间;
[0095]步骤S005:设置丽I连接的安全等级,允许访问另一个丽I服务进程的对象;
[0096]步骤S006:发起WMI请求,查询Win32_Process进程信息,监控软件启动时进程的创建。
[0097]对于步骤S001,丽I是基于COM技术的,调用丽I,首先要初始化COM库。COM-Component Object Model,组件对象模型。
[0098]对于步骤S002,调用WMI,至少需要RPC_C_MP_LEVELJMPERSONATE等级,在管理员权限下运行程序,可以满足权限要求。
[0099]对于步骤S003,应用中使用WMI完成相关
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1