Deemon:自动化CSRF安全检测框架
Posted ArkTeam
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Deemon:自动化CSRF安全检测框架相关的知识,希望对你有一定的参考价值。
原文标题:Deemon: Detecting CSRF with Dynamic Analysis and Property Graphs
原文会议:2017 ACM Conference on Computer and Communications Security (CCS)
原文链接:https://dl.acm.org/citation.cfm?doid=3133956.3133959
跨站请求伪造(CSRF)是一种十分重要的Web应用程序漏洞,在OWASP Top Ten上一直榜上有名,但却很少受到研究人员和安全测试社区的关注,迄今为止,CSRF漏洞的检测仍主要由人工操作实现。
基于这样的背景,本文研发了首个针对CSRF漏洞的自动化安全监测框架——Deemon。通过将执行痕迹、数据流等Web应用程序的多方面信息统一映射为一个属性图,通过图遍历的方法挖掘潜在的易受攻击的操作。文末实验部分利用10个流行的开源Web应用程序来评估Deemon,发现了14个以前未知的可被利用的CSRF漏洞,从而证明了Deemon的有效性。
本文将CSRF攻击分成两类:authenticated CSRF(后文简称aCSRF)和login CSRF。
(1)认证型CSRF:已经存在一个受害者和目标网站之间的session。
(2)登陆型 CSRF:不存在一个受害者和目标网站之间的session,攻击者的目标就是以攻击者自己的证书登录。
本文主要关注对认证型CSRF的检测,并做如下定义:
如果web应用程序接受具有以下属性的HTTP请求,则web应用程序存在aCSRF漏洞:
(P1)传入请求会导致Web应用程序的安全相关状态更改。
(P2)该请求可以由攻击者可靠地创建,即攻击者知道所有需要的参数和请求的值。
(P3)请求在用户的有效认证上下文内处理。
图1 aCSRF攻击
表1 文章技术难点及其解决方法
图2 Deemon流程图
从Web应用程序正在运行的实例中重新生成用户操作作为模型的初始输入;
通过传感器生成包含网络痕迹和函数调用痕迹的应用程序执行痕迹;
从这些痕迹中,Deemon推断出一个简单模型(FSM和数据流模型)的组合模型——属性图;
Deemon使用模型查询来挖掘生成安全测试和一个oracle(出度等于1的SQL查询的抽象分析树根的集合,用于确定是否发生了与安全有关的状态转换);
在Web应用程序中运行上一步中生成的安全测试;
最后,针对oracle预测测试结果来检测CSRF漏洞。
值得关注的是,Deemon流程图中所有步骤都是自动生成的。
图3 属性图
表2 属性图说明
以上是关于Deemon:自动化CSRF安全检测框架的主要内容,如果未能解决你的问题,请参考以下文章