freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

如何解“逻辑漏洞检测”难题?默安给你答案
2019-08-28 11:52:11

逻辑漏洞攻击事件

去年3月,某网站爆充值漏洞,充值的0.01元秒变1000元,平台账户资金损失近30余万元;

去年5月,河南某小贷平台被爆出借款漏洞,被黑客恶意利用,成功实现借款600多万元;

今年1月,有网友爆出某电商平台存在重大BUG,用户可领100元无门槛券,此后有大批用户开始媷羊毛,该平台一晚上损失达200亿。

逻辑漏洞攻击事件正在频繁发生,造成的损失轻则几十万重则上千万,不仅给企业造成了巨额经济损失,也严重影响了企业品牌形象。

在漏洞扫描领域,逻辑漏洞检测是一直难以解决的问题之一,OWASP和CVE也一直将越权漏洞列入其TOP榜单之中。业内鲜有企业尝试越权漏洞检测,很多时候也仅支持简单的垂直越权漏洞,并不支持水平越权漏洞,且实际应用中漏报率和误报率都偏高。

 

逻辑漏洞的分类

垂直越权型

这类主要包含低权限到高权限的接口和页面越权访问,无权限和有权限的未授权访问。

比如某个系统分为普通用户和管理员,管理员有系统管理功能,而普通用户没有,那我们就可以理解管理功能具备垂直权限划分,如果普通用户能利用某种攻击手段访问到管理功能,那我们就称之为垂直越权。

水平越权型

这类主要包含增删改查类的权限控制不当,常见的订单遍历、用户资料遍历等都属于这类。

比如某系统中有个人资料这个功能,A账号和B账号都可以访问这个功能,但是A账号的个人信息和B账号的个人信息不同,也就是说在这个功能上,A账号和B账号的个人资料具备水平权限的划分。此时,A账号通过攻击手段访问了B账号的个人资料,这就是水平越权漏洞。

复杂关联型

这类主要包含一些需要上下文关联、和业务逻辑强相关的较复杂越权类漏洞,如找回密码越权,任意账号重置等一般属于这类。

具体业务场景下的逻辑漏洞

 这里列举两个实际业务场景的案例来分析逻辑漏洞被利用的过程。

某平台任意用户越权登录

以DEMO的身份登录,在 “查看个人信息” 处抓包,通过修改 user_id 即可获取对应用户的详细信息,除了邮箱,还有手机号码、QQ号码、公司名称等。

1.png

修改cookie 为:

{"user_id":12,"umail":"admin@*******.cn","ip":"***,***,0,1"},登录成功。

2.png

某约车APP越权查询和取消任意订单

模拟正常用户下单,操作步骤如下:打开某约车APP——预约用车——下单。

然后查看订单预定信息。操作步骤如下:个人行程——刚才下的订单--右上角预订信息 抓取数据包,之后修改orderid的值,即可获取他人订单信息。

3.png尝试取消他人订单。订单中有个charteredNo参数,将订单信息中的charteredNo值替换即可取消。

4.png

除了越权登录、查询和取消订单,逻辑漏洞被恶意利用的场景还包括修改资料时越权篡改他人资料、支付场景下的修改账单金额,绑定手机场景下的篡改短信内容等等。在不同的行业,根据业务场景不同,也会面临诸多不同的攻击风险。

图片5.png

基于业务场景和攻击角度的逻辑漏洞思维导图

 

默安科技的业务逻辑漏洞检测实践

默安科技雳鉴IAST产品通过区分请求权限、确定检测范围、判断漏洞是否真实存在这三个步骤,来逐步判定水平越权和垂直越权漏洞的存在。简单概括为:

第1步 场景还原:区分请求权限

进行逻辑漏洞检测首先需要区分请求本身所属的用户和权限,考虑最坏的情况,所以第一步是将请求进行归类,区分出哪些请求是来自用户的某次连续行为。然后采用构建用户凭据链的方式,从杂糅的请求中区分用户的某次连续行为。

图片6.png

第2步 分区归类:确定检测范围

拿到单次行为的所有请求和所属权限后,对每个请求的参数进行归类建模。通过相似请求的类比,将请求的每个参数抽象为固定的模式,之后对归类后的请求模型集合进行对比,根据在逻辑漏洞挖掘中的经验整理出两种漏洞的对比方式,展开对比。

 图片7.png

第3步 真假互换:判断漏洞是否存在

在收到进行漏洞检测的请求后,根据要检测的漏洞类型,交换用户凭据进行访问,垂直越权漏洞检测中,将高权限用户独有的接口,用低权限的用户凭据访问,观察响应值与正常响应值的相似度;然后用同类方法检测水平越权漏洞。

由于采用基于流量进行逻辑漏洞检测的方式,默安科技雳鉴IAST产品能够获取到用户真实的测试请求,从而保证流量的完整性、有效性和时序性。根据在用户真实环境中的逻辑漏洞检测经验和数据积累,该逻辑漏洞检测方案已经进行过多次版本更新迭代,在水平越权和垂直越权漏洞的检出率和精确度上,均稳定在行业较高水准。

图片8.png图片9.png

默安科技雳鉴IAST逻辑漏洞检测功能

    

目前,雳鉴IAST的逻辑漏洞扫描模块已经为金融、电商、科技、房地产等行业发现多个越权漏洞,并实现较低误报,为应用上线前的安全保驾护航。

默安科技的雳鉴SDL解决方案是一套拥有完整自研“服务+工具+平台”的SDL全流程方案。基于微软经典SDL模型,将赋能服务贯穿需求分析、架构设计、研发、测试回归以及发布迭代全流程。通过赋能将专业安全能力赋予研发各环节人员,并在各环节提供不同工具(STAC、SAST、IAST、常态化安全运营),使赋能知识真实应用落地。以统一平台展示、分析、回归、闭环安全问题,并向安全部门提供SIEM,根据各流程频现的漏洞类型、研发人员知识盲区等再次提供针对性培训,助力SDL全流程精准落地。

本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者