一种针对有状态算法替代攻击的状态检测方法及系统

文档序号:34311511发布日期:2023-05-31 21:31阅读:64来源:国知局
一种针对有状态算法替代攻击的状态检测方法及系统

本发明属于密码算法安全检测,尤其涉及一种针对有状态算法替代攻击的状态检测方法及系统。


背景技术:

1、在实际应用过程中,密码产品提供商(譬如crypto ag)可能恶意的修改密码算法的操作从而实现大规模的监听。作为密码产品的使用者,用户往往受限于输入/输出访问权限。换而言之,对于黑盒的密码实现,用户必须信任开发人员实现的加密算法是诚实的,不包含任何后门。为此,黑盒密码实现的替代攻击与防护成为学术界的研究热点。

2、算法替代攻击(asa),目的是用一个恶意的实现来替换一个诚实实现,从而允许泄露个人秘密信息,同时确保恶意实现与诚实实现在黑盒(输入/输出)场景下不可区分。恶意实现一般通过攻击者在密码算法设计或实现过程中加入后门实现。绝大多数的密码算法的安全性依赖于算法中使用的随机数,通常利用伪随机数生成算法获得密码算法中所需的随机数。鉴于随机数在密码算法中的重要地位,算法替代攻击着重对密码算法中的随机数生成器组件进行攻击,从而进一步破解秘密信息。

3、目前文献给出的算法替代攻击可根据恶意实现算法中有无额外的中间状态存储分为两类:无状态算法替代攻击和有状态算法替代攻击,且均在理论层面给出了不可检测性和可恢复性的证明。但这些证明的底层安全模型限制检测者仅能黑盒地接入密码算法的输入输出。有状态asa替代攻击会通过存储运行过程中产生的中间状态进行攻击,在实际密码应用中,检测者除了密码算法的输入输出,还可以采取其他手段检测算法运行过程中是否存在恶意读写操作。因此为了检测出算法是否遭受有状态算法替代攻击,自然存在这样的问题:“对于已标准化的密码算法以及正在标准化的抗量子密码算法,当前已知的被证明(黑盒)不可检测的有状态算法替代攻击在实际部署过程中能否实现检测”。

4、现有描述算法替代攻击的文献中,从理论层面证明了给出的有状态算法替代攻击的不可检测性;目前尚未有实际应用层面上的有状态算法替代攻击的检测方法实现;有状态算法替代攻击的具体形式多样,根据攻击的算法不同(对称加密算法、签名算法、抗量子算法等),其替换算法形式多样,需提取有状态算法替代攻击的特征,实现通用检测。


技术实现思路

1、本发明针对现有描述算法替代攻击的文献中,从理论层面证明了给出的有状态算法替代攻击的不可检测性;目前尚未有实际应用层面上的有状态算法替代攻击的检测方法实例;有状态算法替代攻击的具体形式多样,根据攻击的算法不同(对称加密算法、签名算法、抗量子算法等),其替换算法形式多样,需提取有状态算法替代攻击的特征,实现通用检测的问题,提出一种针对有状态算法替代攻击的状态检测方法及系统。

2、为了实现上述目的,本发明采用以下技术方案:

3、本发明一方面提出一种针对有状态算法替代攻击的状态检测方法,包括:

4、步骤1,当输入文件为对称加密和数字签名算法源代码文件时,采用正则表达式匹配方法进行中间状态检测,检测源程序中是否存在向硬盘存入数据的库函数、日志输出相关函数以及上传云端相关函数,若存在则提醒存在有状态算法替代攻击风险;

5、步骤2,当输入文件为对称加密和数字签名算法生成的可执行文件时,为程序的运行构建一个沙箱虚拟环境,在所述沙箱虚拟环境中将敏感api利用重定向技术全部隔离,通过日志文件记录调用的所有与系统写入有关的api,检测日志文件中是否存在敏感api的调用,若存在则提醒存在有状态算法替代攻击风险。

6、进一步地,所述对称加密和数字签名算法包括标准aes加密、rsa-pss签名和ecdsa签名算法,以及后量子算法dilithium,falcon,sphincs+。

7、进一步地,所述步骤2中,所述敏感api包括主机的文件、注册表、全局hook、驱动加载的接口。

8、本发明另一方面提出一种针对有状态算法替代攻击的状态检测系统,包括:

9、源代码状态检测模块,用于当输入文件为对称加密和数字签名算法源代码文件时,采用正则表达式匹配方法进行中间状态检测,检测源程序中是否存在向硬盘存入数据的库函数、日志输出相关函数以及上传云端相关函数,若存在则提醒存在有状态算法替代攻击风险;

10、可执行文件状态检测模块,用于当输入文件为对称加密和数字签名算法生成的可执行文件时,为程序的运行构建一个沙箱虚拟环境,在所述沙箱虚拟环境中将敏感api利用重定向技术全部隔离,通过日志文件记录调用的所有与系统写入有关的api,检测日志文件中是否存在敏感api的调用,若存在则提醒存在有状态算法替代攻击风险。

11、进一步地,所述对称加密和数字签名算法包括标准aes加密、rsa-pss签名和ecdsa签名算法,以及后量子算法dilithium,falcon,sphincs+。

12、进一步地,所述可执行文件状态检测模块中,所述敏感api包括主机的文件、注册表、全局hook、驱动加载的接口。

13、与现有技术相比,本发明具有的有益效果:

14、目前现有文献中,均未给出针对有状态算法替代攻击在实际部署环境下的检测方案。openssl等密码库具有开源复杂性,审查其中代码的专家人数很少,使得算法替代攻击很有可能针对开源软件进行,此外,即使代码看起来是“干净的”,在编译或运行时,通过破坏编译器或解释器,代码总是有被破坏的可能性。本发明对有状态asa进行特征提取,发现重点在于其中存在中间状态的存储行为,基于该统一特征,本发明给出了状态检测的检测途径,成功实现通用算法的检测;另外,根据输入的待检测文件类型分别给出了关键字匹配检测方案与沙箱检测方案。本发明在软件层面支持检测所有已知的通用有状态算法替代攻击。该检测平台的实现,对密码算法替代攻击的相关研究具有重要指导意义。



技术特征:

1.一种针对有状态算法替代攻击的状态检测方法,其特征在于,包括:

2.根据权利要求1所述的一种针对有状态算法替代攻击的状态检测方法,其特征在于,所述对称加密和数字签名算法包括标准aes加密、rsa-pss签名和ecdsa签名算法,以及后量子算法dilithium,falcon,sphincs+。

3.根据权利要求1所述的一种针对有状态算法替代攻击的状态检测方法,其特征在于,所述步骤2中,所述敏感api包括主机的文件、注册表、全局hook、驱动加载的接口。

4.一种针对有状态算法替代攻击的状态检测系统,其特征在于,包括:

5.根据权利要求4所述的一种针对有状态算法替代攻击的状态检测系统,其特征在于,所述对称加密和数字签名算法包括标准aes加密、rsa-pss签名和ecdsa签名算法,以及后量子算法dilithium,falcon,sphincs+。

6.根据权利要求4所述的一种针对有状态算法替代攻击的状态检测系统,其特征在于,所述可执行文件状态检测模块中,所述敏感api包括主机的文件、注册表、全局hook、驱动加载的接口。


技术总结
本发明公开一种针对有状态算法替代攻击的状态检测方法及系统,该方法包括:当输入文件为对称加密和数字签名算法源代码文件时,采用正则表达式匹配方法进行中间状态检测;当输入文件为对称加密和数字签名算法生成的可执行文件时,为程序的运行构建一个沙箱虚拟环境,在所述沙箱虚拟环境中将敏感API利用重定向技术全部隔离,通过日志文件记录调用的所有与系统写入有关的API,检测日志文件中是否存在敏感API的调用;该系统包括源代码状态检测模块、可执行文件状态检测模块。本发明能够成功检测出开源密码算法库(如OpenSSL)和后量子算法Dilithium,Falcon,SPHINCS+等算法中是否存在有状态算法替代攻击。

技术研发人员:江浩东,刘依婷,马智
受保护的技术使用者:中国人民解放军战略支援部队信息工程大学
技术研发日:
技术公布日:2024/1/12
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1