当信息安全与大麻产业碰撞:安全处理管理员操作
俄亥俄州最近验证了一个常被忽视的Web应用渗透测试发现。该发现涉及管理功能的细节、它们如何被滥用,以及仅滥用可能性就足以让所有数据受到质疑。
以下是他们的发现:
俄亥俄州哥伦布市——州审计办公室发现,俄亥俄州医疗大麻种植申请评分流程存在“严重缺陷”,可能允许州员工更改分数或操纵其他文件。
根据审计员Dave Yost办公室的说法,俄亥俄州商务部的两名员工无限制访问了20多名申请评审员的在线账户及相关文件。这些员工还创建并管理评审员的密码,而评审员仅被授予访问申请的特定部分。
在2月6日给商务总监Jacqueline Williams的信中,Yost写道,该漏洞可能允许员工以评审员身份登录并更改分数。Yost所称的“弱点”意味着审计员无法判断记录是由申请评审员还是以评审员身份登录的其他人修订的。
来源:http://www.cleveland.com/metro/index.ssf/2018/02/ohio_auditor_finds_flaw_in_med.html
管理员需要能够创建用户账户。在某些情况下,他们还需要能够重置密码。在其他情况下,他们可能需要模拟其他用户以诊断问题、提供培训或实时帮助解决问题。所有这些需求都是合法的,但如果处理不当,每个都可能污染审计追踪,导致无法确定谁在应用中做了什么,并使应用数据完全不可靠。
每当管理员“代表”其他用户执行任何操作时,必须将此事件记录清楚。调查人员必须能够辨别有第二个用户参与、该用户是谁、做了什么以及何时完成。
没有此类日志记录,就无法确定谁执行了任何给定操作。这个问题有多严重?这取决于您希望用数据做什么,以及用户可能承担什么责任来确保他们“正确”行事(无论这在您的情况下意味着什么)。
俄亥俄州审计员总结了该问题:
此控制弱点可能允许管理员在登录时以账户持有人而非自己的管理账户身份操纵文档……由于程序设计中的这一关键缺陷,本办公室和公众都无法依赖……结果。
来源:https://assets.documentcloud.org/documents/4377305/2-6-18-Commerce-Letter-Director-Williams-2.pdf
当管理员可以访问用户凭据时,管理员可以无法追踪地模拟该用户。凭据不仅是用户名和密码,还包括任何提供账户访问权限的内容。在Web应用中,会话cookie就是一种凭据。
如果您以明文存储用户密码,或以任何其他允许从数据库直接使用的方式存储,问题就远不止审计问题。即使显示密码哈希(如某些管理面板所做),也可能近似相同的问题。哈希可以被破解。出于审计目的,显示的哈希可能必须视为显示的密码。
有更有弹性的方法来处理对账户的管理访问需求:
-
密码自助服务:用户可以通过使用共享密钥向应用证明身份来自行更改或重置密码。在管理员必须参与密码重置的情况下,应强制用户在应用中执行任何其他操作之前更改该密码。
-
使用“随行”功能进行技术支持:当管理员需要准确查看用户所见内容时,可以构建应用,使用户必须邀请管理员进入其会话,并主动允许其控制。此权限授予将被记录,管理员随行期间的所有事件都将被标记,清楚标识会话中涉及的两个人。
-
使用“代表”登录:在极少数需要管理员使用他人账户的情况下,这绝不能意味着管理员获得用户凭据的访问权限。需要一种模拟系统,清楚记录该会话事件期间谁在操作键盘。在敏感情况下,此注释应显示在UI中的相关数据旁边,以免被忽略。
完全披露:BHIS未以任何方式参与俄亥俄州的此行动。我们只是在新闻中注意到了它。