一种越权检测方法、装置、设备及存储介质与流程

文档序号:32946530发布日期:2023-01-14 11:13阅读:41来源:国知局
一种越权检测方法、装置、设备及存储介质与流程

1.本技术涉及网络技术安全领域,具体涉及一种越权检测方法、装置、电子设备、计算机可读存储介质、以及计算机程序产品。


背景技术:

2.随着软件系统的不断发展,多角色用户的需求也在越来越多的软件系统上实现,随之产生了越来越多的安全问题,例如层出不穷的越权行为,其中越权行为主要分为垂直越权和水平越权,垂直越权主要指的是的低权限用户可操作高权限用户接口,例如普通用户可以访问管理员用户的接口,导致普通用户可以操作管理员接口等安全性问题。水平越权主要是同级别用户可以访问对方的接口,例如普通用户a可以访问普通用户b的接口,导致普通用户可以查询操作其他同级用户的信息等。
3.由于越权行为危害很大且不容易发现,目前需要人工或者通过半自动化的方式测试是否越权,不这样仅耗时耗力且不能有效快速检测到越权风险。


技术实现要素:

4.为解决上述技术问题,本技术的实施例提供了一种越权检测方法及装置、电子设备、计算机可读存储介质以及计算机程序产品。
5.根据本技术实施例的一个方面,提供了一种越权检测方法,包括:获取实时流量事件;其中,所述实时流量事件中包括触发所述实时流量事件的待检测对象,和所述待检测对象触发所述实时流量事件所使用的资源;从所述实时流量事件中获取所述待检测对象的第一对象信息和第一资源信息;基于所述第一对象信息和第一资源信息,绘制与所述实时流量事件相匹配的目标权限画像;其中,所述目标权限画像中包括至少一个目标对象和所述至少一个目标对象对应的目标资源;基于所述目标权限画像检测所述待检测对象是否存在越权风险。
6.根据本技术实施例的一个方面,若所述目标权限画像为至少两个;所述基于所述目标权限画像检测所述待检测对象是否存在越权风险,包括:检测所述第一对象信息和第一资源信息是否分别属于不同的目标权限画像,得到检测结果;若所述检测结果表征所述第一对象信息和第一资源信息分别属于不同的目标权限画像,则确定所述待检测对象存在第一类型的越权风险;若所述检测结果表征所述第一对象信息和第一资源信息属于相同的目标权限画像,则获取所述第一资源信息的邻接资源信息,并根据所述邻接资源信息和所述目标权限画像,检测所述待检测对象是否存在越权风险。
7.根据本技术实施例的一个方面,若所述邻接资源信息为前序资源信息,则所述根据所述邻接资源信息和所述目标权限画像,检测所述待检测对象是否存在越权风险,包括:从所述目标权限画像中与所述第一资源信息相匹配的目标资源的前序资源中,检测是否存在与所述前序资源信息相匹配的资源;若检测到未存在与所述前序资源信息相匹配的资源,则确定所述待检测对象存在第二类型的越权风险;若检测到存在与所述前序资源信息
相匹配的资源,则确定所述待检测对象不存在越权风险。
8.根据本技术实施例的一个方面,所述基于所述第一对象信息和第一资源信息,绘制与所述实时流量事件相匹配的权限画像,包括:从多个权限画像中选择出与所述第一对象信息相匹配的目标对象对应的权限画像;以及,从所述多个权限画像中选择出与所述第一资源信息相匹配的目标资源对应的权限画像。
9.根据本技术实施例的一个方面,在基于所述第一对象信息和第一资源信息,绘制与所述实时流量事件相匹配的目标权限画像之前,所述方法还包括:获取历史流量事件;其中,所述历史流量事件中包括触发所述历史流量事件的目标对象,和所述目标对象触发所述历史流量事件所使用的目标资源;从所述历史流量事件中获取所述目标对象的第二对象信息和第二资源信息;基于所述第二对象信息和所述第二资源信息构造权限画像。
10.根据本技术实施例的一个方面,所述目标对象为多个,所述第二对象信息为用于标识目标对象的标识信息,所述第二资源信息为基于时间的资源序列,所述资源序列包括用于分别标识各个目标资源的标识信息;所述基于所述第二对象信息和所述第二资源信息构造权限画像,包括:基于多个目标对象的标识信息生成对象组;基于多个目标资源的标识信息生成资源组;关联所述对象组和所述资源组,构造得到所述权限画像。
11.根据本技术实施例的一个方面,所述历史流量事件包括多个流量数据;所述从所述历史流量事件中获取所述目标对象的第二对象信息和第二资源信息,包括:对所述历史流量事件进行解析,得到所述多个流量数据;对所述多个流量数据按照相同目标对象进行划分,得到各个目标对象的第二对象信息,以及所述各个目标对象的流量数据;基于所述各个目标对象对应的流量数据构建基于时间的资源序列,得到所述各个目标对象对应的第二资源信息。
12.根据本技术实施例的一个方面,所述方法还包括:若基于所述第一对象信息和第一资源信息,未获取到与所述实时流量事件相匹配的目标权限画像,则获取历史流量事件;根据所述历史流量事件构造所述目标权限画像。
13.根据本技术实施例的一个方面,提供了一种越权检测装置,包括:第一获取模块,用于获取实时流量事件;其中,所述实时流量事件中包括触发所述实时流量事件的待检测对象,和所述待检测对象触发所述实时流量事件所使用的资源;第二获取模块,用于从所述实时流量事件中获取所述待检测对象的第一对象信息和第一资源信息;匹配模块,用于基于所述第一对象信息和第一资源信息,绘制与所述实时流量事件相匹配的目标权限画像;其中,所述目标权限画像中包括至少一个目标对象和所述至少一个目标对象对应的目标资源;检测模块,用于基于所述目标权限画像检测所述待检测对象是否存在越权风险。
14.根据本技术实施例的一个方面,提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述电子设备实现如前所述的越权检测方法。
15.根据本技术实施例的一个方面,提供了一种计算机可读存储介质,其上存储有计算机可读指令,当所述计算机可读指令被计算机的处理器执行时,使计算机执行如上所述的越权检测方法。
16.根据本技术实施例的一个方面,还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现如上所述的越权检测方法中的步骤。
17.在本技术的实施例所提供的技术方案中,通过获取实时流量事件,并获取实时流量事件中的待检测对象对应的第一对象信息和第一资源信息,根据第一对象信息和第一资源信息,绘制与所述实时流量事件相匹配的目标权限画像,根据目标权限画像中包括的目标对象和目标资源,通过比对实时流量事件的第一对象信息及第一资源信息和目标权限画像的目标对象及目标资源确定实时流量事件中的待检测对象是否存在越权的风险。采用此方式大大提高了越权测试实时效率,减少了越权测试的人力投入,提高了越权测试的覆盖面,避免了未发现的越权安全问题,提高系统安全性。
18.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本技术。
附图说明
19.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本技术的实施例,并与说明书一起用于解释本技术的原理。显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术者来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
20.图1是本技术的一示例性实施例示出的权限检测的实施环境示意图;
21.图2是本技术的一示例性实施例示出的权限检测方法的流程图;
22.图3是本技术的一示例性实施例示出的目标权限画像x0的示意图;
23.图4是本技术的另一示例性实施例示出的一种权限检测方法的流程图;
24.图5是本技术的另一示例性实施例示出的一种权限检测方法的流程图;
25.图6是本技术的另一示例性实施例示出的一种权限检测方法的流程图;
26.图7是本技术的另一示例性实施例示出的一种权限检测方法的流程图;
27.图8是另一示例性实施例示出的权限画像x1的示意图;
28.图9是另一示例性实施例示出的权限画像x2的示意图;
29.图10是在一示例性的应用场景下权限检测的简要流程示意图;
30.图11是本技术的一示例性实施例示出的权限检测装置的框图;
31.图12示出了适于用来实现本技术实施例的电子设备的计算机系统的结构示意图。
具体实施方式
32.这里将详细地对示例性实施例执行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本技术相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本技术的一些方面相一致的装置和方法的例子。
33.附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
34.附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
35.在本技术中提及的“多个”是指两个或者两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
36.请参阅图1,图1是本技术涉及的一种实施环境的示意图。该实施环境包括终端110和服务器120,终端110和服务器120之间通过有线或者无线网络进行通信。
37.服务器120中存储有多个根据终端110上的历史流量事件构造的权限画像,也即服务器120获取终端110通过历史流量事件构造的多个权限画像,并且各个权限画像对应的用户信息以及该用户信息对应的资源组合。
38.终端110上安装有软件操作系统,并安装有多个应用程序,终端110根据软件操作系统上的多个应用程序的历史流量事件构造出多个权限画像并存储,当需要检测终端110上的多个应用程序触发的流量事件时,会获取终端110操作系统上的实时流量事件,并提取出该实时流量事件中的待检测对象以及待检测对象触发实时流量事件所使用的资源,基于该待检测对象以及待检测对象触发实时流量事件所使用的资源从存储的多个权限画像中匹配出对应的目标权限画像,并通过比对目标权限画像检测该待测试对象是否存在越权风险。
39.其中,终端110可以是智能手机、平板、笔记本电脑、计算机等任意能够进行网络访问的电子设备,服务器120可以是独立的物理服务器,也可以是多个物理服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn(content delivery network,内容分发网络)以及大数据和人工智能平台等基础云计算服务的云服务器,本处不对此进行限制。
40.应理解,云技术(cloud technology)是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。云技术也是基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。
41.图2是本技术一示例性实施例示出的一种越权检测方法的流程图。该方法适用于图1所示的实施环境,并由图1所示实施环境中的服务器120具体执行。该方法也可以适用于其它的实施环境,并由其它的实施环境中的设备执行,本实施例并不对此进行限制。
42.下面将以服务器作为示例性的执行主体对本技术实施例提出的方法进行详细描述。如图2所示,在一示例性实施例中,该方法包括步骤s210至步骤s240,详细介绍如下:
43.步骤s210,获取实时流量事件;其中,实时流量事件中包括触发实时流量事件的待检测对象,和待检测对象触发实时流量事件所使用的资源。
44.在需要检测终端上是否存在越权风险时,当终端安装的应用程序上发生实时流量事件时,获取需要该实时流量事件,并将实时流量事件解析为单条流量数据,并进一步的将单条流量数据解析为对应的触发该条流量数据的待检测对象,以及待检测对象触发该条流量数据所使用的资源,在本实施例中,触发流量数据时所使用的资源可以是指触发流量数据时所使用的(api application program interface接口)。
45.需要说明的是,api被定义为应用程序可用以与计算机操作系统交换信息和命令的标准集。一个标准的应用程序界面为用户或软件开发商提供一个通用编程环境,以编写可交互运行于不同厂商计算机的应用程序。并且,api不是产品,而是战略,所有操作系统与
网络操作系统都有api。在网络环境中不同机器的api兼容是必要的,否则程序对其所驻留的机器将是不兼容的。
46.步骤s220,从实时流量事件中获取待检测对象的第一对象信息和第一资源信息。
47.可以通过实时流量事件中流量的目标ip地址、回应域名等字段进行粗粒度区分出实时流量事件中不同的应用程序对应的流量数据,再解析出每一应用程序对应的流量数据中的第一对象信息和第一对象信息使用的第一资源信息,其中,第一对象信息是指应用程序中的用户信息,第一资源信息可以为第一对象信息在对该应用程序进行访问时所使用的接口,即,解析出实时流量事件中所包括的用户信息以及用户触发流量事件所使用的接口信息。
48.示例性的,获取终端的实时流量事件,并对实时流量事件进行解析区分出该实时流量事件中包括的应用程序a和应用程序b以及应用程序a对应的流量数据和应用程序b对应的流量数据。并进一步的对应用程序a对应的流量数据以及应用程序b对应的流量数据进行解析,并挖掘出其中共有的特征,最后得到在实时流量事件中的待检测的第一对象信息和第一资源信息{a1,a},{a2,b},其中,a1和a2为第一对象信息,a和b为第一资源信息。
49.步骤s230,基于第一对象信息和第一资源信息,绘制与实时流量事件相匹配的目标权限画像;其中,目标权限画像中包括至少一个目标对象和至少一个目标对象对应的目标资源。
50.需要说明的是,权限画像是根据历史流量事件库中的历史流量事件绘制而成的。具体的,按照预设的的维度对历史流量事件进行分组,并从分组得到的多个流量数据中挖掘出共有的资源信息组成共有特征集合,并进一步根据共有的资源信息从原始完整流量中提取出对应的对象信息即用户信息集合,并从共有资源信息组成的共有特征集合中得出用户对应的实体属性和关系属性,再通过收敛用户信息集合和用户对应的实体属性和关系属性得到对应的多个权限画像。示例性的,在图3所示的权限画像x0中用户a、用户b以及用户c为满足角色组e特征的用户信息,资源a,资源b以及资源c为满足资源组x特征的资源信息,由于角色组e和资源组x满足特定权限关系特征,通过收敛用户信息和资源信息得到对应的权限画像,通过此方式可以从历史流量事件中构造出多个权限画像,并将该多个权限画像存储在对应的权限画像数据库中。
51.根据从软件操作系统上的实时流量事件中获取的待检测对象的第一对象信息和第一对象资源在权限画像数据库中匹配出对应的目标权限画像,其中,关于目标权限画像的匹配可以为从权限画像数据库中匹配出用户信息与第一对象信息相匹配的至少一个目标权限画像,从权限画像数据库中匹配出资源信息与第一资源信息相匹配的至少一个目标权限画像。
52.示例性的,如上述所言,若从实时流量事件中获取得到的第一对象信息和第一资源信息为{a1,a},{a2,b},其中,a1和a2为第一对象信息,a和b为第一资源信息,通过在权限画像数据库中查找出与第一对象信息a1相匹配的权限画像以及在权限画像数据库中查找出与第一资源信息a相匹配的权限画像,并将查找出的全部权限画像作为待检测对象中的第一对象信息a1的目标权限画像。同理,在权限画像数据库中查找出与第一对象信息a2相匹配的权限画像以及在权限画像数据库中查找出与第一资源信息b相匹配的权限画像,并将查找出的全部权限画像作为待检测对象中的第一对象信息a2的目标权限画像。其中目标
权限画像如上述所言的权限画像x0是通过收敛用户信息和资源信息得到的,也就是说,在每一目标权限画像中都包含有用户信息以及资源信息。
53.步骤s240,基于目标权限画像检测待检测对象是否存在越权风险。
54.需要说明的是,越权风险包括水平越权风险、垂直越权风险以及无访问权限。具体的,垂直越权主要指的是的低权限用户可操作高权限用户接口,例如普通用户可以访问管理员用户的接口,导致普通用户可以操作管理员接口等安全性问题;水平越权主要是同级别用户可以访问对方的接口,例如普通用户a可以访问普通用户b的接口,导致普通用户可以查询操作其他同级用户的信息等;而无访问权限是指,在多用户的计算机系统的管理中,权限是指某个特定用户具有特定的系统资源使用权力,就像文件夹、特定系统指令的使用或存储量的限制。通常,系统管理员,或者在网络中的网格管理员,对某个特定资源的使用分配给用户不同的权限,系统软件则自动地强制执行这些权限。
55.如上述所言,目标权限画像是通过历史流量事件挖掘共有特征形成的对象组合与资源组合的收敛集合,通过将待检测对象的第一对象信息和第一资源信息与匹配到的目标权限画像进行比对,以此判断当前软件系统上的实时流量事件是否存在越权风险,避免了未发现的越权安全问题,提供了系统安全性。
56.在本实施例中,通过对软件操作系统上的实时流量事件进行解析得到待检测对象的第一对象信息和第一资源信息,并基于该第一对象信息和第一资源信息绘制与实时流量事件匹配的根据历史流量事件构造的目标权限画像,并通过将第一对象信息和第一资源信息与目标权限画像中包括的目标对象和目标资源进行比对确定当前实时流量事件是否有越权风险,提高了越权检测的覆盖率,避免了越权检测中的人工参与,提高了实时越权检测的效率,保证了系统的安全性。
57.请参照图4,基于上述实施例,在本技术所提供的其中一个示例性实施例,若目标权限画像为至少两个,上述步骤s240包括步骤s310至步骤s330,详细介绍如下:
58.步骤s310,检测第一对象信息和第一资源信息是否分别属于不同的目标权限画像,得到检测结果。
59.如上述所言,从当前软件操作系统上提取的实时流量事件,将实时流量事件解析为至少一组单条流量数据,并将单条流量数据中的上一跳接口和目的接口相连接可构造一个有向序列中的单个序列元素,例如,在实时流量事件中存在两组单条流量数据,并通过提取目的地ip地址、域名等方式解析出该两组单条流量数据中待检测对象包括的第一对象信息和第一资源信息为{a1,a},{a2,b},其中,a1和a2为第一对象信息,a和b为第一资源信息。以此,根据{a1,a},{a2,b}匹配出目标权限画像为x1’和x2’,通过比对a1和a是否属于同一个目标权限画像x1’或x2’,以及a2和b是否属于同一个目标权限画像x1’或x2’确定该待检测对象是否越权。
60.示例性的,如上述所言,若根据实时流量事件中的待检测对象对应的第一对象信息和第一资源信息{a1,a},{a2,b}匹配出目标权限画像为x1’和x2’,其中目标权限画像x1’={a1,a2,a3,a4|(a,c,d,f)},x2’={a1,a3,a4,a5|(b,a,f,g)},根据比对实时流量事件中的待检测对象与目标权限画像判定当前实时流量事件中是否存在越权行为。
61.步骤s320,若检测结果表征第一对象信息和第一资源信息分别属于不同的目标权限画像,则确定待检测对象存在第一类型的越权风险。
62.如上述所言,根据比对软件操作系统中的实时流量事件中的待检测对象对应的第一对象信息和第一资源信息的组合与目标权限画像中的目标对象与目标资源信息的组合不相同时,则确定该待检测对象存在第一类型的越权风险,在本实施例中的第一类型的越权风险是指垂直越权风险,即,低权限用户可操作高权限用户接口,例如普通用户可以访问管理员用户的接口,导致普通用户可以操作管理员接口等安全性问题。
63.示例性的,若解析出实时流量事件中的待检测对象对应的第一对象信息和第一资源信息为{a1,a},{a2,b}以及根据该第一用户信息{a1,a}和第一资源信息{a2,b}匹配出的目标权限画像为:x3={a1,a2,a3,a4|(a,c,d,f)},x4={a1,a3,a4,a5|(b,c,f,g)},可见,{a1,a}与x1目标权限画像完全匹配,则证明{a1,a}对应的流量数据没有越权风险,但是{a2,b}的第一用户信息a2与x3目标权限画像中的目标用户信息匹配,其对应的第一资源信息b与x4目标权限画像中的目标资源信息匹配,则确定{a2,b}对应的流量数据存在垂直越权的风险。
64.步骤s330,若检测结果表征第一对象信息和第一资源信息属于相同的目标权限画像,则获取第一资源信息的邻接资源信息,并根据邻接资源信息和目标权限画像,检测待检测对象是否存在越权风险。
65.示例性的,若解析出实时流量事件中的待检测对象对应的第一对象信息和第一资源信息为{a1,a},{a2,b}以及待检测对象对应的目标权限画像为x5={a1,a2,a3,a4|(c,a,d,f)},x6={a1,a3,a4,a5|(b,a,f,g)},可见在待检测对象中的{a1,a}与目标权限画像x5以及目标权限画像x6都完全匹配,则获取{a1,a}对应的流量数据的邻接资源信息,也就是说,进一步获取{a1,a}对应的流量数据的前序资源信息或者后序资源信息,其中,以前序资源信息为例,若{a1,a}对应的上一跳接口为b,存在与之完全匹配的目标权限画像x6,则判定{a1,a}对应的流量数据没有越权风险,同理,若{a1,a}对应的上一跳接口为c,也存在与之完全匹配的目标权限画像x5。但是,假设{a1,a}对应的上一条接口为b和c以外的接口,例如,{a1,a}对应的上一跳接口为g,则可以确定该{a1,a}对应的流量数据存在水平越权的风险。
66.在本实施例中,通过将待检测对象中的第一对象信息和第一资源信息与其匹配出的目标权限画像进行比对,通过第一对象信息与第一资源信息是否的属于同一目标权限画像确定是否存在垂直越权风险,实现自动化对实时发生的流量数据进行检测,简便了检测流程,并在第一对象信息和第一资源信息与多个目标权限画像完全匹配是通过获取第一资源信息的邻接资源信息判定是否存在越权风险,不仅保证了检测的准确性,还提高了越权实时检测效率。
67.进一步的,基于上述实施例,在本技术所提供的其中一个实例性实施例中,若邻接资源信息为前序资源信息,该则根据邻接资源信息和目标权限画像,检测待检测对象是否存在越权风险的实现过程还具体包括步骤s410至步骤s430,详细介绍如下:
68.步骤s410,从目标权限画像中与第一资源信息相匹配的目标资源的前序资源中,检测是否存在与前序资源信息相匹配的资源。
69.在本实施例中,当上述的第一资源信息的邻接资源信息为第一资源信息的前序资源信息,也就是说,获取实时流量事件中的第一资源信息对应的流量数据,并提取出该流量数据中第一资源信息对应的前序资源信息,并判断是否存在与前序资源信息与第一资源信
息组合完全匹配的目标权限画像。
70.示例性的,通过解析实时流量事件得到待检测对象对应的第一对象信息和第一资源信息为{a1,b}并且存在一个以上的目标权限画像与该{a1,b}相匹配,则获取第一资源信息b的前序资源信息,若获取得到的前序资源信息为a,则检测是否存在有{a1|(a,b)}完全匹配的目标权限画像。
71.步骤s420,若检测到未存在与前序资源信息相匹配的资源,则确定待检测对象存在第二类型的越权风险。
72.通过解析第一资源信息对应的流量数据得到第一资源信息的前序资源信息,及第一资源信息的上一跳接口信息,并判断与待检测对象的第一用户信息和第一资源信息相匹配的至少一个的目标权限画像中是否存在与待检测对象的第一用户信息、第一资源信息以及第一资源信息对应的前序资源信息的组合相匹配的目标权限画像,若不存在,则证明当前流量数据存在普通用户可以查询操作其他同级用户的信息的风险,即,本实施例中的第二类型的越权风险是指同等级用户可以查询操作其他同等级用户的信息的水平越权风险。
73.示例性的,通过解析实时流量事件得到待检测对象对应的第一对象信息和第一资源信息为{a1,b}并且匹配出一个以上的目标权限画像与该{a1,b}相匹配,则获取第一资源信息b对应的前序资源信息,若获取得到第一资源信息b的前序资源信息为a,由于与{a1,b}相对应的至少一个目标权限画像为x7和x8,通过比对目标权限画像x7={a1,a2,a3,a4|(b,a,d,f)}和x8={a1,a3,a4,a5|(b,a,f,g)}中是否存在与{a1|(a,b)}完全匹配的目标权限画像,经过与至少一个的目标权限画像比对可知并不存在与{a1|(a,b)}完全匹配的目标权限画像,由此,可确定当前实时流量事件存在普通用户查询操作同等级用户信息的越权风险即水平越权风险。
74.步骤s430,若检测到存在与前序资源信息相匹配的资源,则确定待检测对象不存在越权风险。
75.如上述所言,若通过解析实时流量事件得到待检测对象对应的第一对象信息和第一资源信息为{a1,b}并且存在一个以上的目标权限画像与该{a1,b}相匹配,则获取第一资源信息b对应的前序资源信息,若获取得到的前序资源信息为a,由于与{a1,b}相对应的至少一个目标权限画像为x9和x10,通过比对目标权限画像x9={a1,a2,a3,a4|(a,b,d,f)}和x10={a1,a3,a4,a5|(b,a,f,g)}中是否存在与{a1|(a,b)}完全匹配的目标权限画像,经过比对可知目标权限画像x9与{a1|(a,b)}完全匹配,则判定实时流量事件当前没有越权的风险。
76.在本实施例中,根据待检测对象的第一资源信息的邻接资源信息与目标权限画像中的有序资源信息进行比对,以判定该待检测对象是否存在水平越权风险,大大提高了测试效率,减少了越权检测中的人力投入,提高了越权测试的覆盖面,避免了未发现越权安全问题,提高系统安全性。
77.基于上述实施例,请参阅图5,在本技术所提供的其中一个示例性的实施例中,上述基于第一对象信息和第一资源信息,绘制与实时流量事件相匹配的目标权限画像的实现过程还具体包括步骤s510至步骤s520,详细介绍如下:
78.步骤s510,从多个权限画像中选择出与第一对象信息相匹配的目标对象对应的权限画像;以及
79.步骤s520,从多个权限画像中选择出与第一资源信息相匹配的目标资源对应的权限画像。
80.当软件操作系统中发生需要检测的实时流量事件时,对实时流量事件进行解析得到待检测的实时流量数据为两条,其对应的第一对象信息和第一资源信息为{a1,a}和{a2,f},根据第一对象信息a1和a2选择出与该流量事件对应的权限画像,以及包括第一资源信息a和f的相匹配的权限画像。
81.示例性的,当解析出实时流量事件对应的第一对象信息和第一资源信息为{a1,a}和{a2,f},根据该第一对象信息和第一资源信息{a1,a}和{a2,f}获取得到全部权限画像x5’={a1,a2,a3,a4|(b,a,c,d)},x6’={a1,a3,a4,a5|(c,a,f,g)}。
82.在本实施例中,提取出所有包括实时流量事件中的待检测对象的第一用户信息和第一资源信息的权限画像,提高了测试的覆盖面以及测试结果的准确性。
83.进一步的,请参阅图6,基于上述实施例,在本技术所提供的其中一个示例性实施例中,在基于第一对象信息和第一资源信息,绘制与实时流量事件相匹配的目标权限画像之前,还包括以下步骤s610至步骤s630,详细介绍如下:
84.步骤s610,获取历史流量事件;其中,历史流量事件中包括触发历史流量事件的目标对象,和目标对象触发历史流量事件所使用的目标资源;
85.步骤s620,从历史流量事件中获取目标对象的第二对象信息和第二资源信息;
86.步骤s630,基于第二对象信息和第二资源信息构造权限画像。
87.需要说明的是,为了实现对实时流量事件是否越权进行检测,第一步需要构建权限画像,其中权限画像是基于软件操作系统上的历史流量事件构建的,具体的,获取历史流量事件,提取出历史流量事件中的用户信息以及用户所使用的资源信息,其中用户所使用的资源信息包括用户与资源之间的实体属性和关系属性,并进行相同特征归类,收敛用户群体与用户群体对应的实体属性和关系属性得到对应的权限画像。
88.在软件操作系统上获取历史流量事件,并按照应用维度将历史流量事件进行数据聚合操作,从而得到应用维度的分组流量事件,具体的,针对历史流量中的目的ip地址、回应域名等字段进行粗粒度区分出不同的应用对应的流量数据,或者通过历史流量对应的url(uniform resource locator;统一资源定位系统)中的分段信息、资源段、请求或者回应的body自定义字段及http自定义报文字段等字段对加工后的字段进行粗粒度区分不同应用。
89.进一步的,对上述不同应用对应的流量数据按照用户维度进行分组,以得到不同应用中不同用户对应的流量数据,具体的,可以通过请求源ip地址进行粗粒度区分不同用户,也可以是cookie、请求或者回应body自定义字段及http自定义报文字段等字段进行再加工后的字段进行细粒度区分不同用户,在此本实施例不对如何区分用户进行限制。
90.再进一步的,针对不同应用中不同用户对应的流量数据按照时间顺序进行排列,以得到不同应用中不同用户对应的安装时间顺序产生的流量数据,具体的可以通过请求流量中的网络层请求时间或者报文请求对应的时间戳对各个用户在应用中的流量数据进行顺序排列,生成新的目标分组流量。
91.最后,再针对按照应用维度、用户维度、时间顺序排序的目标分组流量进行挖掘以得到共有接口集合,可以根据接口报文中的网络层时间戳或者请求时间戳进行时间排序得
到接口的有向序列。
92.如上述所言,对按照应用维度、用户维度、时间排序后的目标分组流量进行共有接口挖掘,其中,接口的获取可以根据目标分组流量数据中对请求的回应包中的url进行主域名、url目录单层或者嵌套聚合或者忽略url中的请求参数等处理方式获得。
93.其中,通过对目标分组流量中的接口流量数据挖掘共有特征并形成集合,示例性的,可以通过把单条流量中的上一跳接口和目的接口相连接可构造一个有向序列中的单个序列元素,示例性的,可以通过数据挖掘算法prefixspan等算法,可多次迭代挖掘出有向序列中满足设定支持度的所有序列;考虑到用户登陆接口,跳转目标接口,操作接口,故可以不考虑登出操作,但是至少需要3步以上的操作,故提取共有特征的支持度应大于等于3(用户在单个应用内操作步骤至少为3个步骤),在实际情况中可视应用复杂度、用户体量等情况调整支持度。单个序列代表了用户在单个应用中的每一跳的接口访问顺序构成的序列即形成用户群体对应的关系属性。除此之外,对接口的流量数据挖掘共有特征形成集合的方法,可以把流量中的上一跳接口和目的接口,认为是从“上一跳接口”到“目的接口”的有向连接,可以通过pagerank算法挖掘无权有向连接的网络,形成由各个接口组成的复杂网络社区即用户群体对应的实体属性。
94.把每个访问序列或者网络社区(即接口组合)归并到一个资源组。资源组可以根据业务需求把资源处理为单个或者多个应用、服务、符合某类业务标签的资源assets等。在流量中可对“资源”提取目的ip地址、域名,也可以是cookie、请求或者回应body自定义字段及http自定义报文字段等字段进行再加工后的字段,从而把对“资源”处理过程认为是“资源组”的构建方式,在所有权限画像中使用统一的构成方式。例如,把流量中的“访问目的域名”作为抽象成“资源组”构建方式,每个流量都取“访问目的域名”作为“资源组”的构建方式。
95.基于上述实施例,请参阅图7,在本技术所提供的其中一个示例性实施例中,目标对象为多个,第二对象信息为用于标识目标对象的标识信息,第二资源信息为基于时间的资源序列,资源序列包括用于分别标识各个目标资源的标识信息;上述基于第二对象信息和第二资源信息构造权限画像的实现过程还具体包括步骤s710至步骤s730,详细介绍如下:
96.步骤s710,基于多个目标对象的标识信息生成对象组;
97.步骤s720,基于多个目标资源的标识信息生成资源组;
98.步骤s730,关联对象组和资源组,构造得到权限画像。
99.在本实施例中,第二对象信息为用于标识目标对象的标识信息,其中对象信息可以使用户的手机号、ip地址、预设网名、身份证号码、账号等用于标识用户身份信息的身份信息之一,可以通过请求源ip地址进行粗粒度区分不同用户,也可以是cookie、请求或者回应body自定义字段及http自定义报文字段等字段进行再加工后的字段进行细粒度区分不同第二对象信息以区分不同用户。
100.如上述所言,第二资源信息是上述第二对象信息在历史流量事件中对应使用的第二资源信息,并且该第二资源信息为基于时间顺序排序的资源序列,并且在该资源序列中包括多个用于标识目标资源的标识信息用以区分资源序列中包括的多个资源,示例性的,针对资源序列对应的流量中所包括的回应宝中的url进行主域名、url目录单层或者嵌套聚
合或者通过忽略url中的请求参数在进行处理得到资源序列中包括的接口。
101.示例性的,如图8和图9所示,如上述实施例所言,若在历史流量事件中形成支持度大于3的对应的访问序列为《a(bdg)(cbfg)》,即分别为《abdg》和《acbfg》,满足第一个访问序列《abdg》的所有流量中的用户为{a1,a2},满足第二个访问序列《acbfg》的所有流量中的用户{a1,a3,a4},并形成对应的角色组e1和e2。将第一个访问序列《abdg》中的所有实体即{a,b,d,g}归并为对应的资源组s1,第二个访问序列《acbf》中的实体即{a,c,b,f,g}归并为对应的资源组s2,并将其设置为权限画像x1和权限画像x2。
102.进一步的,基于上述实施例,在本技术所提供其中一个示例性实施例中,历史流量事件包括多个流量数据;上述从历史流量事件中获取目标对象的第二对象信息和第二资源信息的过程还包括步骤s810至步骤s830,详细介绍如下:
103.步骤s810,对历史流量事件进行解析,得到多个流量数据;
104.步骤s820,对多个流量数据按照相同目标对象进行划分,得到各个目标对象的第二对象信息,以及各个目标对象的流量数据;
105.步骤s830,基于各个目标对象对应的流量数据构建基于时间的资源序列,得到各个目标对象对应的第二资源信息。
106.在获取得到软件操作系统上的历史流量事件后,通过对历史流量事件中的流量中的目的地地址、回应域名等字段进行粗粒度区分历史流量事件中的多个应用程序对应的流量数据,并进一步的,针对多个应用程序对应的流量数据中的请求源ip地址进行粗粒度区分出不同应用程序中不同用户对应使用的流量数据,并对该流量数据进行加载的请求报文中的时间戳对该流量数据进行按照时间顺序进行排序得到对应的基于时间的资源序列,即各个目标对象对应的资源信息即第二资源信息。
107.进一步的,基于上述实施例,在本技术所提供的其中一个示例性实施例中,为了实现上述越权检测方法,还具体包括以下步骤,详细介绍如下:
108.若基于第一对象信息和第一资源信息,未获取到与实时流量事件相匹配的目标权限画像,则获取历史流量事件;根据历史流量事件构造目标权限画像。
109.在获取到待检测的实时流量事件,并解析出该实时流量事件中待检测对象对应的第一用户信息和第一资源信息,并根据该第一对象信息和第一资源信息与预先构建好的权限画像中匹配出对应的权限画像,若在预先构建好的权限画像中不存在与该第一对象信息及第一资源信息匹配的权限画像,则,获取历史流量事件,以基于该历史流量事件构造与第一对象信息及第一资源信息相匹配的目标权限画像。
110.此外,若根据获取历史流量事件构造的权限画像中也不存在与第一用户信息及第一资源信息相匹配的目标权限画像,则该检测对象可能存在无权访问的风险。
111.在本实施例中,在出现没有与当前实时流量事件的待检测对象相匹配的目标权限画像时,获取历史流量事件进行权限画像,以保证权限画像的全覆盖性和越权检测的准确性。
112.图10是本技术的一示例性的应用场景示出的实现越权检测的整体服务流程图。
113.如图10所示,当终端的软件操作系统上出现需要检测的实时流量事件时,服务器获取该实时流量事件,并解析该实时流量事件的待检测对象对应的第一用户信息和第一资源信息,服务器从预先构建好的权限画像中查找出与该第一用户信息及第一资源信息相匹
配的目标权限画像,基于该目标权限画像检测该待检测对象是否存在越权风险。示例性的,若基于第一对象信息和第一资源信息匹配出所有包括第一对象信息以及所有包括第一资源信息的目标权限画像为至少两个,则根据判断第一对象和第一资源信息的组合与目标权限画像中的目标对象信息和目标资源信息的组合是否匹配,若存在交叉匹配,即,第一对象信息和第一资源信息分别属于不同的目标权限画像的情况下,则表示待检测对象中存在低权限用户可操作高权限用户接口的情况,存在垂直侵权风险。若第一对象和第一资源信息的组合与目标权限画像中的目标对象信息和目标资源信息的组合大于一种匹配,即,存在至少两个目标权限画像的目标对象信息和目标资源信息与第一对象信息和第一资源信息存在完全匹配,则需要获取该该实时流量事件的邻接资源,以获取该实时流量事件的前序资源为例,通过对实时流量事件中的上一跳地址referer通过相应的方法处理形成上一跳资源信息,并通过判断第一对象信息、第一资源信息以及上一跳资源信息是否与目标权限画像中的目标对象信息和目标资源信息完全匹配,若存在完全匹配的目标权限画像则证明该待检测对象不存在越权风险;进一步的,若不存在完全匹配的目标权限画像,则确定存在普通用户操作查询同级普通用户的信息的风险,即水平越权风险。
114.在本实施例中,根据待检测对象的第一资源信息的邻接资源信息与目标权限画像中的有序资源信息进行比对,以判定该待检测对象是否存在水平越权风险,大大提高了测试效率,减少了越权测试的人力投入,提高了越权测试的覆盖面,避免了未发现越权安全问题,提高系统安全性。
115.图11是本技术所提供的一示例性实施例示出的一种越权检测装置的框图,如图11所示,该越权检测装置1100包括:
116.第一获取模块1110,用于获取实时流量事件;其中,实时流量事件中包括触发实时流量事件的待检测对象,和待检测对象触发实时流量事件所使用的资源;第二获取模块1120,用于从实时流量事件中获取待检测对象的第一对象信息和第一资源信息;匹配模块1130,用于基于第一对象信息和第一资源信息,绘制与实时流量事件相匹配的目标权限画像;其中,目标权限画像中包括至少一个目标对象和至少一个目标对象对应的目标资源;检测模块1140,用于基于目标权限画像检测待检测对象是否存在越权风险。
117.根据本技术实施例的一个方面,若目标权限画像为至少两个;上述检测模块1140还具体包括:检测单元,用于检测第一对象信息和第一资源信息是否分别属于不同的目标权限画像,得到检测结果;判定单元,用于若检测结果表征第一对象信息和第一资源信息分别属于不同的目标权限画像,则确定待检测对象存在第一类型的越权风险;获取单元,用于若检测结果表征第一对象信息和第一资源信息属于相同的目标权限画像,则获取第一资源信息的邻接资源信息,并根据邻接资源信息和目标权限画像,检测待检测对象是否存在越权风险。
118.根据本技术实施例的一个方面,若邻接资源信息为前序资源信息;上述获取单元还具体用于:从目标权限画像中与第一资源信息相匹配的目标资源的前序资源中,检测是否存在与前序资源信息相匹配的资源;若检测到未存在与前序资源信息相匹配的资源,则确定待检测对象存在第二类型的越权风险;若检测到存在与前序资源信息相匹配的资源,则确定待检测对象不存在越权风险。
119.根据本技术实施例的一个方面,上述第二获取模块1120具体用于,从多个权限画
network,局域网)卡、调制解调器等的网络接口卡的通信部分1209。通信部分1209经由诸如因特网的网络执行通信处理。驱动器1210也根据需要连接至i/o接口1205。可拆卸介质1211,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1210上,以便于从其上读出的计算机程序根据需要被安装入储存部分1208。
129.特别地,根据本技术的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本技术的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的计算机程序。在这样的实施例中,该计算机程序可以通过通信部分1209从网络上被下载和安装,和/或从可拆卸介质1211被安装。在该计算机程序被中央处理单元(cpu)1201执行时,执行本技术的系统中限定的各种功能。
130.需要说明的是,本技术实施例所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(erasable programmable read only memory,eprom)、闪存、光纤、便携式紧凑磁盘只读存储器(compact disc read-only memory,cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本技术中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的计算机程序。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的计算机程序可以用任何适当的介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
131.附图中的流程图和框图,图示了按照本技术各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。其中,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
132.描述于本技术实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。
133.本技术的另一方面还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如前的越权检测方法。该计算机可读存储介质可以是上述实施例中描述的电子设备中所包含的,也可以是单独存在,而未装配入该电子设备中。
134.本技术的另一方面还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各个实施例中提供的越权检测方法。
135.上述内容,仅为本技术的较佳示例性实施例,并非用于限制本技术的实施方案,本领域普通技术人员根据本技术的主要构思和精神,可以十分方便地进行相应的变通或修改,故本技术的保护范围应以权利要求书所要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1