注:方法使用还是满局限的,做不到全自动化。
逻辑漏洞攻击事件
去年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号码、公司名称等。
修改cookie 为:
{“user_id”:12,”umail”:”admin@*.cn”,”ip”:”,,0,1”},登录成功。
某约车APP越权查询和取消任意订单
模拟正常用户下单,操作步骤如下:打开某约车APP——预约用车——下单。
然后查看订单预定信息。操作步骤如下:个人行程——刚才下的订单--右上角预订信息 抓取数据包,之后修改orderid的值,即可获取他人订单信息。
尝试取消他人订单。订单中有个charteredNo参数,将订单信息中的charteredNo值替换即可取消。
除了越权登录、查询和取消订单,逻辑漏洞被恶意利用的场景还包括修改资料时越权篡改他人资料、支付场景下的修改账单金额,绑定手机场景下的篡改短信内容等等。在不同的行业,根据业务场景不同,也会面临诸多不同的攻击风险。
基于业务场景和攻击角度的逻辑漏洞思维
默安科技的业务逻辑漏洞检测实践
默安科技雳鉴IAST产品通过区分请求权限、确定检测范围、判断漏洞是否真实存在这三个步骤,来逐步判定水平越权和垂直越权漏洞的存在。简单概括为:
第1步 场景还原:区分请求权限进行逻辑漏洞检测首先需要区分请求本身所属的用户和权限,考虑最坏的情况,所以第一步是将请求进行归类,区分出哪些请求是来自用户的某次连续行为。然后采用构建用户凭据链的方式,从杂糅的请求中区分用户的某次连续行为。
第2步 分区归类:确定检测范围拿到单次行为的所有请求和所属权限后,对每个请求的参数进行归类建模。通过相似请求的类比,将请求的每个参数抽象为固定的模式,之后对归类后的请求模型集合进行对比,根据在逻辑漏洞挖掘中的经验整理出两种漏洞的对比方式,展开对比。
第3步 真假互换:判断漏洞是否存在在收到进行漏洞检测的请求后,根据要检测的漏洞类型,交换用户凭据进行访问,垂直越权漏洞检测中,将高权限用户独有的接口,用低权限的用户凭据访问,观察响应值与正常响应值的相似度;然后用同类方法检测水平越权漏洞。
由于采用基于流量进行逻辑漏洞检测的方式,默安科技雳鉴IAST产品能够获取到用户真实的测试请求,从而保证流量的完整性、有效性和时序性。根据在用户真实环境中的逻辑漏洞检测经验和数据积累,该逻辑漏洞检测方案已经进行过多次版本更新迭代,在水平越权和垂直越权漏洞的检出率和精确度上,均稳定在行业较高水准。
默安科技雳鉴IAST逻辑漏洞检测功能
目前,雳鉴IAST的逻辑漏洞扫描模块已经为金融、电商、科技、房地产等行业发现多个越权漏洞,并实现较低误报,为应用上线前的安全保驾护航。
默安科技的雳鉴SDL解决方案是一套拥有完整自研“服务+工具+平台”的SDL全流程方案。基于微软经典SDL模型,将赋能服务贯穿需求分析、架构设计、研发、测试回归以及发布迭代全流程。通过赋能将专业安全能力赋予研发各环节人员,并在各环节提供不同工具(STAC、SAST、IAST、常态化安全运营),使赋能知识真实应用落地。以统一平台展示、分析、回归、闭环安全问题,并向安全部门提供SIEM,根据各流程频现的漏洞类型、研发人员知识盲区等再次提供针对性培训,助力SDL全流程精准落地。