解码
通过提出以下五个与硬编码密码相关的问题向供应商施加压力,从而实现安全性提升。
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或者与供应商进行接洽。大家需要了解自己的设备在管理角度是否具备良好保障。”
(责任编辑:安博涛)