CN110297854B - 一种app域名核验方法与系统 - Google Patents

一种app域名核验方法与系统 Download PDF

Info

Publication number
CN110297854B
CN110297854B CN201910584861.1A CN201910584861A CN110297854B CN 110297854 B CN110297854 B CN 110297854B CN 201910584861 A CN201910584861 A CN 201910584861A CN 110297854 B CN110297854 B CN 110297854B
Authority
CN
China
Prior art keywords
app
domain name
data traffic
module
traffic packets
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910584861.1A
Other languages
English (en)
Other versions
CN110297854A (zh
Inventor
王海洋
李雪梅
刘大伟
王丽萍
徐健
张旋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yantai Branch Institute Of Computing Technology Chinese Academy Of Science
Original Assignee
Yantai Branch Institute Of Computing Technology Chinese Academy Of Science
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Yantai Branch Institute Of Computing Technology Chinese Academy Of Science filed Critical Yantai Branch Institute Of Computing Technology Chinese Academy Of Science
Priority to CN202010692910.6A priority Critical patent/CN111831709A/zh
Priority to CN201910584861.1A priority patent/CN110297854B/zh
Publication of CN110297854A publication Critical patent/CN110297854A/zh
Application granted granted Critical
Publication of CN110297854B publication Critical patent/CN110297854B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2462Approximate or statistical queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/955Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
    • G06F16/9566URL specific, e.g. using aliases, detecting broken or misspelled links

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Fuzzy Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明公开了一种APP域名核验方法,包括S1、获取待测APP所有操作产生的原始数据流量包;S2、以公共API知识库对原始数据流量包进行过滤,去除公共URL,获得剩余数据流量包;S3、对剩余数据流量包进行综合计算,对包括但不限于“URL请求次数”、“URL对应数据流量包的大小”、“URL与操作事件的对应关系”分别进行量化处理,归一化处理,再进行加权平均,获得一级域名对应的综合分值;S4、确定待测APP的实际域名,按照一级域名对应的综合分值进行从大到小排序;从序列中数值最大的一端开始,取至少1个一级域名设为APP的域名;S5、检验APP实际域名是否已进行备案;由此本发明可以确定并核验APP实际域名。本发明还公开了一种APP域名核验系统。

Description

一种APP域名核验方法与系统
技术领域
本发明涉及域名检测领域,尤其涉及一种APP域名核验方法与系统。
背景技术
随着科技的发展,智能手机已经成为现代社会不可或缺的工具,每一部手机上都存在着大量的APP,正是各类APP为用户的工作与生活提供了各种便利,但同时,也存在着诸多问题,例如:安卓程序恶意扣费或消耗流量套餐、窃取用户隐私资料、无提示联网下载软件等行为让人不齿,甚至有些APP涉及不雅内容影响青少年儿童的身心健康。
政府部门为了对互联网经营者进行有效监管,防止在互联网上从事非法的网站经营活动,打击不良互联网信息的传播,出台了域名备案的管理办法,可以理解为,进行了域名备案的APP都是正规可信任的;APP域名未备案或者备案不完整的,其提供的网络服务是存在潜在风险的。通过核验需要访问的域名是否已经备案,可以判断其是否可信任。
各类恶意扣费、消耗流量套餐、窃取用户隐私资料等的APP的域名普遍存在不进行备案或备案不完整的情况,若能对各APP的域名进行核验,就可以基本判定APP是否存在使用风险。但是通常的手段却无法完整查询。
目前几乎没有现成的域名核验方法,域名核验和域名检测本质上类似,但是现有域名检测方法大部分都是针对DGA(Domain GenerateAlgorithm,域名生成方法)域名,针对APP域名的核验方法几乎没有。
而针对DGA域名进行检测的方法也存在弊端,其主要是基于机器学习,构建分类器检测DGA域名,该类方法主要存在以下不足:
一是需要预先收集训练数据,即耗时耗力;
二是不在训练集中的DGA类型就不会被检测出来,即检测结果非常不准确。
该类方法无法应用于APP域名的核验。
为了保障用户使用APP的安全性,本发明提出了一种APP域名核验方法及系统,以获取APP实际使用的相关域名,并进一步核实该域名是否进行了备案,如果没有进行备案,那么该APP就是不可信的,提供的网络服务是存在潜在风险的。
发明内容
本发明所要解决的技术问题是:如何核验手机APP使用的相关域名。
为解决上述技术问题,本发明所采用的技术方案是:
一种APP域名核验方法,包括:
S1、获取待测APP所有操作产生的原始数据流量包;
S2、以公共API知识库对原始数据流量包进行过滤,去除公共URL,获得剩余数据流量包;
S3、对剩余数据流量包进行综合计算;
S4、确定待测APP的实际域名;
S5、检验步骤S4中获得的APP实际域名是否已进行备案;
所述步骤S3对剩余数据流量包进行综合计算,具体是指:
对数据流量包中包括但不限于“URL请求次数”、“URL对应数据流量包的大小”、“URL与操作事件的对应关系”分别进行量化处理,归一化处理,再进行加权平均,获得一级域名对应的综合分值;更具体的来说:
对URL以被访问次数进行统计,将含有相同“一级域名”的URL的被访问次数进行累加,然后归一化处理,得到一级域名对应的URL请求次数C;
对URL以对应的数据流量包大小进行统计,将含有相同“一级域名”的数据流量包的大小进行累加,然后归一化处理,得到一级域名对应的数据流量包大小B;
设置反映URL与操作事件的对应关系的“功能得分”,若点击行为1必然导致访问URL1,则URL1的功能得分+1,依次遍历所有点击行为,得到所有URL的功能得分,然后将含有相同一级域名的URL的功能得分进行累加,并进行归一化处理,得到一级域名对应的功能得分A;
以下式进行加权平均:
R=αA+βB+γC
其中R为一级域名对应的综合分值;A为一级域名对应的功能得分;B为一级域名对应的数据流量包大小;C为一级域名对应的URL请求次数;α、β、γ为系数,α+β+γ=1;
对获得的一级域名对应的综合分值进行从大到小的排序。
所述步骤S4确定待测APP的域名,具体是指将域名按照步骤S3中获得的一级域名对应的综合分值进行从大到小排序;从序列中数值最大的一端开始,取至少1个一级域名作为APP的实际域名;
也可以查看序列是否存在数据断层,取断层前的一级域名作为APP的实际域名,所述数据断层的判断标准如下:
将域名对应综合分值按照从大到小排序,得到x1、x2、x3……xn-1、xn,若出现:xn-1-xn>K,0<k<1,则判断xn-1和xn之间出现数据断层,取xn之前的一级域名为待测APP的实际域名。
在上述技术方案的基础上,本发明还可以做如下改进。
所述步骤S1获取待测APP所有操作产生的原始数据流量包,具体是指:
设置沙盒、自动安装卸载模块、控件识别模块、模拟点击模块,设置全局代理、临时数据库;
所述自动安装卸载模块用于在沙盒中自动安装和卸载待测APP;
所述控件识别模块用于获取待测APP的所有按钮;
所述模拟点击模块负责模拟用户操作,遍历待测APP的所有操作;
所述全局代理负责转发待测APP访问网络产生的所有数据流量包,并将转发的的所有数据流量包进行字段拆分并保存在所述临时数据库中;从而获取待测APP访问网络产生的所有原始数据流量包。
所述步骤S2中的公共API知识库,初始以人工阅读各大公司的API文档的方式整理成现有的公共API知识库,后续在处理2个以上app时,将任意两个不同APP中的原始数据流量包进行交叉比对,将其交集部分添加到现有的公共API知识库中,实现对现有的公共API知识库的更新;具体步骤如下:
S2-1、读取多个待测APP的数据流量包至数据集中,按APP名称分组;
S2-2、读取第一个APP的全部数据流量包;
S2-3、读取下一个APP的全部数据流量包;
S2-4、交叉比较步骤S2-2与步骤S2-3读取的数据流量包,得出URL的交集,将该交集保存到现有的公共API知识库;
S2-5、判断数据集中是否还有未被比较的APP;
若有,跳至步骤S2-3;
否则,跳至步骤S2-6;
S2-6、从数据集中删除第一个APP的所有数据流量包;
S2-7、判断数据集中是否还有APP数据流量包;
若有,跳至步骤S2-2;
否则,跳至步骤S2-8;
S2-8、对公共API知识库进行去重处理;
S2-9、查询备案信息,确认公共API知识库新增URL的所有者;
S2-10、对公共API知识库进行保存。
上述公共API知识库,只考虑域名,无视参数或文件差异。
与现有技术相比,本发明具有如下技术效果:
本系统提供了一种APP域名核验方法,可以获得APP的真实域名,并核验是否备案。
本发明还公开了一种APP域名核验系统,包括:公共API知识库模块;沙盒模块;自动安装卸载模块、控件识别模块、模拟点击模块、全局代理模块;临时数据库模块;综合分析模块;域名核验模块;
所述公共API知识库模块储存有公共API组件;
所述沙盒模块为待测APP提供纯净的操作环境,避免数据污染;
所述待测APP有所述自动安装卸载模块在所述沙盒模块内安装或卸载,
所述待测APP通过所述全局代理模块访问互联网;
所述控件识别模块用于获取待测APP所有的按钮;
所述模拟点击模块用于模拟人员的操作,遍历待测APP所有的操作;
所述全局代理模块负责转发待测APP访问网络产生的所有数据流量包,对转发的所有数据流量包的字段进行拆分,并储存在所述临时数据库模块内;
所述综合分析模块负责对临时数据库模块中储存的数据流量包进行综合分析,以包括但不限于“URL请求次数”、“URL对应数据流量包的大小”、“URL与操作事件之间的关系”为特征,分别进行量化、归一化及加权平均处理,获得的一级域名对应的综合分值,对所述一级域名对应的综合分值进行从大到小的排序,从最大值开始,取序列中至少1个一级域名作为待测APP的实际域名;
所述域名核验模块,通过查询待测APP的域名是否备案,完成核验工作。
进一步地,所述沙盒模块为安卓手机;所述自动安装卸载模块通过安卓调试桥实现;所述控件识别模块和所述模拟点击模块均通过APPIUM实现;所述全局代理模块采用AnyProxy实现。
与现有技术相比,本发明具有如下技术效果:
本系统提供了一种APP域名核验系统,可以获得APP的真实域名,并核验是否备案。
附图说明
图1为本发明的APP域名核验方法流程图;
图2为本发明的APP域名核验方法中建立公共API知识库的流程图;
图3为本发明的APP域名核验系统结构框图;
图4为本发明确定操作事件与URL关系时的数据混合排序效果;
在附图中,各标号所表示的部件名称列表如下:
S1、获取待测APP所有操作产生的原始数据流量包;
S2、以公共API知识库对原始数据流量包进行过滤;
S3、对剩余数据流量包进行综合计算;
S4、确定待测APP的实际域名;
S5、检验APP的实际域名是否已进行备案;
S2-1、读取多个待测APP的数据流量包至数据集中,按APP名称分组;
S2-2、读取第一个APP的全部数据流量包;
S2-3、读取下一个APP的全部数据流量包;
S2-4、交叉比较步骤S2-2与步骤S2-3读取的数据流量包中URL的交集,记入公共API组件;
S2-5、判断数据集中是否还有未被比较的APP;
S2-6、从数据集中删除第一个APP的所有数据流量包;
S2-7、判断数据集中是否还有APP数据流量包;
S2-8、对公共API知识库进行去重处理;
S2-9、查询备案信息,确认公共API知识库新增URL的所有者;
S2-10、对公共API知识库进行保存;
1、模拟点击模块;
2、沙盒模块;
3、自动安装卸载模块;
4、全局代理模块;
5、控件识别模块;
6、临时数据库模块;
7、公共API知识库模块;
8、综合分析模块;
9、域名核验模块。
具体实施方式
以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
本发明的核心思路是通过在沙盒环境下,模拟APP的用户操作,并设置全局代理来抓取APP产生的数据流量包。经代理抓取到的数据流量包会暂时存储到临时数据库中,将被测APP的数据流量包经过公共API知识库的过滤、数据流量包分析、组合使用相关权重的方法进行综合计算等流程后,生成APP与域名的对应关系,之后再利用权威网站(例如:工业和信息化部ICP/IP地址/域名信息备案管理系统)查看该域名是否进行备案,如果能查到,就证明该域名进行了备案,如果没有查到,就证明该域名未进行备案。
请参考图1-图2所示,一种APP域名核验方法,包括:
S1、获取待测APP所有操作产生的原始数据流量包;
具体是指:设置沙盒、自动安装卸载模块、控件识别模块、模拟点击模块,设置全局代理、临时数据库;
为了保证在抓包分析过程中数据流量包的纯净,需要一个安卓模拟器或安卓手机作为沙盒,本实施例中我们使用“海马玩模拟器”。若使用安卓实体机,则需要卸载所有存在联网可能的预装APP,或关闭其他APP的联网权限。
虽然拥有沙盒环境,但是APP要有“用户”操作才会发出请求,因此在测试的时候需要模拟用户操作;
所述自动安装卸载模块用于在沙盒中自动安装和卸载待测APP;自动安装采用adb(Android Debug Bridge,安卓调试桥)实现,在安装adb之后,编写控制代码调用现成的adb命令即可实现apk的自动化安装和卸载。
所述控件识别模块用于获取待测APP的所有按钮;采用APPIUM实现,APPIUM是一个开源、跨平台的自动化测试工具,用于测试原生和轻量移动应用,支持iOS、Android和FirefoxOS平台;通过调用APPIUM的getPageSource方法既可以获取到APP的布局XML文件,然后经过分析和筛选,便可找出APP所有的按钮。
所述模拟点击模块负责模拟用户操作,所述模拟点击模块也是采用APPIUM来实现的,根据获取的控件的“text”属性值或者“content-desc”属性值,配合安卓系统的“返回”按键,实现对APP操作的完整遍历;每一次操作的相关信息都会被保存到操作日志表中。同类操作会连续进行多次,以便后续分析过程中,能更加准确的确认操作所对应的URL。
所述全局代理负责转发待测APP访问网络产生的所有数据流量包,并将转发的所有数据流量包进行字段拆分并保存在所述临时数据库中;从而获取待测APP访问网络产生的所有原始数据流量包。本实施例中,抓包主要利用AnyProxy软件,通过重构beforeSendRequest、beforeSendResponse与beforeDealHttpRequest方法,在数据流量包转发之前,对其字段进行拆分和保存(并不影响数据流量包的正常转发),最终实现“抓包”操作。具体步骤如下:
(1)启动AnyProxy代理;
(2)在沙盒中设置全局代理为AnyProxy;
(3)然后下载AnyProxy的ca证书(用于解析https的请求)并在沙盒中添加信任;
(4)连接代理后确保未进行任何操作的情况下AnyProxy抓不到任何数据流量包,证明沙盒的纯净性。
(5)对所有APP逐一进行测试,当一个APP完成后,必须卸载,防止污染后续的数据。
在保存数据流量包时,所有的点击行为均会被保存,主要包含但不限于APP名称(或其他能够唯一标识APP的属性)、请求的URL、数据流量包类型(request/response)、数据流量包大小等。
AnyProxy是阿里巴巴基于Node.js开发的一款开源代理服务器。它支持https明文代理,且提供了Web界面便于观测请求情况,同时支持二次开发,可以用JavaScript来控制代理的全部流程。
S2、以公共API知识库对原始数据流量包进行过滤,去除公共URL,获得剩余数据流量包;
初始以人工阅读各大公司的API文档的方式整理成现有的公共API知识库,后续在处理2个以上app时,将任意两个不同APP中的原始的数据流量包进行交叉比对,将其交集部分添加到现有的公共API知识库中,实现对现有的公共API知识库的更新;,利用数据流量包进行交叉比对的核心思想是:“如果同一个URL出现在不同所有者(公司)的不同APP中,即可视为一个公共的API组件”;请参考图2所示,采用不同APP的数据流量包进行交叉比对的具体方法如下:
S2-1、读取多个待测APP的数据流量包至数据集中,按APP名称分组;
S2-2、读取第一个APP的全部数据流量包;
S2-3、读取下一个APP的全部数据流量包;
S2-4、交叉比较步骤S2-2与步骤S2-3读取的数据流量包,得到URL的交集,并将该交集保存到公共API知识库;
S2-5、判断数据集中是否还有未被比较的APP;
若有,跳至步骤S2-3;
否则,跳至步骤S2-6;
S2-6、从数据集中删除第一个APP的所有数据流量包;
S2-7、判断数据集中是否还有APP数据流量包;
若有,跳至步骤S2-2;
否则,跳至步骤S2-8;
S2-8、对公共API知识库进行去重处理;
S2-9、查询备案信息,确认公共API知识库新增URL的所有者;
S2-10、对公共API知识库进行保存。
S3、对剩余数据流量包进行综合计算;
具体是指:
对包括但不限于“URL请求次数”、“URL对应数据流量包的大小”、“URL与操作事件的对应关系”分别进行量化处理,归一化处理,再进行加权平均,获得一级域名对应的综合分值;
APP的数据流量包特征大致可分为影视类、新闻类、工具类、地图类等,无需联网的离线工具APP不在考虑范围内。
在上述分类中,影视类APP的数据流量包呈现出几种特征:
(1)URL请求次数较少,但数据流量包长度特别大;
(2)URL请求次数较多,但数据流量包长度特别小;
(3)URL在其他同类或非同类APP中同样存在。
上述特征中,
第(1)种可以判断为实时音视频的缓存数据,
第(2)种可能是视频网站的贴图或弹窗广告,
第(3)种是其他公司的API,如支付宝或者定位服务等。
其中第(2)种和第(3)种特征通常出现在同一数据流量包中。
新闻类APP是指以文本或图片为主的APP,例如“IT之家”、“知乎日报”等,该类APP的数据流量包没有或较少缓存数据,其数据特征呈现为请求数量特别多,但单个数据流量包的长度较小,且数据流量包中包含较多图片资源的请求。
工具类和地图类APP介于新闻和影视二者之间,在数量和长度上没有特别明显的特征,此外包含较多第三方的API。
综上,数据流量包中的URL的请求次数和数据流量包的长度可以作为判断APP域名的依据。
更具体的来说:
对URL以被访问次数进行统计,将含有相同“一级域名”的URL的被访问次数进行累加,然后归一化处理,得到一级域名对应的URL请求次数C;
对URL以对应的数据流量包大小进行统计,将含有相同“一级域名”的数据流量包的大小进行累加,然后归一化处理,得到一级域名对应的数据流量包大小B;
设置反映操作事件与URL关系的“功能得分”。
因为在寻找APP主要域名的过程中,跟具体操作有直接关系的URL更有可能是该APP的主要域名,因此在进行综合计算的时候,将该因素考虑在内。
在进行模拟点击时,所有的点击行为均会被保存,同时,抓取到的数据流量包也会根据获取时间进行排序。因此,首先对点击行为表与数据流量包表进行混合,并根据时间进行正序排序。得到的混合排序效果如图4所示;
若点击行为1必然导致访问URL1,则URL1的功能得分+1,若对于相同顶级域名但二级域名和接口不同的网址(如mail.int-yt.com和introduction.int-yt.com/abc),如果两个网址分别绑定了不同的点击行为,则对该顶级域名(int-yt.com)的功能得分再+1,依次类推,遍历所有点击行为,得到所有URL的功能得分。然后将含有相同一级域名的URL的功能得分进行累加,并进行归一化处理,得到一级域名对应的功能得分A;
以下式进行加权平均:
R=αA+βB+γC
其中R为一级域名对应的综合分值;A为一级域名对应的功能得分;B为一级域名对应的数据流量包大小;C为一级域名对应的URL请求次数;α、β、γ为系数,α+β+γ=1;
对获得的一级域名对应的综合分值进行从大到小的排序。
S4、确定待测APP的实际域名;
具体是指将URL按照步骤S3中获得的一级域名对应的综合分值进行从大到小排序;从序列中数值最大的一端开始,取序列中至少1个一级域名设为APP的实际域名;也可以查看序列是否存在数据断层,取断层前的一级域名作为APP的实际域名,所述数据断层的判断标准如下:
将域名对应综合分值按照从大到小排序,得到x1、x2、x3……xn-1、xn,若出现:xn-1-xn>K,0<k<1,则判断xn-1和xn之间出现数据断层,取xn之前的一级域名为待测APP的实际域名。
本实施例提到的方法仅为举例而非限制,实际工作中,技术人员可以根据需求相应选择。
本实施例针对13个APP进行抓包,每个APP在不登录的情况下遍历所有可用功能,最终抓取数据流量包38229个,每个APP分别根据数据流量包的数量、数据流量包的大小、功能得分进行排序。排序原则只考虑一级域名,忽略变量及文件差异(如http://www.new.baidu.com/s?wd=INTYT只考虑baidu.com)。在排序后,根据数据出现断层的情况,截取前几位作为最终结果。
·按照一级域名对应的URL请求次数确定APP域名:
共获得32个一级域名,正确23个,准确率71.88%,召回率79.31%;
·按照一级域名对应的数据流量包大小确定APP域名:
共获得27个一级域名,正确24个,准确率88.89%,召回率82.76%。
·按照一级域名对应的功能得分确定APP域名:
共获得28个一级域名,正确25个,准确率89.29%,召回率86.21%。
·按照一级域名对应的综合分值确定APP域名:
取α=0.5,β=0.3,γ=0.2,K取0.5,共获得30个一级域名,正确27个,准确率90.00%,召回率93.10%。
上述准确率=“获得的正确的域名个数”/“获得的域名个数”;
上述召回率=“获得的正确域名的个数”/“APP实际域名的个数”;
可见采用一级域名对应的综合分值确定APP域名效果是最佳的。
请注意,由于现在的APP涉及到众多的域名,本实施例中,对上述验证结果的“准确率、召回率”的计算,是基于同一个确定的域名列表,此确定的域名列表是本领域技术人员综合考虑域名名称、APP名称、APP所有者(公司)等信息,人工逐个查阅确认的。
S5、检验步骤S4中获得的APP实际域名是否已进行备案;
此步通过跟工业和信息化部ICP/IP地址/域名信息备案管理系统进行核对,确认APP实际域名是否进行了备案。
与现有技术相比,本发明具有如下技术效果:
本系统提供了一种APP域名核验方法,可以获得APP的真实域名,并核验是否备案。
本发明还公开了一种APP域名核验系统,如图3所示,包括:模拟点击模块1、沙盒模块2、自动安装卸载模块3、全局代理模块4、控件识别模块5、临时数据库模块6、公共API知识库模块7、综合分析模块8、域名核验模块9;
所述公共API知识库模块储存有公共API组件;
所述沙盒模块为待测APP提供纯净的操作环境,避免数据污染;
所述待测APP有所述自动安装卸载模块在所述沙盒模块内安装或卸载,
所述待测APP通过所述全局代理模块访问互联网;
所述控件识别模块用于获取待测APP所有的按钮;
所述模拟点击模块用于模拟人员的操作,遍历待测APP所有的操作;
所述全局代理模块负责转发待测APP访问网络产生的所有数据流量包,对转发的所有数据流量包的字段进行拆分,并储存在所述临时数据库模块内;
所述综合分析模块负责对临时数据库模块中储存的数据流量包进行综合分析,以包括但不限于“URL请求次数”、“URL对应数据流量包的大小”、“URL与操作事件之间的关系”为特征,分别进行量化、归一化及加权平均处理,获得的一级域名对应的综合分值,对所述一级域名对应的综合分值进行从大到小的排序,从最大值开始,取序列中至少1个一级域名作为待测APP的实际域名;
所述域名核验模块,通过查询待测APP的域名是否备案,完成核验工作。
进一步地,所述沙盒模块为安卓手机;所述自动安装卸载模块通过安卓调试桥实现;所述控件识别模块和所述模拟点击模块均通过APPIUM实现;所述全局代理模块采用AnyProxy实现。
与现有技术相比,本发明具有如下技术效果:
本系统提供了一种APP域名核验系统,可以获得APP的真实域名,并核验是否备案。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (8)

1.一种APP域名核验方法,其特征在于,包括以下步骤:
S1、获取待测APP所有操作产生的原始数据流量包;
S2、以公共API知识库对原始数据流量包进行过滤,去除公共URL,获得剩余数据流量包;
S3、对剩余数据流量包进行综合计算;
S4、确定待测APP的实际域名;
S5、检验APP的实际域名是否已进行备案;
所述公共API知识库,只考虑域名,无视参数或文件差异;
所述步骤S3对剩余数据流量包进行综合计算,具体是指:
对数据流量包中包括但不限于“URL请求次数”、“URL对应数据流量包的大小”、“URL与操作事件的对应关系”分别进行量化处理,归一化处理,再进行加权平均,获得一级域名对应的综合分值;
所述步骤S4确定待测APP的域名,具体是指将域名按照步骤S3中获得的一级域名对应的综合分值进行从大到小排序;从序列中数值最大的一端开始,取至少1个一级域名作为APP的实际域名。
2.根据权利要求1所述的APP域名核验方法,其特征在于,所述步骤S1获取待测APP所有操作产生的原始数据流量包,具体是指:
设置沙盒、自动安装卸载模块、控件识别模块、模拟点击模块、全局代理、临时数据库;
所述自动安装卸载模块用于在沙盒中自动安装和卸载待测APP;
所述控件识别模块用于获取待测APP的所有按钮;
所述模拟点击模块负责模拟用户操作,遍历待测APP的所有操作;
所述全局代理负责转发待测APP访问网络产生的所有数据流量包,并将转发的的所有数据流量包进行字段拆分并保存在所述临时数据库中。
3.根据权利要求1所述的APP域名核验方法,其特征在于,所述步骤S2中的公共API知识库,初始以人工阅读各大公司的API文档的方式整理成现有的公共API知识库,后续在处理2个以上app时,将任意两个不同APP中的原始数据流量包进行交叉比对,将其交集部分添加到现有的公共API知识库中,实现对现有的公共API知识库的更新;包括以下步骤:
S2-1、读取多个待测APP的数据流量包至数据集中,按APP名称分组;
S2-2、读取第一个APP的全部数据流量包;
S2-3、读取下一个APP的全部数据流量包;
S2-4、交叉比较步骤S2-2与步骤S2-3读取的数据流量包,得出URL的交集,将该交集保存到现有的公共API知识库;
S2-5、判断数据集中是否还有未被比较的APP;
若有,跳至步骤S2-3;
否则,跳至步骤S2-6;
S2-6、从数据集中删除第一个APP的所有数据流量包;
S2-7、判断数据集中是否还有APP数据流量包;
若有,跳至步骤S2-2;
否则,跳至步骤S2-8;
S2-8、对公共API知识库进行去重处理;
S2-9、查询备案信息,确认公共API知识库新增URL的所有者;
S2-10、对公共API知识库进行保存。
4.如权利要求1所述的APP域名核验方法,其特征在于,所述步骤S3对剩余数据流量包进行综合计算,具体是指:
对URL以被访问次数进行统计,将含有相同一级域名的URL的被访问次数进行累加,然后归一化处理,得到一级域名对应的URL请求次数C;
对URL以对应的数据流量包大小进行统计,将含有相同一级域名的数据流量包的大小进行累加,然后归一化处理,得到一级域名对应的数据流量包大小B;
设置反映操作事件与URL关系的“URL功能得分”,若点击行为1必然导致访问URL1,则URL1的功能得分+1,依次遍历所有点击行为,得到所有URL的功能得分,然后将含有相同一级域名的URL的功能得分进行累加,并进行归一化处理,得到一级域名对应的功能得分A;
以下式进行加权平均:
R=αA+βB+γC
其中R为一级域名对应的综合分值;A为一级域名对应的功能得分;B为一级域名对应的数据流量包大小;C为一级域名对应的URL请求次数;α、β、γ为系数,α+β+γ=1;
对获得的一级域名对应的综合分值进行从大到小的排序。
5.如权利要求4所述的APP域名核验方法,其特征在于,所述α=0.5,β=0.3,γ=0.2。
6.如权利要求1-5任一项所述的APP域名核验方法,其特征在于,步骤S4确定待测APP的实际域名,具体为:
确认步骤S3中获得的一级域名对应的综合分值序列中的数据断层,取数据断层前的一级域名为待测APP的实际域名;
所述数据断层的判断标准如下:
将一级域名对应的综合分值按照从大到小排序,得到x1、x2、x3……xn-1、xn,若出现:xn-1-xn>K,0<k<1,则判断xn-1和xn之间出现数据断层,取xn之前的一级域名为待测APP的实际域名。
7.一种APP域名核验系统,其特征在于,包括:公共API知识库模块;沙盒模块;自动安装卸载模块、控件识别模块、模拟点击模块、全局代理模块;临时数据库模块;综合分析模块;域名核验模块;
所述公共API知识库模块储存有公共API组件;
所述沙盒模块为待测APP提供纯净的操作环境,避免数据污染;
所述待测APP有所述自动安装卸载模块,在所述沙盒模块内安装或卸载,所述待测APP通过所述全局代理模块访问互联网;
所述控件识别模块用于获取待测APP所有的按钮;
所述模拟点击模块用于模拟人员的操作,遍历待测APP所有的操作;
所述全局代理模块负责转发待测APP访问网络产生的所有数据流量包,对转发的所有数据流量包的字段进行拆分,并储存在所述临时数据库模块内;
所述综合分析模块负责对临时数据库模块中储存的数据流量包进行综合分析,以包括但不限于“URL请求次数”、“URL对应数据流量包的大小”、“URL与操作事件之间的关系”为特征,分别进行量化、归一化及加权平均处理,获得的一级域名对应的综合分值,对所述一级域名对应的综合分值进行从大到小的排序,从最大值开始,取序列中至少1个一级域名作为待测APP的实际域名;
所述域名核验模块,通过查询待测APP的域名是否备案,完成核验工作。
8.如权利要求7所述的APP域名核验系统,其特征在于,所述:沙盒模块为安卓手机;所述自动安装卸载模块通过安卓调试桥实现;所述控件识别模块和所述模拟点击模块均通过APPIUM实现;所述全局代理模块采用AnyProxy实现。
CN201910584861.1A 2019-07-01 2019-07-01 一种app域名核验方法与系统 Active CN110297854B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202010692910.6A CN111831709A (zh) 2019-07-01 2019-07-01 一种app域名核验方法
CN201910584861.1A CN110297854B (zh) 2019-07-01 2019-07-01 一种app域名核验方法与系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910584861.1A CN110297854B (zh) 2019-07-01 2019-07-01 一种app域名核验方法与系统

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202010692910.6A Division CN111831709A (zh) 2019-07-01 2019-07-01 一种app域名核验方法

Publications (2)

Publication Number Publication Date
CN110297854A CN110297854A (zh) 2019-10-01
CN110297854B true CN110297854B (zh) 2020-07-07

Family

ID=68029727

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202010692910.6A Withdrawn CN111831709A (zh) 2019-07-01 2019-07-01 一种app域名核验方法
CN201910584861.1A Active CN110297854B (zh) 2019-07-01 2019-07-01 一种app域名核验方法与系统

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN202010692910.6A Withdrawn CN111831709A (zh) 2019-07-01 2019-07-01 一种app域名核验方法

Country Status (1)

Country Link
CN (2) CN111831709A (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111414304A (zh) * 2020-03-18 2020-07-14 北京京安佳新技术有限公司 一种app特征识别方法和设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103297435A (zh) * 2013-06-06 2013-09-11 中国科学院信息工程研究所 一种基于web日志的异常访问行为检测方法与系统
CN105072089A (zh) * 2015-07-10 2015-11-18 中国科学院信息工程研究所 一种web恶意扫描行为异常检测方法与系统
CN107027143A (zh) * 2016-01-29 2017-08-08 中国移动通信集团贵州有限公司 一种信息获取方法和装置
CN109617762A (zh) * 2018-12-14 2019-04-12 南京财经大学 一种利用网络流量识别移动应用的方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107172176B (zh) * 2017-06-02 2019-08-02 美味不用等(上海)信息科技股份有限公司 基于配置管理的app网络连接方法、设备及配置服务器
CN107222369A (zh) * 2017-07-07 2017-09-29 北京小米移动软件有限公司 应用程序的识别方法、装置、交换装置和存储介质
CN109241388A (zh) * 2018-08-28 2019-01-18 广州品唯软件有限公司 一种应用程序接口行为分析方法和系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103297435A (zh) * 2013-06-06 2013-09-11 中国科学院信息工程研究所 一种基于web日志的异常访问行为检测方法与系统
CN105072089A (zh) * 2015-07-10 2015-11-18 中国科学院信息工程研究所 一种web恶意扫描行为异常检测方法与系统
CN107027143A (zh) * 2016-01-29 2017-08-08 中国移动通信集团贵州有限公司 一种信息获取方法和装置
CN109617762A (zh) * 2018-12-14 2019-04-12 南京财经大学 一种利用网络流量识别移动应用的方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
"基于大数据的网络安全态势感知平台在专网领域的应用";包利军;《信息安全研究》;20190228;第3.1.2节 *
"基于网络流量的Android恶意应用识别方法研究";王闪闪;《中国优秀硕士学位论文全文数据库 信息科技辑》;20190215;论文正文第3章、第4章 *
"安卓恶意软件动态检测系统的研究与实现";李代琛;《中国优秀硕士学位论文全文数据库 信息科技辑》;20180415;论文正文第2章-第4章 *

Also Published As

Publication number Publication date
CN111831709A (zh) 2020-10-27
CN110297854A (zh) 2019-10-01

Similar Documents

Publication Publication Date Title
US20210382949A1 (en) Systems and methods for web content inspection
US10489283B2 (en) Software defect reporting
CN105187394B (zh) 具有移动终端恶意软件行为检测能力的代理服务器及方法
CN106326108B (zh) 一种新应用的测试方法及装置
US8621613B1 (en) Detecting malware in content items
CN113489713B (zh) 网络攻击的检测方法、装置、设备及存储介质
US10686821B2 (en) Analysis of mobile applications
CN110782374A (zh) 基于区块链的电子取证方法及系统
CN107944270B (zh) 一种可验证的安卓恶意软件检测系统及方法
CN107171894A (zh) 终端设备、分布式云端检测系统以及样本检测的方法
CN113158251B (zh) 应用程序隐私泄露检测方法、系统、终端及介质
US10129278B2 (en) Detecting malware in content items
CN106778264A (zh) 一种移动客户端的应用程序分析方法及分析系统
CN113448834A (zh) 埋点测试方法、装置、电子设备及存储介质
CN110287700B (zh) 一种iOS应用安全分析方法及装置
WO2022062958A1 (zh) 隐私检测方法及装置、计算机可存储介质
CN110297854B (zh) 一种app域名核验方法与系统
EP2973192A1 (en) Online privacy management
CN112433936A (zh) 测试方法、装置及存储介质
Mostafa et al. Netdroid: Summarizing network behavior of android apps for network code maintenance
CN113031995B (zh) 一种更新规则的方法、装置、存储介质以及电子设备
CN111241547A (zh) 一种越权漏洞的检测方法、装置及系统
CN108847962B (zh) 一种信息审计方法及装置
CN112671615A (zh) 前端用户操作行为数据的收集方法、系统及存储介质
CN117241276B (zh) 一种面向移动应用的检测工具及检测方法、系统及设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant