2018年移动应用安全,有几维安全就够了!

网络病毒是指人为编写的特制程序,具备自我复制能力、很强的感染性,必定的潜伏性,特定的触发性和很大的破坏性。安全

网络安全是指网络系统的硬件、软件及其系统中的数据受到保护,不因偶然的或者恶意的缘由而遭受到破坏、更改、泄露,系统连续可靠正常地运行,网络服务不中断。网络

看似对立的两种行为却又是相互依存相互提升的。正由于黑客们不断的改写代码入侵网络,因此网络安全家们才能开发出效率更高安全性更强的安全防御工具。架构

几维安全做为一家移动应用安全服务商,一直以来致力于为用户及企业打造更安全的移动互联网。针对IOS和Android两大平台,实现国内首个免费的移动应用攻击防护平台,而且在新年伊始推出了全新的安全加密产品KiwiVM虚拟机函数

传统的加密方式工具

SO加壳—黑盒方式性能

功能:对SO进行二进制加壳,破坏ELF文件信息,致使静态反编译工具解析失败,静态加密的方式,是经过干预系统对SO的加载过程进行动态解密。加密

缺陷:1.恢复简单,经过内存dump或者二进制修复便可设计

2.平台依赖严重,因为Android版本众多,各家厂商对系统进行了不一样程度的定制,因此针对不一样的系统库加载器均须要进行适配;游戏

3.容易被脱壳,因为Android环境为开源环境,致使修改系统很是容易,脱壳手段层出不穷。网络安全

SO源代码混淆—白盒方式

功能:基于OLLVM开源项目改造的代码混淆加密,包括指令平展化,逻辑混淆和字符串加密。

缺陷:基于代码基本块混淆粒度太大,只增长了假基本块来迷惑分析者,仔细分析的状况下,真实块很明显。

KiwiVM代码虚拟化技术

KiwiVM虚拟化防御

LLVM体系架构下编译器具备独特的中间语言IR指令模式,IR能够说是集中体现了这款编译器的特征,想要彻底掌握某种编译器的工做和运行原理,分析这款编译器的中间语言无疑是重要手段。所以在现在经常使用编译器所汇编的文件已被各类工具反汇编的状况下,设计知足跨平台通用的虚拟化方案,必须脱离汇编指令上升到非架构依赖层,刚好LLVM体系独具优点,经过从IR指令集进行虚拟化操做,既能彻底实现和X86平台一样强度的虚拟化的加密,而且解决了虚拟化技术没法跨平台的问题。

实现原理

几维安全KiwiVM虚拟化编译器基于LLVM编译器中间层实现,经过设计独有保密的虚拟CPU解释器以及完备虚拟IR指令,将原始CPU指令进行加密转换处理为只能由KiwiVM虚拟解释器解释执行的虚拟指令,可以彻底隐藏函数代码逻辑,以及函数及变量之间的依赖关系。

移动应用安全1.png

图1-5:实现原理

KiwiVM虚拟化优点

KiwiVM虚拟机虚拟化基于LLVM编译器中间层实现,加密代码与业务代码紧密结合,有效阻挡逆向分析;因为是从编译器内部生成平台依赖代码前实现无平台依赖代码虚拟化过程,不依赖于特定系统环境,无兼容性问题,自然兼容全部CPU架构,包括IOS,Android、armv7,arm64),Windows,Liunx(x86,X64),Other(Mips)等。

核心安全防御:自定义虚拟CPU,代码一旦加密,很难解密,其不可逆的特性能有效避免攻击者经过DUMP内存,还原原始代码。

函数级虚拟化:以C、C++源文件函数为单位进行虚拟化,具备粒度细、可控性高、隐蔽性强的特性,虚拟化以后函数彻底隐藏。

全平台全架构:支持iOS与安卓双平台的Native代码虚拟化,包括armv七、arm6四、armv7a、x8六、x86_64等架构。

完美兼容:在C、C++代码编译时直接虚拟化,其兼容性与原始应用同样。

虚拟机安全核心

虚拟化的安全性核心意义是隐藏,主要是隐藏代码的真实逻辑和其中处理的相关数据,是目前计算机软件层防御的核心方案,在移动端被用于游戏反外挂核心模块保护,商业受权,机密软件系统保护等竞争激烈领域;因为是指令级的虚拟化,因此不会像软件加壳方案同样在内存中存在真实的软件代码(而只要存在真实代码就有被动态分析的可能),再加上源码混淆,不管从静态分析仍是动态分析都能保证核心文件的安全性,而且源码混淆和KiwiVM虚拟保护方式都不会产生兼容性问题。

虚拟化效果展现

移动应用安全3.png

图1-6:虚拟化前

移动应用安全4.png

图1-6:虚拟化后

更高效的APP加密方式,更深层的加密手段,更普遍的加密安全性。使得几维安全KiwiVM虚拟机成为2018年安全行业最耀眼的一颗新星。

在将来的日子里,几维安全将以更专业的安全加密态度,更完善的安全APP加密方式,更优越的安全加密体验,更贴心的安全加密服务,为你们带来更多更好的安全加密产品。网络安全不容忽视,几维安全愿与你携手在这条安全之路上披荆斩棘,勇往直前。

相关文章
相关标签/搜索