一种自治域系统同胞关系识别方法

    专利查询2022-07-07  105



    1.本发明涉及网络安全领域,具体涉及一种自治域系统同胞关系识别方法。


    背景技术:

    2.进入互联网商业化时代之后,不同服务机构之间的自治域系统(autonomous system,as)通过一定的商业合作来实现互联网中流量的管理与控制。其中边际网关协议是自治域系统之间的路由协议,可以让每个自治域系统自主地设置路由策略,用于选择路由和宣告路由信息。整个互联网的自治域系统基于其在网络拓扑中的位置关系可以分为末端自治域、过渡自治域和多宿主自治域三种,其中末端自治域只会与另外的一个自治域连接,过渡自治域会为其它自治域提供流量穿越服务,而多宿主自治域则是与其它多个自治域连接。
    3.互联网中自治域关系主要可以抽象为p2c(provider-to-customer,提供者-客户)、p2p(peering-to-peering,对等体-对等体)和s2s(sibling-to-sibling,同胞-同胞)三类。具体来说:a)p2c:提供者自治域系统为消费者自治域系统提供流量的全局可达性,消费者自治域系统则向提供者自治域系统支付费用。
    4.b)p2p:两个自治域系统免费交换彼此与消费者自治域系统产生的流量,但是不交换它们和提供者或者对等体产生的流量。
    5.c)s2s:两个自治域系统属于相同的机构,它们会免费交换所有流量,包括与提供者、消费者、对等体和兄弟。
    6.全面而准确的自治域关系可以辅助建立有效的网络资源分配部署和流量管理工作,进而均衡网络负载,提高网络服务的可靠性与安全性,降低网络运维成本。同时基于全面准确的自治域关系,可以设计新的网络协议和网络建构,促进互联网演进优化。
    7.但是由于自治域系统之间的商业关系涉及到商业敏感信息,并且注册信息更新和维护不及时等原因,公共的自治域系统商业关系并不全面和可靠。业界也有一些研究基础,比如as-rank、problink、toposcope等,但均有自身的缺陷,实际使用中限制较多。传统的互联网拓扑关系图是基于不同as之间的对应关系进行构建的,基于商业利益的考虑,被研究最广泛的业务关系是p2p和p2c,因为前者促进了合作互惠,后者则通过服务伴随货币交易,s2s则往往被忽视。但在路由通告过程中,相同组织中的不同自治域系统通告同一ip前缀的现象广泛存在,而这种现象会对路由前缀劫持的检测识别带来直接影响,导致大量伪路由劫持事件。


    技术实现要素:

    8.为了克服现有技术的不足,本发明的目的是提供一种自治域系统同胞关系识别方法。
    9.自治域系统同胞关系识别方法,步骤如下:
    分析处理数据集,根据自治域系统信息及现网路由数据,提取自治域系统特征信息,包括全局度、过渡度、自治域系统类别、自治域系统层次、到自治域系统路径起点的距离、自治域系统地理位置、自治域系统客户锥;分析as-to-org数据集,获取注册的自治域系统同胞关系数据集,使用k折交叉验证进行训练集验证集划分。
    10.将上述特征信息作为输入,通过xgboost算法进行训练学习,xgboost模型目标函数为:其中是第t棵树的模型预测结果,是第t-1棵树的模型预测结果,是样本i的实际值,函数是损失函数,是模型正则项,控制模型的复杂度。
    11.基于合作博弈论,分析在xgboost模型中自治域系统每个特征的重要性,计算单个特征对识别自治域系统同胞关系的贡献,依此来衡量特征对识别准确率的影响,第个特征的计算公式如下:其中表示自治域系统特征集合,表示出现自治域系统特征子集的概率,作为在特征子集基础上增加第个特征带来的输出增益的权重,表示在自治域系统特征子集对识别自治域系统同胞关系的贡献。
    12.的计算流程如下:给定一颗决策树,其中向量和分别表示树节点的左子节点和右子节点索引,向量表示节点分裂的特征,向量表示节点上分裂的特征阈值,向量表示节点包含的样本数,即多少样本落在以该节点为根节点的子树中;用递归方式计算决策树的根节点的贡献值,在决策树上从根向叶搜索,最后得到根节点的贡献;如果节点是叶节点,那么返回该节点的贡献值,即节点上所有样本标签的累计和;如果该节点不是叶节点,则判断该节点分裂的特征是否属于特征子集;如果属于特征子集,则根据该节点的特征阈值进行分割,分到左边使用左子节点
    的贡献值,分到右边使用右子节点的贡献值;如果不属于特征子集,则根据左右子节点的包含的样本数和为权重,计算左右子节点的贡献值之和,作为节点的贡献值;最后决策树根节点的贡献值即为。
    13.基于自治域系统特征重要性,选择重要性高的部分特征作为特征子集构造决策树,通过决策树获得自治域系统同胞关系的识别结果。
    14.本发明的有益效果:本发明通过对caida等开源数据集与现网路由数据的特征提取,获得自治域系统的多维度特征信息,通过树集成学习算法训练得到多种特征组合下的识别准确率,计算不同特征对识别准确率的重要性,基于特征重要性分析结果,进行特征筛选构造决策树,设计出一种自治域系统同胞关系识别方法,考虑了不同特征值对同胞关系预测贡献的差异性,可以通过少量自治域系统特征获得较高的预测准确率,能够有效识别自治域系统同胞关系。
    附图说明
    15.图1是基于特征重要性分析获得的算法模型中的特征重要程度。
    16.图2是分析中具体特征经度对实际预测的贡献,不同经度的值对样本的预测结果不一样的影响,例如可以发现经度相近时样本更趋向阳性。
    17.图3 是不同数量特征的模型在训练集和测试集上的auc曲线的对比。
    具体实施方式
    18.以下结合附图和实施例进一步说明本发明。
    19.针对自治域系统同胞关系的识别方法中,系统通过将自治域系统的特征属性作为输入,基于学习获得的模型,对自治域系统间的同胞关系进行识别。本发明考虑了不同特征值对自治域系统同胞关系预测贡献的差异性,基于合作博弈论,分析在xgboost模型中自治域系统每个特征的重要性,计算单个特征对识别自治域系统同胞关系的贡献,依此来衡量特征对识别准确率的影响,形成了能有效识别自治域系统同胞关系的模型。
    20.针对自治域系统同胞关系的识别方法,包括以下步骤:步骤1:特征选择:根据自治域系统信息及现网路由数据,提取自治域系统特征信息,包括全局度、过渡度、自治域系统类别、自治域系统层次、到自治域系统路径起点的距离、自治域系统地理位置、自治域系统客户锥;步骤2:分析as-to-org数据集,获取注册的自治域系统同胞关系数据集,使用k折交叉验证进行数据集验证集划分,将上述特征信息作为输入,基于树集成学习算法进行训练学习;步骤3:基于合作博弈论,分析在xgboost模型中自治域系统每个特征的重要性,计算单个特征对识别自治域系统同胞关系的贡献,依此来衡量特征对识别准确率的影响;步骤4:基于上述特征重要性分析结果,选择重要性高的部分特征作为特征子集构
    造决策树,通过决策树获得自治域系统同胞关系的识别结果。
    21.作为一个较好的实施例子,首先对caida等开源数据集与现网路由数据进行特征提取,获得自治域系统特征信息。其中与节点度、自治域系统客户锥有关的特征从caida数据源中获取,该部分特征可以描述节点重要性,并且反映应用服务器的客户服务规模和合作程度。自治域系统类别、自治域系统层次、自治域系统地理位置等信息也可以从caida数据源中获取,用于描述自治域系统的职能与分布信息。到自治域系统路径起点的距离等信息从现网路由数据中获取,通过对自治域系统路径的分析,求出每个自治域系统到路径起点距离的平均值、最大值、最小值等信息。
    22.分析as-to-org数据集,将数据表中`as_organization_info`中org_id字段相同(即所属同一组织)的两个自治域系统视为一对同胞关系,统计整理注册的自治域系统同胞关系数据集,使用k折交叉验证进行训练集验证集划分。
    23.将上述特征信息作为输入,通过xgboost算法进行训练学习,模型目标函数为:其中是第t棵树的模型预测结果,是第t-1棵树的模型预测结果,是样本i的实际值,函数是损失函数,是模型正则项,控制模型的复杂度。
    24.基于合作博弈论,分析在xgboost模型中自治域系统每个特征的重要性,计算单个特征对识别自治域系统同胞关系的贡献,依此来衡量特征对识别准确率的影响,第个特征的计算公式如下:其中表示步骤1中获得的自治域系统特征集合,表示出现自治域系统特征子集的概率,作为在特征子集基础上增加第个特征带来的输出增益的权重,表示在自治域系统特征子集对识别自治域系统同胞关系的贡献。
    25.的计算流程如下:给定一颗决策树,其中向量和分别表示树节点的左子节点和右子节点索引,向量表示节点分裂的特征,向量表示节点上分裂的特征阈值,向量表示节点包含的样本数,即多少样本落在以该节点为根节点的子树中;用递归方式计算决策树的根节点的贡献值,在决策树上从根向叶搜索,最后得
    到根节点的贡献;如果节点是叶节点,那么返回该节点的贡献值,即节点上所有样本标签的累计和;如果该节点不是叶节点,则判断该节点分裂的特征是否属于特征子集;如果属于特征子集,则根据该节点的特征阈值进行分割,分到左边使用左子节点的贡献值,分到右边使用右子节点的贡献值;如果不属于特征子集,则根据左右子节点的包含的样本数和为权重,计算左右子节点的贡献值之和,作为节点的贡献值;最后决策树根节点的贡献值即为。
    26.基于上述特征重要性分析结果,选择重要性高的部分特征作为特征子集构造决策树,通过决策树获得自治域系统同胞关系的识别结果,通过cv函数进行参数调优。首先调试max_depth和min_child_weight参数组合,先给出一个大范围,然后在慢慢缩小范围,然后接着类似调整其他参数,都遵循先从大范围开始,慢慢缩小范围的原则。
    27.作为一个较好的实施例子,具体选择如下特征作为系统输入:全局度、过渡度、提供者数、对等体数、客户数、兄弟数、节点网络层次、到vp的平均距离、到vp的最大距离、到vp的最小距离、as类型、as排名、经度、纬度、锥as数、锥前缀数、锥地址数、宣告地址数、宣告前缀数。数据集包括11553条自治域系统同胞关系(正样本)和10084条非自治域系统同胞关系(负样本),并且通过使用5折交叉验证进行训练集验证集划分,有效避免过拟合和欠拟合状态的发生。
    28.首先将训练集输入xgboost算法模型中进行训练,目标函数属性选择“binary:logistic”, eval_metric属性选择“auc”,其他属性例如max_depth、learning_rate、gamma等适当调整。然后分析自治域系统的每个特征的重要性,计算每个特征对识别自治域系统同胞关系的贡献,结果如图1。其中经度与维度表示自治域系统实际地理位置,该部分特征对模型预测重要程度较高,说明自治域系统的地理位置对自治域系统同胞关系的识别影响较大,as排名表示自治域系统在网络拓扑中的重要性,该特征比较重要说明自治域系统拓扑信息对自治域系统同胞关系的识别影响较大。针对具体特征经度的重要性分析如图2,可以看出在经度特征趋近于0或者360时,比较偏向于是自治域系统同胞关系,这表明当两个自治域系统地理位置比较相近时,更可能是自治域系统同胞关系,位置比较远时不是自治域系统同胞关系,其中360是因为经度特征范围是(-180,180),两者位置相近时也可能差值接近360。图3表示选择不同数量的特征对于模型性能的影响,本算法在训练集上的auc接近99%,在测试集上的auc接近97%,都有较好的性能表现。同时基于特征重要性分析结果,分别保留50%特征和25%特征验证模型效果,结果表明在特征数量大大降低的情况下对模型性能影响较小,说明特征重要性分析的有效性,并且可以在计算量和特征种类数较低时获得较好的模型性能。
    29.上述描述中的实施方案可以进一步组合或者替换,且实施方案仅仅是对本发明的优选实施例进行描述,并非对本发明的构思和范围进行限定,在不脱离本发明设计思想的前提下,本领域普通技术人员对本发明的技术方案做出的各种变化和改进,均属于本发明
    的保护范围。本发明的保护范围由所附权利要求及其任何等同物给出。
    转载请注明原文地址:https://tc.8miu.com/read-1692.html

    最新回复(0)