信息安全与大麻碰撞:安全处理管理员操作的技术解析

本文通过俄亥俄州医疗大麻申请评分系统的安全漏洞案例,深入分析了管理员权限滥用、审计追踪失效及会话冒充等Web应用安全风险,并提出了密码自服务、协同会话功能和代登录机制等解决方案。

当信息安全与大麻碰撞:安全处理管理员操作

俄亥俄州最近验证了一个常被忽视的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未以任何方式参与俄亥俄州的这一行动。我们只是在新闻中注意到了它。

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计