System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及信息安全,更具体的说,是涉及一种应用程序的启动控制方法、装置及电子设备。
技术介绍
1、包含裸金属服务器、虚拟机和云服务器在内的各种类型主机的安全防御是网络安全攻防体系的重要组成部分。由于主机上运行着各种业务系统、存储着关键业务数据,主机安全防御往往是面对网络攻击时的最后一道防线,主机防御的失守意味着重要业务系统受到影响或数据泄漏。
2、攻击者通常将漏洞利用载荷、远程控制代码、数据窃取代码等攻击载荷以应用程序的方式实现,制成工具化或武器化的恶意程序,通过前置漏洞利用、弱口令爆破、钓鱼软件等方式将恶意程序投递至攻击目标主机,然后激活恶意程序中的攻击载荷,实施攻击行为。因此,针对病毒、木马、后门、远程控制代理等恶意程序的检测和拦截是主机安全防御的重要功能。
3、传统的恶意程序检测与拦截技术按照判定程序合法性的预设条件可分为黑名单拦截和白名单放行这两个大类。其中,基于黑名单拦截机制的恶意程序检测和拦截技术以“恶意性判定”为核心逻辑,对应用程序的敏感行为进行意图判定,当命中检测机制中的恶意性判定逻辑时,即赋予该程序恶意性权值,若该权值超过预设的阈值,则认为该程序为恶意程序,触发后续的拦截动作;基于白名单放行机制的恶意程序检测和拦截技术以“合法性判定”为核心逻辑,在系统中预设允许运行的应用程序白名单,若应用程序的特征命中白名单,则认为该程序为合法程序,对其启动和执行动作不做处置。反之,若应用程序的特征未命中白名单,则判定其为非法程序,对其启动和执行动作进行拦截。
4、然而,上述传统的恶意程序检
技术实现思路
1、有鉴于此,本申请提供如下技术方案:
2、一种应用程序的启动控制方法,包括:
3、提取所有应用程序的静态指纹,所有的静态指纹构成程序白名单,所述静态指纹基于应用程序的程序文件结合第一散列算法处理得到;
4、分别执行每一个所述应用程序的样本程序,确定样本程序启动过程中在内存中的执行轨迹;
5、在所述应用程序启动过程中,基于该应用程序对应的所述执行轨迹从所述应用程序的执行栈中得到执行数据流;
6、基于所述第一散列算法处理所述执行数据流得到所述应用程序的动态指纹;
7、基于所述动态指纹与所述程序白名单的匹配结果控制所述应用程序的启动进程。
8、可选地,所述应用程序为具有访问权限且操作系统中具有其执行环境的应用程序。
9、可选地,所述分别执行每一个所述应用程序的样本程序,确定样本程序启动过程中在内存中的执行轨迹,包括:
10、监控所述应用程序的样本程序启动过程中关联的系统调用入口和参数列表;
11、基于监控到的数据确定所述应用程序及其依赖库在内存中的执行轨迹,所述执行轨迹包括栈地址和栈地址的访问顺序。
12、可选地,在所述基于该应用程序对应的所述执行轨迹从所述应用程序的执行栈中得到执行数据流前,还包括:
13、加载所述程序白名单和所有执行轨迹构成的应用程序栈表。
14、可选地,在获得应用程序的静态指纹后,还包括:
15、基于第一加密算法,使用第一私钥对所述静态指纹进行加密,得到静态指纹签名,所述程序白名单包括拼接数据,所述拼接数据由所述静态指纹和对应的静态指纹签名拼接得到。
16、可选地,所述加载所述程序白名单和所有执行轨迹构成的应用程序栈表,包括:
17、基于与所述第一私钥对应的第一公钥对所述拼接数据进行验证;
18、若验证通过,加载所述程序白名单。
19、可选地,所述基于所述动态指纹与所述程序白名单的匹配结果控制所述应用程序的启动进程,包括:
20、若所述动态指纹全部存在于所述程序白名单中,允许所述应用程序启动;
21、若所述动态指纹中存在不属于所述程序白名单的指纹,控制终止所述应用程序的启动。
22、可选地,在所述应用程序启动过程中还获得的所述应用程序的进程号,所述控制终止所述应用程序的启动,包括:
23、控制发出包括所述进程号的进程终止指令。
24、本申请还公开了一种应用程序的启动控制装置,包括:
25、白名单确定模块,用于提取所有应用程序的静态指纹,所有的静态指纹构成程序白名单,所述静态指纹基于应用程序的程序文件结合第一散列算法处理得到;
26、程序栈表确定模块,用于分别执行每一个所述应用程序的样本程序,确定样本程序启动过程中在内存中的执行轨迹;
27、启动监控模块,用于在所述应用程序启动过程中,基于该应用程序对应的所述执行轨迹从所述应用程序的执行栈中得到执行数据流;
28、动态指纹确定模块,用于基于所述第一散列算法处理所述执行数据流得到所述应用程序的动态指纹;
29、程序启动控制模块,用于基于所述动态指纹与所述程序白名单的匹配结果控制所述应用程序的启动进程。
30、进一步地,本申请还公开了一种电子设备,包括:
31、处理器;
32、存储器,用于存储所述处理器的可执行程序指令;
33、其中,所述可执行程序指令包括:提取所有应用程序的静态指纹,所有的静态指纹构成程序白名单,所述静态指纹基于应用程序的程序文件结合第一散列算法处理得到;分别执行每一个所述应用程序的样本程序,确定样本程序启动过程中在内存中的执行轨迹;在所述应用程序启动过程中,基于该应用程序对应的所述执行轨迹从所述应用程序的执行栈中得到执行数据流;基于所述第一散列算法处理所述执行数据流得到所述应用程序的动态指纹;基于所述动态指纹与所述程序白名单的匹配结果控制所述应用程序的启动进程。
34、经由上述的技术方案可知,本申请实施例公开了一种应用程序的启动控制方法、装置及电子设备,方法包括:提取所有应用程序的静态指纹,所有的静态指纹构成程序白名单,所述静态指纹基于应用程序的程序文件结合第一散列算法处理得到;分别执行每一个所述应用程序的样本程序,确定样本程序启动过程中在内存中的执行轨迹;在所述应用程序启动过程中,基于该应用程序对应的所述执行轨迹从所述应用程序的执行栈中得到执行数据流;基于所述第一散列算法处理所述执行数据流得到所述应用程序的动态指纹;基于所述动态指纹与所述程序白名单的匹配结果控制所述应用程序启动与否。上述方案基于应用程序的静态指纹和动态指纹验证的机制,使得系统的安全防护更加全面,能够有效解决应用程序启动控制的问题,强化了操作系统的运行安全。
本文档来自技高网...【技术保护点】
1.一种应用程序的启动控制方法,其特征在于,包括:
2.根据权利要求1所述的应用程序的启动控制方法,其特征在于,所述应用程序为具有访问权限且操作系统中具有其执行环境的应用程序。
3.根据权利要求1所述的应用程序的启动控制方法,其特征在于,所述分别执行每一个所述应用程序的样本程序,确定样本程序启动过程中在内存中的执行轨迹,包括:
4.根据权利要求1所述的应用程序的启动控制方法,其特征在于,在所述基于该应用程序对应的所述执行轨迹从所述应用程序的执行栈中得到执行数据流前,还包括:
5.根据权利要求4所述的应用程序的启动控制方法,其特征在于,在获得应用程序的静态指纹后,还包括:
6.根据权利要求5所述的应用程序的启动控制方法,其特征在于,所述加载所述程序白名单和所有执行轨迹构成的应用程序栈表,包括:
7.根据权利要求1所述的应用程序的启动控制方法,其特征在于,所述基于所述动态指纹与所述程序白名单的匹配结果控制所述应用程序的启动进程,包括:
8.根据权利要求7所述的应用程序的启动控制方法,其特征在于,在所述
9.一种应用程序的启动控制装置,其特征在于,包括:
10.一种电子设备,其特征在于,包括:
...【技术特征摘要】
1.一种应用程序的启动控制方法,其特征在于,包括:
2.根据权利要求1所述的应用程序的启动控制方法,其特征在于,所述应用程序为具有访问权限且操作系统中具有其执行环境的应用程序。
3.根据权利要求1所述的应用程序的启动控制方法,其特征在于,所述分别执行每一个所述应用程序的样本程序,确定样本程序启动过程中在内存中的执行轨迹,包括:
4.根据权利要求1所述的应用程序的启动控制方法,其特征在于,在所述基于该应用程序对应的所述执行轨迹从所述应用程序的执行栈中得到执行数据流前,还包括:
5.根据权利要求4所述的应用程序的启动控制方法,其特征在于,在获得应用...
【专利技术属性】
技术研发人员:庞峥元,王忠儒,余伟强,
申请(专利权)人:北京丁牛科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。