1
中国移动互联网发展现状
2016年中国境内活跃的手机上网号码数量达12.4亿,占全国人口数量的90.2%;活跃的智能手机联网终端达23.3亿,九成以上运行Android操作系统和IOS操作系统,其中Android操作系统的智能手机最多。手机网民上网访问量最多的三个领域是社交、搜索和电子商务,使用最多的前三个APP是微信、QQ和百度地图,用户量分别为10.03亿、9.78亿和6.56亿。
综上,移动互联已经变的非常重要,等保2.0中提出了移动互联等级保护的要求。
2
移动互联存在的主要安全风险
当今,智能手机具有极高的用户粘性,功能强大,能够进行通讯娱乐、信息管理、搜索聚合、在线办公等;并具有一直开机,随手可用,长时间在线的特点。
信息泄露。智能终端中存储着大量的用户信息,个人信息泄露的事件时有发生。对用户信息安全造成严重的安全威胁。
重打包应用(破解)、钓鱼应用。有的应用被逆向分析破解,加入恶意代码,重新打包发布,有的应用就是钓鱼应用。用户可能被恶意扣费、远程控制、诱骗欺诈等。
应用漏洞。应用开发者有时对应用漏洞的维护不及时,手机用户不及时更新应用版本,都是应用漏洞被利用的重要原因。
系统root。因各方面原因,手机可能会将系统root,取得操作系统的超级管理员权限。可能导致病毒木马入侵、系统不稳定、无法享受售后服务、隐私泄露等坏处。
系统漏洞。漏洞爆出后,厂商对系统漏洞更新不及时的情况时有发生,用户也存在不及时更新漏洞的情况,导致已经发现的操作系统漏洞,继续被攻击者利用。
3
等保2.0移动互联要求重点
等保2.0移动互联安全要求的重点,以三级要求为例:
物理和环境安全:无线接入点的物理位置合理性;
网络和通信安全:定位非授权无线接入设备;
设备和计算机安全:移动终端应接受移动终端管理服务端的设备生命周期管理、设备远程控制,如:远程锁定、远程擦除等;
应用和数据安全:《网络安全法》要求的信息保护;
安全建设管理:应保证移动终端安装、运行的移动应用软件由经审核的开发者开发;
……
4
等保2.0移动互联要求的实现
对于移动应用的安全状况,应该采用监测平台对第三方应用发布渠道上的应用进行持续的监测,并对移动应用软件进行等级测评和安全加固。
比如中国软件评测中心具有“智能移动终端软件公共服务平台”,并申请了相关的专利(兼容安卓应用的服务签名方法与装置)。
应用测试
自动化安全扫描。通过自动化安全扫描发现病毒、木马、敏感权限、已知漏洞。
定制化安全评估。对移动应用进行防篡改、防攻击、数据安全、通讯安全、业务逻辑、云端安全等定制化的安全评估。
源代码安全检测。对移动应用的源代码进行源代码安全检测。
应用加固
应用安全防护。进行代码、脚本、资源加密、动态执行、数据加密、.so库混淆、设备捆绑等。
运行环境保护。签名自校验、反调试保护、信号异常保护、反内存dump,敏感数据及时清楚等。
业务场景保护。防钓鱼、防劫持、账号密码保护等。
5
网约车等级测评案例介绍
中国软件评测中心参与了《网络预约出租车平台安全等级测评指南》(试行稿)的制定,进行了网约车的等保测试和共享单车的等保测试。
相关案例:易到(北京)、微巴(北京)、优辆(吉林)、运通车联(辽宁)、ofo等。
接下来将根据等保2.0移动互联的特点分享一个网约车等级测评的案例。
5.1 测评准备
移动终端远程通过运营商基站或者公共Wi-Fi接入信息系统,也可以在本地通过本地无线接入设备接入信息系统。其中的三个关键要素是移动终端、移动应用和无线网络。
信息收集。在测试准备阶段,除了传统系统等级测评需要收集的信息,还需要了解移动应用的运行在IOS系统还是Android系统;如果是运行在Android上,还需要了解安卓开发平台。移动应用加密采用的算法和密码技术。具体包括APP本身加密(资源加密:配置文件、本地库、证书、秘钥;整体加密,为了防破解和二次打包的整体较密)、通讯加密、本地存储加密。
工具准备。网络嗅探工具、网络协议分析工具、移动应用扫描工具、静态和动态代码安全检测工具。
5.2 方案编制
测评对象选取。应该包含网约车平台服务端、客户端和通信网络。网约车平台客户端主要指的移动应用软件和业务数据(数据传输、存储、清除)。
测评指标选取。在进行网约车等级测评时,应考虑移动互联安全扩展要求的指标,如果网约车的服务器部署在云平台上,还应该考虑云计算安全扩展要求的指标。
测评工具接入点。测评工具接入点的选取非常重要,需要考虑网络层的接入点、手机操作系统的接入点、应用层的接入点。
作业指导书:根据选取的测评指标如移动互联安全扩展要求编制作业指导书。
5.3 现场测评
5.3.1 常规检查、配置核查
和一般信息系统相比,应对客户端、服务端安全和通信网络的安全进行配置检查。
客户端安全主要包括:对注册信息的实名要求注册、身份鉴别以及口令找回对一次性验证码长度和有效期要求;访问控制方面要求软件不能安装在外部存储卡,限制用户只能在一台移动终端设备上登录;用软件(APP)应采用国家密码管理相关规定的密码技术保证用户个人信息、行程轨迹信息等重要数据在本地存储时的保密性;应用软件(APP)应仅采集和保存业务必需的用户个人信息,禁止收集、未授权访问和使用不必要的用户个人信息。
服务端安全主要包括:机房在中国境内;采集的个人信息和生成的业务数据,原则上应在中国境内存储和使用;应对驾驶员、约车人和乘客个人敏感信息在服务端加密存储;交易日志采用国家许可的密码技术进行加密传输与存储,并采用防篡改措施,保留期限至少6个月;乘车人银行卡信息禁止保存在网约车平台本地服务器
通信网络安全主要包括:网约车平台无线接入设备应开启接入认证功能,并支持采用认证服务器或国产算法进行加密;对来自移动终端用户(包括乘客用户、司机用户)的数据流量、数据包和协议等进行检查,以允许/拒绝数据包通过;能够检测、记录、定位非授权移动终端设备(包括乘客用户、司机用户);对移动终端(包括乘客用户、司机用户)接入的访问行为,进行记录、审计、数据分析。
5.3.2 渗透测试
渗透测试:对管理系统、移动客户端,进行渗透测试,重点关注组件暴露、界面劫持、数据非授权备份、跨站脚本执行、SQL注入、本地代码执行等问题。
5.3.3 源代码检查
源代码安全审计是移动互联等级测评的重要组成部分,其重要性和必要性体现在:
源代码安全审计是整个测评过程中唯一的白盒测试,软件的源代码是软件业务逻辑、功能的完整实现,源代码安全审计可以对被测系统进行比较全面地剖析;
源代码安全审计可以发现许多渗透测试等黑盒测试很难发现的隐藏漏洞,这些漏洞隐藏的很深,只有通过特殊技巧或在特定条件下才能被利用,一旦被成功利用,则会对系统造成很大损害。
源代码安全审计的测评方法通过工具扫描和人工分析相结合。源代码扫描工具市场上有很多商业化产品,需要对主流平台如iOS和Android的应用程序的源代码进行安全审计。
人工分析对于移动应用的源代码安全审计尤为重要。限于当前工具的能力,其扫描的结果存在很多误报,这些都需要通过测试人员仔细分析来一一排除。对于移动应用程序,除了要排除常规的如代码逻辑等方面的误报之外,尤其需要注意配置文件、应用权限、存储管理和保密等方面的误报,这类误报的原因主要是因为工具不了解该应用程序的业务逻辑导致的。这需要测试人员在先期的调研中,充分理解系统的业务需求,在人工分析的过程中,和相关业务人员、架构和设计人员、开发人员等充分沟通,通过对业务的深刻透彻的理解和对移动应用程序相关开发技术的熟练掌握,准确地排查误报。
5.3.4 抗逆向分析测试
现在市场中加固apk的方式一般就是两种:一种是对源apk整体做一个加固,放到指定位置,运行的时候在解密动态加载,还有一种是对so进行加固,在so加载内存的时候进行解密释放。解压APK,查看class.dex文件大小。使用反编译工具IDA对class.dex文件进行反编译,判断是否存在内存隔断、代码混淆、是否开启TracePid的反调试。
5.4 分析与报告编制
对测评结果进行安全风险分析:针对网约车的特点,结合安全问题所影响业务的重要程度、相关系统组件的重要程度、安全问题严重程度以及安全事件影响范围等进行综合分析。《网络预约出租车平台安全等级测评指南》(试行稿)中对网约车平台等级测评细化项的高风险进行了要求,高风险点有19项,与移动应用相关的有6项,具体包括:
1) 网约车移动应用软件(APP)将数据存储到没有权限控制的外部存储(SD 卡)设备上;
2) 网约车移动应用软件(APP)未采用密码技术保证用户个人信息、行程轨迹信息等重要数据在存储时的保密性;
3) 网约车移动应用软件(APP)未对通信过程中的敏感信息字段或鉴别信息进行加密传输;
4) 网约车移动应用软件(APP)未采用国家认可的第三方机构提供的数字证书进行签名/验签;
5) 网约车移动应用软件(APP)未采用代码混淆、配置文件加密、本地库文件加密等措施抵抗逆向分析;
6) 网约车移动应用软件(APP)存在界面劫持、跨站脚本执行、SQL注入、本地代码执行等漏洞。
作者:中国软件评测中心 李婧
来源:安全测评联盟
原文始发于微信公众号(e安在线):移动互联等级保护介绍及典型测评案例分享
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论