硬编码密码仍是一项关键性安全缺陷

安全
从瞻博到Fortinet再到思科,众多企业的在售解决方案都包含着硬编码通行码,而这或将给企业客户带来严重的安全风险。

从瞻博到Fortinet再到思科,众多企业的在售解决方案都包含着硬编码通行码,而这或将给企业客户带来严重的安全风险。

这项常见的开发者漏洞不仅广泛存在,而且在短时间内似乎也不太可能被彻底解决,Immunity公司威胁情报负责人Alex McGeorge指出。

[[163722]]

 

遗憾的是,硬编码密码属于一项难以解决的内在问题,McGeorge指出。“目前还没有一种理想的解决办法。人们因此而长期受到安全困扰,但其直到当下仍是一项安全难题。”

各大网络设备制造商已经成为主要目标,各企业开发团队也在以谨慎的态度保护自己的源代码——具体来讲,这些代码已经成为其立足的根基。“我们发现思科公司起诉华为窃取其源代码,并在自有品牌的产品当中加以使用,”McGeorge表示。

这些实例切实证明,各供应商害怕自己亲手编写的源代码成果被反过来用于同自身竞争。“各供应商不愿让任何外部人士访问其源代码,但由此带来的结果就是软件方案面临严重安全风险,”McGeorge解释称。

客户与供应商之间存在着固有的信任关系,而且他们相信供应商不会在产品当中添加后门——不过部分安全从业者已经将此视为一种潜在可能性。“瞻博公司就面临着这样的问题。他们无法忽略这种问题的出现机率,”McGeorge指出。

有些人会悄悄利用硬编码密码建立一道后门,从而保证其顺利登录并修改部分加密变量。这种作法非常危险,McGeorge表示,“特别是考虑到大家能够在瞻博的防火墙与其它基础设施之间发动中间人攻击,从而对流量进行解密。”

这是一类尚不具备切实解决方案的问题。大多数用户选择信任瞻博,并假定这类行为源自他人之手。当然,他们花了几年时间才最终确定这项结论。

“作为客户,我们能做的其实非常有限。大家无法审计源代码,因为其在法律层面上并不需要公开。我们只能要求瞻博方面承担这项审计成本,或者要求他们将源代码交由第三方进行审计并公布相关结果,”McGeorge表示。

专门负责软件评估与代码审计的白帽安全企业Casaba Security公司联合创始人Chris Weber指出,已发布产品中的密码能够被轻易找到,因为它们会随产品一同放出。“某些能够访问该产品的人完全可以对固件或者软件进行分解,从而轻松找出密码内容。这种内置密码藏得不深,剖析起来也很容易,”Weber指出。

解码

通过提出以下五个与硬编码密码相关的问题向供应商施加压力,从而实现安全性提升。

1. 该供应商是否聘请了第三方进行源代码审计?

2. 审计结果是否可供查阅?

3. 该供应商的开发项目安全性如何?

4. 该供应商是否在产品中采用了渗透测试?

5. 该供应商是否有能力在密码丢失的情况下实现设备恢复?

企业面临的具体安全风险取决于密码的使用方式,但如何在发售的软件中内置密码,那么其很有可能被恶意人士所发现。

这并非安全领域的新兴难题,但出于种种原因其直到今天还在困扰着我们。“在开发流程当中,人们通常以团队形式工作并需要访问不同系统并共享系统访问及凭证,”Weber解释称。

开发人员需要共享凭证访问能力,并利用私有密钥进行加密与解密,随后还需要安全地保存并共享这些密码。另外,该软件还需要接入其它系统并进行登录。“当大家将数据发送至数据库并与之交互,其自然要求使得者进行登录,”Weber指出。由此带来的结果是,开发人员往往需要在软件当中使用硬编码密码。

有时候在软件当中保留密码还能够有效韶华软件开发流程,但事后将其剔除却难度很高。“这些开发人员可能立足于单一场景,但很快发现另一项需要完成的任务并为其保存密码,”Weber解释道。“他们可能认为’也许确实应该采用安全的密码管理方式,不过我们太忙了,以后再说吧,’”他补充称。

一般来讲,渗透测试能够发现被写入至源代码当中的密码内容,而Weber指出,“无论这些密码是有意还是无意被发布出来,这都是种很差的习惯。归根结底,我们需要立足于安全考虑问题:而安全就是便捷性的对立面。安全就像一道路障,总会横亘在捷径前面。”

Palo Alto Networks公司42部门威胁情报主管Ryan Olson指出,设备在企业环境下扮演的角色将决定密码给安全性造成的风险水平。“最糟糕的场景就是,该设备能够对网络内某重要部分进行控制,而该密码又允许访问者顺利接入设备的全部功能,”Olson表示。

有时候,硬编码密码的作用只供初始设置使用。“如果该密码被用于默认账户,那么其基本上就是供第一位安装该设备的用户使用,在此之后这位用户应当将该账户移除,”Olson表示。

不过这些默认账户往往没有被正确移除,而Olson建议称对设备进行审计能够帮助大家了解这些默认账户的存在。“这种作法不一定每次都能起效,因为某些硬编码密码存在于代码本体当中,”Olson表示。

企业能够采取一定措施以对供应商施加压力,确保其不会将密码直接放置在设备当中,并借此保护自身及网络安全。向供应商询问其是否有能力在丢失密码的情况下实现设备恢复非常重要,这能够帮助我们快速弄清其是否在产品中使用了硬编码密码。

Olson指出,“我们最好搞清楚设备中是否存在硬编码,并确认供应商自身是否清楚这一点。”

由于硬编码密码允许我们无需用户名或者验证实现设备登录,因此其往往会带来多种潜在使用途径。一部分敏感信息亦可能因此遭到泄露,BeyondTrust公司技术副总裁Morey Haber解释称。

“多数情况下,我们意识不到产品当中存在硬编码密码——直到出现实际问题。企业需要通过划分与隔离手段保护这些密码,从而保证敏感数据不会因此被意外访问。具体来讲,大家可以选择使用控制平台与内部密码安全技术,”Haber建议称。

除此之外,设备的IP子网亦不应被任何形式的代理管理机制所访问,Haber提醒道。“举例来说,作为一家银行,大家的敏感数据可能与其它信息一道处于同一子网当中,这时我们需要某种形式的代理机制实现安全访问或者流量过滤。大家可以将风险控制在可接受的范围内,因为各位需要在访问这些硬编码密码之前进行认证,”Haber解释称。

如果供应商将软件或者固件以外包形式开发,那么其通常不会变更用户名与密码内容。Habaer强调称,在这种情况下,任何企业客户都应当对此类技术方案进行评估,了解该工具是否允许使用者变更其管理员用户名或者密码。如果答案是否定的,那么其应被视为一种高危状况。

“这时应当果断考虑其它技术方案,”Haber表示,“而且如果这是目前惟一可用的技术产品,那么确保其中包含RFP或者与供应商进行接洽。大家需要了解自己的设备在管理角度是否具备良好保障。”

责任编辑:蓝雨泪 来源: IT168
相关推荐

2016-10-28 16:58:47

数据库

2012-01-04 10:32:09

2017-01-16 15:41:03

私有混合云指标

2016-12-05 09:03:26

2021-02-09 09:48:43

AR技术人工智能

2017-02-09 10:17:15

转型

2015-12-14 11:35:16

2016-09-26 11:35:27

Windows 10HIPAA大数据

2021-11-01 05:41:30

macOS系统漏洞攻击

2017-03-01 18:27:43

云计算

2009-12-28 13:24:24

BGPMPLS VPN

2016-01-27 15:45:49

2009-12-30 14:38:02

ADSL指示灯

2014-04-01 17:00:58

云计算数据灾害

2010-04-21 01:59:54

WindowsServSQLServer20微软

2011-10-21 09:17:22

2017-04-07 20:42:59

希捷

2018-11-09 09:15:14

2016-05-18 09:52:20

2012-04-20 10:48:02

虚拟服务器
点赞
收藏

51CTO技术栈公众号