业务逻辑漏洞检测:APP_LogGIC框架解析
1. 引言
软件错误是指软件代码中计算、观察或测量的值与真实、指定或理论上正确的值或条件之间的差异。软件漏洞则是由软件错误导致的软件致命故障的特征和程度。而“应用程序业务逻辑漏洞”(BLV)是应用程序代码中业务逻辑规则实现错误所导致的缺陷。
本文提出了一种检测业务逻辑漏洞的方法,将其分为四个步骤:
1. 信息提取方法(IEM) :使用Java编译器的抽象语法树(AST)检测源代码中可能存在BLV的“危险”点,即用户输入数据的输入向量和控制应用程序执行流程的条件执行分支(CB),并根据其位置使用“严重性”Likert量表对这些点进行排名。
2. 基于不变量的方法(IBM) :使用MIT的Daikon工具进行动态分析,提取描述应用程序预期使用的变量规则(不变量),然后使用NASA的JPF工具进行静态分析,收集所有可能的执行路径和变量状态,通过比较动态分析和静态分析的结果,找出不变量规则的违反情况,并使用“漏洞”Likert量表对这些违反情况进行排名。
3. 输入向量分析方法(IVAM) :使用上述AST树分析源代码变量中输入数据的 sanitization 检查,根据使用的 sanitization 类型对应用程序的输入向量在漏洞量表上进行排名。
4. 模糊逻辑系统 :使用模糊逻辑系统计算变量的临界值,结合严重性和漏洞等级,提供对可能存在的BLV的清晰、数值和图形化测量。
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



