JT808车载终端模拟器反检测的方法转让专利

申请号 : CN201710234424.8

文献号 : CN107124327B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 高建秀陈栋许允波高云飞高山岳

申请人 : 千寻位置网络有限公司

摘要 :

一种JT808车载终端模拟器反检测的方法,包括以下步骤:步骤S1,参数获取模块解析模拟终端发送的报文中的参数特征,并将参数特征写入数据库中,输出到基于特征的自动学习模块;步骤S2,基于特征的自动学习模块通过自动学习算法,对识别出的参数特征进行权重计算,并将计算数据送入基于规则引擎的决策执行模块;步骤S3,基于规则引擎的决策执行模块基于规则引擎处理结果,根据规则对接收的数据进行处理。本发明解决了模拟终端的识别及控制的技术问题,从而防止终端模拟程序对JT808开放网关造成的恶意攻击,降低安全隐患。

权利要求 :

1.一种JT808车载终端模拟器反检测的方法,其特征在于,包括以下步骤:步骤S1,参数获取模块解析模拟终端发送的报文中的参数特征,并将参数特征写入数据库中,输出到基于特征的自动学习模块;

步骤S2,基于特征的自动学习模块通过自动学习算法,对识别出的参数特征进行权重计算,并将计算数据送入基于规则引擎的决策执行模块;

步骤S3,基于规则引擎的决策执行模块基于规则引擎处理结果,根据规则对接收的数据进行处理;

所述基于特征的自动学习模块根据参数获取模块输出的参数特征,训练出m个弱分类器,m至少为2;每个弱分类器由n个训练样本训练得到,n至少为1;

所述步骤S2包括以下步骤:

步骤S21:训练第一个弱分类器,n个训练样本的权值均为Wi,i为训练样本序号,表示第i个训练样本,i=1,2,3,…n;

通过第一个弱分类器,得到n个训练样本的分类预测标签,与给出的训练样本真实标签对比,如果其中一个训练样本出现预测错误,则所述预测错误对应的错误值为该训练样本的权值,如果分类正确,则错误值为0,最后累加n个训练样本的错误值之和,记为ε;

步骤S22:通过ε计算第一个弱分类器的权值α,公式如下:

步骤S23:通过α计算训练下一个弱分类器训练样本的权值,如果训练样本分类正确,则减小所述训练样本的权值;如果训练样本分类错误,则增加所述训练样本的权值;

步骤S24:循环步骤S21、步骤S22、步骤S23来继续训练其余弱分类器;

步骤S23中减小所述训练样本的权值,公式为:

步骤S23中增加所述训练样本的权值,公式为:

其中,i为训练样本序号,表示第i个训练样本,i=1,2,3,…n;t为迭代次数,t=1,2,

3,…,t≥1; 表示第t+1次迭代计算出的第i个训练样本的权值; 表示第t次迭代计算出的第i个训练样本的权值;Sum(Wi)为每个训练样本初始分配的权值之和;

所述步骤S3中基于规则引擎的决策执行模块包括Pattern Matcher、Agenda和Execution Engine三个子模块,其中:Pattern Matcher子模块根据所述步骤S22输出的权值选择执行规则;

Agenda子模块根据规则提取出具体需要执行的规则所包含的子task以及task执行顺序;

Execution Engine子模块负责按照Agenda子模块输出的子task及执行顺序执行规则。

2.如权利要求1所述的一种JT808车载终端模拟器反检测的方法,其特征在于,所述步骤S1中参数特征包括终端省域ID、市县域ID、制造商ID、终端型号、终端ID、车牌颜色、车牌、TCP消息重传次数、终端心跳发送间隔、UDP消息重传次数、SMS消息重传次数、驾驶员未登陆汇报时间间隔、休眠时汇报时间间隔、每次最长通话时间、当月最长通话时间、车辆里程表、位置信息汇报时的状态位。

3.如权利要求1所述的一种JT808车载终端模拟器反检测的方法,其特征在于,所述步骤S2中的基于特征的自动学习模块采用AdaBoost算法。

4.如权利要求1所述的一种JT808车载终端模拟器反检测的方法,其特征在于,第一个弱分类器由n个权值相同的训练样本训练得到,其余弱分类器由n个权值不完全相同的训练样本训练得到。

5.如权利要求4所述的一种JT808车载终端模拟器反检测的方法,其特征在于,每个弱分类器通过加权平均输出对最终分类结果发生作用。

6.如权利要求1所述的一种JT808车载终端模拟器反检测的方法,其特征在于,所述规则包括接受、下发终端设置修改消息、设置JT808网关白名单、设置JT808网关黑名单、位置数据抽稀后接受、拒绝。

说明书 :

JT808车载终端模拟器反检测的方法

技术领域

[0001] 本发明涉及互联网安全技术领域,特别涉及一种JT808车载终端模拟器反检测的方法。

背景技术

[0002] 随着国家政策法规的鼓励与扶持,JT808终端设备(基于JT808通讯协议开发的,包含车辆信息登记、汽车行驶记录、遇险自动报警等功能,以支持域名的方式接入到指定服务器的物理终端设备)及基于JT808协议(JT808协议是由国家交通部发布的关于道路运输车辆卫星定位系统终端通讯协议及数据格式的协议标准)的开放网关开始广泛应用。为了测试或者其他目的,JT808模拟终端也开始在各个技术论坛涌现出一些讨论,并且出现了一些较为成熟、功能比较完善的模拟终端应用程序。这类模拟终端通过TCP连接,向车辆监控系统的开发网关发起数据连接请求,模拟发送数据报文。由此产生了一些安全风险,如果这些模拟终端被黑客或恶意用户利用,可以通过大量占用网络连接、发送大数据量网络报文等增加对系统的负载压力,甚至导致系统瘫痪,从而干扰正常用户的使用。
[0003] 目前,对于JT808模拟终端的检测尚未有成熟的技术。对于传统的通用模拟终端检测,专利CN104134041A提出一种方法:获取终端模拟器中描述模拟终端信息的多项系统参数及其参数值;将各项系统参数的参数值分别与预置的参数库中保存的默认参数值进行匹配,参数库中保存有已被识别为模拟器信息的多项默认参数值;将匹配出的系统参数的参数值修改为不同于默认参数值且符合终端实际运行环境中系统参数赋值规则的数值。
[0004] 该方法通过系统参数作为特征来识别模拟终端,一定程度上可以达到抵御攻击的效果。
[0005] 但是,该专利存在明显的缺陷,具体如下:
[0006] 1、在实际场景中,并不能简单根据匹配某一个系统参数值,则武断判定该设备为模拟终端。如制造商ID为12345,可能表明该终端在很大程度上为模拟终端。但具体是否是模拟终端,还必须再综合检查终端的位置上报频率、行驶速度、上传的经纬度等信息。
[0007] 2、该专利建立在模拟终端能够响应平台网关发送的控制消息的基础上。如果模拟终端不接受平台发送的控制信息,或接收到控制消息后,并不做任何处理,则该专利中的方法无法达到拦截的效果。

发明内容

[0008] 本发明提出了一种JT808车载终端模拟器反检测的方法,解决了模拟终端的识别及控制的技术问题。
[0009] 本发明采用的技术方案是:
[0010] 一种JT808车载终端模拟器反检测的方法,其特征在于,包括以下步骤:
[0011] 步骤S1,参数获取模块解析模拟终端发送的报文中的参数特征,并将参数特征写入数据库中,输出到基于特征的自动学习模块;
[0012] 步骤S2,基于特征的自动学习模块通过自动学习算法,对识别出的参数特征进行权重计算,并将计算数据送入基于规则引擎的决策执行模块;
[0013] 步骤S3,基于规则引擎的决策执行模块基于规则引擎处理结果,根据规则对接收的数据进行处理。
[0014] 进一步地,所述步骤S1中参数特征包括终端省域ID、市县域ID、制造商ID、终端型号、终端ID、车牌颜色、车牌、TCP消息重传次数、终端心跳发送间隔、UDP消息重传次数、SMS消息重传次数、驾驶员未登陆汇报时间间隔、休眠时汇报时间间隔、每次最长通话时间、当月最长通话时间、车辆里程表、位置信息汇报时的状态位。
[0015] 进一步地,所述步骤S2中的基于特征的自动学习模块采用AdaBoost算法。
[0016] 进一步地,所述基于特征的自动学习模块根据参数获取模块输出的参数特征,训练出m个弱分类器,m至少为2;每个弱分类器由n个训练样本训练得到,n至少为1。
[0017] 进一步地,第一个弱分类器由n个权值相同的训练样本训练得到,其余弱分类器由n个权值不完全相同的训练样本训练得到。
[0018] 进一步地,每个弱分类器通过加权平均输出对最终分类结果发生作用。
[0019] 进一步地,所述步骤S2包括以下步骤:
[0020] 步骤S21:训练第一个弱分类器,n个训练样本的权值均为Wi,i为训练样本序号,表示第i个训练样本,i=1,2,3,...n;
[0021] 通过第一个弱分类器,得到n个训练样本的分类预测标签,与给出的训练样本真实标签对比,如果其中一个训练样本出现预测错误,则所述预测错误对应的错误值为该训练样本的权值,如果分类正确,则错误值为0,最后累加n个训练样本的错误值之和,记为ε。
[0022] 步骤S22:通过ε计算第一个弱分类器的权值α,公式如下:
[0023]
[0024] 步骤S23:通过α计算训练下一个弱分类器训练样本的权值,如果训练样本分类正确,则减小所述训练样本的权值;如果训练样本分类错误,则增加所述训练样本的权值。
[0025] 步骤S24:循环步骤S21、步骤S22、步骤S23来继续训练其余弱分类器。
[0026] 进一步地,步骤S23中减小所述训练样本的权值,公式为:
[0027]
[0028] 步骤S23中增加所述训练样本的权值,公式为:
[0029]
[0030] 其中,i为训练样本序号,表示第i个训练样本,i=1,2,3,...n;t为迭代次数,t=1,2,3,...,t≥1; 表示第t+1次迭代计算出的第i个训练样本的权值; 表示第t次迭代计算出的第i个训练样本的权值;Sum(Wi)为每个训练样本初始分配的权值之和。
[0031] 进一步地,所述步骤S3中基于规则引擎的决策执行模块包括Pattern Matcher、Agenda和Execution Engine三个子模块,其中:
[0032] Pattern Matcher子模块根据所述步骤S22输出的权值选择执行规则;
[0033] Agenda子模块根据规则提取出具体需要执行的规则所包含的子task以及task执行顺序;
[0034] Execution Engine子模块负责按照Agenda子模块输出的子task及执行顺序执行规则。
[0035] 进一步地,所述规则包括接受、下发终端设置修改消息、设置JT808网关白名单、设置JT808网关黑名单、位置数据抽稀后接受、拒绝。
[0036] 本发明具有防止终端模拟程序对JT808开放网关造成的恶意攻击,提高JT808开放网关安全性的有益效果。

附图说明

[0037] 图1是本发明流程图。
[0038] 图2是基于特征的自动学习模块的实施例。

具体实施方式

[0039] 本发明采用基于权重的特征识别算法,加入自动学习的智能处理模块,并且建立基于权重的规则,由JT808开放网关(服务端)决定对模拟终端采用何种策略,如放行、数据抽稀放行或拦截。下文中,结合附图和实施例对本发明作进一步阐述。
[0040] 图1是本发明一种JT808车载终端模拟器反检测的方法流程图,包括以下步骤:
[0041] 步骤S1,参数获取模块解析模拟终端发送的报文中的参数特征,并将参数特征写入数据库中,输出到基于特征的自动学习模块。
[0042] 步骤S2,基于特征的自动学习模块通过自动学习算法,对识别出的参数特征进行权重计算,并将计算数据送入基于规则引擎的决策执行模块。
[0043] 步骤S3,基于规则引擎的决策执行模块基于规则引擎处理结果,根据规则对接收的数据进行处理。
[0044] 以下对步骤S1、步骤S2和步骤S3中的三个模块作进一步阐述。
[0045] 步骤S1中参数获取模块可配置为获取模拟终端中描述模拟终端信息的多项系统参数及其参数值,提取模拟终端参数特征。有以下参数可作为参数特征被利用,包括:终端省域ID、市县域ID、制造商ID、终端型号、终端ID、车牌颜色、车牌、TCP消息重传次数、终端心跳发送间隔、UDP消息重传次数、SMS消息重传次数、驾驶员未登陆汇报时间间隔、休眠时汇报时间间隔、每次最长通话时间、当月最长通话时间、车辆里程表、位置信息汇报时的状态位、纬度、经度、高程、速度、时间等。参数获取模块会将如上参数特征读取后写入数据库中。
[0046] 步骤S2中基于特征的自动学习模块,采用AdaBoost算法,流程图如图2所示。
[0047] 首先,基于特征的自动学习模块根据参数获取模块输出的各个参数特征,训练出m个弱分类器,m至少为2(图2中弱分类器为3个);每个弱分类器是由n个不同权值的训练样本训练得到(其中第一个弱分类器对应输入训练样本的权值是一样的),n至少为1(n越大,训练结果越准确,图2中为5个训练样本),而每个弱分类器对最终分类结果的作用也不同,是通过加权平均输出的。图2中三角形里面的权值为示例数据,并非实际计算结果,该值为下文中步骤S22计算出的结果。
[0048] 步骤S2中具体实现步骤为:
[0049] 步骤S21:训练第一个弱分类器,n个训练样本的权值Wi为相同的均值,i为训练样本序号,表示第i个训练样本,i=1,2,3,...n。通过第一个弱分类器,得到n个训练样本的分类预测标签。与给出的训练样本真实标签对比,就可能出现误差(即预测错误)。如果某个训练样本出现预测错误,则它对应的错误值为该训练样本的权值,如果分类正确,则错误值为0,最后累加n个训练样本的错误值之和,记为ε。
[0050] 步骤S22:通过ε计算第一个弱分类器的权值α,公式如下:
[0051]
[0052] 步骤S23:通过α计算训练下一个弱分类器训练样本的权值,如果训练样本分类正确,则减小所述训练样本的权值,公式为:
[0053]
[0054] 如果训练样本分类错误,则增加所述训练样本的权值,公式为:
[0055]
[0056] 其中,t为迭代次数,t=1,2,3,...,t≥1; 表示第t+1次迭代计算出的第i个训练样本的权值; 表示第t次迭代计算出的第i个训练样本的权值;Sum(Wi)为每个训练样本初始分配的权值之和。
[0057] 步骤S24:循环步骤S21、步骤S22、步骤S23来继续训练多个弱分类器。
[0058] 步骤S3中基于规则引擎的决策执行模块包括Pattern Matcher、Agenda和Execution Engine三个子模块,其中:
[0059] 1、Pattern Matcher子模块根据所述步骤S22输出的权值选择执行规则;
[0060] 2、Agenda子模块根据规则提取出具体需要执行的规则所包含的子task以及task执行顺序;
[0061] 3、Execution Engine子模块负责按照Agenda子模块输出的子task及执行顺序执行规则。
[0062] 所述规则包括接受、下发终端设置修改消息、设置JT808网关白名单、设置JT808网关黑名单、位置数据抽稀后接受、拒绝等。
[0063] 本发明虽然已以较佳实施例公开如上,但其并不是用来限定本发明,任何本领域技术人员在不脱离本发明的精神和范围内,都可以利用上述揭示的方法和技术内容对本发明技术方案做出可能的变动和修改,因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化及修饰,均属于本发明技术方案的保护范围。