CN106548264A - 一种数据分析方法和装置 - Google Patents

一种数据分析方法和装置 Download PDF

Info

Publication number
CN106548264A
CN106548264A CN201510609660.4A CN201510609660A CN106548264A CN 106548264 A CN106548264 A CN 106548264A CN 201510609660 A CN201510609660 A CN 201510609660A CN 106548264 A CN106548264 A CN 106548264A
Authority
CN
China
Prior art keywords
analyzed
sentence
task
safety
ast
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201510609660.4A
Other languages
English (en)
Inventor
朱珠
王晓哲
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201510609660.4A priority Critical patent/CN106548264A/zh
Priority to PCT/CN2016/098816 priority patent/WO2017050148A1/zh
Publication of CN106548264A publication Critical patent/CN106548264A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Economics (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • Tourism & Hospitality (AREA)
  • Operations Research (AREA)
  • Educational Administration (AREA)
  • Marketing (AREA)
  • General Business, Economics & Management (AREA)
  • Game Theory and Decision Science (AREA)
  • Development Economics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Machine Translation (AREA)
  • Stored Programmes (AREA)

Abstract

本发明实施例公开了一种数据分析方法和装置,根据语句的组合关系对用于分析的语句进行分类,分类得到敏感集合和安全集合,根据所述敏感集合和安全集合建立安全分析模型,获取待分析任务的相关待分析语句;调用所述安全分析模型对所述相关待分析语句进行安全性分析,若所述相关待分析语句满足安全分析条件,则判定所述待分析任务为危险任务,所述安全分析条件根据所述敏感集合和所述安全集合设置;若所述相关待分析语句不满足所述安全分析条件,则判定所述待分析任务为安全任务。由此可对待分析任务进行自动化比对分析,从而去除了传统分析方式中的人为影响,提供了稳定的分析准确性,增加了系统的安全性。

Description

一种数据分析方法和装置
技术领域
本发明涉及数据处理领域,特别是涉及一种数据分析方法和装置。
背景技术
在数据研发的过程中,开发人员可以将研发完成的任务提交到系统,在对该任务的分析合格后,该任务可以在该系统上线。上线后,该系统的用户可以查找到该任务,通过执行该任务可以实现该任务相应的功能。
针对任务的分析主要是分析任务所包含的语句是否具有风险,通过分析语句判断该任务是否会导致系统的敏感信息泄露,对系统造成不安全隐患。目前主要依靠专业的分析人员对任务包含的语句进行分析,分析的准确性和分析人员在数据分析方面的经验直接相关,经验匮乏的分析人员所得出的分析结果往往不够准确,例如将安全的任务分析成高危任务,或将具有安全漏洞的任务分析为安全任务并在系统上线。人为因素的影响导致了目前对数据任务的分析准确性的波动大,降低了系统的安全性。
发明内容
为了解决上述技术问题,本发明提供了一种数据分析方法和装置,以使得可对待分析任务进行自动化比对分析,从而去除了传统分析方式中的人为影响。
本发明实施例公开了如下技术方案:
一种数据分析方法,根据语句的组合关系对用于分析的语句进行分类,分类得到敏感集合和安全集合,所述敏感集合中包括能造成敏感数据泄露的语句组合,所述安全集合中包括安全的语句组合,根据所述敏感集合和安全集合建立安全分析模型,所述方法包括:
获取待分析任务的相关待分析语句;
调用所述安全分析模型对所述相关待分析语句进行安全性分析,
若所述相关待分析语句满足安全分析条件,则判定所述待分析任务为危险任务,所述安全分析条件根据所述敏感集合和所述安全集合设置;
若所述相关待分析语句不满足所述安全分析条件,则判定所述待分析任务为安全任务。
可选的,在所述获取待分析任务的相关待分析语句之前,还包括:
获取所述待分析任务的任务标识;
根据所述任务标识从数据库保存的数据中调取与所述待分析任务的待分析语句;
根据所述任务标识查询所述待分析任务是否具有子任务,所述子任务为对所述待分析任务输出数据具有依赖关系的任务;
若具有,从数据库保存的数据库中调取所述子任务的语句;
且若具有,所述获取待分析任务的相关待分析语句,包括:
获取所述待分析任务的待分析语句、所述子任务的语句以及根据所述依赖关系得到的所述待分析任务的待分析语句和所述子任务的语句之间的语句组合关系。
可选的,所述根据所述敏感集合和安全集合建立安全分析模型,包括:
根据语句的组合关系将所述敏感集合中的语句组合建立至少一个敏感抽象语法树AST,将所述安全集合中的语句组合建立至少一个安全AST;
所述调用所述安全分析模型对所述相关待分析语句进行安全性分析,包括:
根据所述相关待分析语句中的语句组合关系,将所述相关待分析语句建立至少一个待分析AST;
将所述至少一个待分析AST与所述安全分析模型中的所述至少一个敏感AST和安全AST进行比对分析。
可选的,所述安全分析条件包括下述一个或多个的组合:
所述至少一个待分析AST中用于数据产出的子AST与所述至少一个敏感AST中的相同,且所述子AST与所述至少一个安全AST不同;
所述相关待分析语句中一个应用程序编程接口API对应的AST的至少一个层级与所述至少一个敏感AST中的相同;
所述相关待分析语句中多个应用程序编程接口API对应的AST的至少一个层级与所述至少一个敏感AST中的相同。
可选的,若所述相关待分析语句满足安全分析条件,还包括:
将判定为危险任务的所述待分析任务发至分析终端,由所述分析终端对所述待分析任务进行二次安全性分析。
一种数据分析装置,根据语句的组合关系对用于分析的语句进行分类,分类得到敏感集合和安全集合,所述敏感集合中包括能造成敏感数据泄露的语句组合,所述安全集合中包括安全的语句组合,根据所述敏感集合和安全集合建立安全分析模型,所述装置包括:
第一获取单元,用于获取待分析任务的相关待分析语句;
分析单元,用于调用所述安全分析模型对所述相关待分析语句进行安全性分析;
若所述分析结果为所述相关待分析语句满足安全分析条件,触发判断单元判定所述待分析任务为危险任务,所述安全分析条件根据所述敏感集合和所述安全集合设置;
若所述分析结果为所述相关待分析语句不满足所述安全分析条件,触发所述判定单元判定所述待分析任务为安全任务。
可选的,还包括:
第二获取单元,用于在触发所述第一获取单元之前,获取所述待分析任务的任务标识;
调取单元,用于根据所述任务标识从数据库保存的数据中调取与所述待分析任务的待分析语句;
查询单元,用于根据所述任务标识查询所述待分析任务是否具有子任务,所述子任务为对所述待分析任务输出数据具有依赖关系的任务;
若具有,所述调取单元还用于从数据库保存的数据库中调取所述子任务的语句;
且若具有,所述第一获取单元还用于获取所述待分析任务的待分析语句、所述子任务的语句以及根据所述依赖关系得到的所述待分析任务的待分析语句和所述子任务的语句之间的语句组合关系。
可选的,所述根据所述敏感集合和安全集合建立安全分析模型,包括:
根据语句的组合关系将所述敏感集合中的语句组合建立至少一个敏感抽象语法树AST,将所述安全集合中的语句组合建立至少一个安全AST;
所述分析单元具体用于根据所述相关待分析语句中的语句组合关系,将所述相关待分析语句建立至少一个待分析AST;将所述至少一个待分析AST与所述安全分析模型中的所述至少一个敏感AST和安全AST进行比对分析。
可选的,所述安全分析条件包括下述一个或多个的组合:
所述至少一个待分析AST中用于数据产出的子AST与所述至少一个敏感AST中的相同,且所述子AST与所述至少一个安全AST不同;
所述相关待分析语句中一个应用程序编程接口API对应的AST的至少一个层级与所述至少一个敏感AST中的相同;
所述相关待分析语句中多个应用程序编程接口API对应的AST的至少一个层级与所述至少一个敏感AST中的相同。
可选的,还包括:
发送单元,用于若所述分析结果为所述相关待分析语句满足安全分析条件,将判定为危险任务的所述待分析任务发至分析终端,由所述分析终端对所述待分析任务进行二次安全性分析。
由上述技术方案可以看出,首先根据语句的组合关系对用于分析的语句进行分类,分类得到敏感集合和安全集合,所述敏感集合中包括能造成敏感数据泄露的语句组合,所述安全集合中包括安全的语句组合,根据所述敏感集合和安全集合建立安全分析模型,当获取与待分析任务的相关待分析语句时,可以调用所述安全分析模型对所述相关待分析语句进行安全性分析,将预先得到的敏感语句组合和安全语句组合与待分析任务的相关语句进行比对分析,根据是否满足根据所述敏感集合和所述安全集合设置的安全分析条件来判定是否为安全任务或是否为危险任务,由此可对待分析任务进行自动化比对分析,从而去除了传统分析方式中的人为影响,提供了稳定的分析准确性,增加了系统的安全性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种数据分析方法的方法流程图;
图2为本发明实施例提供的一种获取相关待分析语句方法的方法流程图;
图3为本发明实施例提供的一种数据分析装置的装置结构图。
具体实施方式
在数据研发的过程中,开发人员可以将研发完成的任务提交到系统,在对该任务的分析合格后,该任务可以在该系统上线。其中,针对任务的分析主要是分析任务所包含的语句是否具有风险,通过分析语句判断该任务是否会导致系统的敏感信息泄露,例如调用敏感数据,或者通过计算生成敏感数据等。若这种不安全的任务被系统上线,可能会导致用户在执行该任务时泄露系统的敏感数据,由此对系统造成不安全隐患。目前主要依靠专业的分析人员对任务包含的语句进行分析,分析的准确性和分析人员在数据分析方面的经验直接相关,经验匮乏的分析人员所得出的分析结果往往不够准确,例如将安全的任务分析成高危任务,或将具有安全漏洞的任务分析为安全任务并在系统上线。人为因素的影响导致了目前对数据任务的分析准确性的波动大,降低了系统的安全性。
为此,本发明实施例提供了一种数据分析方法和装置,首先根据语句的组合关系对用于分析的语句进行分类,分类得到敏感集合和安全集合,所述敏感集合中包括能造成敏感数据泄露的语句组合,所述安全集合中包括安全的语句组合,根据所述敏感集合和安全集合建立安全分析模型,当获取与待分析任务的相关待分析语句时,可以调用所述安全分析模型对所述相关待分析语句进行安全性分析,将预先得到的敏感语句组合和安全语句组合与待分析任务的相关语句进行比对分析,根据是否满足根据所述敏感集合和所述安全集合设置的安全分析条件来判定是否为安全任务或是否为危险任务,由此可对待分析任务进行自动化比对分析,从而去除了传统分析方式中的人为影响,提供了稳定的分析准确性,增加了系统的安全性。
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
在描述本发明实施例提供的数据分析方法的具体步骤之前,先介绍安全分析模型的组成和建立。
本发明实施例提供的安全分析模型(英文:Security Analysis Model)建立方式是,根据语句的组合关系对用于分析的语句进行分类,分类得到敏感集合和安全集合,所述敏感集合中包括能造成敏感数据泄露的语句组合,所述安全集合中包括安全的语句组合,根据所述敏感集合和安全集合建立安全分析模型。
举例说明,可以针对具体的应用场景得到用于分析的语句,语句可以为计算机语句,例如目前系统平台中较为常用的结构化查询语言(英文:Structured Query Language,缩写:SQL)语句等。
可以通过关系代数理论,对用于分析的语句中的组合关系等进行解析,从中确定出可能出现敏感数据泄漏的语句组合,以及安全的语句组合。确定语句属于敏感集合或安全集合的标准可以为安全约束原则,安全约束原则可以包括禁止从系统获取敏感数据等,例如禁止从系统平台的数据库中获取敏感数据。敏感数据可以为用户真实信息、用户的交易数据、公司数据等。
确定出的敏感集合可以具体为敏感指标集合(英文:Sensitive IndicatorSet,缩写:SIS),其中可以包括从业务系统数据仓库表触发的计算过程。确定出的安全集合可以具体为非敏感、有实际业务意义的指标列表(英文:Non-sensitive Indicator Set,缩写:NIS)。
所述敏感集合和安全集合可以作为所述安全分析模型的组成部分。为了更为便于后续的安全性分析,可以将所述敏感集合和安全集合建立为抽象语法树(英文:abstract syntax tree,缩写:AST)。可选的,所述根据所述敏感集合和安全集合建立安全分析模型,包括:
根据语句的组合关系将所述敏感集合中的语句组合建立至少一个敏感抽象语法树AST,将所述安全集合中的语句组合建立至少一个安全AST。
其中,建立AST的过程可以为,将语句(例如SQL语句)作为AST的中间节点,根据语句之间的组合关系连接各个中间节点。
图1为本发明实施例提供的一种数据分析方法的方法流程图,如图1所示,所述方法包括:
S101:获取待分析任务的相关待分析语句。
举例说明,所述待分析任务可以为经过开发人员或数据开发系统等开发完成的、等待被系统上线到网络上的任务,在上线之前,需要对所述待分析任务进行安全性分析,判断运行所述待分析任务是否会导致泄漏系统的敏感数据等。通过分析避免上线的任务对系统造成安全隐患。
所述相关待分析语句可以为与所述待分析任务具有关联关系的语句,不需局限于仅为所述待分析任务所包括的语句,还可以包括对所述待分析任务具有依赖关系的其他任务所包括的语句。
可选的,本发明实施例提供了一种获取待分析任务的相关待分析语句的方法,在图1所对应实施例的基础上,图2为本发明实施例提供的一种获取相关待分析语句方法的方法流程图,包括:
S201:获取所述待分析任务的任务标识。
一般情况下,并不会将所述待分析任务的所有内容直接发送到用于安全性分析的服务器上,而是开发人员或数据开发系统先将所述待分析任务的内容保存到用于存储的服务器上,并由此得到与所述待分析任务相对应的任务标识。当需要对所述待分析任务进行分析时,可以将任务标识发送到用于安全性分析的服务器,从而避免发送大量数据的情况发生。
S202:根据所述任务标识从数据库保存的数据中调取与所述待分析任务的待分析语句。
S203:根据所述任务标识查询所述待分析任务是否具有子任务,所述子任务为对所述待分析任务输出数据具有依赖关系的任务。若具有,触发S204。
当用于安全性分析的服务器获取所述任务标识,将从用于存储待分析任务的服务器上更加所述任务标识调取与所述任务标识对应的待分析语句。并且,所述用于安全性分析的服务器还可以根据所述任务标识查找依赖所述待分析任务的子任务。通过查找与所述待分析任务具有依赖关系的子任务,可以筛选出原本所述待分析任务产出的数据符合安全性,但是可能会在子任务中作为生产出敏感数据的基础的情况。可见,通过同时分析子任务的语句,可以更加全面的确定所述待分析任务的安全性。
这里所述的依赖可以理解为子任务需要通过所述待分析任务才能实现自身功能,例如子任务所需要的数据由所述待分析任务计算得到或由所述待分析任务调取,或者例如子任务功能的实现所需要依赖于所述待分析任务的全部或部分功能的实现等。
S204:从数据库保存的数据库中调取所述子任务的语句。
S205:获取待分析任务的相关待分析语句,所述相关待分析语句在所述待分析任务具有子任务时包括所述待分析任务的待分析语句、所述子任务的语句以及根据所述依赖关系得到的所述待分析任务的待分析语句和所述子任务的语句之间的语句组合关系。
举例说明,所述相关待分析语句可以包括两种组成情况,和是否能够找到子任务相关。第一种情况下,没有找到所述待分析任务的子任务,这种情况下,所述相关待分析语句可以包括所述待分析任务的待分析语句。第二种情况下,找到了所述待分析任务的子任务,这种情况下,所述相关待分析语句在所述待分析任务具有子任务时包括所述待分析任务的待分析语句、所述子任务的语句以及根据所述依赖关系得到的所述待分析任务的待分析语句和所述子任务的语句之间的语句组合关系。
S102:调用所述安全分析模型对所述相关待分析语句进行安全性分析。
举例说明,所述安全性分析可以为将所述相关待分析语句中的语句组合、调用关系等与所述安全分析模型中敏感集合和安全集合中的语句组合和调用关系进行比对,从而确定出所述待分析任务的安全性。本发明不限定安全性分析的具体方式。在所述安全分析模型如上述例子中建立了AST的可选情况下,也可以对所述相关待分析语句进行相似处理,从而提高安全性分析中比对分析的效率。也就是说,可选的,所述调用所述安全分析模型对所述相关待分析语句进行安全性分析,包括:
根据所述相关待分析语句中的语句组合关系,将所述相关待分析语句建立至少一个待分析AST。
将所述至少一个待分析AST与所述安全分析模型中的所述至少一个敏感AST和安全AST进行比对分析。
举例说明,其中,建立AST的过程可以为,将语句(例如SQL语句)作为AST的中间节点,根据语句之间的组合关系连接各个中间节点。
由于比对的双方都是AST的结构,使得比对的过程更为便捷,可以单独的比对一个层级、一个实现数据产出功能的子AST等。
在S102中,若所述相关待分析语句满足安全分析条件,执行S103,若所述相关待分析语句不满足所述安全分析条件,执行S104。
举例说明,所述安全分析条件的内容可以与具体应用场景相关,所要求的不同的安全性可以对应不同的安全分析条件。
可选的,在上述AST的情况下,所述安全分析条件包括下述条件一、条件二和条件三中一个或多个的组合。在所述安全分析条件包括多个条件的情况下,即使所述相关待分析语句在安全性分析中仅满足了其中一个条件,也可以认为所述相关待分析语句满足安全分析条件。
条件一:所述至少一个待分析AST中用于数据产出的子AST与所述至少一个敏感AST中的相同,且所述子AST与所述至少一个安全AST不同。
若满足所述条件一,则可以理解为,所述待分析任务中的API可能直接生产出了敏感指标且未经过脱敏处理就对外暴露。
条件二:所述相关待分析语句中一个应用程序编程接口(英文:ApplicationProgramming Interface,缩写:API)对应的AST的至少一个层级与所述至少一个敏感AST中的相同。
若满足所述条件二,则可以理解为,所述待分析任务中的API可能生产出了计算敏感指标所需的所有前提数据,并在单个API中将它们对外暴露。
条件三:所述相关待分析语句中多个应用程序编程接口API对应的AST的至少一个层级与所述至少一个敏感AST中的相同。
若满足所述条件三,则可以理解为,所述待分析任务中的独立软件开发商(英文:Independent Software Vendors,缩写:ISV)可能生产出了计算敏感指标所需的所有前提数据,并在多个API中分别将它们对外暴露。
S103:判定所述待分析任务为危险任务。
S104:判定所述待分析任务为安全任务。
举例说明,在所述待分析任务被判定为安全任务时,则可以通过系统进行上线操作,上线后所述待分析任务能够被系统中的其他用户(例如其他开发人员等)所查到,也可以被其他用户所执行、引用等。
针对所述待分析任务被判定为危险任务的情况,可以直接将所述待分析任务发回开发方重新修改,或通知开发方上线不成功等信息。或者,为了避免错误的安全性分析可能,还可以对判定为危险任务的所述待分析任务进行二次安全性分析,以减少错判率。可选的,若所述相关待分析语句满足安全分析条件,还包括:
将判定为危险任务的所述待分析任务发至分析终端,由所述分析终端对所述待分析任务进行二次安全性分析。
举例说明,所述分析终端可以为其他自动分析的服务器,对判定为危险任务的所述待分析任务再一次进行安全性分析,以核实第一次安全性分析结果的正确性。所述分析终端也可以是专业数据分析人员,通过人工的方式对判定为危险任务的所述待分析任务进行人工分析,以核实所述待分析任务是否确实出现安全性问题。
由上述实施例可以看出,首先根据语句的组合关系对用于分析的语句进行分类,分类得到敏感集合和安全集合,所述敏感集合中包括能造成敏感数据泄露的语句组合,所述安全集合中包括安全的语句组合,根据所述敏感集合和安全集合建立安全分析模型,当获取与待分析任务的相关待分析语句时,可以调用所述安全分析模型对所述相关待分析语句进行安全性分析,将预先得到的敏感语句组合和安全语句组合与待分析任务的相关语句进行比对分析,根据是否满足根据所述敏感集合和所述安全集合设置的安全分析条件来判定是否为安全任务或是否为危险任务,由此可对待分析任务进行自动化比对分析,从而去除了传统分析方式中的人为影响,提供了稳定的分析准确性,增加了系统的安全性。
实施例二
图3为本发明实施例提供的一种数据分析装置的装置结构图,根据语句的组合关系对用于分析的语句进行分类,分类得到敏感集合和安全集合,所述敏感集合中包括能造成敏感数据泄露的语句组合,所述安全集合中包括安全的语句组合,根据所述敏感集合和安全集合建立安全分析模型,所述装置包括:
第一获取单元301,用于获取待分析任务的相关待分析语句。
分析单元302,用于调用所述安全分析模型对所述相关待分析语句进行安全性分析。
若所述分析结果为所述相关待分析语句满足安全分析条件,触发判断单元303判定所述待分析任务为危险任务,所述安全分析条件根据所述敏感集合和所述安全集合设置。
若所述分析结果为所述相关待分析语句不满足所述安全分析条件,触发所述判定单元303判定所述待分析任务为安全任务。
可选的,还包括:
第二获取单元,用于在触发所述第一获取单元301之前,获取所述待分析任务的任务标识;
调取单元,用于根据所述任务标识从数据库保存的数据中调取与所述待分析任务的待分析语句;
查询单元,用于根据所述任务标识查询所述待分析任务是否具有子任务,所述子任务为对所述待分析任务输出数据具有依赖关系的任务;
若具有,所述调取单元还用于从数据库保存的数据库中调取所述子任务的语句;
且若具有,所述第一获取单元301还用于获取所述待分析任务的待分析语句、所述子任务的语句以及根据所述依赖关系得到的所述待分析任务的待分析语句和所述子任务的语句之间的语句组合关系。
可选的,所述根据所述敏感集合和安全集合建立安全分析模型,包括:
根据语句的组合关系将所述敏感集合中的语句组合建立至少一个敏感抽象语法树AST,将所述安全集合中的语句组合建立至少一个安全AST;
所述分析单元302具体用于根据所述相关待分析语句中的语句组合关系,将所述相关待分析语句建立至少一个待分析AST;将所述至少一个待分析AST与所述安全分析模型中的所述至少一个敏感AST和安全AST进行比对分析。
可选的,所述安全分析条件包括下述一个或多个的组合:
所述至少一个待分析AST中用于数据产出的子AST与所述至少一个敏感AST中的相同,且所述子AST与所述至少一个安全AST不同;
所述相关待分析语句中一个应用程序编程接口API对应的AST的至少一个层级与所述至少一个敏感AST中的相同;
所述相关待分析语句中多个应用程序编程接口API对应的AST的至少一个层级与所述至少一个敏感AST中的相同。
可选的,还包括:
发送单元,用于若所述分析结果为所述相关待分析语句满足安全分析条件,将判定为危险任务的所述待分析任务发至分析终端,由所述分析终端对所述待分析任务进行二次安全性分析。
由上述实施例可以看出,首先根据语句的组合关系对用于分析的语句进行分类,分类得到敏感集合和安全集合,所述敏感集合中包括能造成敏感数据泄露的语句组合,所述安全集合中包括安全的语句组合,根据所述敏感集合和安全集合建立安全分析模型,当获取与待分析任务的相关待分析语句时,可以调用所述安全分析模型对所述相关待分析语句进行安全性分析,将预先得到的敏感语句组合和安全语句组合与待分析任务的相关语句进行比对分析,根据是否满足根据所述敏感集合和所述安全集合设置的安全分析条件来判定是否为安全任务或是否为危险任务,由此可对待分析任务进行自动化比对分析,从而去除了传统分析方式中的人为影响,提供了稳定的分析准确性,增加了系统的安全性。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质可以是下述介质中的至少一种:只读存储器(英文:read-onlymemory,缩写:ROM)、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于设备及系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的设备及系统实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

Claims (10)

1.一种数据分析方法,其特征在于,根据语句的组合关系对用于分析的语句进行分类,分类得到敏感集合和安全集合,所述敏感集合中包括能造成敏感数据泄露的语句组合,所述安全集合中包括安全的语句组合,根据所述敏感集合和安全集合建立安全分析模型,所述方法包括:
获取待分析任务的相关待分析语句;
调用所述安全分析模型对所述相关待分析语句进行安全性分析,
若所述相关待分析语句满足安全分析条件,则判定所述待分析任务为危险任务,所述安全分析条件根据所述敏感集合和所述安全集合设置;
若所述相关待分析语句不满足所述安全分析条件,则判定所述待分析任务为安全任务。
2.根据权利要求1所述的方法,其特征在于,在所述获取待分析任务的相关待分析语句之前,还包括:
获取所述待分析任务的任务标识;
根据所述任务标识从数据库保存的数据中调取与所述待分析任务的待分析语句;
根据所述任务标识查询所述待分析任务是否具有子任务,所述子任务为对所述待分析任务输出数据具有依赖关系的任务;
若具有,从数据库保存的数据库中调取所述子任务的语句;
且若具有,所述获取待分析任务的相关待分析语句,包括:
获取所述待分析任务的待分析语句、所述子任务的语句以及根据所述依赖关系得到的所述待分析任务的待分析语句和所述子任务的语句之间的语句组合关系。
3.根据权利要求1所述的方法,其特征在于,所述根据所述敏感集合和安全集合建立安全分析模型,包括:
根据语句的组合关系将所述敏感集合中的语句组合建立至少一个敏感抽象语法树AST,将所述安全集合中的语句组合建立至少一个安全AST;
所述调用所述安全分析模型对所述相关待分析语句进行安全性分析,包括:
根据所述相关待分析语句中的语句组合关系,将所述相关待分析语句建立至少一个待分析AST;
将所述至少一个待分析AST与所述安全分析模型中的所述至少一个敏感AST和安全AST进行比对分析。
4.根据权利要求3所述的方法,其特征在于,所述安全分析条件包括下述一个或多个的组合:
所述至少一个待分析AST中用于数据产出的子AST与所述至少一个敏感AST中的相同,且所述子AST与所述至少一个安全AST不同;
所述相关待分析语句中一个应用程序编程接口API对应的AST的至少一个层级与所述至少一个敏感AST中的相同;
所述相关待分析语句中多个应用程序编程接口API对应的AST的至少一个层级与所述至少一个敏感AST中的相同。
5.根据权利要求1至4任一项所述的方法,其特征在于,若所述相关待分析语句满足安全分析条件,还包括:
将判定为危险任务的所述待分析任务发至分析终端,由所述分析终端对所述待分析任务进行二次安全性分析。
6.一种数据分析装置,其特征在于,根据语句的组合关系对用于分析的语句进行分类,分类得到敏感集合和安全集合,所述敏感集合中包括能造成敏感数据泄露的语句组合,所述安全集合中包括安全的语句组合,根据所述敏感集合和安全集合建立安全分析模型,所述装置包括:
第一获取单元,用于获取待分析任务的相关待分析语句;
分析单元,用于调用所述安全分析模型对所述相关待分析语句进行安全性分析;
若所述分析结果为所述相关待分析语句满足安全分析条件,触发判断单元判定所述待分析任务为危险任务,所述安全分析条件根据所述敏感集合和所述安全集合设置;
若所述分析结果为所述相关待分析语句不满足所述安全分析条件,触发所述判定单元判定所述待分析任务为安全任务。
7.根据权利要求6所述的装置,其特征在于,还包括:
第二获取单元,用于在触发所述第一获取单元之前,获取所述待分析任务的任务标识;
调取单元,用于根据所述任务标识从数据库保存的数据中调取与所述待分析任务的待分析语句;
查询单元,用于根据所述任务标识查询所述待分析任务是否具有子任务,所述子任务为对所述待分析任务输出数据具有依赖关系的任务;
若具有,所述调取单元还用于从数据库保存的数据库中调取所述子任务的语句;
且若具有,所述第一获取单元还用于获取所述待分析任务的待分析语句、所述子任务的语句以及根据所述依赖关系得到的所述待分析任务的待分析语句和所述子任务的语句之间的语句组合关系。
8.根据权利要求6所述的装置,其特征在于,所述根据所述敏感集合和安全集合建立安全分析模型,包括:
根据语句的组合关系将所述敏感集合中的语句组合建立至少一个敏感抽象语法树AST,将所述安全集合中的语句组合建立至少一个安全AST;
所述分析单元具体用于根据所述相关待分析语句中的语句组合关系,将所述相关待分析语句建立至少一个待分析AST;将所述至少一个待分析AST与所述安全分析模型中的所述至少一个敏感AST和安全AST进行比对分析。
9.根据权利要求8所述的装置,其特征在于,所述安全分析条件包括下述一个或多个的组合:
所述至少一个待分析AST中用于数据产出的子AST与所述至少一个敏感AST中的相同,且所述子AST与所述至少一个安全AST不同;
所述相关待分析语句中一个应用程序编程接口API对应的AST的至少一个层级与所述至少一个敏感AST中的相同;
所述相关待分析语句中多个应用程序编程接口API对应的AST的至少一个层级与所述至少一个敏感AST中的相同。
10.根据权利要求6至9任一项所述的装置,其特征在于,还包括:
发送单元,用于若所述分析结果为所述相关待分析语句满足安全分析条件,将判定为危险任务的所述待分析任务发至分析终端,由所述分析终端对所述待分析任务进行二次安全性分析。
CN201510609660.4A 2015-09-22 2015-09-22 一种数据分析方法和装置 Pending CN106548264A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201510609660.4A CN106548264A (zh) 2015-09-22 2015-09-22 一种数据分析方法和装置
PCT/CN2016/098816 WO2017050148A1 (zh) 2015-09-22 2016-09-13 一种数据分析方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510609660.4A CN106548264A (zh) 2015-09-22 2015-09-22 一种数据分析方法和装置

Publications (1)

Publication Number Publication Date
CN106548264A true CN106548264A (zh) 2017-03-29

Family

ID=58364309

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510609660.4A Pending CN106548264A (zh) 2015-09-22 2015-09-22 一种数据分析方法和装置

Country Status (2)

Country Link
CN (1) CN106548264A (zh)
WO (1) WO2017050148A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108171076A (zh) * 2017-12-22 2018-06-15 湖北工业大学 保护电子交易中消费者隐私的大数据相关性分析方法及系统

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108551478B (zh) 2018-03-29 2020-12-18 中国银联股份有限公司 一种事务处理方法、服务器及事务处理系统
CN109063511A (zh) * 2018-08-16 2018-12-21 深圳云安宝科技有限公司 基于Web API的数据访问控制方法、装置、代理服务器及介质
CN111767300B (zh) * 2020-05-11 2022-06-07 全球能源互联网研究院有限公司 一种电力数据内外网穿透的动态脱敏方法及装置
CN112104655B (zh) * 2020-09-16 2022-07-22 安徽长泰科技有限公司 一种用于防止数据泄露的防护系统和方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101833505A (zh) * 2010-04-30 2010-09-15 天津大学 一种软件系统安全缺陷检测方法
CN102945203A (zh) * 2012-10-26 2013-02-27 深圳出入境检验检疫局信息中心 一种用于移动互联网应用的代码安全测试方法
CN103793652A (zh) * 2012-10-29 2014-05-14 广东电网公司信息中心 一种基于静态分析的应用系统代码安全扫描装置
US20140337916A1 (en) * 2013-03-27 2014-11-13 International Business Machines Corporation Evaluating Security of Data Access Statements
CN104252599A (zh) * 2013-06-28 2014-12-31 深圳市腾讯计算机系统有限公司 一种检测跨站脚本漏洞的方法及装置
CN104850493A (zh) * 2015-04-24 2015-08-19 百度在线网络技术(北京)有限公司 一种检测源代码漏洞的方法和装置
CN104899043A (zh) * 2015-06-16 2015-09-09 北京航空航天大学 采用模块安全性分析获取软件安全性需求的方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101833505A (zh) * 2010-04-30 2010-09-15 天津大学 一种软件系统安全缺陷检测方法
CN102945203A (zh) * 2012-10-26 2013-02-27 深圳出入境检验检疫局信息中心 一种用于移动互联网应用的代码安全测试方法
CN103793652A (zh) * 2012-10-29 2014-05-14 广东电网公司信息中心 一种基于静态分析的应用系统代码安全扫描装置
US20140337916A1 (en) * 2013-03-27 2014-11-13 International Business Machines Corporation Evaluating Security of Data Access Statements
CN104252599A (zh) * 2013-06-28 2014-12-31 深圳市腾讯计算机系统有限公司 一种检测跨站脚本漏洞的方法及装置
CN104850493A (zh) * 2015-04-24 2015-08-19 百度在线网络技术(北京)有限公司 一种检测源代码漏洞的方法和装置
CN104899043A (zh) * 2015-06-16 2015-09-09 北京航空航天大学 采用模块安全性分析获取软件安全性需求的方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108171076A (zh) * 2017-12-22 2018-06-15 湖北工业大学 保护电子交易中消费者隐私的大数据相关性分析方法及系统
CN108171076B (zh) * 2017-12-22 2021-04-02 湖北工业大学 保护电子交易中消费者隐私的大数据相关性分析方法及系统

Also Published As

Publication number Publication date
WO2017050148A1 (zh) 2017-03-30

Similar Documents

Publication Publication Date Title
CN106548264A (zh) 一种数据分析方法和装置
CN109743195A (zh) 一种安全基线的核查方法和装置
US11256712B2 (en) Rapid design, development, and reuse of blockchain environment and smart contracts
CN105022958B (zh) 一种安卓应用中基于代码库安全规约的应用程序漏洞检测分析方法
CN109766263A (zh) 自动化测试分析处理方法、装置、计算机设备及存储介质
US20160283357A1 (en) Call stack relationship acquiring method and apparatus
CN112181804A (zh) 一种参数校验方法、设备以及存储介质
CN105550598B (zh) 一种移动存储设备的安全管理方法和装置
Lotter et al. Code reuse in stack overflow and popular open source java projects
CN106201856A (zh) 一种多版本性能测试方法及装置
CN109828780B (zh) 一种开源软件的识别方法及装置
CN110532180A (zh) 一种测试数据的生成方法及装置
CN112688966A (zh) webshell检测方法、装置、介质和设备
CN109582560A (zh) 测试文件编辑方法、装置、设备及计算机可读存储介质
CN112464246A (zh) 一种基于等级保护2.0的自动测评方法及装置
US8856470B2 (en) Data integrity protection in storage volumes
CN116226865A (zh) 云原生应用的安全检测方法、装置、服务器、介质及产品
Ye et al. Towards automated generation of bug benchmark for smart contracts
CN115080827A (zh) 一种敏感数据处理方法及装置
US20150227745A1 (en) System and method for sampling based source code security audit
CN115348117B (zh) 用户水平越权行为判定方法和装置
CN107402883B (zh) 一种数据测试处理方法和装置
US11138099B2 (en) Method for testing software, and computing device and computer-readable storage medium thereof
CN105786929A (zh) 一种信息监测方法及装置
US11068236B2 (en) Identification of users across multiple platforms

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20170329