2018年6月27日,公安部正式发布《网络安全等级保护条例(征求意见稿)》,标志着《网络安全法》所确立的网络安全等级保护制度有了具体的实施依据与有力抓手,标志着等级保护正式迈入2.0时代。2018年12月28日,全国信息安全标准化技术委员会归口的《信息安全技术 网络安全等级保护测评过程指南》等27项国家标准正式发布,为等保对象进行网络安全等级保护的落地实施进行了细化指引。
为助力等保2.0落地实施,几维安全以等保安全要求及国家相关标准文件为指导,结合公司对行业安全需求和相关安全加固技术产品的研究,进行安全加固实施策略设计,旨在助推国家安全要求落地、助力行业企业安全环境构建。
等保2.0要点解析
等保2.0针对共性安全保护需求提出安全通用要求,并针对移动互联、云计算、物联网和工业控制等新技术、新应用领域的个性安全保护需求提出安全扩展要求。
2018年1月19日,全国信息安全标准化技术委员会发布了《信息安全技术网络安全等级保护定级指南2.0(征求意见稿)》(以下称“指南”),为等保的具体适用提供了指引,并细化明确网络安全等级保护制度定级对象范围具体包括基础信息网络、工业控制系统、云计算平台、物联网、使用移动互联技术的网络、其他网络以及大数据等多个系统平台。
等级保护对象根据其在国家安全、经济建设、社会生活中的重要程度,遭到破坏后对国家安全、社会秩序、公共利益以及公民、法人和其他组织的合法权益的危害程度等,由低到高被划分为五个安全保护等级。
在确定定级对象时,基础信息网络、工业控制系统、云计算平台、物联网、 采用移动互联技术的网络和大数据需满足三个基本特征:
(1)具有确定的主要安全责任主体;
(2)承载相对独立的业务应用;
(3)包含相互关联的多个资源。且在此基本特征的基础上,还要遵循各自不同要求,如:
物联网:物联网主要包括感知、网络传输和处理应用等特征要素,应将以上要素作为一个整体对象定级,各要素不单独定级。
移动互联网:采用移动互联技术的网络主要包括移动终端、 移动应用、无线网络等特征要素,应与相关有线网络业务系统作为一个整体对象定级。
根据要求和指南内容分析,等保2.0安全要求涵盖了多行业多系统和多个关键节点,是以整体安全保障为目标,以“纵深防御、分层防护”为总体策略贯穿始终的体系,细化到具体行业有定级指导意见的可结合参考相关行业定级指南,如金融行业可参考《中国人民银行关于银行业金融机构信息系统安全等级保护定级的指导意见》(银发〔2012〕163 号)。
几维安全助力等保2.0落地实施整体思路
等级保护2.0沿用了等保1.0的五个规定动作:定级、备案、建设整改、等级测评和监督检查,并扩展到风险评估、安全检测、通报预警、安全事件处置、漏洞风险管理等方面,将其纳入到等级保护的范围之内。而等级保护的实施是一个体系化工作,以“纵深防御、分层防护”为总体策略贯穿始终。
通过对等保要求具体内容进行细化分析可发现,移动互联、云计算、物联网和工业控制等新技术、新应用领域均涉及基于移动终端的移动安全,并对其访问控制、身份鉴别、入侵防范、恶意代码防范等有明确的安全要求,本文以移动互联网安全为例进行等保安全要求分析及移动安全加固方案设计。
基于等保要求要点解析和行业应用共性、个性特征分析,几维安全从评测、加固、监测、响应全流程进行整体解决方案设计,以公司特有的安全加密技术和产品体系为落地,通过云端、web端、API接口、本地部署、离线工具和Xcode插件等多样化交付/部署模式,和多渠道技术服务实现线上线下联动全方位支撑。旨在助力企业实现等保落地和全方位安全保障。
通过闭环体系构建,将实现协助企业进行事前移动安全多维度检测和评估,发现风险点进行对应安全加固,在事中进行安全监测和响应,并在事后提供审计、后评估等为优化提升提供支撑,形成有效安全保障和可持续安全环境。
从技术保障角度,几维安全从移动开发底层技术路线出发,以公司特有的代码指令混淆技术,和全架构商用代码虚拟化技术为基础的全平台全架构产品体系、技术方案为支撑根据不同等级安全要求进行安全加固,以第三级测评要求为例:
1、针对网络和通信安全要求中无线通信完整性和保密性要求
安全要求:应采用密码技术保证无线通信过程中数据的完整性;应采用密码技术保证无线通信过程中敏感信息字段或整个报文的保密性。
保障方案:通过部署白盒密钥保护产品进行传输数据安全保障。密钥白盒SDK代码采用公司独有的KiwiVM代码虚拟化技术进行安全保护,支持Android、iOS、IoT等三个平台的本地数据加密存储、通信链路数据加密等功能。
2、针对设备和计算安全要求中资源控制要求
安全要求:应将移动终端处理访问不同等级等级保护对象的运行环境进行系统级隔离;应将移动终端处理访问等级保护对象的运行环境与非处理访问等级保护对象运行环境进行系统级隔离;应限制用户或进程对移动终端系统资源的最大使用限度,防止移动终端被提权。
保障方案:通过部署防御性SDK产品对资源进行检测。安全防御SDK可部署在Android和iOS客户端,主要针对环境ROOT、恶意进程、进程注入、HOOK攻击、内存篡改、模拟器运行等风险行为进行动态防御保护,并将异常行为返回给调用层,并可采取自定义的处理方式,如立即退出。
3、应用和数据安全要求中针对数据完整性要求
安全要求:移动应用软件应采用密码技术保证通信过程中数据的完整性;移动应用软件应采用校验技术或密码技术保证重要数据存储时的完整性,并在检测到完整性错误时采取必要的恢复措施。
保障方案:通过代码加密类产品进行终端应用加固。几维安全自主研发基于Clang编译器扩展的VM虚拟机编译器, 在编译时直接对指定的函数[代码]实施虚拟化处理。凭借自定义CPU指令的特性,具有代码不可解密,加密过程不可逆等技术特点,可实现在通信、支付、算法、核心技术等模块深度加密,避免因逆向破解问题造成的经济损失。
几维安全移动安全加固核心技术及主要方案
几维安全通过多年研究,开发出基于LLVM编译器的全平台全架构的KiwiVM虚拟化防护方案,其技术主要是自定义虚拟CPU,代码加密不可逆的特性能有效避免攻击者通过DUMP内存还原原始代码。
KiwiVM虚拟化编译器通过设计虚拟CPU解释器以及虚拟IR指令,将原始CPU指令进行加密转换处理为只能由KiwiVM虚拟解释器解释执行的虚拟指令,能够完全隐藏函数代码逻辑,以及函数及变量之间的依赖关系。
以代码虚拟化为基础,几维安全目前可以提供全平台终端(Android、iOS、IoT、Linux、MacOS、Windows)防护能力。
(1)Android 平台
针对 Android 平台,可采用Dex 类方法抽取加固、Dex-Java2C 静态代码加密、SO 加壳、C/C++代码混淆、C/C++代码轻量虚拟化、C/C++代码虚拟化、防御型 SDK,可以从静态加密到动态防护做一个全方位的安全加固。
(2)iOS 平台
针对 iOS 平台,可采用 C/C++/ObjC 代码混淆、C/C++/ObjC 代码轻量虚拟化、C/C++/ObjC 代码虚拟化三种不同强度的代码加密方案。
(3)IoT 平台
针对 IoT 平台,可采用 SO 加壳、C/C++代码混淆、C/C++代码轻量虚拟化、C/C++代码虚拟化等方案,针对不同嵌入式环境对尺寸、性能、内存消耗的不同要求,可通过量身定制的安全方案实现。
同时,以上平台的代码加密产品可配合防御型 SDK、白盒秘钥等技术实现诸如数据加密存储、通讯链路加密等业务场景的保护需求。针对 Unity、Cocos 等游戏开发引擎,也可通过对应的保护机制如 C#代码保护、Lua 代码保护实现安全加固。
几维安全等保2.0落地实施具体实施策略
在具体实施过程中,几维安全以评测、加固、监测、响应ERMR闭环安全防护为总体思路,以公司特有的全平台全架构产品为基础构建基于全流程安全保障的产品体系,通过线上线下多渠道部署协助构建整体安全体系,实现移动安全的有效保障。
几维安全主要产品及服务体系
1、移动应用安全评测
结合国家等保安全要求,首先对保护对象进行多维度移动应用安全评测。几维安全通过安全检测、渗透测试、源代码审计三个维度实现事前和事后相关评测工作,为安全加固、优化提升提供有力支撑。具体包括:
(1)移动应用安全检测
基于国家、行业相关安全标准,通过静态和动态两个维度进行评估,包括程序自身安全检测、防代码逆向保护监测、防动态攻击保护检测、本地数据安全检测、通信数据安全检测、身份认证安全检测、内部数据安全检测、恶意攻击漏洞扫描等8项功能,共覆盖80余项风险点,应用场景包括APP安全规范审查 、APP发布风险评估、外包应用验收评估、应用加固效果评估等。
具体评估方式和评估依据见下图。
(2)移动应用渗透测试
移动应用自动化+人工渗透测试是一项基于移动应用程序的完整生命周期进行全方位的安全检测服务,主要用于检验移动应用系统和业务逻辑的脆弱性和有效性。从逆向破解的角度出发多方面对移动应用的代码、数据、密钥、业务逻辑、系统环境等内容进行静、动态的人工分析,以获取应用安装卸载过程、用户数据输入、存储处理、网络传输以及所处系统环境等方面的安全隐患。报告将针对分析过程中使用的渗透工具、渗透步骤、问题代码位置、潜在风险以及问题解决方案均进行详细的描述。应用场景主要包括电商交易支付环节检测、互联网金融安全测试、IoT物联网安全测试、移动应用发布评估等。
(3)移动应用源代码审计
移动应用源代码审计是一项以发现程序错误,安全漏洞和违反程序规范为目标的源代码分析服务。通过自动化工具+人工审查的方式,对程序源代码逐条进行检查和分析,挖掘系统源代码中存在的安全漏洞、性能缺陷、编码规范等问题,并提供代码修订措施和建议。
审计依据CVE、OWASP、BISMM、SANS等公共漏洞库和字典,以及结合自我积累的源代码审计资源和自动化工具对各种语言编写的源代码进行,应用场景主要包括金融应用安全评估、移动手游安全评估、政企应用安全评估、军工应用安全评估等。
2、移动应用安全加固
(1)安卓应用加固
对安卓应用的APK文件进行多重加密防护,支持Java2C源码保护
(2)SO源码混淆保护
基于SO源代码进行安全编译,集成代码混淆、块调度和字符串加密等功能
(3)iOS源码混淆保护
基于iOS项目源代码进行安全编译,集成代码混淆、块调度和字符串加密等功能;
(4)源码虚拟化保护
KiwiVM终端代码虚拟化技术,支持C、C++、Objective-C代码加密保护;
(5)数据加密SDK
基于源码虚拟化保护和白盒加密技术独创的安全密钥白盒,提供密钥、数据、文件等加密功能;
(6)安全防御SDK
对客户端异常情况进行实时监测,提高App主动防御能力;
(7)H5代码混淆
对JavaScript代码进行混淆加密保护,防止核心代码逻辑被恶意分析。
1)代码混淆:对Javascript代码中的函数进行混淆保护,增加代码分析难度;
2)字符串加密:对代码中的字符串进行加密保护,隐藏敏感数据,增加代码分析难度;
3)代码压缩:对加密后的代码进行高强度的压缩,减小文件大小,提高网络传输速度;
结 语
等保2.0既是国家安全部署要求,也是市场发展客户安全保障的刚需,也是企业品牌树立、可持续发展的重要保障。等保2.0的落地实施是一个涉及到多环节、体系化的工作,几维安全将以国家等保系列标准要求为指导,以不同行业不同企业特征为基础,以助力企业等保落地、安全环境构建为宗旨,砥砺前行。
来源:freebuf.com 2019-02-19 14:13:34 by: jiweianquan
请登录后发表评论
注册