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

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

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

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

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

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

(19)中华人民共和国国家知识产权局(12)发明专利申请(10)申请公布号CN113778838A(43)申请公布日2021.12.10(21)申请号202010520207.7(22)申请日2020.06.09(71)申请人中国电信股份有限公司地址100033北京市西城区金融大街31号(72)发明人陈茂飞汪来富金华敏王渭清刘东鑫于文良(74)专利代理机构中国贸促会专利商标事务所有限公司11038代理人李今子(51)Int.Cl.G06F11/36(2006.01)权利要求书1页说明书7页附图2页(54)发明名称二进制程序动态污点分析方法及装置(57)摘要本发明提供一种二进制程序动态污点分析方法及装置。一种二进制程序动态污点分析方法,对基于容器运行的二进制程序进行动态污点分析,所述二进制程序动态污点分析方法包括:插桩步骤,插桩操作系统的系统调用;获取步骤,通过所插桩的所述系统调用来获取在容器内运行的目标程序的信息;加载步骤,基于所述目标程序的信息,将动态二进制程序分析框架Pin加载到所述目标程序;以及分析步骤,基于所述Pin,对所述目标程序进行动态污点分析。CN113778838ACN113778838A权利要求书1/1页1.一种二进制程序动态污点分析方法,对基于容器运行的二进制程序进行动态污点分析,所述二进制程序动态污点分析方法包括:插桩步骤,插桩操作系统的系统调用;获取步骤,通过所插桩的所述系统调用来获取在容器内运行的目标程序的信息;加载步骤,基于所述目标程序的信息,将动态二进制程序分析框架Pin加载到所述目标程序;以及分析步骤,基于所述Pin,对所述目标程序进行动态污点分析。2.根据权利要求1所述的二进制程序动态污点分析方法,其特征在于,在所述插桩步骤中,插桩包括所述系统调用和用于获取所述系统调用的返回值的代码的定制代码。3.根据权利要求2所述的二进制程序动态污点分析方法,其特征在于,在所述插桩步骤中,将系统调用表中的原有的系统调用替换为所述定制代码。4.根据权利要求2所述的二进制程序动态污点分析方法,其特征在于,在所述插桩步骤中,所述定制代码作为内核模块动态地加载到操作系统内核。5.根据权利要求1~4中的任一项所述的二进制程序动态污点分析方法,其特征在于,在所述插桩步骤中,在所述系统调用中指定用于获取所述目标程序的信息的参数。6.根据权利要求2~4中的任一项所述的二进制程序动态污点分析方法,其特征在于,在所述获取步骤中,当所述目标程序在容器内运行时,所述定制代码被执行,并根据用于获取所述系统调用的返回值的代码的执行结果获取所述目标程序的信息。7.根据权利要求1~4中的任一项所述的二进制程序动态污点分析方法,其特征在于,所述系统调用包括:关于命名空间的系统调用。8.根据权利要求1~4中的任一项所述的二进制程序动态污点分析方法,其特征在于,在所述获取步骤中,获取所述目标程序在操作系统内的全局进程号,在所述加载步骤中,根据所述目标程序的全局进程号,将Pin加载到所述目标程序。9.根据权利要求8所述的二进制程序动态污点分析方法,其特征在于,在所述获取步骤中,还获取所述目标程序的虚拟以太网设备,在所述分析步骤中,根据所述虚拟以太网设备,将从该虚拟以太网设备输入的数据标识为污点数据来进行动态污点分析。10.根据权利要求8所述的二进制程序动态污点分析方法,其特征在于,在所述分析步骤中,在所述目标程序中插桩read系统调用,将从磁盘读取的数据标识为污点数据来进行动态污点分析。11.一种二进制程序动态污点分析装置,包括:插桩单元,插桩操作系统的系统调用;获取单元,通过所插桩的所述系统调用来获取在容器内运行的目标程序的信息;加载单元,基于所述目标程序的信息,将动态二进制程序分析框架Pin加载到所述目标程序;以及分析单元,基于所述Pin,对所述目标程序进行动态污点分析。12.一种计算机可读存储介质,其上存储有计算机程序指令,该程序被处理器执行时实现权利要求1~10中的任一项所述的二进制程序动态污点分析方法。2CN113778838A说明书1/7页二进制程序动态污点分析方法及装置技术领域[0001]本发明涉及对二进制程序进行动态污点分析的技术,特别涉及一种对基于容器运行的二进制程序进行动态污点分析的技术。背景技术[0002]污点分析是动态程序分析的关键技术,广泛应用于恶意程序分析、软件测试等领域。[0003]现有的二进制程序动态污点分析方法包括如下步骤:在步骤S1中,基于动态二进制程序分析框架(Pin),对主存和寄存器中来自外部渠道的输入进行识别并将其作为可疑污染源加以标记;在步骤S2中,通过中间指令层实现可疑污染源传播行为的跟踪,根据各指令操作数的污点状态对污点行为进行分析;在步骤S3中,建立内存模型和寄存器模型记录每个主存字节和寄存器字节