授权机制的设计与实现

admin 2023年5月18日09:37:55评论56 views字数 1709阅读5分41秒阅读模式

授权机制的设计与实现

     授权,是信息安全中极其重要的一部分。没有完善的安全的授权机制,安全根本无法谈起。今天就把总结到的授权知识做个小总结。


授权机制的设计与实现

授权原则


授权的金言就一句:最小权限原则。这句多么有效呢?比如前些天微盟的删库事件,如果犯罪者没有掌握过高过多的数据库操作权限,就不可能差点以一己之力湮灭了一个庞大企业。而对于最小权限原则的实现方式,则有以下几类:



(1)基于属性的授权

规则明确的情况下,根据用户是否具有某一属性/通过某一规则,来决定是否授予权限。比如在qq空间里,我们可以编辑和删除自己的说说,但是不能如此操作好友的说说,而只能点赞、转发、屏蔽等。

用户携带的属性包括主体属性、资源属性、环境属性。主体属性即是描述主体的身份、角色、能力、年龄、IP等等;资源属性描述主体可以操纵的资源如数据、服务、系统等;环境属性则是描述时间、日期、安全级别、系统状态等与主体无关的属性。

ABAC,基于属性的访问控制机制,即是基于属性的授权的代表产物。

该类授权方式的弊端,即在因各主体客体关系不明确等原因造成规则不明确时,往往难以执行ABAC这样的访问控制机制。很早以前使用ABACKubernetes 也早已抛弃了它。


(2)基于角色的授权

简言之,不同级别角色对应不同权限。如最近评估的某系统,根据公司职工架构,进行授予权限,形成一种超级管理员-多权限管理员-单个权限管理员-普通用户-无身份的角色框架。用户在系统中被授予的权限,全都凭借角色来决定。



(3)基于任务的授权:临时授权机制

小编的理解,这是在短期任务中临时授予超出既定赋予权限的规则。


(4)基于访问控制表(ACL)的授权

    如Linux中用户对文件的操作权限,每个用户/用户组的操作权限都在ACL表中被指定。


(5)动态授权
    基于专家知识或机器学习,对用户首先进行风险评估,根据评估结果进行授权。如在登录环节,基于用户画像进行风险评估,进行投放不同难度的人机验证机制。从某种角度上来说,动态授权不仅增强了用户在系统中执行所有操作的安全可信度,也增强了用户的友好度。



授权机制的设计与实现

授权不严带来的风险



(1)未授权访问/无授权机制

(2)横向越权:如用户在某系统中可以查看/操作同等身份用户的私人隐藏信息

(3)纵向越权:如普通用户查看/操作高权限用户才可以查看/操作的资源

(4)诱导越权:如某年支付宝新年查看总结时的弱化授权选择框的颜色和位置,并默认勾选,从法律与合规上来说,是不允许的

(5)职责未分离:导致用户对数据可以进行一条龙操作,也必须通过管理手段进行控制和避免。




授权机制的设计与实现

总结今日对越权情况的安全评估



授权机制的设计与实现某资源分配系统

A)首先,进行横向越权尝试,在我查看个人某资源的审核表时,捕捉到一个GET请求:http://192.168.**.**:8**8/****/newApply/1824,对最后的id进行替换,如改成1823,查看响应:

授权机制的设计与实现


尝试越权查看,不允许查看的资源返回结果资源不存在

B)纵向越权,尝试使用普通用户发送管理员进行审核的请求报文,和查看管理员才有权限查看的界面:

error:"Unauthenticated."

授权机制的设计与实现 

经过与该系统开发的交流,此系统使用基于角色的授权机制,角色是根据其公司OA系统中公司员工在组织架构中的身份决定的,严格进行每个用户角色与可访问资源的校验和控制,因而未出现授权方面的漏洞。

 


授权机制的设计与实现B2B系统

该系统主要有两大角色:供应商与采购商。主要进行采购商和采购商、供应商和供应商、采购商之间的越权尝试。

根据测试,用户的订单与用户身份严格进行绑定和校验,会话等信息也是如此。供应商可查看属于自己客户的个人资料,这部分授权机制属于基于任务的授权。

关于前台用户与后台管理员之间的交互,有一项新建合同申请。后台查看,合同的审批流程,每一步指定了具体管理员id。经过验证,其他管理员可查看流程中每一步的申请详情,但是不能进行操作。此时就出现了横向越权查看数据的漏洞。


授权机制的设计与实现其他系统

今天主要还对某锁平台进行安全评估,资源id均与用户id进行绑定,从而进行授权。




好啦,今天就分享到这儿了,期待明天的努力和成长。

原文始发于微信公众号(火枪手联盟安全团队):授权机制的设计与实现

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年5月18日09:37:55
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   授权机制的设计与实现https://cn-sec.com/archives/1044645.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息