首页 / 专利库 / 电脑安全 / 跨站请求伪造 / Android平台OAuth协议误用安全检测方法

Android平台OAuth协议误用安全检测方法

阅读:716发布:2020-05-17

专利汇可以提供Android平台OAuth协议误用安全检测方法专利检索,专利查询,专利分析的服务。并且一种Android平台OAuth协议误用安全检测方法,根据Android平台特性建立 覆盖 OAuth协议生命周期的安全模型;然后分析不同服务厂商提供的 软件 开发套件和规范,识别出不同厂商的OAuth实现中的关键敏感参数,提取敏感参数生成配置文件用于Android应用分析;再分别进行静态代码分析、动态流量分析以检测应用实现与规范的不一致性、SSL实现正确性以及 服务器 端的实现正确性。本 发明 能够全面分析Android应用中OAuth协议的误用和潜在 风 险,基于一个覆盖OAuth协议生命周期的安全模型,系统化地对应用使用OAuth协议进行认证或授权的流程进行分析,识别潜在的不正确实现。同时,本方案的安全模型可以为服务厂商的SDK实现及应用开发者的OAuth实现提供安全指导,帮助开发者在Android应用正确实现OAuth协议。,下面是Android平台OAuth协议误用安全检测方法专利的具体信息内容。

1.一种Android平台OAuth协议误用安全检测方法,其特征在于,包括以下步骤:
步骤1、根据Android平台特性建立覆盖OAuth协议生命周期的安全模型;
步骤2、分析不同服务厂商提供的软件开发套件和规范,识别出不同厂商的OAuth实现中的关键敏感参数,提取敏感参数生成配置文件用于Android应用分析;
步骤3、静态代码分析,识别出它支持的OAuth服务提供商,OAuth协议实现类型,硬编码字符串;
步骤4、动态流量分析,提取应用所使用的关键参数,与步骤2中的配置文件匹配,检测应用实现与规范的不一致性;对网络通信进行各种SSL攻击测试,检测应用的SSL实现正确性;对包含关键参数的请求和响应进行修改和重放,检测应用服务器端的实现正确性;
所述的安全模型包括:攻击假设、攻击者类型、威胁模型,其中:
攻击者类型包括:网络攻击者、恶意第三方app、恶意消费者app、逆向攻击者、恶意服务厂商app或其组合;
威胁模型包括:
a、登录阶段:恶意消费者app获取用户登录凭据、恶意服务厂商app获取用户登录凭据、网络攻击者窃听用户登录凭据或其组合;
b、授权阶段:恶意消费者app修改授权接口、恶意第三方app从服务厂商app骗取OAuth认证凭据、针对redirect_uri参数的跨站请求伪造攻击、网络攻击者窃听认证码或者资源访问令牌、逆向攻击者获取消费者app的应用密码、恶意第三方app从Android手机本地文件系统中获取app的应用密码或OAuth凭据或其组合;
c、资源访问阶段:重放已授权资源访问请求、网络攻击者窃听消费者服务器认证用户身份的认证凭据或其组合。
2.根据权利要求1所述的方法,其特征是,所述的敏感参数包括:用户名username、密码password、重定向网址redirect_uri、范围信息scope、状态信息state、授权码authorization code、授权类型grant_type、客户名client_id、客户密码client_secret、授权令牌access token。
3.根据权利要求1所述的方法,其特征是,所述的识别具体是指:通过模式匹配找到服务厂商提供OAuth服务时所用的特定字符串、方法名称、活动名称,来判断当前Android应用使用了哪些服务厂商的OAuth服务。
4.根据权利要求1所述的方法,其特征是,所述的关键参数包括:重定向网址redirect_uri、范围信息scope、状态信息state、授权码authorization code、授权类型grant_type、客户名client_id、客户密码client_secret、授权令牌access token。
5.根据权利要求1所述的方法,其特征是,所述的SSL攻击测试包括:SSL证书替换攻击测试、SSL stripping攻击测试。
6.根据权利要求1所述的方法,其特征是,所述的修改是指:把某一关键参数的值修改为任意值,或替换成其他用户的请求中对应的值,同时保持其他参数值不变。
7.根据权利要求1所述的方法,其特征是,所述的重放是指:对包含认证码的请求进行重放,检验认证码是否仅能使用一次。

说明书全文

Android平台OAuth协议误用安全检测方法

技术领域

[0001] 本发明涉及的是一种移动通信领域的技术,具体是一种对Android应用使用静态代码分析和动态流量分析的方案,对Android应用中的开放认证(OAuth,Open the Authentication)协议实现进行安全检测。

背景技术

[0002] OAuth协议是当前移动平台应用最广泛的第三方认证和授权协议,Android应用中的OAuth实现普遍存在安全问题,给用户的隐私数据带来大量安全威胁。
[0003] 已有的OAuth协议安全分析技术,使用的方案主要包括对Web平台OAuth协议实现的分析和对移动平台特定OAuth协议误用类型的分析两类。
[0004] 移动应用中的OAuth协议实现存在很高的安全险,OAuth协议中涉及能够访问大量用户隐私数据(身份信息、通讯方式、照片)或登录用户应用账号的授权凭据,各移动智能平台上均存在窃取此类安全敏感信息的恶意软件。同时,由于移动平台与Web平台的差异性,原本针对Web平台设计的OAuth协议在移动平台实现十分复杂,移动应用开发者容易对协议的安全要求产生误解,给OAuth协议的实现带来安全威胁。
[0005] 已有的OAuth协议安全分析技术,使用的方案主要包括对Web平台OAuth协议实现的分析和对移动平台特定OAuth协议误用类型的分析两类。其中,对Web平台的OAuth误用检测比较成熟的技术是美国弗吉尼亚大学Yuchen Zhou等人提出的SSOScan技术,能够自动化检测Facebook SSO API的应用中存在的漏洞。这种技术是针对Web平台的,忽视了移动平台的OAuth实现,同时,这种技术主要检测授权阶段的OAuth误用情况,而没有覆盖整个OAuth协议流程。现有的移动平台OAuth协议误用检测主要是对特定误用类型进行检测,比如Facebook支持不正确的用户代理实现导致恶意应用可以窃取用户的登录凭据(用户名、密码),新浪微博在本地存储授权凭据导致攻击者可以未经授权获取用户受保护资源(身份信息、通讯方式)等。对这类特定误用类型的安全分析主要依赖于对Android应用中特定组件的识别或者对网络流量中特定参数的识别,以判断潜在的安全威胁。这些已有的安全检测方案不能覆盖OAuth协议完整的生命周期,缺乏系统化的分析框架,难以全面的评估OAuth协议实现潜在的安全威胁。

发明内容

[0006] 本发明针对现有技术存在的上述不足,提出一种Android平台OAuth协议误用安全检测方法,实现评估Android应用中潜在的OAuth协议错误实现及可能带来的安全威胁。。
[0007] 本发明是通过以下技术方案实现的:
[0008] 本发明涉及一种Android平台OAuth协议误用安全检测方法,包括以下步骤:
[0009] 步骤1、根据Android平台特性建立覆盖OAuth协议生命周期的安全模型;
[0010] 所述的安全模型包括:攻击假设、攻击者类型、威胁模型,其中:
[0011] 所述的攻击者类型包括:
[0012] 1)网络攻击者:能够完全控制Android手机客户端和消费者服务器、Android手机客户端和服务厂商服务器之间的网络,它能够窃听并修改通信方之间传输的流量。但是消费者服务器与服务厂商服务器之间的通信它不能窃听。
[0013] 2)恶意第三方app:能够让用户误认为它是真实消费者app(比如重打包的消费者app),能注册与消费者app相似的intent filter来获取服务厂商发送过来的access token等敏感信息。同时能够在它的权限之内读取本地的文件系统。
[0014] 3)恶意消费者app:由于任意在服务厂商注册的应用都可以使用服务厂商的OAuth服务,我们默认所有的消费者app都是不可信的,OAuth设计的初衷也是不向消费者提供用户登录凭据。消费者app能够完全控制它的WebView,利用WebView来窃取敏感信息或修改授权页面欺骗用户授权等。
[0015] 4)逆向攻击者:能够逆向app获取存储在app中的字符串如app secret等敏感信息。
[0016] 5)恶意服务厂商app:服务厂商app充当用户代理时,负责接收和转发OAuth流程中的各种信息,包括用户名,密码,认证码,资源访问令牌等。恶意服务厂商app通常是来自不受信应用市场上的重打包app。
[0017] 所述的威胁模型包括:
[0018] a、登录阶段:恶意消费者app获取用户登录凭据、恶意服务厂商app获取用户登录凭据、网络攻击者窃听用户登录凭据或其组合。
[0019] b、授权阶段:恶意消费者app修改授权接口、恶意第三方app从服务厂商app骗取OAuth认证凭据、针对redirect_uri参数的跨站请求伪造攻击、网络攻击者窃听认证码或者资源访问令牌、逆向攻击者获取消费者app的应用密码、恶意第三方app从Android手机本地文件系统中获取app的应用密码或OAuth凭据或其组合。
[0020] c、资源访问阶段:重放已授权资源访问请求、网络攻击者窃听消费者服务器认证用户身份的认证凭据或其组合。
[0021] 步骤2、分析不同服务厂商提供的软件开发套件和规范,识别出不同厂商的OAuth实现中的敏感参数,提取敏感参数生成配置文件用于Android应用分析;
[0022] 所述的敏感参数包括:用户名username、密码password、重定向网址redirect_uri、范围信息scope、状态信息state、授权码authorization code、授权类型grant_type、客户名client_id、客户密码client_secret、授权令牌access token。
[0023] 所述的配置文件具体为:serviceprivider.conf
[0024] 步骤3、静态代码分析,识别出当前分析得Android应用支持的OAuth服务提供商,OAuth协议实现类型,硬编码字符串等;
[0025] 所述的识别具体是指:通过模式匹配找到服务厂商提供OAuth服务时所用的特定字符串、方法名称、活动名称等,来判断当前Android应用使用了哪些服务厂商的OAuth服务。
[0026] 步骤4、动态流量分析,提取待测试的Android应用所使用的关键参数,与步骤2)中的配置文件匹配,检测应用实现与规范的不一致性;对网络通信进行各种SSL攻击测试,检测应用的SSL实现正确性;对包含关键参数的请求和响应进行修改和重放,检测应用服务器端的实现正确性。
[0027] 所述的关键参数包括:重定向网址redirect_uri、范围信息scope、状态信息state、授权码authorization code、授权类型grant_type、客户名client_id、客户密码client_secret、授权令牌access token。
[0028] 所述的SSL攻击测试包括:SSL证书替换攻击测试、SSL stripping攻击测试。
[0029] 所述的修改是指:把某一关键参数的值修改为任意值,或替换成其他用户的请求中对应的值,同时保持其他参数值不变。
[0030] 所述的重放是指:对包含认证码的请求进行重放,检验认证码是否仅能使用一次。
[0031] 技术效果
[0032] 与现有技术相比,本发明能够全面分析Android应用中OAuth协议的误用和潜在风险,基于一个覆盖OAuth协议生命周期的安全模型,系统化地对应用使用OAuth协议进行认证或授权的流程进行分析,识别潜在的不正确实现。现有的技术对OAuth误用的安全检测通常只涉及OAuth协议流程中的某个阶段,且大多关注OAuth协议在Web平台的实现,OAuth在Android平台的实现安全情况很少有人分析,本发明结合Android平台的特性,考虑了各种潜在的攻击者,建立了完整的覆盖OAuth协议流程3个阶段的安全模型,能够系统地检测不同参与者在不同阶段潜在的协议误用行为。此外,本方案的安全模型可以为服务厂商的SDK实现及应用开发者的OAuth实现提供安全指导,帮助开发者在Android应用正确实现OAuth协议。附图说明
[0033] 图1为OAuth协议中服务厂商应用作为用户代理时的分析模型图。
[0034] 图2为Android平台OAuth协议误用安全检测框架示意图。

具体实施方式

[0035] 下面对本发明的实施例作详细说明,本实施例在以本发明技术方案为前提下进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。
[0036] 实施例1
[0037] 如图1所示,在Android平台中实现OAuth协议涉及5个参与者,消费者应用从服务厂商服务器获取授权凭据、资源访问令牌以及用户资源,并将用户资源返回到消费者服务器。我们的方案对于消费者应用中的OAuth实现,服务器厂商应用中的OAuth实现以及相关网络流量进行分析,全面安全检测OAuth授权或认证流程中的误用情况的潜在风险。
[0038] 本实施例具体步骤如下:
[0039] 1)全面分析主流OAuth服务厂商的OAuth SDK、规范、客户端,安全检测其OAuth实现与OAuth标准规范不一致性,提取实现OAuth协议的关键方法、活动以及重要参数,生成分析配置文件;
[0040] 2)静态分析消费者应用,提取其支持的服务厂商,使用的用户代理类型,硬编码字符串,生成静态分析报告;
[0041] 3)对消费者进行动态分析,拦截流量并进行转储,对通信进行各种已知SSL攻击,分析HTTPS保护措施部署情况;分析流量中的关键参数,与步骤1)中的配置文件对比,检验应用实现与服务厂商规范不一致性。
[0042] 4)修改转储的流量中的关键参数,进行重放,分析服务器端的OAuth实现;分析结果结合1)得到服务厂商OAuth实现问题报告;
[0043] 5)检验消费者应用中存储秘密信息文件的权限设置,分析结果结合2)3)4)的分析结果得到消费者应用误用报告;
[0044] 如图2所示,为本实施例安全检测框架,步骤4)中的流量修改和重放包括发送给服务器厂商服务器的请求以及发送给消费者服务器的请求,分别用于检验服务厂商服务器对OAuth关键参数的校验情况以及消费者服务器认证用户身份的方法。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈