OWASP Mobile Top 10 2016年列表:
此类别涵盖了滥用平台功能或未能使用平台安全控件。它可能包括Android意图,平台权限,TouchID的滥用,钥匙扣或其他是移动操作系统一部分的安全控制。移动应用程序可以通过多种方式体验这种风险。
这个新类别是2014年移动前十名的M2 + M4的组合。这涵盖了不安全的数据存储和意外数据泄漏。
这涵盖了不良的握手,不正确的SSL版本,弱谈判,敏感资产的清晰文本交流等。
此类别捕获了对最终用户或不良会话管理认证的概念。这可以包括:
该代码将密码学应用于敏感信息资产。但是,密码学在某种程度上不足。请注意,与TLS或SSL有关的任何事物都在M3中。另外,如果该应用程序在应有的情况下根本无法使用密码学,则可能属于M2。此类别是针对试图尝试加密的问题,但尚未正确完成。
这是捕获授权失败的类别(例如,客户端的授权决策,强制浏览等)。它不同于身份验证问题(例如,设备注册,用户标识等)。
如果该应用在应有的情况下完全验证用户(例如,在需要经过身份验证和授权访问时授予对某些资源或服务的匿名访问),那么这是身份验证故障而不是授权失败。
这是我们较少使用的类别之一的“通过不受信任的输入的安全决策”。这将是移动客户端中代码级实现问题的全部内容。这与服务器端编码错误不同。这将捕获诸如缓冲区溢出,格式字符串漏洞以及其他各种代码级错误之类的东西,其中解决方案是重写在移动设备上运行的一些代码。
此类别涵盖二进制补丁,本地资源修改,方法钩,方法散布和动态内存修改。
将应用程序交付到移动设备后,代码和数据资源就在那里。攻击者可以直接修改代码,动态更改内存的内容,更改或替换应用程序使用的系统API,或修改应用程序的数据和资源。这可以为攻击者提供一种直接的方法,以颠覆该软件的预期用途,以供个人或货币收益。
此类别包括对最终核心二进制文件的分析,以确定其源代码,库,算法和其他资产。诸如IDA Pro,Hopper,Otool和其他二进制检查工具之类的软件使攻击者洞悉应用程序的内部工作。这可以用来利用应用程序中的其他新生漏洞,并揭示有关后端服务器,加密常数和密码以及知识产权的信息。
通常,开发人员包含隐藏的后门功能或其他内部开发安全控制,而这些安全控制不打算将其发布到生产环境中。例如,开发人员可能会意外将密码作为混合应用程序中的评论包含。另一个示例包括在测试过程中禁用2因子身份验证。