新加坡发布《安全应用标准 2.0》
日期:2025-01-03 作者: 浏览:188次

2024年10月15日,新加坡网络安全局(CSA)发布《安全应用标准 2.0》(SAFE APP STANDARD 2.0),为移动应用开发者和提供者提供安全控制标准,涵盖认证、授权、数据存储、防篡改与防逆向、网络通信、加密、代码质量与漏洞缓解、平台交互等八个网络安全领域。

一、 认证(AUTHENTICATION)

多因素认证(MFA):建议开发者使用 MFA,如结合基于知识、持有和固有因素的认证方法,并优先选择低风险认证方式,同时考虑 SSO  MFA 结合、使用密码密钥以及区分第一方和第三方认证等。

基于上下文的认证:通过引入用户位置和设备属性等动态元素进行认证,如检查设备地理位置和类型。

安全会话认证:包括安全有状态和无状态认证,管理会话状态,防止会话劫持,确保用户真实性和数据安全。

会话终止:在注销、不活动或应用关闭时终止会话,重新认证用户,生成新会话标识符,清除本地存储的令牌或标识符。

暴力破解防护:限制登录尝试次数,实施反自动化检查、速率限制、渐进式增量时间延迟和账户锁定,并告知用户账户锁定原因及解锁方式。

交易完整性验证:通过发起交易验证或确认呼叫、提供实时交易历史、设置冷却期、默认禁用海外交易及允许用户终止活动会话等机制,保护用户和交易真实性。

二、授权(AUTHORISATION)

服务器端授权:在服务器端进行授权,根据用户角色和动态上下文因素授予权限,确保敏感数据安全和操作完整性。

客户端授权(通过设备绑定):将授权与设备绑定,验证设备身份和状态,确保数据安全和操作完整性。

最小权限请求:仅请求应用运行所需的最小权限,向用户清晰说明权限用途,并允许用户管理权限。

高风险交易通知:向用户通知已授权和完成的高风险交易,可通过应用内警报、电子邮件或短信通知,且去除敏感数据。

三、数据存储(DATA STORAGE)

必要时存储敏感数据:根据组织敏感度级别和法律要求分类数据,实施安全存储解决方案,对敏感数据进行保护措施,并在不再需要时删除。

安全存储敏感数据:根据数据敏感度选择合适的存储位置,如服务器端或客户端的可信执行环境(TEE),确保数据保密性、完整性和用户隐私。

删除敏感数据:在应用终止、卸载或相关业务功能停止时,删除敏感数据,遵循相关数据保留法律,如 PDPA、GDPR  PCI DSS

四、防篡改与防逆向(ANTI-TAMPERING & ANTI-REVERSING)

使用官方证书签名应用:使用官方应用商店证书签名应用,确保应用完整性和真实性,防止应用被篡改和恶意分发。

检测设备 root 或越狱:检测设备是否 root 或越狱,保护应用进程和系统完整性,防止攻击者利用提升的权限进行攻击。

检测模拟器:检测应用是否在模拟器中运行,禁止在非开发环境中使用模拟器,保护应用完整性和进程安全。

恶意软件检测:在运行时检测恶意软件,防止用户被利用,保护应用和用户数据安全。

反挂钩机制:实施反挂钩机制,防止攻击者在运行时修改应用行为,保护应用完整性和进程安全。

覆盖、远程查看和截图防护:防止应用屏幕内容被捕获或记录,保护用户隐私和敏感数据安全。

五、网络通信(NETWORK COMMUNICATION)

使用安全通信协议:优先选择现代和安全的加密套件,如 TLS 1.3 的强加密套件,确保通信保密性、完整性和真实性,防止数据泄露和篡改。

证书固定:只信任特定证书,预加载证书,保护应用与服务器通信安全,防止中间人攻击。

安全集成 API:对 API 进行安全集成,包括访问控制、速率限制、输入输出验证和数据加密,保护 API 可用性、真实性和数据安全。

六、加密(CRYPTOGRAPHY)

强加密哈希算法:使用 SHA3  SHA2 系列等强加密哈希算法,确保数据完整性,防止哈希算法被攻击。

强加密算法:实施强对称和非对称加密算法,确保加密信息安全,根据数据特点选择合适算法,并管理加密密钥。

强数字签名算法:使用 ECDSA  RSA - PSS 等强数字签名算法,保护数据传输的完整性、真实性和不可否认性。

密钥管理:遵循行业最佳实践进行密钥管理,包括生成、分发、存储、归档和删除等环节,确保密钥安全,保护应用数据安全和算法可靠性。

七、代码质量与漏洞缓解(CODE QUALITY & EXPLOIT MITIGATIONS)

检查设备操作系统版本:检查设备操作系统版本,禁用不安全版本的应用,提醒用户升级,保护应用和数据安全。

强制应用安全更新:要求用户更新到最新安全版本,通过多种机制实现,确保用户免受已知漏洞攻击。

安全软件依赖管理:评估依赖必要性,进行安全评估,使用自动化管理工具,分析依赖安全性,实施特定依赖的最佳实践,保护应用保密性和完整性。

输入输出数据验证和清理:在客户端和服务器端验证和清理所有输入输出数据,防止注入攻击和数据泄露,保护应用进程和数据安全。

错误处理:识别和处理错误,使用通用错误消息和自定义错误页面,避免敏感数据泄露,保护应用进程和数据安全。

内存管理和漏洞检查:确保正确的内存管理,检测内存损坏漏洞,使用安全编程语言和编译器选项,进行漏洞检测,保护应用进程和数据安全。

八、平台交互(PLATFORM INTERACTIONS)

安全实现进程间通信机制:确保 IPC 机制安全配置,仅暴露必要组件,使用 SAST 工具验证,保护敏感数据隐私,主要针对 Android 设备。

安全实现 WebView:避免使用过时库和方法,利用安全浏览 API,禁用内容缓存,采用安全协议,验证 Web 内容,保护应用进程和数据安全。

安全处理输入方法:使用安全的应用内自定义键盘,限制输入方法功能,主要针对 Android 设备,保护用户隐私和敏感数据安全。

该标准为非强制性指南,开发者应根据实际情况应用,并进行风险管理,确保应用安全。同时,标准应与相关法律法规结合使用,开发者需关注行业最佳实践,定期更新应用以应对新的安全威胁。

来源:tbtguide

安徽省进出口商会网免责声明:

凡本网注明 “来源:XXX(非安徽省进出口商会)” 的作品,均转载自其它媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

如因作品内容、版权和其它问题需要同本网联系的,请在3日内与商会取得联系,我们会及时处理

如未与安徽省进出口商会进行有效沟通的事宜,本网将视同为未曾联系,并不能给予答复、解决。

联系方式:

电话0551-62622500/0551-62622158 

邮箱shhybⓐaccie.org.cn