[发明专利]URL提取方法及装置有效
申请号: | 202110258227.6 | 申请日: | 2021-03-10 |
公开(公告)号: | CN112632423B | 公开(公告)日: | 2021-06-29 |
发明(设计)人: | 徐国爱;徐国胜;齐向东;纪胜龙;王少杰;王晨宇;张洪盈;毛庆梅 | 申请(专利权)人: | 北京邮电大学;奇安信科技集团股份有限公司 |
主分类号: | G06F16/955 | 分类号: | G06F16/955 |
代理公司: | 北京风雅颂专利代理有限公司 11403 | 代理人: | 郑颖颖 |
地址: | 100876 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | url 提取 方法 装置 | ||
本公开一个或多个实施例提供一种URL提取方法及装置。所述URL提取方法通过:获取源代码文件;基于源代码文件构建抽象语法树;遍历所述抽象语法树,获取Web‑API;根据Web‑API,确定目标参数;再次遍历所述抽象语法树,判断目标参数是否存在于源代码文件中;若是,进行第一处理;若否,进行第二处理,得到URL。能够直接获取源代码中存在的URL。具有URL提取的准确率较高,能够较为灵活的应对不同的场景,无需实时维护等优点,大大提升源代码中可疑URL检测的工作效率。
技术领域
本公开一个或多个实施例涉及软件安全技术领域,尤其涉及一种URL提取方法及装置。
背景技术
随着网络通信技术的不断发展,越来越多的应用程序依靠访问URL来提供服务,与其相关的信息网络安全问题也日益突显。人们在享受网络发展带来便利的同时,面临着大量如垃圾邮件、网络钓鱼、点击欺骗等的恶意网络攻击,它们大多借助恶意URL来完成攻击行为。
从应用程序提取出URL是开展许多异常检测工作的基础。正确的识别和分析源代码中存在的网络通信URL对隐藏服务识别、恶意网站检测、漏洞检测等安全检测中都起到了非常重要的作用。由于URL格式多样,所处的文本环境也复杂,因此,提取具有较大的困难。而且随着信息技术的不断发展和网络攻防技术的变化,URL在应用程序中的存在方式也将更加多变,URL的提取也将变得更加困难。现有的提取方法不够精确,不能满足实际需求。
发明内容
有鉴于此,本公开一个或多个实施例的目的在于提出一种URL提取方法及装置,以解决现有技术中存在的问题。
基于上述目的,本公开一个或多个实施例提供了一种URL提取方法,包括:
获取源代码文件;
基于源代码文件构建抽象语法树;
遍历所述抽象语法树,获取Web-API;
根据Web-API,确定目标参数;
再次遍历所述抽象语法树,判断目标参数是否存在于源代码文件中;
若是,进行第一处理,得到URL;若否,进行第二处理,得到URL。
在其中一个实施例中,所述第一处理包括:根据目标参数的赋值类型,进行对应的提取处理;其中,所述目标参数的赋值类型包括常量赋值、函数赋值和用户输入。
在其中一个实施例中,在所述第一处理中:当目标参数为常量赋值时,进行第一提取处理:直接提取目标参数对应的常量字符串;当目标参数为用户输入时,进行第二提取处理:设定用户输入,提取设定用户输入对应的常量字符串。
在其中一个实施例中,当目标参数为函数赋值时,进行第三提取处理;所述第三提取处理包括:
跟踪目标参数依赖的构造函数对应的参数的赋值和方法调用构造,解析目标参数的值,获得常量字符串;
按照构造函数执行所得常量字符串,得到完整常量字符串。
在其中一个实施例中,跟踪目标参数依赖的构造函数对应的参数的赋值和方法调用构造,解析目标参数的值,获得常量字符串具体可以包括:
判断提取目标参数依赖的构造函数对应的参数的赋值类型;
当参数为常量赋值时,进行所述第一提取处理;当参数为用户输入时,进行所述第二提取处理;当参数为函数输入时,进行所述第三提取处理。
在其中一个实施例中,所述第二处理包括:根据源代码文件引入的外部资源文件的类型,进行对应的提取处理。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京邮电大学;奇安信科技集团股份有限公司,未经北京邮电大学;奇安信科技集团股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110258227.6/2.html,转载请声明来源钻瓜专利网。