当前位置: 首页 > 专利查询>南京大学专利>正文

一种移动应用中定位数据真伪辨别的方法和系统技术方案

技术编号:29412696 阅读:24 留言:0更新日期:2021-07-23 22:54
本发明专利技术公开一种移动应用中定位数据真伪辨别的方法和系统,首先从数据库中找出与用户上传定位距离较近的历史上传数据;对于每份历史数据,再在数据库中查询与它距离在一定范围内的其它历史数据并统计它们共同接收到的WiFi信号的信号强度,结合它们距离关系赋予权重计算出在这份历史数据包含的GPS坐标位置处这些WiFi信号强度的概率分布;对于上传数据,根据其中每个WiFi信号的强度去这些历史数据中统计对应的概率,并结合与这些历史数据的距离最终得到一份特征向量;将特征向量用于XGBoost模型进行训练与预测,对真伪数据的辨别取得了较好的效果。本发明专利技术中使用的数据很难被伪造,并且对重放数据能进行识别。

【技术实现步骤摘要】
一种移动应用中定位数据真伪辨别的方法和系统
本专利技术涉及一种为移动应用中用户上传的地理位置的真实性进行判别的方法和系统,属于网络安全

技术介绍
基于地理位置提供服务(LBS)的移动应用如今越来越普遍,其中有一些应用会根据用户所处在位置的核验进行授权或者发放奖励,导致会有一些用户通过修改自己的定位来绕过对这些核验,常见的诸如线上的考勤打卡功能、增强现实(AR)手机游戏以及地理围栏功能等。这类用户的定位作弊行为会为应用运行带来损失。针对这种攻击,人们提出的防御方法主要有基于与特定设备的通信、基于附近用户提供的证明、基于环境信号和基于本地设备上的攻击行为检测四类方案。因为前两类方案中的假设性较强在现实中难以复刻,目前移动应用里一般使用后两种方案来辨别用户定位数据的真假。基于环境信号的检测方法一般将WiFi信号信息、Cell基站信息等数据与GPS数据一同上传,服务商通过与数据库中的历史数据比对来判断GPS数据的真实性。但这种方法存在缺陷,虽然用户无法直接获知某一区域的WiFi与Cell信息,但通过使用历史真实数据重放并添加随机噪声的方式仍然可以绕过这类方法的识别。基于本地设备上攻击行为的检测方案一般会检查设备是否被root,并且还会通过获取设备的应用安装列表来检查是否有一些黑名单中的工具软件。除此以外,还有检查应用代码的调用栈、应用中方法的签名是否被修改等手段来识别一些已知的修改数据手段。这类检测方法同样面临问题,一旦获取上述信息的手段被攻击者知悉,攻击者可以通过修改相关系统接口的返回值使服务提供方获取到错误的凭据,从而绕过这一类检测。因此,现有的防御检测方法都存在一些缺陷,需要加入一种新的方法来检测用户在使用应用时上传位置数据的真实性。相关知识:WiFi指纹:WiFi指纹在移动应用中一般是由WiFi信号的接收强度值(RSS)构成的向量,用于描述一个地点的WiFi信息。因为RSS受到与WiFi路由器距离的影响,一般而言一份WiFi指纹与该区域中的具体位置有一一对应的关系。XGBoost:XGBoost是基于梯度上升决策树(GBDT)的工程实现,本身为一款开源软件。它使用一些可选的基分类器集成去拟合特征向量与目标类表的映射关系,在迭代中不断让后面的基分类器去拟合前面基分类器的分类结果与目标结果的差值,最后所有基分类器的结果构成了特征向量预测属于各类别的概率。
技术实现思路
专利技术目的:针对现有技术中存在的问题与不足,本专利技术提供一种移动应用中定位数据真伪辨别的方法和系统。假设所有获取到的数据都可能遭到了攻击者的篡改,并在此基础上对数据进行特征计算来加以校验,希望发现数据是否为真实的数据,使用的特征对添加随机噪声的重放类攻击具有很强的针对性。如果一名攻击者随意编造或是重放与当前定位相同的历史WiFi指纹数据,通过比对数据库即可识别数据真伪;倘若攻击者进一步地为重放的数据添加了随机的小数值的噪声,通过本专利技术的方法和系统将可以识别出这类伪造数据。技术方案:一种基于WiFi信息的移动应用中定位数据真伪辨别的方法,包括如下步骤:步骤1,从包含GPS数据与WiFi指纹数据的历史数据集中抽取一部分数据作为基准数据,并为所有基准数据计算RSS概率分布;对于每一份待计算的基准数据,执行如下步骤:101,找出所有与待计算基准数据的定位坐标距离在设定范围内的其它基准数据;102,统计同一WiFi信号在各基准数据中的RSS值;所述各基准数据指的是101中的待计算基准数据和其他基准数据;103,根据待计算基准数据与设定范围内的其它基准数据的距离,结合赋予待计算基准数据自身的权重,计算每个WiFi信号在待计算基准数据所对应位置可能被观测到不同RSS值的概率。步骤2,从步骤1中提到的历史数据集中没有作为基准数据的历史数据里选取一部分数据作为训练数据,并进行特征计算;对于每一份待计算特征的训练数据,执行如下步骤:201,找出所有与待计算训练数据的定位坐标距离在设定范围内的基准数据;202,统计201中基准数据中各WiFi信号的RSS值与待计算训练数据的RSS值相同的概率;203,选取训练数据中每个WiFi的RSS值、训练数据定位与基准数据中位置的距离、每一基准数据中取训练数据中WiFi的RSS值的概率作为训练数据特征。步骤3,模型训练,执行如下步骤:301,随机挑选一半的真实WiFi+GPS轨迹数据进行伪造,伪造结果作为负样本;302,正负样本计算出的特征向量输入到XGBoost中训练,得到分类器模型。步骤4,用户在上传定位进行证明时,服务器收集这一定位以及发送证明请求之前上传的定位与WiFi数据,组成待判别轨迹;分析待判别轨迹是否为伪造轨迹,执行如下步骤:401,比对历史WiFi指纹数据库中同一区域的WiFi指纹和用户上传的WiFi指纹,判断用户上传数据是否为虚构数据。如果是虚构数据,则认为用户此次上传的定位数据为伪造数据,否则继续执行后续步骤。402,比对历史数据库判断WiFi指纹和GPS经纬度是否为重放数据;如果是虚构数据,则认为用户此次上传的定位数据为伪造数据,否则继续执行后续步骤。403,对待判别轨迹中每个点按照步骤2基于同样的基准数据计算出特征向量,使用分类器模型预测每个点伪造的概率、即每个轨迹点数据的可信度最终倘若轨迹中可信度低于阈值p的轨迹点的比例超过阈值t则认为轨迹数据为伪造数据,反之则认为用户上传的轨迹数据为真实数据。基准数据计算:假设对于一个位于位置l0的基准数据,位置l0点中某一个WiFi信号W的RSS值为r0,同时在以位置l0点为圆心、半径为R的圆形区域内,存在n0份其它的基准数据也观测到了W的RSS值为r0。而这个圆形区域中共有N个基准数据点中包含了W的RSS值,第i个点与位置l0的距离为di。对于某个信号强度观测值rssk(rssk与r0不相等),N个数据点里有nk个点的观测值为该值。设待计算基准数据本身的权重为w,其它基准数据的总权重为1-w,其中每个基准数据的局部权重为与待计算数据距离的倒数。那么,对于在位置l0观测到W的各个RSS值的概率可以由如下公式计算得到:对于基准数据集里所有的基准数据,其中每一个基准数据中的每一个WiFi信号,我们都按照上述步骤计算各个基准数据点中包含的每个WiFi信号的RSS值概率分布。训练数据特征计算:对于一份采集自位置l0的WiFi指纹(r1,r2,...,rn),选取距离l0最近的K份基准数据用于特征计算,设其中第j个基准数据的位置为lj,并用distance(li,lj)表示位置li到位置lj的距离。则特征向量的具体结构如下所示:feature=(rpd1,rpd2,…,rpdn)rpdi=(ri,pdii,pdi2,…,PdiK)pdij=(P(RSSi=ri|Location=lj),distance(l0,lj))模本文档来自技高网
...

【技术保护点】
1.一种基于WiFi信息的移动应用中定位数据真伪辨别的方法,其特征在于,包括如下步骤:/n步骤1,为所有基准数据计算RSS概率分布;/n步骤2,训练数据特征计算;对于每一份待计算特征的训练数据,执行如下步骤:/n201,找出所有与待计算训练数据的定位坐标距离在设定范围内的基准数据;/n202,统计201中基准数据中各WiFi信号的RSS值与待计算训练数据的RSS值相同的概率;/n203,选取训练数据中每个WiFi的RSS值、训练数据定位与基准数据中位置的距离、每一基准数据中取训练数据中WiFi的RSS值的概率作为训练数据特征作为训练数据特征;/n步骤3,模型训练,执行如下步骤:/n301,随机挑选部分真实WiFi+GPS轨迹数据进行伪造,伪造结果作为负样本;/n302,正负样本计算出的特征向量输入到XGBoost中训练,得到分类器模型;/n步骤4,用户在上传定位进行证明时,服务器收集这一定位以及发送证明请求之前上传的定位与WiFi数据,组成待判别轨迹;执行如下步骤:/n401,判断WiFi指纹是否为虚构数据;/n402,判断WiFi指纹和GPS经纬度是否为重放数据;/n403,计算出待判别轨迹中每个点基于基准数据的特征向量,使用分类器模型预测伪造的概率,最终综合各个点的结果判断轨迹是否为伪造数据。/n...

【技术特征摘要】
1.一种基于WiFi信息的移动应用中定位数据真伪辨别的方法,其特征在于,包括如下步骤:
步骤1,为所有基准数据计算RSS概率分布;
步骤2,训练数据特征计算;对于每一份待计算特征的训练数据,执行如下步骤:
201,找出所有与待计算训练数据的定位坐标距离在设定范围内的基准数据;
202,统计201中基准数据中各WiFi信号的RSS值与待计算训练数据的RSS值相同的概率;
203,选取训练数据中每个WiFi的RSS值、训练数据定位与基准数据中位置的距离、每一基准数据中取训练数据中WiFi的RSS值的概率作为训练数据特征作为训练数据特征;
步骤3,模型训练,执行如下步骤:
301,随机挑选部分真实WiFi+GPS轨迹数据进行伪造,伪造结果作为负样本;
302,正负样本计算出的特征向量输入到XGBoost中训练,得到分类器模型;
步骤4,用户在上传定位进行证明时,服务器收集这一定位以及发送证明请求之前上传的定位与WiFi数据,组成待判别轨迹;执行如下步骤:
401,判断WiFi指纹是否为虚构数据;
402,判断WiFi指纹和GPS经纬度是否为重放数据;
403,计算出待判别轨迹中每个点基于基准数据的特征向量,使用分类器模型预测伪造的概率,最终综合各个点的结果判断轨迹是否为伪造数据。


2.根据权利要求1所述的基于WiFi信息的移动应用中定位数据真伪辨别的方法,其特征在于,所述步骤1中,对于每一份待计算的基准数据,执行如下步骤:
101,找出所有与待计算基准数据的定位坐标距离在设定范围内的其它基准数据;
102,统计同一WiFi信号在各基准数据中的RSS值;
103,根据待计算数据与设定范围内的其它基准数据的距离,结合赋予待计算基准数据自身的权重,计算处于待计算数据的定位位置时对各个WiFi路由器接收到不同RSS值的概率。


3.根据权利要求1所述的基于WiFi信息的移动应用中定位数据真伪辨别的方法,其特征在于,选取一部分GPS+WiFi指纹的历史数据用于基准数据的计算,基准数据的作用是描述在某一个地点可以接收到每个WiFi信号的不同RSS值的概率,并用于后续为待预测的GPS+WiFi指纹数据计算特征向量。


4.根据权利要求1所述的基于WiFi信息的移动应用中定位数据真伪辨别的方法,其特征在于,所述步骤1中,设对于一个位于位置l0的基准数据,位置l0点中某一个WiFi信号W的RSS值为r0,同时在以位置l0点为圆心、半径为R的圆形区域内,存在n0份其它的基准数据也观测到了W的RSS值为r0;而这个圆形区域中共有N个数据点中包含了W的RSS值,第i个点与位置l0的距离为di;对于某个信号强度观测值rssk,N个数据点里有nk个点的观测值为该值;设待计算基准数据本身的权重为w,其它基准数据的总权重为1-w,其中每个基准数据的局部权重为与待计算数据距离的倒数;那么,对于在位置l0观测到W的各个RSS值的概率可以由如下公式计算得到:








5.根据权利要求1所述的基于WiFi信息的移动应用中定位数据真伪辨别的方法,其特征在于,所述步骤2中,对于一份采集自位置l0的WiFi指纹(r1,r2,...,rn),选取距离l0最近的K份基准数据用于特征计算,设其中第j个基准数据的位置为lj,并用distance(li,lj)表示位置li到位置lj的距离;则特征向量的具体结构如下所示:
feature=(rpd1,rpd2,…,rpdn)
rpdi=(ri,pdi1,pdi2,…,pdiK)
pdij=(P(RSSi=ri|Location=lj),distance(l0,lj))。


6...

【专利技术属性】
技术研发人员:夏中舟华景煜杨华明仲盛
申请(专利权)人:南京大学
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1