预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共19页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

(19)国家知识产权局(12)发明专利申请(10)申请公布号CN114969746A(43)申请公布日2022.08.30(21)申请号202210764941.7(22)申请日2022.06.29(71)申请人阿里云计算有限公司地址310024浙江省杭州市西湖区转塘科技经济区块12号(72)发明人杨健雄(74)专利代理机构北京同钧律师事务所16037专利代理师吴梅锡许怀远(51)Int.Cl.G06F21/56(2013.01)权利要求书2页说明书12页附图4页(54)发明名称恶意脚本的检测方法、设备、介质及产品(57)摘要本申请提供恶意脚本的检测方法、设备、介质及产品,该方法包括:获取待检测的目标脚本;确定运行目标脚本所需要的线程,并创建与线程相对应的协程;采用协程模拟线程的技术执行目标脚本,并确定目标脚本的执行结果;根据执行结果确定目标脚本是否为恶意脚本。可以应用于检测虚拟云服务中的恶意脚本,由于创建与运行目标脚本所需要线程相对应的协程,并采用协程模拟线程去执行目标脚本,而协程的执行由用户态控制,且协程的创建及切换过程占用的内存和计算资源大幅度减少,所以有效提高了对目标脚本的执行效率,进而可以有效减少对目标脚本进行检测占用的内存和计算资源并提高检测效率。CN114969746ACN114969746A权利要求书1/2页1.一种恶意脚本的检测方法,其特征在于,包括:获取待检测的目标脚本;确定运行所述目标脚本所需要的线程,并创建与所述线程相对应的协程;采用协程模拟线程的技术执行所述目标脚本,并确定目标脚本的执行结果;根据所述执行结果确定所述目标脚本是否为恶意脚本。2.根据权利要求1所述的方法,其特征在于,线程数量为一个,所述创建与所述线程相对应的协程,包括:获取恶意脚本检测引擎对应的线程;在所述对应的线程中创建主协程对应的主协程结构,并将所述对应的线程的栈空间分配给所述主协程,以完成所述主协程的创建。3.根据权利要求2所述的方法,其特征在于,线程数量为多个,所述创建与所述线程相对应的协程,还包括:在所述对应的线程中创建至少一个子协程对应的子协程结构,并为各所述子协程分配对应的栈空间,以完成各所述子协程的创建。4.根据权利要求1所述的方法,其特征在于,所述采用协程模拟线程的技术执行所述目标脚本,包括:采用主协程模拟主线程执行所述目标脚本;若监测到目标脚本执行到通过主子线程切换采用至少一个子线程继续执行后续目标脚本,则采用主子协程切换模拟主子线程切换,将主协程切换到当前目标子协程,并采用至少当前目标子协程继续执行后续目标脚本。5.根据权利要求4所述的方法,其特征在于,所述主协程切换到当前目标子协程,包括:在用户态将主协程对应的上下文信息切换到当前目标子协程对应的上下文信息,以完成主协程到当前目标子协程的切换。6.根据权利要求4所述的方法,其特征在于,所述采用至少当前目标子协程继续执行后续目标脚本,包括:采用当前目标子协程模拟当前目标子线程执行所述目标脚本;若监测到目标脚本执行到通过子线程之间切换采用下一目标子线程继续执行后续目标脚本,则采用子协程之间切换模拟子线程之间切换,将当前目标子协程切换到下一目标子协程,并采用下一目标子协程继续执行后续目标脚本;将下一目标子协程更新为当前目标子协程,并继续监测目标脚本是否执行到通过子线程之间切换采用下一目标子线程继续执行后续目标脚本;若是,则执行采用子协程之间切换模拟子线程之间切换的步骤;若否,则继续执行目标脚本,直到执行到通过子主线程切换采用主线程继续执行后续目标脚本为止。7.根据权利要求6所述的方法,其特征在于,若监测到目标脚本执行到通过子主线程切换采用主线程继续执行后续目标脚本,则所述方法还包括:采用子主协程切换模拟子主线程切换,将当前目标子协程切换到主协程,并采用主协程继续执行后续目标脚本,直到目标脚本执行完毕为止。8.根据权利要求1‑7任一项所述的方法,其特征在于,还包括:2CN114969746A权利要求书2/2页在目标脚本执行过程中进行死锁检测;若确定发生死锁,则强制唤醒所有协程,并采用主协程运行。9.根据权利要求1‑7任一项所述的方法,其特征在于,所述根据所述执行结果确定所述目标脚本是否为恶意脚本,包括:根据所述执行结果判断是否存在污点传递流程;若确定存在污点传递流程,则确定所述目标脚本为恶意脚本;若确定不存在污点传递流程,则确定所述目标脚本不为恶意脚本。10.根据权利要求1‑7任一项所述的方法,其特征在于,还包括:若监测到目标脚本执行完毕,则回收所有协程对应的相关资源,并删除对应的协程。11.一种恶意脚本的检测装置,其特征在于,包括:获取模块,用于获取待检测的目标脚本;创建模块,用于确定运行所述目标脚本所需要的线程,并创建与所述线程相对应的协程;模拟执行模块,用于采用协程