什么是越权漏洞
越权漏洞是一种常见的逻辑安全漏洞。越权漏洞指的是攻击者利用系统中的漏洞,获得超过其正常权限的访问权限,执行未授权操作。
越权漏洞主要分为两种类型:水平越权(横向越权)和垂直越权(纵向越权)。水平越权是指用户进行同级别的越权访问、删除、修改数据。例如,在查看用户信息页面时,通过修改URL中的参数,攻击者可能能够查看其他用户的信息。垂直越权则是由于后台应用没有做足够的权限控制,导致攻击者可以进行更高级别的越权访问,或控制其他用户拥有的数据。
越权漏洞危害
(1)隐私泄露
越权漏洞的存在导致敏感数据泄露,如用户个人信息、交易记录、企业机密等,用户容易受到身份盗窃、欺诈等。
(2)系统稳定性受损
攻击者可能利用越权漏洞对系统进行不当操作,如删除重要文件、篡改数据库内容或执行恶意代码,导致系统崩溃、服务中断、数据丢失或系统资源耗尽。
(3)企业经济损失
越权漏洞引起的数据泄露和系统稳定性受损可能导致客户信任丧失,影响企业业务运营。同时企业修复越权漏洞和恢复受损系统的成本也将非常高昂。
(4)国际利益危害
对于涉及国家安全、基础设施或关键信息系统的漏洞,可能被攻击者利用进行网络间谍活动、破坏关键设施或窃取敏感信息。
常用的越权检测方式有哪些?
为了防止越权漏洞的发生,企业通常会采用以下几种方式进行越权漏洞检测:
检测方式 | 描述 |
代码 审计 | 通过对软件源代码进行静态分析来发现潜在漏洞的方法。检查代码中是否存在未经鉴权的函数调用或权限错误的代码逻辑。 |
渗透 测试 | 模拟攻击行为对系统的授权验证机制进行测试。可以采用黑盒测试和白盒测试相结合的方式。黑盒测试可以模拟攻击者的行为,对系统进行渗透测试,以发现系统对越权访问的容忍度。白盒测试则通过监控软件的执行流程,分析是否存在越权访问的迹象。 |
审计 日志 分析 | 分析审计日志发现用户和程序的异常访问行为及越权访问的痕迹。 |
通过以上几种方式虽然可以检测越权漏洞,但是需要较高的专业技能,也需要消耗大量的时间成本。那有没有一种越权检测方式可以同时降低越权检测的专业性和时间成本,提升安全检测的效率呢?
IAST工具—自动化检测越权风险
开源网安凭借成熟的IAST产品—VulHunter灰盒安全测试工具,结合自研的DAST引擎,可以为企业提供强大的自动化越权检测能力,提升越权检测效率。
VulHunter越权检测利用IAST技术自动收集应用API接口和各个请求执行信息上送至越权检测系统,实现自动化越权检测。具体检测原理如下:
1、功能测试人员触发业务请求报文,Java agent通过插桩技术获取对应报文请求信息、执行上下文和应用的响应内容发送给IAST越权检测系统。
2、IAST越权检测系统对Java agent上送的信息根据API接口进行报文编排。
3、IAST越权检测系统将待检测的业务请求报文进行编排后,自动将请求中的凭证分别替换成同等权限或低权限用户的凭证,然后进行重放该请求。
4、IAST越权检测系统获取Java agent上报检测请求执行上下文和应用系统的响应报文。
5、越权验证引擎根据执行的上下文和响应内容进行越权漏洞判断。
图:越权检测原理
越权检测的优势
VulHunter越权检测相对于传统的越权检测方法具有以下优势:
(1)检测全面,资产可视化颗粒度高
全面感知和管理应用程序API资产,可以实现资产可视化管理;可以对资产进行分类、标签、评分等操作,方便安全人员对资产进行优先级排序和风险评估;支持对加密请求和分布式微服务请求进行识别和收集,通过对加解密函数和微服务节点的插桩,获取明文的API和数据信息,提高API检测覆盖率。
结合功能测试的业务请求收集报文,可避免安全人员认知片面缺陷,而忽略一些边缘场景或者隐藏功能的API。此外VulHunter还实现了请求跨服务全链路跟踪,可以清晰看到每个请求来源、目的、参数、响应等信息,最大程度保障了安全测试的全面性。
(2)自动化程度高
通过收集和梳理应用的HTTP请求流,重新编排应用请求,按照时间先后顺序构建用户业务请求线,模拟用户正常操作流程,实现自动化越权漏洞检测。
利用插桩技术对一些web框架的会话函数进行插桩获取上下文信息,进行登录请求识别、会话凭证信息提取,确认登录登出请求接口和会话参数,实现自动化登录配置信息确认和提取,减少人力成本。
通过采集权限框架的配置信息,获取应用现有权限清单,自动化获取不同角色用户账号,实现自动化权限测试。
(3)准确率高
通过对应用程序运行时的函数调用序列进行收集,实现请求行为动作捕获,准确判断每个请求的功能和影响,避免请求误判或者漏判。
通过对应用程序执行过程中经过的关键函数进行触发感知,实现请求行为审计,准确判断每个请求权限和风险,最大程度降低请求误报或者漏报。
在基于传统响应信息重放比对模型基础上,提供多维度比对信息的可视化,不仅对比了响应信息是否存在相似性,还对比了响应信息的内容、格式、长度、状态码等信息,提高检测准确性和效率。
越权检测的价值
(1)提高越权风险检测效率
VulHunter越权检测可以无缝融入现有流程,加之被动插桩和越权服务自动重放请求的优势,可实现自动化检测越权风险,提高越权检测效率,减少人工干预,让安全团队能够更快速地识别和响应潜在越权威胁。此外,自动化检测还降低了人为错误的可能性,提高了检测准确性和可靠性。
(2)提升系统安全性
及时发现并识别系统中的越权风险,防止未经授权的访问和数据泄露,有效阻止潜在安全威胁,保护企业核心资产和信息安全,保障业务安全,维护企业声誉和客户信任度。
(3)优化企业资源分配
通过全面的API资产感知和管理,实现资产可视化,企业能更高效地分类、标签和评分其资产,优化资源配置和使用,将有限的资源集中在最需要加强的安全领域,提高安全投资效益。
推荐阅读
IAST面面观 | 将IAST工具引入DevSecOps,让开发安全提速
IAST灰盒检测技术挖掘Web应用安全漏洞