首页> 中国专利> 基于变长系统调用序列胎记的报税人身份在线识别方法

基于变长系统调用序列胎记的报税人身份在线识别方法

摘要

本发明提出了一种基于变长系统调用序列胎记的报税人身份在线识别方法,分为两个阶段:基于用户正常历史报税行为的线下正常胎记库构建阶段,和针对用户实时报税场景的用户身份实时识别阶段;该方法通过提取不同报税用户操作过程中软件系统表现出的系统调用序列特征,进行报税人行为和身份的实时在线识别,实现在报税人身份认证信息失窃情况下的报税人身份识别。

著录项

  • 公开/公告号CN104077404A

    专利类型发明专利

  • 公开/公告日2014-10-01

    原文格式PDF

  • 申请/专利权人 西安交通大学;

    申请/专利号CN201410320245.2

  • 申请日2014-07-07

  • 分类号G06F17/30(20060101);

  • 代理机构61215 西安智大知识产权代理事务所;

  • 代理人段俊涛

  • 地址 710049 陕西省西安市咸宁路28号

  • 入库时间 2023-12-17 01:49:17

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2016-05-04

    专利权的转移 IPC(主分类):G06F17/30 登记生效日:20160415 变更前: 变更后: 申请日:20140707

    专利申请权、专利权的转移

  • 2015-10-21

    授权

    授权

  • 2014-10-29

    实质审查的生效 IPC(主分类):G06F17/30 申请日:20140707

    实质审查的生效

  • 2014-10-01

    公开

    公开

说明书

技术领域

本发明涉及软件特征化描述及用户身份审计领域,特别涉及一种基于变长系统调用序列胎记的报税人身份在线识别方法。 

背景技术

税收是国家(政府)公共财政最主要的收入形式和来源,随着当今世界信息化的快速发展,经济活动的超时空趋势对传统的报税方式开始形成挑战。为提高报税效率,减小报税开销,基于计算机和网络实现的网上报税已逐步成为一种新颖高效的报税手段。然而这种电子报税手段也存在一系列的安全问题,纳税人是通过报税客户端完成一系列报税操作的,而很有可能纳税人的账号会被不法人员窃取,然后冒充或伪造该报税人身份进行恶意报税。这不仅扰乱正常的报税秩序,同时很可能会对合法纳税人及国家造成不可挽回的重大经济损失。 

软件胎记作为从软件运行过程中抽取出的一系列特征,它又是对用户操作下软件所表现出的行为的抽象描述。不同的用户,因受其操作习惯、系统熟悉程度等各种因素的影响,软件在运行过程中也会体现出不同的行为特征,深入到软件底层则对应不同的执行序列、执行次序、执行次数等;因此反过来也可以利用这种软件表现出的行为特征的不同,来唯一地刻画和描述用户的特点。但以往的胎记技术主要广泛用于软件的抄袭检测领域,在用户身份审计,特别是报税人身份审计方面无任何先验研究;此外现有的胎记技术主要针对中小规模的独立软件,并且普遍存在描述能力不足的缺点。 

因此针对以上问题,需要找到一种描述能力更强的胎记,并寻求将其应用于网络报税系统这类大型分布式系统的方法,以实现报税用户身份的在线识别和审计,减少网上报税过程中恶意用户可能造成的经济损失。 

发明内容

为了克服上述现有技术的缺点,本发明的目的在于提供一种基于变长系统调用序列胎记的报税人身份在线识别方法,可弥补网上报税中报税人身份审计方法的缺失,实现报税用户身份的在线识别,在报税人身份认证信息失窃情况下,有效地检测可疑的报税用户身份,并依据可疑程度实施有效的控制策略,减少可能的经济损失。 

为了实现上述目的,本发明采用的技术方案是: 

一种基于变长系统调用序列胎记的报税人身份在线识别方法,包括如下两个阶段: 

阶段一:基于历史报税数据的正常胎记库构建,具体包括: 

S101)针对每个正常用户,根据其在以往正常报税过程中进行的一系列操作,通过监控报税系统,捕获其为服务该用户完成报税业务而执行的系统调用序列; 

S102)通过对系统调用序列进行预处理,过滤无效的系统噪声,然后基于处理后的系统调用序列,利用变长序列模式挖掘算法,生成变长系统调用序列胎记; 

S103)将胎记存入正常胎记库,作为后期用户身份实时识别的依据; 

阶段二:实时报税场景中用户身份的实时识别,具体包括: 

S104)对用户的操作进行实时监控,其一次完整的报税过程对应抽取一条系统调用序列; 

S105)通过对系统调用序列进行预处理,过滤无效的系统噪声,然后基于处理后的系统调用序列,利用变长序列模式挖掘算法,生成变长系统调用序列胎记; 

S106)查询正常胎记库以查找最大匹配,如果最大匹配的相似性低于设定阈值,则报告该用户身份异常,并计算异常程度,同时进一步据此实施相应的控制策略。 

本发明进一步的改进在于:所述步骤S101)和步骤S104)中监控的实 施方法为:在报税客户端实施监控,以避免采取服务器端监控导致的大规模服务性能下降;采用监控代码硬编码到报税客户端代码的方式进行,需要在报税客户端发布之前,在其源代码中植入监控代码,监控的对象为用户报税过程中进行的一系列操作所对应的所有系统调用;具体监控的每项系统调用的记录格式为:用户ID#系统调用号#系统调用名#系统调用返回值。 

本发明进一步的改进在于:所述步骤S102)和S105)中胎记的生成方法为:首先对监控得到的初始系统调用序列进行预处理:对其每一项系统调用记录,依据系统调用返回值字段的值,过滤失败和无效的系统调用记录;并基于所有保留的系统调用记录,以系统调用号作为每项记录的标识,将所有系统调用号形成有序序列作为胎记生成的基础,并由用户ID标识该系统调用号序列;然后进行胎记的生成:基于预处理输出的系统调用号序列,采用Teiresias行为模式挖掘算法,生成一系列的变长子序列;统计每种子序列出现的频数,将所有子序列及其频数组成的键值对集合,作为用户该次报税操作的系统调用序列胎记。 

本发明进一步的改进在于:所述步骤S103)中将基于正常历史数据训练阶段生成的每个变长系统调用序列胎记,以<用户ID,胎记>对的形式,通过网络上传到胎记管理服务器,并存入正常胎记库。 

本发明进一步的改进在于:所述步骤S106)中胎记查询方法为:实时场景下,用户完成报税客户端所有报税操作之后,提交报税服务器处理之前,由报税客户端向胎记管理服务器发送查询请求,提交用户ID到胎记管理服务器,胎记管理服务器据此ID查询正常胎记库,并将指定用户ID的所有胎记推送给相应的报税客户端。 

本发明进一步的改进在于:所述步骤S106)中胎记的最大相似性匹配方法为:在报税客户端,将用户实时报税场景下生成的变长系统调用序列胎记即实时胎记与发送查询操作返回的该用户所有的正常胎记一一对比,基于Tonimoto系数查找该胎记的最大相似性匹配,假定两个待比较的变长系统调 用序列胎记A={〈k1,v1〉,〈k2,v2〉,…,〈kn,vn〉}和B={〈k′1,v′1〉,〈k′2,v′2〉,…,〈k′m,v′m〉};令S=keySet(A)∪keySet(B),keySet(A)表示胎记A的键组成的集合,即所有的key的集合,构建A(a1,a2,···,al),其中ai=vi,ifSikeySet(A)0,ifSikeySet(A),1≤i≤l,vi为键Si的元素的键值,l表示S的长度;按照同样的方式构造则两个的胎记的Tonimoto系数计算为

本发明进一步的改进在于,所述步骤S106)中用户身份异常检测方法为:在报税客户端,基于实时胎记跟其最大相似性匹配胎记的Tonimoto系数的值,及一个给定的阈值决定用户身份是否异常,当时,检测为用户身份不存在异常;当时,检测为用户身份存在异常;其中A表示实时胎记,A'表示其最大Tonimoto相似性匹配胎记。 

本发明进一步的改进在于:所述取值在0.6到0.85之间。 

本发明进一步的改进在于:所述步骤S106)中用户身份异常程度的计算方法为:采用公式计算异常程度,其中anomalyRatio表示异常程度。 

本发明进一步的改进在于:所述步骤S106)中用户身份检测为异常时采取的控制策略为: 

与现有技术相比,本发明的有益效果是: 

(1)本发明首次将软件胎记技术用于用户身份的在线审计,特别是用于大规模分布式网络报税系统中报税用户身份的在线识别和审计,方法新颖独到。 

(2)本发明的监控及分析集中在各报税客户端进行,避免服务端监控和 分析带来的大规模服务性能下降;此外监控的层次为系统调用层,监控粒度适中,负载低,检测效率高。 

(3)本发明首次将变长行为模式挖掘算法用于胎记的生成,相比基于K-Gram等定长算法生成的胎记而言,变长胎记更贴近软件真实行为的描述,能更好的体现用户的操作语义,具备更强大的描述能力,将其用于用户身份的在线识别更加精确。 

(4)本发明不仅可以实时地在线监测网上报税用户的身份,识别异常的报税用户身份,还可以评估其异常程度,并依据用户身份异常度采取层次化控制策略,在保证网上报税体验的同时尽可能地减少经济损失。 

附图说明

图1为本发明基于变长系统调用序列胎记的报税人身份在线识别方法的整体流程图。 

图2为预处理过程流程图。 

图3为变长系统调用序列胎记生成流程图。 

图4为胎记查询示意图。 

具体实施方式

下面结合附图和实施例详细说明本发明的实施方式。 

如图1所示,本发明基于变长系统调用序列胎记的报税人身份在线识别方法,包括以下两个阶段: 

阶段一基于历史报税数据的正常胎记库构建,具体包括以下步骤: 

步骤S101:针对每个正常用户,通过报税客户端中的监控模块,监控其在以往正常报税过程中进行的一系列操作,并采集数据作为训练数据。具体为采用监控代码硬编码到报税客户端代码的方式进行,需要在报税客户端发布之前,在其源代码中植入监控代码,监控的对象为用户报税过程中进行的一系列操作所对应的所有系统调用,监控数据的记录格式为:用户ID#系统调用号#系统调用名#系统调用返回值。 

步骤S102:对监控阶段捕获的系统调用序列进行预处理,过滤无效的系 统噪声,并构建用户ID标识的系统调用号序列;然后利用Teiresias变长序列模式挖掘算法,生成变长系统调用序列胎记。 

预处理的具体流程如图2所示: 

步骤S201:判断监控输出的系统调用序列是否预处理完毕,如果还存在未处理的系统调用记录,则转入步骤S202,否则直接转入步骤S205。 

步骤S202:取下一项系统调用项,根据记录格式解析出各字段的值。 

步骤S203:根据系统调用项返回值字段的值,判断其是否为0xffffffff。如果是,则表明系统调用失败,为噪声项,直接过滤掉,转向步骤S201;否则转向步骤S204继续处理; 

步骤S204:将系统调用号作为该项系统调用的标识,加入到系统调用号序列的末尾,然后转入步骤S201。 

步骤S205:构建并输出<用户ID,系统调用号序列>键值对。 

基于预处理得到的调用号序列,生成变长系统调用序列胎记方法为:利用Teiresias序列模式挖掘算法,将预处理后的系统调用号序列划分成一系列的变长子序列,然后进一步生成变长系统调用序列胎记,最后输出<用户ID,变长系统调用序列胎记>键值对。 

结合图3,具体而言,从Teiresias划分生成的变长子序列,进一步生成变长系统调用序列胎记的过程为: 

步骤S301:判断子序列集合中是否还存在未处理的元素,如果存在则转入步骤S302,否则转入步骤S308; 

步骤S302:从变长子序列集合中取下一条子序列S,顺次连接S中各系统调用号,生成调用号字符串C; 

步骤S303:计算字符串C的hash值,并将之作为键值查找集合B(初始集合B为空)中是否已存在相应元素,如果有则转入步骤S306,否则转入步骤S304; 

步骤S304:创建新的以字符串C的hash值为键的元素,并设置键值为1。 

步骤S305:将新生成的键值对元素加入集合B中,转入步骤S307。 

步骤S306:根据字符串C的hash键值,在集合B中查找相应元素,将元素的键值增1; 

步骤S307:将S从子序列集合中移除,转入步骤S301进行新一轮的处理; 

步骤S308:输出由键值对构成的集合B,其即为变长系统调用序列胎记。 

步骤S103:将新生成的<用户ID,变长系统调用序列胎记>键值对传到胎记管理服务器,然后由其根据用户ID更新相关用户的胎记列表。然后转入步骤S101,进行下一轮处理,不断更新完善正常胎记库,直到采集足够的胎记以满足阶段二进行用户身份实时监测和识别的要求,然后结束阶段一的训练过程。 

阶段二是实时报税场景中用户身份的实时识别,具体包括以下步骤: 

步骤S104:在报税客户端,对每一个报税用户的操作进行实时监控,其一次完整的报税过程对应会抽取一条系统调用序列,监控的实施方式和监控数据的记录格式同步骤S101所示。 

步骤S105:对监控阶段捕获的系统调用序列进行预处理,过滤无效的系统噪声,并构建用户ID标识的系统调用号序列;然后利用Teiresias序列模式挖掘算法,将预处理后的系统调用号序列划分成一系列的变长子序列,进一步生成变长系统调用序列胎记,最后输出<用户ID,变长系统调用序列胎记>键值对。具体的胎记生成过程同步骤S102所述。 

步骤S106:查询正常胎记库以查找最大匹配,如果最大匹配的相似性低于某阈值,则报告该用户身份异常,并计算异常程度,同时进一步据此实施相应的控制策略。具体而言: 

结合图4,胎记的查询方法为:实时场景下,用户完成报税客户端所有报税操作之后,提交报税服务器处理之前,由报税客户端向胎记管理服务器发送查询请求,提交用户ID到胎记管理服务器,胎记管理服务器据此ID查 询正常胎记库,并将与给定用户ID关联的所有胎记推送给相应的报税客户端。 

胎记的最大相似性匹配方法为:在报税客户端,将用户实时报税场景下生成的变长系统调用序列胎记,跟发送查询操作返回的该用户所有的正常胎记一一对比,基于Tonimoto系数查找该胎记的最大相似性匹配;两个胎记A和B的Tonimoto系数计算为

用户身份异常识别和检测方法为:在报税客户端,基于实时胎记跟其最大相似性匹配胎记的Tonimoto系数的值,及一个给定的阈值决定用户身份是否异常,一般建议取值在0.6到0.85之间;当时,检测为用户身份不存在异常;当时,检测为用户身份存在异常;其中A表示实时胎记,A'表示其最大Tonimoto相似性匹配胎记。 

用户身份异常程度的计算方法为:采用公式计算异常程度,其中anomalyRatio表示异常程度。 

用户身份检测为异常时采取的控制策略为: 

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号