代码缺陷解读:加密强度不足缺陷漏洞及使用过时方法缺陷
Posted 中科天齐软件原生安全
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了代码缺陷解读:加密强度不足缺陷漏洞及使用过时方法缺陷相关的知识,希望对你有一定的参考价值。
本文旨在科普软件安全相关知识,帮助初级网络安全人员了解代码缺陷,助力企业有效防范软件安全漏洞,提升网络安全防护能力。
▲ 加密强度不足缺陷漏洞
一、什么是加密强度不足?
大多数密码系统都需要足够的密钥大小来抵御暴力攻击。软件使用理论上合理的加密方案存储或传输敏感数据,但强度不足以达到所需的保护级别。
RSA是目前最有影响力和最常用的公钥加密算法,它能够抵抗到目前为止已知的绝大多数密码攻击,已被ISO推荐为公钥数据加密标准。只有短的RSA钥匙才可能被强力方式解破。只要当钥匙的长度足够长时,用RSA加密的信息实际上是难以被解破。
RSA的安全性依赖于大数的因子分解,但并没有从理论上证明破译RSA的难度与大数分解难度等价,而且密码学界多数人士倾向于因子分解不是NP问题。
人们已能分解140多个十进制位的大素数,这就要求使用更长的密钥,带来的问题是速度减慢;另外,人们正在积极寻找攻击RSA的方法,如选择密文攻击,一般攻击者是将某一信息作一下伪装(Blind),让拥有私钥的实体签署。然后,经过计算可得到它所想要的信息。
二、加密强度不足缺陷的构成条件有哪些?
软件使用强度不足以提供所需的保护级别的加密方案。
三、加密强度不足缺陷会造成哪些后果?
加密强度不足的程序可能会受到暴力攻击,如果暴力攻击成功,恶意攻击者则进入系统进行破坏。
四、加密强度不足缺陷的防范和修补方法有哪些?
使用本领域专家目前认为比较强的加密方案。例如使用RSA算法,密钥越长,它就越难破解。目前被破解的最长RSA密钥是768个二进制位。也就是说,长度超过768位的密钥,还无法破解。因此,1024位的RSA密钥基本安全,2048位的密钥极其安全,建议使用2048位的密钥。
五、加密强度不足缺陷样例:
用Wukong软件检测上述程序代码,则可以发现代码中存在着“加密强度不足” 导致的代码缺陷,如下图:
加密强度不足缺陷在CWE中被编号为CWE-326:InadequateEncryption Strength
▲ 使用过时方法缺陷漏洞
一、什么是使用过时方法缺陷?
代码使用了不推荐使用的或已经过时的方法,这表明该代码没有得到积极地审查或维护。
随着编程语言的发展,由于以下原因,方法有时会过时:
1、语言进步
2、更深入理解如何安全有效地执行操作
3、改变了某些特定操作的规范/惯例
通常,被删除的方法会被更新的对等方法所取代,后者以某种不同的方式执行同一任务。
二、使用过时方法缺陷的构成条件有哪些?
代码使用了不推荐使用的或已经过时的方法。
三、使用过时方法缺陷会造成哪些后果?
使用过时方法可能导致程序质量下降。
四、使用过时方法缺陷的防范和修补方法有哪些?
请参阅过时方法的文档,以确定为什么不推荐使用该过时的方法,并了解实现相同功能的替代方法。
五、使用过时方法缺陷样例(Date类中的大部分方法都已经被Calendar类中的方法所取代):
用Wukong软件检测上述程序代码,则可以发现代码中存在着“使用过时方法” 导致的代码缺陷,如下图(Date类中的大部分方法都已经被Calendar类中的方法所取代)
使用过时方法缺陷在CWE中被编号为CWE-477:Useof Obsolete Function
以上是关于代码缺陷解读:加密强度不足缺陷漏洞及使用过时方法缺陷的主要内容,如果未能解决你的问题,请参考以下文章
XSS(跨站脚本漏洞)谁帮忙修复下,我看着就头大,一窍不通啊。
CWE-58:EmptySynchronized Block空的同步块缺陷漏洞分析
论文解读 用于弱监督表面缺陷分割的缺陷注意模板循环对抗网络 (Defect attention template generation cycleGAN for weakly supervised)