如何加强移动应用开发安全?

许多企业不断地向其开发团队提供培训。但是某些漏洞,如早在十多年前就发现的SQL注入,如今仍广泛存在于各种应用中。因而,安全培训永不过时。

在开发移动应用时,开发者必须自始至终实施一套健全的安全原则,确保移动应用项目开发的安全,理解操作系统和API(应用编程接口)之间的不同点是非常重要的。

拥有应用安全项目的多数企业都有大量的最佳方法和编程标准等,但所有这些大多都是针对Web应用或C/S应用的。所以,必须更新这些技术并将其应用到移动应用的开发中。开发者必须考虑企业使用的操作系统。有许多方法可以开发并强化企业的移动应用安全。下面提供有助于移动应用安全开发的五条妙计:

制定并实施移动安全标准

所有企业都拥有要求开发人员必须遵循某种形式的标准和指南,然而,其重点并不放在安全性上,在许多情况下也不涉及到移动应用。在涉及关闭自动完成功能时,或者在保证正确地保护口令字段时,操作系统之间(如安卓与iOS之间)是不同的。

移动安全标准的目标是提供移动安全控制的一套健全的标准,移动安全标准的安全控制必须关注如下方面:移动设备的安全和管理控制;应用控制;数据控制;网络级的控制和保护;设备到设备的控制等;用户访问控制;资产管理;用户的授权;信息加密;密钥管理;反病毒和恶意软件;业务连续性计划;业务连续性测试;安全架构(数据安全和完整性、应用安全、无线安全、移动代码安全)。

例如,移动应用不能包含允许特权访问绕过身份验证过程的“后门”代码。开发者必须谨慎设计授权逻辑,防止特权提升攻击。所有的架构模式(特别是Web方案)都应当应用访问控制过滤器,用以提供健全的访问控制。

在移动应用的打包安全问题上,开发者必须对使用不同语言的(例如J2ME)解释器所开发的移动软件“模糊化”,防止黑客利用执行逻辑和通过逆向工程找到攻击方法。

尤其需要指出的是,在移动代码的安全标准问题上,在安装和使用移动代码前必须获得授权,而且软件配置应当保证获得授权的移动代码必须根据一套定义明确的安全策略才能运行。所有未授权的移动代码都不应当被执行。

借助威胁建模执行设计/架构的检查

由于应用程序越来越多地使用先进技术和更多后端资源,因而它会变得日益复杂。再加上移动通道的新特点,就更加剧了基础架构的复杂性。在某些情况下,为了支持新的移动通道,应用程序可能需要增加新的基础架构,或者需要使用或强化当前基础架构。增加移动通道要求彻底地检查设计和架构,并重视威胁建模。开发者必须理解移动应用的新威胁和潜在的业务风险。

完整的设计和架构检查必须包括威胁建模技术,威胁建模采用结构化的方法来确认、评估和决定减轻移动应用风险的适当控制。它对移动应用能够访问的敏感信息或资产进行分类,然后以攻击者的视角来评估其可能的破坏方式。#p#

人工验证

在借助威胁建模检查了设计或架构后,开发者应当执行某种水平的人工验证。人工验证的范围和水平由移动应用所带来的风险量决定。移动应用的大小和复杂性决定验证的等级或水平,当然所谓的验证必须依靠反复的代码检查和渗透测试。企业必须确保移动应用的验证专家与内部团队协同工作,而且,最好在企业内部组建一个强大的测试团队。

完全的动态和静态验证

动态和静态验证技术仍不太成熟,同样,可用的移动应用的动态验证技术也不多。不过,这并不意味着这些安全技术不能嵌入到安全的移动开发过程中。在有些技术成为主流并且很有效时,开发者就应当开始实行使用静态方法,评估移动应用代码,还要保证不会滥用API,并对其它的安全控制进行正确编码。当然,开发者也可以借助开源项目,使用静态分析查找Java代码中的漏洞,甚至可以将潜在的威胁类型分为多个等级。

在此重点说一下静态分析。有许多技术可以分析静态代码,查找潜在的漏洞。这些技术往往源自编译技术,主要分为数据流分析、控制流图、污点分析、词法分析等。

数据流分析用于收集关于静态软件数据的运行时信息,它主要分析基本块、数据流、控制路径等。数据流分析从软件的代码中收集程序的语义信息, 并通过一组简单方程将程序不同位置的语义信息联系起来。通过数据流分析, 分析者不必运行程序就知道可以程序运行时的行为。在进行数据流分析前, 为了便于收集和分析,往往需要把源程序转换成控制流图。

控制流图是指通过利用代表基本块的节点图来抽象地来表示软件。图中的一个节点代表一个块;定向边用于代表从一个块到另一个块的跳转(路径)。如果一个节点仅有一个退出边,它就被称为“入口”块,如果一个节点仅有一个“入口”边,此节点即为“退出”块。

在上图中的“节点1”即为“入口”块,“节点6”为“退出”块。

污点分析试图确认被用户的可控输入“污染”的变量,并跟踪这些变量,查找可能易受攻击的功能。如果被污染的变量就没有被净化,它就成为一个漏洞。

有些编程语言如Perl和Ruby有内置的污点检查,并在某些情况下(如通过CGI接受数据)启用此功能。

词法分析是一个将字符序列转换为单词(Token)序列的过程。这个阶段的任务是从左到右一个字符一个字符地读入源程序,即对构成源程序的字符流进行扫描然后根据构词规则识别单词(也称单词符号或符号)。

限制移动应用的访问许可

开发“应用许可访问”的目的是为了分配或剥夺用户对移动应用的访问权,例如,安卓要求:如果用户要使用移动应用,就应当接受该应用所要求的全部许可。此外,在以root权限使用设备时,还可以根据某个具体的移动应用来管理授权。许可限制可以保护链接,防止移动应用通过不合法的手段去访问某些私有信息。

此文远远不能解决移动应用开发的所有安全问题,作者仅希望它能够起到抛砖引玉作用。建议有志于此的开发者,参考AT&T的企业移动安全标准。

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/152992.html<

(0)
运维的头像运维
上一篇2025-03-14 06:30
下一篇 2025-03-14 06:31

相关推荐

  • 个人主题怎么制作?

    制作个人主题是一个将个人风格、兴趣或专业领域转化为视觉化或结构化内容的过程,无论是用于个人博客、作品集、社交媒体账号还是品牌形象,核心都是围绕“个人特色”展开,以下从定位、内容规划、视觉设计、技术实现四个维度,详细拆解制作个人主题的完整流程,明确主题定位:找到个人特色的核心主题定位是所有工作的起点,需要先回答……

    2025-11-20
    0
  • 社群营销管理关键是什么?

    社群营销的核心在于通过建立有温度、有价值、有归属感的社群,实现用户留存、转化和品牌传播,其管理需贯穿“目标定位-内容运营-用户互动-数据驱动-风险控制”全流程,以下从五个维度展开详细说明:明确社群定位与目标社群管理的首要任务是精准定位,需明确社群的核心价值(如行业交流、产品使用指导、兴趣分享等)、目标用户画像……

    2025-11-20
    0
  • 香港公司网站备案需要什么材料?

    香港公司进行网站备案是一个涉及多部门协调、流程相对严谨的过程,尤其需兼顾中国内地与香港两地的监管要求,由于香港公司注册地与中国内地不同,其网站若主要服务内地用户或使用内地服务器,需根据服务器位置、网站内容性质等,选择对应的备案路径(如工信部ICP备案或公安备案),以下从备案主体资格、流程步骤、材料准备、注意事项……

    2025-11-20
    0
  • 如何企业上云推广

    企业上云已成为数字化转型的核心战略,但推广过程中需结合行业特性、企业痛点与市场需求,构建系统性、多维度的推广体系,以下从市场定位、策略设计、执行落地及效果优化四个维度,详细拆解企业上云推广的实践路径,精准定位:明确目标企业与核心价值企业上云并非“一刀切”的方案,需先锁定目标客户群体,提炼差异化价值主张,客户分层……

    2025-11-20
    0
  • PS设计搜索框的实用技巧有哪些?

    在PS中设计一个美观且功能性的搜索框需要结合创意构思、视觉设计和用户体验考量,以下从设计思路、制作步骤、细节优化及交互预览等方面详细说明,帮助打造符合需求的搜索框,设计前的规划明确使用场景:根据网站或APP的整体风格确定搜索框的调性,例如极简风适合细线条和纯色,科技感适合渐变和发光效果,电商类则可能需要突出搜索……

    2025-11-20
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注