空密码缺陷漏洞CWE-258:Empty Passwordin Configuration File

这篇文章主要介绍空密码缺陷漏洞,空密码缺陷在CWE中编号为CWE-258:Empty Passwordin Configuration File。早在2017年,苹果MacOS的Sierra就出现过类似漏洞问题,

它允许任何人在root账户中输入一个空白密码或任意字符串作为密码即可进入系统。未授权的用户可以通过【系统偏好】设置,选择【用户和组】,点击解锁按钮,然后会弹出一个要求输入用户名和密码的提示框,用户只需在用户名一栏中输入“root”,无需填写密码,多次点击解锁后即可成功进入系统。之后用户可自由管理macOS桌面,包括查看所有帐户存储在电脑上的文件、编辑其他用户的凭据以及更改该设备上的其它设置。

这个漏洞意味着无论你设置的密码多复杂多安全,未授权的用户拿到安装有High Sierra系统的电脑后,都能绕过锁屏验证而直接进入操作系统。此外,这个安全漏洞还能在特定情况下实施远程攻击,如在屏幕共享,远程访问或者开启虚拟网络计算机会话时。

如何产生的空密码缺陷漏洞?

在代码开发阶段,开发人员若使用空字符串作为密码,则会构成空密码缺陷。

空密码缺陷会造成哪些后果?

若我们使用空字符串作为密码,则会导致允许对应用程序进行未经授权的访问。用户名和密码信息都不应以明文包含在配置文件或属性文件中。

怎样修补和防范空密码缺陷漏洞?

1、开发人员设置密码时,切记不要使用空字符串作为密码,密码长度应至少为八个字符。

2、为保障密码的安全性,建议在设置密码时将数字,“/”或标点符号加入其中。

3、避免使用在词典,地名簿,地图中可能找到的单词。

4、若用普通单词做密码,可用数字和标点符号替换该单词中的字母,但不要使用“外观相似”的标点符号,例如:将cat更改为c @ t、ca +、或者@ +类似的名称,以上均可能出现安全隐患。

5、不要使用和已设置的其他密码相似的密码。

空密码缺陷样例:

 

用悟空静态代码安全检测工具检测上述程序代码,则可以发现代码中存在着“空密码” 导致的代码缺陷,如下图:

posted @ 2021-06-16 11:05  中科天齐软件原生安全  阅读(639)  评论(0编辑  收藏  举报