基于动态指令流检测的数据导出方法及系统及装置及介质与流程

文档序号:25280156发布日期:2021-06-01 17:26阅读:84来源:国知局
基于动态指令流检测的数据导出方法及系统及装置及介质与流程
本发明涉及数据处理领域,具体地,涉及基于动态指令流检测的数据导出方法及系统及装置及介质。
背景技术
:数据的导出是数据处理和信息系统中的常用功能,对于数据导出的安全检测,通常是从数据导出前后的完整性检测和对比来确认数据的导出是否成功,但存在的主要问题是没有对数据导出工具和导出环境进行检测,从而造成数据在导出过程中存在的数据泄露的风险。技术实现要素:为了克服现有技术中没有对数据导出工具和导出环境进行检测,从而造成数据在导出过程中存在的数据泄露的风险,本发明提供了基于动态指令流检测的数据导出方法及系统及装置及介质。为实现上述发明目的,本发明提供了基于动态指令流检测的数据导出方法,所述方法包括:基于数据源的类型获得待导出数据源的第一特征信息;基于目标位置类型获得待导出目标位置的第二特征信息;获取数据导出工具被操作系统加载进内存后的第一地址空间范围;执行数据导出任务,将数据源中的待导出数据导出至目标位置;获取执行数据导出任务时,数据导出工具运行环境中处理器执行的位于第一地址空间范围内的第一操作指令集;取出第一操作指令集中与数据源相关的第三特征信息,匹配第三特征信息与第一特征信息,若匹配失败则判断数据导出工具存在风险;取出第一操作指令集中与目标位置相关的第四特征信息,匹配第四特征信息与第二特征信息,若匹配失败则判断数据导出工具存在风险。其中,本发明主要思路是基于数据的导出,大量的操作是输入输出相关的指令,包括磁盘i/o和网络i/o,基于这个明显的运行时特征,对运行过程中的指令进行实时检测,根据指令的操作码、操作数和地址空间等信息,再结合源数据位置和导出的目标位置,一旦发现有不符合的操作数或者指令运行模式,则给运行时警告,并可随意中止导出操作,以保护数据安全,将导出风险降到最低。优选的,在本方法中,若数据源为文件,则第一特征信息为文件名;若数据源为数据库表,则第一特征信息为库表名称;若数据源为i/o端口,则第一特征信息为端口号。优选的,在本方法中,若目标位置为文件,则第二特征信息为文件名;若目标位置为数据库表,则第二特征信息为库表名称;若目标位置为i/o端口,则第二特征信息为端口号。优选的,在本方法中,获取执行数据导出任务时,获取数据导出工具运行环境的处理器类型,根据处理器的类型获得相应的第一操作指令集。优选的,在本方法中,若第三特征信息与第一特征信息匹配成功,且第四特征信息与第二特征信息匹配成功,则判断数据导出工具安全。优选的,在本方法中,若判断数据导出工具存在风险,则生成提醒消息,或生成告警消息,或中断数据导出操作。优选的,在本方法还包括统计第一操作指令集中各类操作指令的数目及各类操作指令的占比,当某类操作指令的占比超出预设占比范围时,则生成提醒消息,或生成告警消息,或中断数据导出操作。本发明还提供了基于动态指令流检测的数据导出系统,所述系统包括:第一获得单元,用于基于数据源的类型获得待导出数据源的第一特征信息;第二获得单元,用于基于目标位置类型获得待导出目标位置的第二特征信息;第一获取单元,用于获取数据导出工具被操作系统加载进内存后的第一地址空间范围;导出单元,用于执行数据导出任务,将数据源中的待导出数据导出至目标位置;第二获取单元,用于获取执行数据导出任务时,数据导出工具运行环境中处理器执行的位于第一地址空间范围内的第一操作指令集;第一匹配单元,用于取出第一操作指令集中与数据源相关的第三特征信息,匹配第三特征信息与第一特征信息,若匹配失败则判断数据导出工具存在风险;第二匹配单元,用于取出第一操作指令集中与目标位置相关的第四特征信息,匹配第四特征信息与第二特征信息,若匹配失败则判断数据导出工具存在风险。本发明还提供了一种基于动态指令流检测的数据导出装置,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现所述基于动态指令流检测的数据导出方法的步骤。本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现所述基于动态指令流检测的数据导出方法的步骤。本发明提供的一个或多个技术方案,至少具有如下技术效果或优点:本发明对运行过程中的指令进行实时检测,根据指令的操作码、操作数和地址空间等信息,再结合源数据位置和导出的目标位置,一旦发现有不符合的操作数或者指令运行模式,则给运行时警告,并可随意中止导出操作,以保护数据安全,降低数据导出风险。附图说明此处所说明的附图用来提供对本发明实施例的进一步理解,构成本发明的一部分,并不构成对本发明实施例的限定;图1为基于动态指令流检测的数据导出方法的流程示意图;图2为基于动态指令流检测的数据导出系统的组成示意图。具体实施方式为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在相互不冲突的情况下,本发明的实施例及实施例中的特征可以相互组合。在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述范围内的其他方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。应当理解,本文使用的“系统”、“装置”、“单元”和/或“模组”是用于区分不同级别的不同组件、元件、部件、部分或装配的一种方法。然而,如果其他词语可实现相同的目的,则可通过其他表达来替换所述词语。如本说明书和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包括”与“包含”仅提示包括已明确标识的步骤和元素,而这些步骤和元素不构成一个排它性的罗列,方法或者设备也可能包含其它的步骤或元素。本说明书中使用了流程图用来说明根据本说明书的实施例的系统所执行的操作。应当理解的是,前面或后面操作不一定按照顺序来精确地执行。相反,可以按照倒序或同时处理各个步骤。同时,也可以将其他操作添加到这些过程中,或从这些过程移除某一步或数步操作。实施例一请参考图1,图1为基于动态指令流检测的数据导出方法的流程示意图,本发明提供了基于动态指令流检测的数据导出方法,所述方法包括:基于数据源的类型获得待导出数据源的第一特征信息;基于目标位置类型获得待导出目标位置的第二特征信息;获取数据导出工具被操作系统加载进内存后的第一地址空间范围;执行数据导出任务,将数据源中的待导出数据导出至目标位置;获取执行数据导出任务时,数据导出工具运行环境中处理器执行的位于第一地址空间范围内的第一操作指令集;取出第一操作指令集中与数据源相关的第三特征信息,匹配第三特征信息与第一特征信息,若匹配失败则判断数据导出工具存在风险;取出第一操作指令集中与目标位置相关的第四特征信息,匹配第四特征信息与第二特征信息,若匹配失败则判断数据导出工具存在风险。下面举例对基于动态指令流检测的数据导出方法进行详细的介绍,但是本方法并不局限于以下实施方式,本方法包括:1.获取待导出的数据源特征信息,比如对于导出源数据是文件的,则特征信息为文件名;对于导出源数据是数据库表,则特征信息为库表名称;如果导出数据源是某个特定的i/o端口,则特征信息为端口号;2.获取待导出的目标位置特征信息,比如对于导出目标位置是文件的,则特征信息为文件名;对于导出目标位置是数据库表,则特征信息为库表名称;如果导出目标位置是某个特定的i/o端口,则特征信息为端口号;3.获取数据导出工具运行环境的cpu类型,比如intel或amd;4.根据cpu类型的不同加载不同的指令集及操作码,包括算术运算指令、位测试指令、位操作指令、数据转移指令、位移指令、控制转移指令、图形处理指令等;5.获取数据导出工具被操作系统加载进内存后的地址空间信息,这个地址空间的范围将作为后续指令检测的一个过滤条件,也即只识别该数据导出工具的操作指令;6.将步骤1和步骤2的输入和输出特征信息,结合cpu指令的操作数,形成针对输入和输出功能指令的过滤和判断条件。举例:假设数据导出的目标位置是i/o端口1090指令编码操作地址操作码操作数1100110x60f0bd08moveax,[data]data=1090mov对应的数据转移操作码,也即将指定位置的数据转入到i/o端口所对应的目标位置,也即端口1090所对应的目标位置。7.实时侦测数据导出工具地址空间范围内的cpu执行的指令集合,并过滤出所有操作码为mov的指令,并判断mov指令的操作数是否为1090;8.如果操作与步骤1和步骤2的特征信息不符合或不匹配,则该导出工具存在潜在的风险行为,也即有可能将数据同时导出到其它的未知目标位置,此时根据导出场景的配置,进行不同的处置,比如提醒、报警、中断导出操作;9.同时对导出工具所执行的各种指令进行分类统计,获得如表1所示的表格:表1指令类型数量算术运算指令n1位测试指令n2位操作指令n3数据转移指令n4位移指令n5控制转移指令n6图形处理指令n7…………n1~n7:各种指令执行的次数累计10.设定典型指令的比例范围,比如数据转移指令为[30%,80%],也即数据导出工具所执行的数据转移指令的比例应该在30%到80%之间;11.在运行过程中,定时对步骤的表格进行分析判断,基于数据导出工具的功能,其指令集具有非常明显的特征,也即其大部分指令应该都是数据读取类指令,也即数据转移指令;出现数据处理类的指令的比例应该是非常少的,因为数据导出工具大部分情况下仅仅只是扮演一个数据通道的角色,将数据从源搬运到目标位置即可,不需要对数据进行额外的处理和分析,作为比较,加解密工具,其数据处理类就会占相当高的比例;12.逐一判断步骤9表格中的指令及其执行数量,将其与步骤10的范围进行对比;13如果某类指令数量的比例不在其预设范围内,此时根据导出场景的配置,进行不同的处置,比如提醒、报警、中断导出操作。实施例二请参考图2,图2为基于动态指令流检测的数据导出系统的组成示意图;本发明实施例二提供了基于动态指令流检测的数据导出系统,所述系统包括:第一获得单元,用于基于数据源的类型获得待导出数据源的第一特征信息;第二获得单元,用于基于目标位置类型获得待导出目标位置的第二特征信息;第一获取单元,用于获取数据导出工具被操作系统加载进内存后的第一地址空间范围;导出单元,用于执行数据导出任务,将数据源中的待导出数据导出至目标位置;第二获取单元,用于获取执行数据导出任务时,数据导出工具运行环境中处理器执行的位于第一地址空间范围内的第一操作指令集;第一匹配单元,用于取出第一操作指令集中与数据源相关的第三特征信息,匹配第三特征信息与第一特征信息,若匹配失败则判断数据导出工具存在风险;第二匹配单元,用于取出第一操作指令集中与目标位置相关的第四特征信息,匹配第四特征信息与第二特征信息,若匹配失败则判断数据导出工具存在风险。实施例三本发明实施例三提供了一种基于动态指令流检测的数据导出装置,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现所述基于动态指令流检测的数据导出方法的步骤。其中,所述处理器可以是中央处理器(cpu,centralprocessingunit),还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor)、专用集成电路(applicationspecificintegratedcircuit)、现成可编程门阵列(fieldprogrammablegatearray)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的数据,实现发明中基于动态指令流检测的数据导出装置的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等。此外,存储器可以包括高速随机存取存储器、还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡,安全数字卡,闪存卡、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。实施例四本发明实施例四提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现所述基于动态指令流检测的数据导出方法的步骤。所述基于动态指令流检测的数据导出装置如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序可存储于一计算机可读存介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码、对象代码形式、可执行文件或某些中间形式等。所述计算机可读取介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器、随机存储器、点载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减。上述本发明实施例中的技术方案,至少具有如下的技术效果或优点:本发明对运行过程中的指令进行实时检测,根据指令的操作码、操作数和地址空间等信息,再结合源数据位置和导出的目标位置,一旦发现有不符合的操作数或者指令运行模式,则给运行时警告,并可随意中止导出操作,以保护数据安全,降低数据导出风险。上文已对基本概念做了描述,显然,对于本领域技术人员来说,上述详细披露仅仅作为示例,而并不构成对本说明书的限定。虽然此处并没有明确说明,本领域技术人员可能会对本说明书进行各种修改、改进和修正。该类修改、改进和修正在本说明书中被建议,所以该类修改、改进、修正仍属于本说明书示范实施例的精神和范围。同时,本说明书使用了特定词语来描述本说明书的实施例。如“一个实施例”、“一实施例”、和/或“一些实施例”意指与本说明书至少一个实施例相关的某一特征、结构或特点。因此,应强调并注意的是,本说明书中在不同位置两次或多次提及的“一实施例”或“一个实施例”或“一个替代性实施例”并不一定是指同一实施例。此外,本说明书的一个或多个实施例中的某些特征、结构或特点可以进行适当的组合。此外,本领域技术人员可以理解,本说明书的各方面可以通过若干具有可专利性的种类或情况进行说明和描述,包括任何新的和有用的工序、机器、产品或物质的组合,或对他们的任何新的和有用的改进。相应地,本说明书的各个方面可以完全由硬件执行、可以完全由软件(包括固件、常驻软件、微码等)执行、也可以由硬件和软件组合执行。以上硬件或软件均可被称为“数据块”、“模块”、“引擎”、“单元”、“组件”或“系统”。此外,本说明书的各方面可能表现为位于一个或多个计算机可读介质中的计算机产品,该产品包括计算机可读程序编码。计算机存储介质可能包含一个内含有计算机程序编码的传播数据信号,例如在基带上或作为载波的一部分。该传播信号可能有多种表现形式,包括电磁形式、光形式等,或合适的组合形式。计算机存储介质可以是除计算机可读存储介质之外的任何计算机可读介质,该介质可以通过连接至一个指令执行系统、装置或设备以实现通讯、传播或传输供使用的程序。位于计算机存储介质上的程序编码可以通过任何合适的介质进行传播,包括无线电、电缆、光纤电缆、rf、或类似介质,或任何上述介质的组合。本说明书各部分操作所需的计算机程序编码可以用任意一种或多种程序语言编写,包括面向对象编程语言如java、scala、smalltalk、eiffel、jade、emerald、c++、c#、vb.net、python等,常规程序化编程语言如c语言、visualbasic、fortran2003、perl、cobol2002、php、abap,动态编程语言如python、ruby和groovy,或其他编程语言等。该程序编码可以完全在用户计算机上运行、或作为独立的软件包在用户计算机上运行、或部分在用户计算机上运行部分在远程计算机运行、或完全在远程计算机或服务器上运行。在后种情况下,远程计算机可以通过任何网络形式与用户计算机连接,比如局域网(lan)或广域网(wan),或连接至外部计算机(例如通过因特网),或在云计算环境中,或作为服务使用如软件即服务(saas)。此外,除非权利要求中明确说明,本说明书所述处理元素和序列的顺序、数字字母的使用、或其他名称的使用,并非用于限定本说明书流程和方法的顺序。尽管上述披露中通过各种示例讨论了一些目前认为有用的发明实施例,但应当理解的是,该类细节仅起到说明的目的,附加的权利要求并不仅限于披露的实施例,相反,权利要求旨在覆盖所有符合本说明书实施例实质和范围的修正和等价组合。例如,虽然以上所描述的系统组件可以通过硬件设备实现,但是也可以只通过软件的解决方案得以实现,如在现有的服务器或移动设备上安装所描述的系统。同理,应当注意的是,为了简化本说明书披露的表述,从而帮助对一个或多个发明实施例的理解,前文对本说明书实施例的描述中,有时会将多种特征归并至一个实施例、附图或对其的描述中。但是,这种披露方法并不意味着本说明书对象所需要的特征比权利要求中提及的特征多。实际上,实施例的特征要少于上述披露的单个实施例的全部特征。针对本说明书引用的每个专利、专利申请、专利申请公开物和其他材料,如文章、书籍、说明书、出版物、文档等,特此将其全部内容并入本说明书作为参考。与本说明书内容不一致或产生冲突的申请历史文件除外,对本说明书权利要求最广范围有限制的文件(当前或之后附加于本说明书中的)也除外。需要说明的是,如果本说明书附属材料中的描述、定义、和/或术语的使用与本说明书所述内容有不一致或冲突的地方,以本说明书的描述、定义和/或术语的使用为准。最后,应当理解的是,本说明书中所述实施例仅用以说明本说明书实施例的原则。其他的变形也可能属于本说明书的范围。因此,作为示例而非限制,本说明书实施例的替代配置可视为与本说明书的教导一致。相应地,本说明书的实施例不仅限于本说明书明确介绍和描述的实施例。尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1