CN111859363B - 用于识别应用未授权访问的方法、装置以及电子设备 - Google Patents

用于识别应用未授权访问的方法、装置以及电子设备 Download PDF

Info

Publication number
CN111859363B
CN111859363B CN202010587649.3A CN202010587649A CN111859363B CN 111859363 B CN111859363 B CN 111859363B CN 202010587649 A CN202010587649 A CN 202010587649A CN 111859363 B CN111859363 B CN 111859363B
Authority
CN
China
Prior art keywords
application
time period
response data
request
target time
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.)
Active
Application number
CN202010587649.3A
Other languages
English (en)
Other versions
CN111859363A (zh
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.)
Hangzhou Dt Dream Technology Co Ltd
Original Assignee
Hangzhou Dt Dream Technology Co 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 Hangzhou Dt Dream Technology Co Ltd filed Critical Hangzhou Dt Dream Technology Co Ltd
Priority to CN202010587649.3A priority Critical patent/CN111859363B/zh
Publication of CN111859363A publication Critical patent/CN111859363A/zh
Application granted granted Critical
Publication of CN111859363B publication Critical patent/CN111859363B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/45Structures or tools for the administration of authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Information Transfer Between Computers (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请公开了一种用于识别应用未授权访问的方法、装置以及电子设备。其中,该方法包括:获取目标时间段内的所有请求和响应数据;基于目标时间段内的所有请求和响应数据,生成应用列表,其中,应用列表中具有至少一个应用;识别应用列表中的应用在目标时间段内是否产生过登录行为;如果没有产生过登录行为,则判断应用列表中的应用在目标时间段内是否被正常使用;如果应用列表中的应用在目标时间段内被正常使用,则识别应用列表中的应用存在未授权访问漏洞。本申请实施例通过采集应用请求数据和响应数据来识别应用未授权访问漏洞,无需为每个应用维护一套未授权漏洞识别规则,更具有通用性,从而保证了识别的能力的同时,又保证了识别通用性。

Description

用于识别应用未授权访问的方法、装置以及电子设备
技术领域
本申请涉及互联网技术领域,尤其涉及一种用于识别应用未授权访问的方法、装置、电子设备和计算机可读存储介质。
背景技术
应用未授权访问是指应用本身包含敏感数据或者敏感操作,但无需登录认证即可访问。对于企业内部应用而言,绝大部分应用通常是需要认证后才允许访问的,但由于安全管理不当或是未正确配置与使用产品,导致产生很多应用未授权访问漏洞。应用未授权访问可导致敏感数据泄露等安全风险,因此,如何发现应用存在未授权访问漏洞显得尤为重要。
发明内容
本申请旨在至少在一定程度上解决上述的技术问题之一。
为此,本申请的第一个目的在于提出一种用于识别应用未授权访问的方法。该方法通过采集应用请求数据和响应数据来识别应用未授权访问漏洞,无需为每个应用维护一套未授权漏洞识别规则,更具有通用性,从而保证了识别的能力的同时,又保证了识别通用性。
本申请的第二个目的在于提出一种用于识别应用未授权访问的装置。
本申请的第三个目的在于提出一种电子设备。
本申请的第四个目的在于提出一种计算机可读存储介质。
为达到上述目的,本申请第一方面实施例提出的用于识别应用未授权访问的方法,包括:
获取目标时间段内的所有请求和响应数据;
基于所述目标时间段内的所有请求和响应数据,生成应用列表,其中,所述应用列表中具有至少一个应用;
识别所述应用列表中的应用在所述目标时间段内是否产生过登录行为;
如果没有产生过登录行为,则判断所述应用列表中的应用在所述目标时间段内是否被正常使用;
如果所述应用列表中的应用在所述目标时间段内被正常使用,则识别所述应用列表中的应用存在未授权访问漏洞。
为达到上述目的,本申请第二方面实施例提出的用于识别应用未授权访问的装置,包括:
数据获取模块,用于获取目标时间段内的所有请求和响应数据;
应用列表生成模块,用于基于所述目标时间段内的所有请求和响应数据,生成应用列表,其中,所述应用列表中具有至少一个应用;
登录行为识别模块,用于识别所述应用列表中的应用在所述目标时间段内是否产生过登录行为;
判断模块,用于判断所述应用列表中的应用在所述目标时间段内是否被正常使用;
漏洞识别模块,用于在所述应用列表中的应用在所述目标时间段内没有产生过登录行为且在所述目标时间段内被正常使用时,识别所述应用列表中的应用存在未授权访问漏洞。
为达到上述目的,本申请第三方面实施例提出的电子设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时,实现本申请第一方面实施例所述的用于识别应用未授权访问的方法。
为达到上述目的,本申请第四方面实施例提出的计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现本申请第一方面实施例所述的用于识别应用未授权访问的方法。
根据本申请实施例的技术方案,可获取目标时间段内的所有请求数据和响应数据,并对这些所有请求数据和响应数据进行学习识别,以识别出这些请求数据和响应数据所属的应用,并基于识别出的应用对目标时间段内的所有请求数据和响应数据进行分组,以得到每个应用所对应的请求数据和响应数据,之后,对每个应用所对应的请求数据和响应数据进行分析,以识别应用在目标时间段内是否产生过登录行为,若没有产生过登录行为且目标时间段内被正常使用,则认为该应用存在未授权访问漏洞。由此可见,本申请实施例通过应用请求数据和响应数据的学习来识别未授权访问漏洞,而无需主动扫描,避免了现有技术中主动扫描面对隔离网络的问题和扫描可能对业务系统带来的不确定性风险等。另外,本申请实施例通过采集应用请求数据和响应数据来识别应用未授权访问漏洞,无需为每个应用维护一套未授权漏洞识别规则,更具有通用性,从而保证了识别的能力的同时,又保证了识别通用性。
本申请附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。
附图说明
本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1是根据本申请一个实施例的用于识别应用未授权访问的方法的流程图;
图2是根据本申请实施例的生成应用列表的流程图;
图3是根据本申请另一个实施例的用于识别应用未授权访问的方法的流程图;
图4是根据本申请又一个实施例的用于识别应用未授权访问的方法的流程图;
图5是根据本申请一个实施例的用于识别应用未授权访问的装置的结构示意图;
图6是根据本申请另一个实施例的用于识别应用未授权访问的装置的结构示意图;
图7是根据本申请又一个实施例的用于识别应用未授权访问的装置的结构示意图;
图8是根据本申请一个实施例的电子设备的结构示意图。
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本申请,而不能理解为对本申请的限制。
需要说明的是,应用未授权访问是指应用本身包含敏感数据或者敏感操作,但无需登录认证即可访问。应用未授权访问可导致敏感数据泄露等安全风险。相关技术中,通常是采用主动扫描的方式来发现应用是否存在未授权访问漏洞。但是,这种主动扫描技术并不够通用,需要为每个应用维护未授权访问漏洞的识别规则,如果相关的未授权漏洞扫描工具中某应用未编写扫描规则,则无法识别。
因此,如何不依赖于具体的扫描规则,即可覆盖各类常见的应用未授权访问漏洞识别,则可以大大提升应用未授权访问漏洞的发现能力。
同时由于企业内部,基础安全策略大多都进行了网络隔离限制,传统的扫描器技术的部署可能会相对困难,同时也难以覆盖到所有网络。另外,主动扫描技术可能会对部分应用系统产生影响(例如如果使用NMAP扫描端口和指纹,则可能导致打印机打印异常数据等)。因此,如果可以不对应用系统进行扫描即可发现未授权访问漏洞,则可以帮助避免这些问题。
为此,本申请提出了一种用于识别应用未授权访问的方法、装置、电子设备和计算机可读存储介质。本申请可以解决传统主动扫描技术需要大量维护具体应用的未授权访问漏洞识别规则,难以以一种较为通用的方式发现检测越权攻击的难题;同时也解决了由于主动扫描技术会受限于企业内部网络隔离等限制和扫描技术可能导致对业务系统产生不可知的影响的问题。具体地,下面参考附图描述本申请实施例的用于识别应用未授权访问的方法、装置、电子设备和计算机可读存储介质。
图1是根据本申请一个实施例的用于识别应用未授权访问的方法的流程图。如图1所示,该用于识别应用未授权访问的方法可以包括:
步骤101,获取目标时间段内的所有请求和响应数据。
在本申请的一些实施例中,可采用流量镜像技术、应用上报日志方式或运行时应用自我保护技术,实时获取所有请求和响应数据,并确定目标时间段,之后,从实时获取到的所有请求和响应数据中筛选出目标时间段内的请求数据和响应数据,得到目标时间段内的所有请求数据和响应数据。其中,上述目标时间段可为N天,N为正整数,比如N为5。
也就是说,可以通过流量镜像技术、应用上报日志方式或RASP(Runtimeapplication self-protection,运行时应用自我保护)技术,来实时获取所有请求和响应数据,并从实时获取到的所有请求和响应数据中筛选出目标时间段内的请求数据和响应数据,从而得到目标时间段内的所有请求数据和响应数据。可以理解,上述请求数据可为应用被使用而向服务器发送的请求数据,响应数据为应用向服务器发送请求时,服务器返回的响应数据。
其中,在本申请的实施例中,采用流量镜像技术实时获取所有请求和响应数据的具体实现过程可如下:采用流量镜像技术,将进出应用客户端的数据流量进行镜像,并对镜像的数据流量进行分析,以得到应用客户端的所有请求数据和响应数据。
在本申请的实施例中,采用应用上报日志方式实时获取所有请求和响应数据的具体实现过程可如下:应用客户端在访问服务器时,会实时记录日志,该日志中记录有向服务器发送的请求数据和服务器返回的响应数据,应用客户端可定期或实时将记录的日志进行上报,由此,可通过对应用上报的日志进行分析,以获取应用的所有请求和响应数据。
在本申请的实施例中,采用RASP技术实时获取所有请求和响应数据的具体实现过程可如下:可采用RASP技术,获取应用运行时的上下文,根据应用运行时的上下文进行分析,以得到应用的所有请求和响应数据。
步骤102,基于目标时间段内的所有请求和响应数据,生成应用列表,其中,应用列表中具有至少一个应用。
可选地,在获得目标时间段内的所有请求和响应数据之后,可按照HTTP协议标准对该目标时间段内的所有请求和响应数据进行解析,并基于应用标识从目标时间段内的所有请求和响应数据中识别出所包括的应用,即识别出这些请求数据和响应数据各自所属的应用,将这些应用写入列表中,以得到应用列表。
步骤103,识别应用列表中的应用在目标时间段内是否产生过登录行为。
在本申请的一些实施例中,判断目标时间段内的所有请求数据中是否存在有针对应用列表之中应用的登录请求数据,若有,则可判定该应用在目标时间段内产生过登录行为;或者,可判断目标时间段内的所有响应数据中是否存在有针对应用列表之中应用的登录操作响应数据,若有,可判定该应用在目标时间段内产生过登录行为。
在本申请的一些实施例中,若目标时间段内的所有请求数据中不存在针对应用列表之中应用的登录请求数据,和/或,目标时间段内的所有响应数据中不存在针对应用列表之中应用的登录操作响应数据,则可判定应用列表中的应用在目标时间段内没有产生过登录行为。
步骤104,如果没有产生过登录行为,则判断应用列表中的应用在目标时间段内是否被正常使用。
在本申请的一些实施例中,可基于应用列表中每个应用的请求数据和响应数据,其中,可以理解,该每个应用的请求数据和响应数据来源于目标时间段内的所有请求和响应数据。之后,可统计不同源IP对每个应用的目标接口的访问次数和访问时间,其中,目标接口为应用的所有接口中除静态文件接口以外的接口,并根据统计得到的目标接口的访问次数和访问时间,判断每个应用在目标时间段内是否被正常使用。
也就是说,可通过分析每个应用在目标时间段的请求数据和响应数据,统计不同不同源IP对每个应用的目标接口的访问次数和访问时间,其中,目标接口为应用的所有接口中除静态文件接口(如包括JS、CSS等接口)以外的接口,如果访问次数大于或等于第一阈值且小于或等于第二阈值,且每次访问时间均大于第一目标时间,则可判定应用在目标时间段内被正常使用;若访问次数小于不满足条件(即访问次数小于第一阈值,或者访问次数大于第二阈值),和/或,每个访问时间小于第二目标时间,则可判定应用在目标时间段内未被正常使用。其中,第一阈值小于第二阈值,第二目标时间小于或等于第一目标时间。
步骤105,如果应用列表中的应用在目标时间段内被正常使用,则识别应用列表中的应用存在未授权访问漏洞。
也就是说,在判断应用列表中的应用在目标时间段内未产生过登录行为且被正常使用时,可判定该应用存在未授权访问漏洞。
根据本申请实施例的用于识别应用未授权访问的方法,可获取目标时间段内的所有请求数据和响应数据,并对这些所有请求数据和响应数据进行学习识别,以识别出这些请求数据和响应数据所属的应用,并基于识别出的应用对目标时间段内的所有请求数据和响应数据进行分组,以得到每个应用所对应的请求数据和响应数据,之后,对每个应用所对应的请求数据和响应数据进行分析,以识别应用在目标时间段内是否产生过登录行为,若没有产生过登录行为且目标时间段内被正常使用,则认为该应用存在未授权访问漏洞。由此可见,本申请实施例通过应用请求数据和响应数据的学习来识别未授权访问漏洞,而无需主动扫描,避免了现有技术中主动扫描面对隔离网络的问题和扫描可能对业务系统带来的不确定性风险等。另外,本申请实施例通过采集应用请求数据和响应数据来识别应用未授权访问漏洞,无需为每个应用维护一套未授权漏洞识别规则,更具有通用性,从而保证了识别的能力的同时,又保证了识别通用性。
为了能够识别出目标时间段内哪些或哪个应用存在未授权访问漏洞,则需要先识别出哪些或哪个应用在目标时间段内被访问(或使用),可选地,可对目标时间段的所有请求和响应数据进行分析,以识别出这些请求数据和响应数据属于哪个或哪些应用。具体而言,在本申请的一些实施例中,如图2所示,所述基于目标时间段内的所有请求和响应数据,生成应用列表的具体实现过程可包括:
步骤201,对目标时间段内的所有请求和响应数据进行解析,以获取请求数据和响应数据中的应用标识。
其中,在本申请的实施例中,应用标识可为IP+端口号。例如,应用A的标识可为192.192.0.1:8080,其中,“192.192.0.1”为IP,“8080”为端口号。也就是说,可对目标时间段内的所有请求和响应数据进行解析,以获得请求数据和响应数据中的应用标识,以便基于应用标识识别出这些请求数据和响应数据所属的应用。
步骤202,根据应用标识,确定出目标时间段内的每个请求数据的所属应用、以及目标时间段内的每个响应数据的所属应用。
可以理解,在应用被使用时,会产生针对该应用的请求数据和响应数据,例如,使用某搜索引擎进行搜索,当用户输入搜索词并点击搜索时,搜索引擎应用客户端向服务器端发起搜索请求数据,该搜索请求数据所对应的URL携带有该搜索引擎应用的应用标识(如192.192.0.1:8080)。服务器在接收到搜索请求数据时,根据搜索词进行搜索,并将搜索结果返回给搜索引擎应用客户端,使得搜索引擎应用客户端获得服务器返回的响应数据,该响应数据携带有该搜索引擎应用的应用标识。由此,可依据应用标识,即可确定出目标时间段内的每个请求数据的所属应用、以及目标时间段内的每个响应数据的所属应用。
步骤203,基于应用标识对确定出的所属应用进行去重,以得到应用列表,其中,应用列表中包括去重后的所属应用及其标识。
由于应用在目标时间段内可能存在多次被使用,因此,在根据应用标识确定请求数据和响应数据所属的应用时,可能存在相同应用,为了使得应用列表中的应用具有唯一性,可基于应用标识对确定出的所属应用进行去重。例如,可认为同一个IP+端口为同一个应用,为此,可根据IP+端口对确定出的所属应用进行去重,使得得到的应用列表中的应用具有唯一性。
为了提高漏洞识别的准确度,保证应用列表的完整性,可将生成的应用列表提供给用户,通过用户对该应用列表进行调整。具体而言,在本申请的一些实施例中,如图3所示,在生成应用列表之后,该用于识别应用未授权访问的方法还可包括:
步骤301,获取目标时间段内的所有请求和响应数据。
步骤302,基于目标时间段内的所有请求和响应数据,生成应用列表,其中,应用列表中具有至少一个应用。
步骤303,将应用列表提供给用户。
例如,可通过人机交互的方式将上述生成的应用列表提供给用户。
步骤304,接收用户基于应用定义方式对应用列表中的应用进行拆分和聚合的操作。
可以理解,应用的定义方式有多种,例如,可基于IP+端口的方式定义一个应用,或者,根据HOST定义方式定义一个应用,或者,根据IP+端口+一级目录的方式定义应用。
在本申请的实施例中,用户可根据应用定义方式对应用列表中的应用进行拆分和聚合。举例而言,对于具有同一个IP+端口应用,可以根据IP+端口所对应的HOST(即域名),将具有同一个IP+端口的记录拆分成多个应用,比如,对于“192.192.0.1:8080”所对应的应用1,假设“192.192.0.1:8080”所对应的域名包含多个,比如域名1和域名2都可表示应用1,而为了保证生成的应用列表的完整性,可将“192.192.0.1:8080”所对应的域名1作为一个应用,将“192.192.0.1:8080”所对应的域名2作为另一个应用,即根据“192.192.0.1:8080”的域名,将同一个“192.192.0.1:8080”的应用拆分成了两个。又如,可根据HOST将多个IP+端口聚合成一个应用,或者,也可以根据IP+端口+一级目录来将同一个IP+端口的应用拆分成多个应用。
在用户完成对应用列表之中应用拆分和聚合之后,可获取该拆分和聚合的过程中用户的操作,进而基于该操作以完成对应用列表中应用的拆分和聚合。
步骤305,根据操作对应用列表中的应用进行拆分和聚合,以得到经过拆分和聚合后的应用列表,并执行步骤306。
步骤306,识别应用列表中的应用在目标时间段内是否产生过登录行为。
在本申请的一些实施例中,可根据应用列表中的应用,对目标时间段内的所有请求和响应数据进行分组,以将目标时间段内的所有请求和响应数据分组到对应应用,并判断应用列表中每个应用的请求数据和响应数据中是否包含目标识别字段集合中的至少一个识别字段;若否,则判定没有产生过登录行为。
其中,在本申请的实施例中,目标识别字段集合可包括接口名的多个识别字段、URI的多个识别字段、请求参数的多个识别字段、响应内容的多个识别字段、location的多个识别字段等。例如,接口名的多个识别字段可包含:Login且rescode不为4XX,Token且rescode不为4XX,Authorize且rescode不为4xx,Certify且rescode不为4XX,ticket且rescode不为4xx,其中,“4XX”是指HTTP状态码。URI的多个识别字段可包含:user且rescode不为4xx,username且rescode不为4xx,name且rescode不为4xx,password且rescode不为4xx,pwd且rescode不为4xx,pword且rescode不为4xx,token且rescode不为4xx,ticket且rescode不为4xx。请求参数的多个识别字段可包括:user且rescode不为4xx,username且rescode不为4xx,name且rescode不为4xx,&&password且rescode不为4xx,pwd且rescode不为4xx,pword且rescode不为4xx,token且rescode不为4xx,ticket且rescode不为4xx。响应内容的多个识别字段可包含::出现登录或认证。location的多个识别字段可包含:Login,Token,Authorize,Certify,Ticket等。
也就是说,可根据如下策略来识别应用是否产生过登录行为,内置下列识别方法,当出现特殊场景无法覆盖时,也可以增加下列识别方法:
接口名:包含Login||Token||Authorize||Certify||ticket且rescode不为4xx;uri:包含user||username||name||password||pwd||pword||token||ticket且rescode不为4xx;请求参数:出现user||username||name|&&password||pwd||pword||token||ticket且rescode不为4xx;响应内容:出现登录(中英)或认证(中英);location:ogin||Token||Authorize||Certify||Ticket等。其中,上述字符“||”表示含义是“或、或者”的意思。其中,上述接口名中的字段、请求参数中的字段、URI中的字段通常是包含于请求数据,上述响应内容所包含的字段、location中所包含的字段通常是包含于响应数据。因此,可判断应用列表中每个应用的请求数据和响应数据中是否包含有上述识别字段,若包含,则判定该应用产生过登录行为,若没有包含,则可判定该应用没有产生过登录行为。
步骤307,如果没有产生过登录行为,则判断应用列表中的应用在目标时间段内是否被正常使用。
在本申请的一些实施例中,可基于应用列表中每个应用的请求数据和响应数据,统计不同源IP对每个应用的目标接口的访问次数和访问时间,其中,目标接口为应用的所有接口中除静态文件接口以外的接口,并根据统计得到的目标接口的访问次数和访问时间,判断每个应用在目标时间段内是否被正常使用。
也就是说,可通过分析每个应用在目标时间段的请求数据和响应数据,统计不同不同源IP对每个应用的目标接口的访问次数和访问时间,其中,目标接口为应用的所有接口中除静态文件接口(如包括JS、CSS等接口)以外的接口,如果访问次数大于或等于第一阈值且小于或等于第二阈值,且每次访问时间均大于第一目标时间,则可判定应用在目标时间段内被正常使用;若访问次数小于不满足条件(即访问次数小于第一阈值,或者访问次数大于第二阈值),和/或,每个访问时间小于第二目标时间,则可判定应用在目标时间段内未被正常使用。其中,第一阈值小于第二阈值,第二目标时间小于或等于第一目标时间。
步骤308,如果应用列表中的应用在目标时间段内被正常使用,则识别应用列表中的应用存在未授权访问漏洞。
也就是说,在判断应用列表中的应用在目标时间段内未产生过登录行为且被正常使用时,可判定该应用存在未授权访问漏洞。
为了降低误报率,减少识别非关键的应用为未授权访问漏洞应用,可选配识别应用是否为敏感应用的检测流程。具体而言,在本申请的一些实施例中,在判断应用列表中的应用在目标时间段内被正常使用之后,还可判断在目标时间段内未产生过登录行为且被正常使用的应用,是否为敏感应用;若是,则执行所述识别应用列表中的应用存在未授权访问漏洞的步骤,并进行告警。
也就是说,在判断应用列表中的应用在目标时间段内被正常使用之后,可判断该应用是否为敏感应用,若是,则识别该应用存在未授权访问漏洞,若该应用不为敏感应用,则可认为该应用不存在未授权访问漏洞。
在本申请的实施例中,识别是否为敏感应用可以通过以下方式:1)内置策略和用户自定义策略来检测请求数据或者响应内容中是否包含敏感数据,如果包含敏感数据且敏感数据的数量超过检测阈值,则认为该应用为敏感应用;2)根据应用自定义的应用列表,来标识敏感应用和非敏感应用,例如,可自定义一个黑名单,该黑名单中包含了敏感应用,通过判断应用是否包含于该黑名单中,若是,则可认为该应用为敏感应用,否则为非敏感应用;或者,定义一个白名单,该白名单包含了非敏感应用,通过判断该应用是否包含于白名单中,若包含,则认为该应用为非敏感应用,否则为敏感应用。需要说明的是,上述两种识别方式仅是为了方便本领域技术人员的了解而给出的示例,并不能作为对本申请的具体限定,也即还可通过其他用户自定义方法来识别是否为敏感应用。
为了方便本领域技术人员了解本申请,下面将结合图4进行详细描述。
举例而言,如图4所示,可以通过流量镜像、应用日志上报采集、RASP等技术来实时采集获取应用的所有请求和响应数据(S401)。之后,按照HTTP协议标准解析获得的应用请求数据和响应数据,并从这些请求数据和响应数据中筛选出近N天数据(默认为近30天),可选配任意时间范围进行请求数据和响应数据的分析(S402)。根据IP+端口对近N天数据进行分析,以识别近N天数据中每个请求数据和响应数据所属的应用,从而得到应用列表(S403)。将生成的应用列表提供给用户,使得用户可以对应用列表的应用进行调整,例如,可以将同一个IP+端口根据其HOST拆分为多个应用,或是根据HOST将多个IP+端口聚合成一个应用,也可以选择IP+端口后指定几个一级目录来拆分为多个应用等,通过用户来维护出完整的应用列表(S404)。然后,根据完整的应用列表分组所有请求数据和响应数据,将近N天数据的所有请求和响应数据分组到每一个应用上(S405)。之后,可识别应用列表中的应用是否产生过登录行为(S406),当识别应用近N天产生过登录行为,则认为应用不存在未授权访问漏洞,如果应用近N天没有产生过登录行为,则继续监测该应用近N天内是否被正常的使用与访问(S407)。例如,可通过分析近N天请求与响应数据,计算不同源IP对每个应用的所有接口访问情况(其中,需要排除静态文件接口,包括JS、CSS等),如果应用在近N天内,被持续或者间断访问的正常访问则标识该应用为正常使用应用,继续进行下面的检测流程。如果应用在近N天内没有被持续或者间断访问,则可结束检测,认为该应用近期未被正常的访问,无登录行为也无法判断其是否存在应用未授权访问漏洞。然后,通过上述检测流程后,可选配识别应用是否为敏感应用(S408)。如果启用该检测,则本步骤中识别应用为敏感应用后,则认为该应用存在未授权访问漏洞,并进行告警(S409);如果未启用应用是否为敏感应用的检测流程,则完成上述检测后即认为应用存在未授权访问漏洞,并进行告警。启用本步检测后,可以降低误报,减少识别非关键的应用为未授权访问漏洞应用。
为了能够实现上述实施例,本申请还提出了一种用于识别应用未授权访问的装置。
图5是根据本申请一个实施例的用于识别应用未授权访问的装置的结构示意图。如图5所示,该用于识别应用未授权访问的装置500可以包括:数据获取模块510、应用列表生成模块520、登录行为识别模块530、判断模块540和漏洞识别模块550。
具体地,数据获取模块510用于获取目标时间段内的所有请求和响应数据。作为一种示例,数据获取模块510具体用于:采用流量镜像技术、应用上报日志方式或运行时应用自我保护技术,实时获取所有请求和响应数据;确定目标时间段;从实时获取到的所有请求和响应数据中筛选出目标时间段内的请求数据和响应数据,得到目标时间段内的所有请求数据和响应数据。
应用列表生成模块520用于基于目标时间段内的所有请求和响应数据,生成应用列表,其中,应用列表中具有至少一个应用。在本申请的一些实施例中,应用列表生成模块520具体用于:对目标时间段内的所有请求和响应数据进行解析,以获取请求数据和响应数据中的应用标识;根据应用标识,确定出目标时间段内的每个请求数据的所属应用、以及目标时间段内的每个响应数据的所属应用;基于应用标识对确定出的所属应用进行去重,以得到应用列表,其中,应用列表中包括去重后的所属应用及其标识。
登录行为识别模块530用于识别应用列表中的应用在目标时间段内是否产生过登录行为。在本申请的一些实施例中,登录行为识别模块530具体用于:根据应用列表中的应用,对目标时间段内的所有请求和响应数据进行分组,以将目标时间段内的所有请求和响应数据分组到对应应用;判断应用列表中每个应用的请求数据和响应数据中是否包含目标识别字段集合中的至少一个识别字段;若否,则判定没有产生过登录行为。
判断模块540用于判断应用列表中的应用在目标时间段内是否被正常使用。在本申请的一些实施例中,判断模块540具体用于:基于应用列表中每个应用的请求数据和响应数据,统计不同源IP对每个应用的目标接口的访问次数和访问时间,其中,目标接口为应用的所有接口中除静态文件接口以外的接口;根据统计得到的目标接口的访问次数和访问时间,判断每个应用在目标时间段内是否被正常使用。
漏洞识别模块550用于在应用列表中的应用在目标时间段内没有产生过登录行为且在目标时间段内被正常使用时,识别应用列表中的应用存在未授权访问漏洞。
在本申请的一些实施例中,如图6所示,该用于识别应用未授权访问的装置500还可包括:提供模块560、操作接收模块570和调整模块580。其中,提供模块560用于将应用列表提供给用户;操作接收模块570用于接收用户基于应用定义方式对应用列表中的应用进行拆分和聚合的操作;调整模块580用于根据操作对对应用列表中的应用进行拆分和聚合。
在本申请的一些实施例中,如图7所示,该用于识别应用未授权访问的装置500还可包括:敏感应用判断模块590。敏感应用判断模块590用于判断在目标时间段内未产生过登录行为且被正常使用的应用是否为敏感应用;其中,漏洞识别模块550还用于在敏感应用判断模块590判断在目标时间段内未产生过登录行为且被正常使用的应用为敏感应用时,识别应用列表中的应用存在未授权访问漏洞,并进行告警。
根据本申请实施例的用于识别应用未授权访问的装置,可获取目标时间段内的所有请求数据和响应数据,并对这些所有请求数据和响应数据进行学习识别,以识别出这些请求数据和响应数据所属的应用,并基于识别出的应用对目标时间段内的所有请求数据和响应数据进行分组,以得到每个应用所对应的请求数据和响应数据,之后,对每个应用所对应的请求数据和响应数据进行分析,以识别应用在目标时间段内是否产生过登录行为,若没有产生过登录行为且目标时间段内被正常使用,则认为该应用存在未授权访问漏洞。由此可见,本申请实施例通过应用请求数据和响应数据的学习来识别未授权访问漏洞,而无需主动扫描,避免了现有技术中主动扫描面对隔离网络的问题和扫描可能对业务系统带来的不确定性风险等。另外,本申请实施例通过采集应用请求数据和响应数据来识别应用未授权访问漏洞,无需为每个应用维护一套未授权漏洞识别规则,更具有通用性,从而保证了识别的能力的同时,又保证了识别通用性。
为了实现上述实施例,本申请还提出了一种电子设备。
图8是根据本申请一个实施例的电子设备的结构示意图。如图8所示,该电子设备800可以包括:存储器810、处理器820及存储在存储器810上并可在处理器820上运行的计算机程序830,处理器820执行程序830时,实现本申请上述任一个实施例所述的用于识别应用未授权访问的方法。
为了实现上述实施例,本申请还提出了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现本申请上述任一个实施例所述的用于识别应用未授权访问的方法。
在本申请的描述中,需要理解的是,“至少一个”的含义是一个或多个,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得程序,然后将其存储在计算机存储器中。
应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。

Claims (12)

1.一种用于识别应用未授权访问的方法,其特征在于,包括:
获取目标时间段内的所有请求和响应数据;
基于所述目标时间段内的所有请求和响应数据,生成应用列表,其中,所述应用列表中具有至少一个应用;
判断所述应用列表中每个应用的请求数据和响应数据中是否包含目标识别字段集合中的至少一个识别字段,若否,则判定没有产生过登录行为;
如果没有产生过登录行为,则基于所述应用列表中每个应用的请求数据和响应数据,统计不同源IP对所述每个应用的目标接口的访问次数和访问时间,根据统计得到的所述目标接口的访问次数和访问时间,判断所述应用列表中的每个应用在所述目标时间段内是否被正常使用,其中,所述目标接口为应用的所有接口中除静态文件接口以外的接口;
如果所述应用列表中的应用在所述目标时间段内被正常使用,则判断在所述目标时间段内未产生过登录行为且被正常使用的应用是否为敏感应用,若是,则识别所述应用列表中的应用存在未授权访问漏洞。
2.如权利要求1所述的方法,其特征在于,所述获取目标时间段内的所有请求和响应数据,包括:
采用流量镜像技术、应用上报日志方式或运行时应用自我保护技术,实时获取所有请求和响应数据;
确定目标时间段;
从实时获取到的所有请求和响应数据中筛选出目标时间段内的请求数据和响应数据,得到所述目标时间段内的所有请求数据和响应数据。
3.如权利要求1所述的方法,其特征在于,基于所述目标时间段内的所有请求和响应数据,生成应用列表,包括:
对所述目标时间段内的所有请求和响应数据进行解析,以获取请求数据和响应数据中的应用标识;
根据所述应用标识,确定出所述目标时间段内的每个请求数据的所属应用、以及所述目标时间段内的每个响应数据的所属应用;
基于所述应用标识对确定出的所属应用进行去重,以得到所述应用列表,其中,所述应用列表中包括去重后的所属应用及其标识。
4.如权利要求1所述的方法,其特征在于,在所述生成应用列表之后,所述方法还包括:
将所述应用列表提供给用户;
接收所述用户基于应用定义方式对所述应用列表中的应用进行拆分和聚合的操作;
根据所述操作对所述应用列表中的应用进行拆分和聚合。
5.如权利要求1至4中任一项所述的方法,其特征在于,在所述应用为所述敏感应用时,还进行告警。
6.一种用于识别应用未授权访问的装置,其特征在于,包括:
数据获取模块,用于获取目标时间段内的所有请求和响应数据;
应用列表生成模块,用于基于所述目标时间段内的所有请求和响应数据,生成应用列表,其中,所述应用列表中具有至少一个应用;
登录行为识别模块,用于判断所述应用列表中每个应用的请求数据和响应数据中是否包含目标识别字段集合中的至少一个识别字段,若否,则判定没有产生过登录行为;
判断模块,用于如果没有产生过登录行为,则基于所述应用列表中每个应用的请求数据和响应数据,统计不同源IP对所述每个应用的目标接口的访问次数和访问时间,根据统计得到的所述目标接口的访问次数和访问时间,判断所述应用列表中的每个应用在所述目标时间段内是否被正常使用,其中,所述目标接口为应用的所有接口中除静态文件接口以外的接口;
漏洞识别模块,用于如果所述应用列表中的应用在所述目标时间段内被正常使用,则判断在所述目标时间段内未产生过登录行为且被正常使用的应用是否为敏感应用,若是,则识别所述应用列表中的应用存在未授权访问漏洞。
7.如权利要求6所述的装置,其特征在于,所述数据获取模块具体用于:
采用流量镜像技术、应用上报日志方式或运行时应用自我保护技术,实时获取所有请求和响应数据;
确定目标时间段;
从实时获取到的所有请求和响应数据中筛选出目标时间段内的请求数据和响应数据,得到所述目标时间段内的所有请求数据和响应数据。
8.如权利要求6所述的装置,其特征在于,所述应用列表生成模块具体用于:
对所述目标时间段内的所有请求和响应数据进行解析,以获取请求数据和响应数据中的应用标识;
根据所述应用标识,确定出所述目标时间段内的每个请求数据的所属应用、以及所述目标时间段内的每个响应数据的所属应用;
基于所述应用标识对确定出的所属应用进行去重,以得到所述应用列表,其中,所述应用列表中包括去重后的所属应用及其标识。
9.如权利要求6所述的装置,其特征在于,所述装置还包括:
提供模块,用于将所述应用列表提供给用户;
操作接收模块,用于接收所述用户基于应用定义方式对所述应用列表中的应用进行拆分和聚合的操作;
调整模块,用于根据所述操作对对所述应用列表中的应用进行拆分和聚合。
10.如权利要求6至9中任一项所述的装置,其特征在于,所述漏洞识别模块,还用于在所述应用为所述敏感应用时,还进行告警。
11.一种电子设备,其特征在于,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时,实现如权利要求1至5中任一项所述的用于识别应用未授权访问的方法。
12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5中任一项所述的用于识别应用未授权访问的方法。
CN202010587649.3A 2020-06-24 2020-06-24 用于识别应用未授权访问的方法、装置以及电子设备 Active CN111859363B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010587649.3A CN111859363B (zh) 2020-06-24 2020-06-24 用于识别应用未授权访问的方法、装置以及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010587649.3A CN111859363B (zh) 2020-06-24 2020-06-24 用于识别应用未授权访问的方法、装置以及电子设备

Publications (2)

Publication Number Publication Date
CN111859363A CN111859363A (zh) 2020-10-30
CN111859363B true CN111859363B (zh) 2024-04-05

Family

ID=72988530

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010587649.3A Active CN111859363B (zh) 2020-06-24 2020-06-24 用于识别应用未授权访问的方法、装置以及电子设备

Country Status (1)

Country Link
CN (1) CN111859363B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101512700B1 (ko) * 2013-10-31 2015-04-16 주식회사 모두텍 사용자 행위패턴 기반 웹 서버의 비인가 트래픽 정밀 접근제어 시스템 및 그 제어 방법
CN106302337A (zh) * 2015-05-22 2017-01-04 腾讯科技(深圳)有限公司 漏洞检测方法和装置
CN107241292A (zh) * 2016-03-28 2017-10-10 阿里巴巴集团控股有限公司 漏洞检测方法及装置
CN107548547A (zh) * 2015-04-30 2018-01-05 帕马索有限公司 识别在线服务的帐户的未授权访问的方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8533821B2 (en) * 2007-05-25 2013-09-10 International Business Machines Corporation Detecting and defending against man-in-the-middle attacks
CA2777434C (en) * 2012-05-18 2019-09-10 Ibm Canada Limited - Ibm Canada Limitee Verifying application security vulnerabilities
JP5987627B2 (ja) * 2012-10-22 2016-09-07 富士通株式会社 不正アクセス検出方法、ネットワーク監視装置及びプログラム
WO2016006520A1 (ja) * 2014-07-07 2016-01-14 日本電信電話株式会社 検知装置、検知方法及び検知プログラム
CN104301302B (zh) * 2014-09-12 2017-09-19 深信服网络科技(深圳)有限公司 越权攻击检测方法及装置
US10084807B2 (en) * 2015-10-16 2018-09-25 Microsoft Technology Licensing, Llc. Detection of bypass vulnerabilities

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101512700B1 (ko) * 2013-10-31 2015-04-16 주식회사 모두텍 사용자 행위패턴 기반 웹 서버의 비인가 트래픽 정밀 접근제어 시스템 및 그 제어 방법
CN107548547A (zh) * 2015-04-30 2018-01-05 帕马索有限公司 识别在线服务的帐户的未授权访问的方法
CN106302337A (zh) * 2015-05-22 2017-01-04 腾讯科技(深圳)有限公司 漏洞检测方法和装置
CN107241292A (zh) * 2016-03-28 2017-10-10 阿里巴巴集团控股有限公司 漏洞检测方法及装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
业务系统异常行为检测;姚伟;《安全防御技术》;70-73 *
基于大数据安全保障的云安全体系研究;胡国华;《信息安全研究》;404-420页 *

Also Published As

Publication number Publication date
CN111859363A (zh) 2020-10-30

Similar Documents

Publication Publication Date Title
US10491630B2 (en) System and method for providing data-driven user authentication misuse detection
US8549650B2 (en) System and method for three-dimensional visualization of vulnerability and asset data
Hofmeyr et al. Intrusion detection using sequences of system calls
US20180075240A1 (en) Method and device for detecting a suspicious process by analyzing data flow characteristics of a computing device
US8302198B2 (en) System and method for enabling remote registry service security audits
CN111245793A (zh) 网络数据的异常分析方法及装置
US10135862B1 (en) Testing security incident response through automated injection of known indicators of compromise
CN106789935B (zh) 一种终端异常检测方法
CN107579956B (zh) 一种用户行为的检测方法和装置
CN111274583A (zh) 一种大数据计算机网络安全防护装置及其控制方法
CN112184091B (zh) 工控系统安全威胁评估方法、装置和系统
JP2012108934A (ja) データ記憶アクセスの制御方法
US11616793B2 (en) System and method for device context and device security
CN109428857B (zh) 一种恶意探测行为的检测方法和装置
US11818160B2 (en) Predicting cyber risk for assets with limited scan information using machine learning
CN116451215A (zh) 关联分析方法及相关设备
CN113098852A (zh) 一种日志处理方法及装置
CN111859363B (zh) 用于识别应用未授权访问的方法、装置以及电子设备
CN116318783B (zh) 基于安全指标的网络工控设备安全监测方法及装置
US20140101767A1 (en) Systems and methods for testing and managing defensive network devices
WO2016173327A1 (zh) 用于检测网站攻击的方法和设备
CN117391214A (zh) 模型训练方法、装置及相关设备
US20210209067A1 (en) Network activity identification and characterization based on characteristic active directory (ad) event segments
CN113572776A (zh) 非法侵入检测装置及方法
CN115085956A (zh) 入侵检测方法、装置、电子设备及存储介质

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
GR01 Patent grant
GR01 Patent grant