发明名称 一种基于规则的JavaScript安全性检测方法
摘要 本发明公开了一种基于规则的JavaScript安全性检测方法,使用静态分析和动态分析相结合的程序分析方法,对网站中JavaScript代码的安全性问题进行检测和反馈,用于发现包括JavaScript编码不规范、跨站点脚本攻击恶意代码的安全性问题。首先使用DLint工具动态发现JavaScript编码不规范问题,然后使用开源的静态代码规范检测工具ESLint对源码的分支部分进行检测;再使用静态分析方法,根据JavaScript页面特征和设定的阈值过滤出源码中可能存在跨站点脚本攻击恶意代码的页面;然后使用Jalangi框架,对过滤得到的页面进行动态插桩进行污点分析,判断过滤得到的页面是否包含跨站点脚本攻击。本发明在降低漏检率的基础上,有效提高了编码规范和恶意代码的检测效率。
申请公布号 CN106055980A 申请公布日期 2016.10.26
申请号 CN201610367641.X 申请日期 2016.05.30
申请人 南京邮电大学 发明人 张卫丰;赵晨;张迎周;周国强;王子元
分类号 G06F21/56(2013.01)I 主分类号 G06F21/56(2013.01)I
代理机构 南京知识律师事务所 32207 代理人 李湘群
主权项 一种基于规则的JavaScript安全性检测方法,其特征在于包含以下步骤:步骤1:动态检测代码规范,包含以下内容:首先对JavaScript代码的动态执行不规范行为进行定义,通过大量分析JavaScript源代码,对其编码特点进行归类整理;获取JavaScript源代码的执行行为,根据源代码执行行为判断源代码中是否存在编码不规范问题,并对每个问题提出警告;步骤2:静态检测代码规范;静态检测代码规范阶段,首先对JavaScript代码的静态编码不规范行为进行定义,通过大量分析JavaScript源代码,对其编码特点进行归类整理;对JavaScript源代码进行静态分析,使用开源的JavaScript静态检测工具对JavaScript中分支语句进行编码规范问题检测;通过匹配不规范行为规则,确定静态检测工具中需要使用的检查器对源代码进行编码规范检查,最后报出警告信息;步骤3:静态检测恶意代码;根据恶意代码经常使用的攻击方法,将JavaScript源码进行分类、计算,设定阈值,对低于阈值的JavaScript页面过滤,超过阈值的页面认定为可疑包含有恶意代码的页面,送入步骤4;步骤4:动态检测恶意代码;对步骤3中过滤得到的可疑JavaScript恶意代码页面,判断是否属于跨站点脚本攻击;步骤5:对结果进行反馈;将上述步骤1‑4中所有具有安全性问题需要反馈的部分,进行系统的反馈。
地址 210003 江苏省南京市鼓楼区新模范马路66号