一种针对音频数据反爬虫技术脆弱性分析方法及系统

文档序号:30947158发布日期:2022-07-30 05:44阅读:91来源:国知局
一种针对音频数据反爬虫技术脆弱性分析方法及系统

1.本发明涉及针对音频数据采集方法中的安全技术领域,尤其涉及一种针对音频数据反爬虫技术脆弱性分析方法及系统。


背景技术:

2.随着计算和存储技术的快速发展,以深度学习为核心的人工智能相关技术在生活中被广泛应用,例如移动支付中的声纹锁,智能语音助手(例如,siri,cortana),网络聊天中的语音转文字。然而,对于人工智能系统的训练需要大量的对应数据,同样的,针对与声学相关的人工智能系统也需要大量的音频数据进行训练。因此对音频数据的采集技术是人工智能产业的重大需求。
3.在传统的信息获取过程中,通用性搜索引擎也存在着很多的局限性,为了更加高效地获取数据信息,定向抓取相关网页资源的聚焦爬虫应运而生。然而,大量恶意爬虫的出现对站点数据安全与隐私造成巨大威胁,反爬虫技术应运而生,当前主流的反爬虫技术有:user_agent检测、访问频率限制、采集目标推断等。虽然当前的这些反爬虫技术可以针对音频模态数据的采集进行一定的限制与对抗,从而降低数据被恶意采集的风险,然而现有的这些反爬虫技术仍然存在着对应的脆弱性与不稳定性。


技术实现要素:

4.本发明提供了一种针对音频数据反爬虫技术脆弱性分析方法及系统,可从网络层和应用层两个方面对现有的反爬虫技术进行脆弱性分析,从而暴露现有的反爬虫技术脆弱点与不足之处。
5.本发明提供了如下技术方案:
6.本发明的第一个目的在于提供一种针对音频数据反爬虫技术脆弱性分析方法,包括以下步骤:
7.步骤1:对于在网络层中捕获的针对音频数据采集的原始报文请求,在网络层面中对报文进行数据包字段修改,得到隐蔽性报文请求;选择第三方代理服务器,将隐蔽性报文请求发送到目标服务器,得到请求的返回结果;
8.步骤2:从目标服务器的返回结果中解析得到待采集的目标地址,根据报文的时间戳信息,组成待采集目标地址队列;
9.步骤3:在所述的待采集目标地址队列中随机加入无关的采集目标地址,形成请求报文测试用例,将请求报文测试用例发送至目标服务器,得到请求的返回结果;
10.步骤4:根据步骤1和步骤4得到的返回结果,生成反爬虫系统的脆弱性分析报告。
11.进一步的,所述的步骤1中,若从请求的返回结果中判断出第三方代理服务器发送的隐蔽性报文请求被反爬虫系统检测到,则更改第三方代理服务器,继续执行网络层的脆弱性分析,直到未被反爬虫系统检测到,或者遍历所有的第三方代理服务器。
12.进一步的,若至少一个第三方代理服务器发送的隐蔽性报文请求未被反爬虫系统
检测到,则测试中的反爬虫系统存在网络层脆弱性;若遍历所有的第三方代理服务器,发送的隐蔽性报文请求均被反爬虫系统检测到,则测试中的反爬虫系统不存在网络层脆弱性。
13.进一步的,步骤2中解析得到的待采集的目标地址来自目标服务器的返回结果,且返回结果对应的报文请求为隐蔽性报文请求或者原始请求报文。
14.本发明的第二个目的在于提供一种针对音频数据反爬虫技术脆弱性分析系统,用于实现上述的针对音频数据反爬虫技术脆弱性分析方法;所述的系统包括:
15.网络层音频数据反爬虫技术脆弱性分析组件,其对于在网络层中捕获的针对音频数据采集的原始报文请求,在网络层面中对报文进行数据包字段修改,得到隐蔽性报文请求测试用例;以及用于选择第三方代理服务器;
16.应用层音频数据反爬虫技术脆弱性分析组件,其用于从目标服务器的返回结果中解析得到待采集的目标地址,根据报文的时间戳信息,组成待采集目标地址队列;以及用于在所述的待采集目标地址队列中随机加入无关的采集目标地址,形成请求报文测试用例;
17.反爬虫技术测试模块,其用于获取网络层音频数据反爬虫技术脆弱性分析组件生成的隐蔽性报文请求测试用例,以及获取应用层音频数据反爬虫技术脆弱性分析组件生成的请求报文测试用例,利用选中的第三方代理服务器,将得到的全部测试用例发送到目标服务器,对待测试的反爬虫系统进行测试,根据请求的返回结果生成脆弱性分析报告。
18.本发明可从网络层和应用层两个方面对现有的反爬虫技术进行全面的脆弱性分析,从而暴露现有的反爬虫技术脆弱点与不足之处,有利于对反爬虫技术的改进提供参考。
附图说明
19.图1为本发明针对音频数据反爬虫系统脆弱性分析方法框架图;
20.图2为本发明针对音频数据反爬虫系统脆弱性分析系统框架图;
21.图3为本实施例中示出的一种针对音频数据反爬虫系统脆弱性分析方法流程图。
具体实施方式
22.下面结合附图和实施例对本发明作进一步详细描述,需要指出的是,以下所述实施例旨在便于对本发明的理解,而对其不起任何限定作用。
23.本发明对现有的反爬虫技术从网络层和应用层两个方面提出了脆弱性分析技术。针对网络层面的音频数据反爬虫技术如:user_agent检测、访问频率限制,本发明在发送采集请求时会替换采集请求中的user_agent字段值以及采取代理转发的策略进行对反爬虫技术的绕过,从而分析现有的音频数据反爬虫技术网络层面的脆弱点。针对应用层面的音频数据反爬虫技术如:采集目标推断。本发明通过进行对目标采集地址队列中加入无关地址的请求,从而进行对采集目标地址隐藏的目的,进而对现有的音频数据反爬虫技术应用层面的脆弱点进行测试。
24.具体的来说,在网络层面本发明利用了请求报文中的三个参数:remote_addr,http_via,http_x_forwarded_for。
25.(1)remote_addr;remote_addr表示客户端的ip,但是它的值不是由客户端提供的,而是服务器根据客户端的ip指定的。
26.(2)x-forwarded-for(xff);x-forwarded-for是一个http扩展头部,用来表示
http请求端真实ip。
27.(3)http_via;http_via是http协议里面的一个header,记录了一次http请求所经过的代理和网关。
28.在应用层面进行脆弱性分析时,本发明首先会解析请求返回结果,提取出待采集的目标地址,形成待采集目标地址列表之后通过随机算法插入一些无关的地址,使反爬虫技术无法精准定位本地请求的目标地址,从而隐藏爬虫自身的采集目的,进而揭示现有的音频数据反爬虫技术应用层面的脆弱点。
29.在本实施例中,针对音频数据反爬虫技术脆弱性分析方法的框架结构如图1所示,一般应用场景下,由请求报文生成系统生成本地报文,本地报文处理模块用于对本地报文进行处理。由应用层发出的报文请求经网络层发送至目标服务器,由目标服务器返回请求结果至应用层进行目标地址的解析,循环反复。
30.在本实施例的反爬虫技术脆弱性分析过程中,针对user_agent检测的反爬虫策略,本发明对本地报文通过改变本地请求头的方法直接改变目标开源数据网站收到的请求,进行脆弱性分析。
31.具体的,无论是浏览器还是爬虫程序,在向服务器发起网络请求的时候,在请求头文件中会存在关键字段:user_agent,网站可以根据这一字段对来自爬虫程序进行检测拦截,因此,本发明维护了一个由不同浏览器正常发出请求的user_agent请求池,在每次请求的过程中随机地从该请求池中采样单个user_agent替换数据包中的user_agent。
32.针对访问频率控制检测策略,本发明通过第三方代理向目标开源数据网站发送请求报文,由于目标服务器获取remote_addr、http_x_forwarded_for、http_via三个参数会发生改变,因此,对目标服务器实现了屏蔽,使其无法追溯到本地的请求节点。
33.具体的,反爬虫系统会对服务器上收到的请求的ip地址进行记录比对,在某一设定时间内该ip如果超过某一限定次数地访问了该服务器,反爬虫系统会做出判定,将该ip列入黑名单并在一段时间内禁止该ip进行访问。因此,本发明通过第三方代理节点作为中继节点向目标数据网站发送请求报文。本发明中维护了一个庞大的代理服务器节点池,在每次进行请求数据包的发送过程中,本发明通过修改请求包中的三个参数:remote_addr、http_x_forwarded_for、http_via,来完成由代理服务器转发的目的。
34.针对采集目标推断的反爬虫系统,本发明会维护一个无关的请求地址列表,通过随机算法从该列表中随机选择无关的请求地址将其插入至待采集目标地址队列中,这样做可以使得请求报文的目标呈无规律的状态,从而进行对采集目标地址隐藏的目的,进行应用层反爬虫系统脆弱性分析。
35.本实施例中,目标地址的解析采用本发明的现有技术,例如:
36.(i)首先采用lxml解析html,利用etree.html解析字符串,将字符串解析为html格式的文件,经过处理后,部分缺失的节点可以自动修复,并且还自动添加了body、html节点;
37.(ii)获取指定标签对应属性值的内容:使用xpath得到元素树对象,遍历元素树的节点,查到绝对路径下a标签属性等于”https:/.*?/”的内容;
38.(iii)通过正则表达式的懒惰匹配和贪婪匹配,精准定位到音频数据源所在文本信息,得到待采集的目标地址。
39.在本实施例中,音频数据反爬虫技术脆弱性分析系统的架构如图2所示,主要包括
网络层音频数据反爬虫技术脆弱性分析组件、应用层音频数据反爬虫技术脆弱性分析组件和反爬虫技术测试模块。
40.网络层音频数据反爬虫技术脆弱性分析组件主要包括代理服务器选择模块、user_agent请求池和原始请求报文处理模块。
41.其中,所述的代理服务器选择模块针对访问频率控制检测策略,从本地维护的代理服务器节点池中选择本地报文转发的代理服务器节点,可用于改变请求报文的remote_addr、http_x_forwarded_for、http_via三个参数。
42.所述的user_agent请求池模块存储了本地维护的由不同浏览器正常发出请求的user_agent请求。
43.所述的原始请求报文处理模块用于针对user_agent检测的反爬虫策略,从user_agent请求池模块中随机选择user_agent请求以替换原始本地报文中的user_agent,得到隐蔽性报文请求测试用例。
44.应用层音频数据反爬虫技术脆弱性分析组件主要包括随机目标选取模块、备用请求地址池和应用层请求报文处理模块。
45.其中,所述的随机目标选取模块针对采集目标推断反爬虫策略,随机从备用请求地址池中选取无关的请求地址。
46.所述的备用请求地址池存储了本地维护的与目标服务器无关的地址池。
47.所述的应用层请求报文处理模块用于将随机目标选取模块选取的无关请求地址插入到目标地址队列中,形成请求报文测试用例。
48.反爬虫技术测试模块用于获取由网络层音频数据脆弱性分析组件和应用层音频数据反爬虫系统脆弱性分析组件生成的请求报文测试用例,利用选中的第三方代理服务器和测试用例来测试反爬虫系统的响应,根据响应结果形成反爬虫技术脆弱性分析报告。
49.在本发明的一项具体实施中,针对音频数据反爬虫技术脆弱性分析方法流程如下:
50.首先,启动网络层反爬虫技术脆弱性分析,针对在网络层中捕获的原始报文请求,从user_agent请求池中随机选取一个请求,替换原始报文请求的user_agent字段值;从代理服务器节点池中选择用于转发修改user_agent字段值后的报文的代理服务器,将隐蔽性报文请求发送到目标服务器,进行网络层反爬虫技术脆弱性分析。
51.之后,在获取到请求返回的html文件后,解析目标地址,加入待采集目标地址列表中。启动应用层反爬虫技术脆弱性分析,在备选请求地址池中通过随机算法产生无关地址,随机插入到待采集目标地址列表中,最终形成请求报文测试用例,将请求报文测试用例发送至目标服务器,进行应用层反爬虫技术脆弱性分析。
52.在所述的网络层反爬虫技术脆弱性分析和应用层反爬虫技术脆弱性分析过程中,可以仅针对原始请求报文进行应用层测试,也可以仅针对原始请求报文进行网络层测试,也可以针对原始请求报文同时进行网络层和应用层测试。
53.例如,在一种可选的实施例中,如图3所示,启动网络层反爬虫脆弱性分析,选择第三方代理服务器;在网络层面中对报文进行数据包字段修改,得到隐蔽性报文请求;然后利用第三方代理服务器将隐蔽性报文请求发送到目标服务器,得到请求的返回结果,根据返回结果判断第三方代理服务器发送的隐蔽性报文请求是否被反爬虫系统检测到;若是,则
说明该测试用例没有检测出反爬虫系统存在网络层脆弱性;可继续返回代理服务器选择模块,重新选择第三方代理服务器,重复进行网络层脆弱性分析。若遍历所有的第三方代理服务器,发送的隐蔽性报文请求均被反爬虫系统检测到,则测试中的反爬虫系统不存在网络层脆弱性。一旦存在至少一个第三方代理服务器发送的隐蔽性报文请求未被反爬虫系统检测到,则测试中的反爬虫系统存在网络层脆弱性。
54.在上述的网络层脆弱性分析过程中,可选择性手动中断网络层检测并启动应用层检测,或者可以根据预设的规则自动中断网络层检测并启动应用层检测,预设的规则可以是当某一条测试用例绕过了针对网络层的反爬虫技术,第三方代理服务器发送的隐蔽性报文请求未被反爬虫系统检测到,则可以直接启动应用层检测。
55.在应用层反爬虫脆弱性分析过程中,采用随机算法在解析得到的待采集目标地址队列中加入无关的采集目标地址,形成请求报文测试用例,将请求报文测试用例发送至目标服务器,测试应用层的脆弱性;若加入了无关的采集目标地址后的请求收到了正确的返回结果,则说明该测试用例绕过了针对应用层的反爬虫技术,没有被系统检测到,测试中的反爬虫系统存在应用层脆弱性。
56.同理,在上述的应用层脆弱性分析过程中,可选择性手动中断检测,或者可以根据预设的规则自动中断检测,预设的规则可以是当至少一条测试用例绕过了针对应用层的反爬虫技术而没有被系统检测到,则可以自动结束检测。
57.本领域技术人员还可以在上述实施例中进行合理的修改,以上列举的仅是本发明的具体实施例。显然,本发明不限于以上实施例,还可以有许多变形。本领域的普通技术人员能从本发明公开的内容直接导出或联想到的所有变形,均应认为是本发明的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1