掌桥专利:专业的专利平台
掌桥专利
首页

一种基于流量数据识别系统接口是否存在鉴权机制的方法

文献发布时间:2024-04-18 19:59:31


一种基于流量数据识别系统接口是否存在鉴权机制的方法

技术领域

本申请属于计算机领域,具体涉及一种基于流量数据识别系统接口是否存在鉴权机制的方法。

背景技术

在移动应用、Web应用或者其他类型的应用开发过程中,API(ApplicationProgramming Interface,应用程序编程接口)是用于不同软件组件之间进行通信和交互的一组定义、规范和协议,API可以作为系统之间进行集成的桥梁。通过调用其他系统提供的API,可以实现不同系统之间的数据交互和功能衔接,很多互联网服务和平台通过API提供对外的服务和数据访问接口;保证API调用安全是非常重要的,否则可能会产生未经授权的访问、数据泄露、资源滥用、非法操作和篡改等风险和安全隐患。保证API安全是保护用户隐私、保障业务连续性、增强用户信任、满足合规要求和确保系统稳定性的基础,只有通过采取适当的安全措施和实施全面的安全策略,才能确保API的正常运行和可靠性;通常会使用身份验证和授权来保护API安全,即在API调用之前,确保进行身份验证和授权。可以使用基于令牌的身份验证方案,如OAuth等,以确保只有经过授权的用户可以访问API应用;系统本发明通过采集网络流量,从中提取出HTTP协议的请求流量,进而分析判断应用系统是否存在身份验证机制。

通常存在身份认证和鉴权的应用系统,调用其API会在首次调用时为调用者颁发用于身份识别的鉴权标识,其后每次调用API均需要携带此标识用于身份认证。普通识别鉴权标识,是默认字段key名称(例如:token),通过查看请求header中是否包含默认字段key来判断是否携带有鉴权标识;通过登录接口来获取鉴权字段是最常用的手段,但是多数情况下,登录接口不是明确的,需要从流量中发现并判断应用系统登录接API,从而获取,由于应用开发多种多样,开发者习惯不同,以及浏览器规范不同,每个应用自定义的身份鉴权字段不尽相同,不能简单地罗列常见的key值来判断识别,如果应用系统没有使用默认且通用的字符作为身份鉴权的key名称,则无法准确捕捉到HTTP请求中疑似身份鉴权的值,导致判断失败,为此我们提出一种基于流量数据识别系统接口是否存在鉴权机制的方法。

发明内容

为了改善相关技术中的问题,本申请提供一种基于流量数据识别系统接口是否存在鉴权机制的方法,摆脱必须通过登录API来发现鉴权机制,以及对人工配置的高度依赖,填补了现有技术的空缺。

本申请提供一种基于流量数据识别系统接口是否存在鉴权机制的方法,采用如下的技术方案:

一种基于流量数据识别系统接口是否存在鉴权机制的方法,采用如下的技术方案:步骤一、从应用的HTTP流量中解析获取有效信息;步骤二、分析请求头;步骤三、多因素认证;步骤四、参数整合;步骤五、API最小颗粒度提取;步骤六、访问来源账号识别;步骤七、提取样本数据。

作为方案的进一步优化,步骤一中从应用的HTTP流量中解析获取有效信息,包括HTTP请求头、请求路径、请求体、来源IP、响应状态,并将HTTP请求头和请求体内容解析成键值对格式。

作为方案的进一步优化,步骤二中,分析请求头具体步骤为,检查请求头中是否包含鉴权相关的信息,如令牌、API密钥、用户名和密码,验证请求的合法性。

作为方案的进一步优化,步骤三中,在仅依赖用户名和密码之外,引入多因素认证。

作为方案的进一步优化,步骤四中,从整体数据中获取相同值,操作过程如下:

S1、判断HTTP响应状态是否正常;

S2、如果正常,判断请求头,请求体是否为空;

S3、如果请求头或者请求体不为空,进行数据预处理,将请求头或者请求体中的键值对进行特殊符号替换去除,将除响应状态外的所有字符进行拼接,生成一条完整的新字符串。

作为方案的进一步优化,步骤五中,具体操作为:通过请求路径获取API最小颗粒,如果请求路径中存在字符“?”,将字符“?”出现位置之前的数据截取并保存。

作为方案的进一步优化,步骤六中,从header中提取出cookie并保存,作为来源账号唯一标识。

作为方案的进一步优化,步骤七中,提取样本数据流程如下:

S1、通过API最小颗粒度去重,短时间内提取相同应用相同cookie的多个不同HTTP请求记录;

S2、使用算法比较计算步骤二形成的字符串,获取所有提取到的数据进行过滤,最终提取到该批记录中共存的且最长的一串字符;

S3、判断字符串长度>8则记录;

S4、重复步骤S2-S3执行两次,并分别去除S3已经生成的结果,获取次长度的字符串,记录最多3条记录;

S5、重复步骤S1-S4执行两次,分别再次获取最多3条记录;

S6、三组9条数据均为空值,则判断该应用不存在身份鉴权机制;

S7、将3组数据做处理,分别通过“=”将数据转换为键值对,通过分析提取键值对特征,来判断是否为鉴权字段,不满足的则剔除,最终得到鉴权字段。

本申请具有以下有益效果:

1、通过采用相同应用不同API路径以及参数、请求头、请求体进行数据预处理,批量数据提取分析来进行应用API身份认证和鉴权机制的发现,通过算法来识别筛选数据中存在的相同字符,经过分析特征来确认是否是鉴权字段,在海量HTTP请求业务中识别系统安全风险有着比较准确的研判,通过这种方法来摆脱必须通过登录API来发现鉴权机制,以及对人工配置的高度依赖;

2、本申请通过分析请求头,可以识别并拦截恶意请求,以提高系统的安全性,服务器可以更好地满足客户端的需求、提高性能、确保安全性并提供更好的用户体验;

3、本申请通过多因素认证为数据和系统提供了额外的保护,防止未经授权的访问和降低了密码泄露风险,增加了安全性和合规性。

附图说明

图1为本发明的整体框架原理图。

具体实施方式

以下结合实施例对本申请做进一步详细说明。

实施例

实施例1

一种基于流量数据建立行为基线识别应用API是否存在访问异常的方法,采用如下的技术方案:步骤一、从应用的HTTP流量中解析获取有效信息;步骤二、参数整合;步骤三、API最小颗粒度提取;步骤四、访问来源账号识别;步骤五、提取样本数据。

步骤一中从应用的HTTP流量中解析获取有效信息,包括HTTP请求头、请求路径、请求体、来源IP、响应状态,并将HTTP请求头和请求体内容解析成键值对格式。

步骤二中,从整体数据中获取相同值,操作过程如下:

S1、判断HTTP响应状态是否正常;

S2、如果正常,判断请求头,请求体是否为空;

S3、如果请求头或者请求体不为空,进行数据预处理,将请求头或者请求体中的键值对进行特殊符号替换去除,将除响应状态外的所有字符进行拼接,生成一条完整的新字符串。

步骤三中,具体操作为:通过请求路径获取API最小颗粒,如果请求路径中存在字符“?”,将字符“?”出现位置之前的数据截取并保存。

步骤四中,从header中提取出cookie并保存,作为来源账号唯一标识。

步骤五中,提取样本数据流程如下:S1通过API最小颗粒度去重,短时间内提取相同应用相同cookie的多个不同HTTP请求记录;

S2、使用算法比较计算步骤二形成的字符串,获取所有提取到的数据进行过滤,最终提取到该批记录中共存的且最长的一串字符;

S3、判断字符串长度>8则记录;

S4、重复步骤S2-S3执行两次,并分别去除S3已经生成的结果,获取次长度的字符串,记录最多3条记录;

S5、重复步骤S1-S4执行两次,分别再次获取最多3条记录;

S6、三组9条数据均为空值,则判断该应用不存在身份鉴权机制;

S7、将3组数据做处理,分别通过“=”将数据转换为键值对,通过分析提取键值对特征,来判断是否为鉴权字段,不满足的则剔除,最终得到鉴权字段,提取样本数据具体编程为:#步骤S1-S5,数据处理和过滤;

data=[]#存储提取到的数据;

实施例2

一种基于流量数据建立行为基线识别应用API是否存在访问异常的方法,采用如下的技术方案:步骤一、从应用的HTTP流量中解析获取有效信息;步骤二、分析请求头;步骤三、多因素认证;步骤四、参数整合;步骤五、API最小颗粒度提取;步骤六、访问来源账号识别;步骤七、提取样本数据。

步骤一中从应用的HTTP流量中解析获取有效信息,包括HTTP请求头、请求路径、请求体、来源IP、响应状态,并将HTTP请求头和请求体内容解析成键值对格式。

步骤二中,分析请求头具体步骤为,检查请求头中是否包含鉴权相关的信息,如令牌、API密钥、用户名和密码,验证请求的合法性;

分析请求头具体操作为:一,获取请求头信息:首先,获取来自客户端的HTTP请求头信息,通过Web服务器或API框架实现;

二,分割请求头:将请求头拆分成各个字段和对应的值,例如"字段:值";

三,分析请求头字段:对每个请求头字段进行分析,涉及以下方面:

用户代理(User-Agent):从用户代理字段中提取关于客户端设备和浏览器的信息,以适应不同的设备和浏览器类型;

鉴权信息:如果请求头包含鉴权信息,例如基本认证或令牌,你需要提取和验证这些信息;

内容类型:确定请求的数据格式,如JSON或XML;

语言首选项:了解用户的首选语言,以响应内容国际化;

跨域资源共享(CORS):检查请求头中的CORS字段,以确保跨域请求的安全性;

四,处理请求头信息:根据分析的请求头信息,可以采取不同的行动,例如,你可以根据用户代理适配页面,验证用户的鉴权信息,识别请求的内容类型等。

五,安全性和错误处理:对请求头中的数据进行验证和过滤,以确保安全性,如果请求头包含不合法的数据,需要适当处理,例如返回错误响应或拒绝请求。

六,响应生成:根据请求头信息,生成响应,可能需要动态生成内容或者根据请求头中的内容类型来选择响应的数据格式。

步骤三中,在仅依赖用户名和密码之外,引入多因素认证,多因素认证具体为,手机验证码、生物识别或硬件令牌,以增强安全性。

步骤四中,从整体数据中获取相同值,操作过程如下:

S1、判断HTTP响应状态是否正常;

S2、如果正常,判断请求头,请求体是否为空;

S3、如果请求头或者请求体不为空,进行数据预处理,将请求头或者请求体中的键值对进行特殊符号替换去除,将除响应状态外的所有字符进行拼接,生成一条完整的新字符串。

步骤五中,具体操作为:通过请求路径获取API最小颗粒,如果请求路径中存在字符“?”,将字符“?”出现位置之前的数据截取并保存。

步骤六中,从header中提取出cookie并保存,作为来源账号唯一标识。

步骤七中,提取样本数据流程如下:

S1、通过API最小颗粒度去重,短时间内提取相同应用相同cookie的多个不同HTTP请求记录;

S2、使用算法比较计算步骤二形成的字符串,获取所有提取到的数据进行过滤,最终提取到该批记录中共存的且最长的一串字符;

S3、判断字符串长度>8则记录;

S4、重复步骤S2-S3执行两次,并分别去除S3已经生成的结果,获取次长度的字符串,记录最多3条记录;

S5、重复步骤S1-S4执行两次,分别再次获取最多3条记录;

S6、三组9条数据均为空值,则判断该应用不存在身份鉴权机制;

S7、将3组数据做处理,分别通过“=”将数据转换为键值对,通过分析提取键值对特征,来判断是否为鉴权字段,不满足的则剔除,最终得到鉴权字段。

本具体实施例仅仅是对本申请的解释,其并不是对本申请的限制,本领域技术人员在阅读完本说明书后可以根据需要对本实施例做出没有创造性贡献的修改,但只要在本申请的权利要求范围内都受到专利法的保护。

技术分类

06120116523951