安全加固是什么
了解盗版和破解比较多的朋友可能会经常听到“脱壳”这个词,而我们所说的安全加固基本上就是“壳”。
安全加固服务是指是根据专业安全评估结果,制定相应的系统加固方案,针对不同目标系统,通过打补丁、修改安全配置、增加安全机制等方法,合理进行安全性加强。其主要目的是:
- 消除与降低安全隐患
- 周期性的评估和加固工作相结合,尽可能避免安全风险的发生
实施安全加固就是消除信息系统上存在的已知漏洞,提升关键服务器、核心网络设备等重点保护对象的安全等级。
而移动安全加固,则是特指对安卓和ios软件进行加固。
为什么APP需要安全加固
对一个App的创业者来说,最烦恼的就是App被山寨和盗版,基于java开发的android应用其语言的特性,使得android开发的App更容易被破解。
但通常情况下,刚开发完成的软件在没有专业安全人员全程参与的情况下很像是饱经风霜摧残的雕像,虽巍峨屹立但已经满布裂隙,而安全加固就像是给这座雕像刷了一层新的外壳,封堵上这些裂缝。
对App进行加固,可以有效防止移动应用被破解、盗版、二次打包、注入广告、反编译等,保障程序的安全性、稳定性,对于金融类App尤其重要。
安全加固在移动应用上的广泛应用
要应对安卓App被破解的风险,大多数中小开发者的主要手段就是对App进行加固,这是一种经济有效的手段。
安全加固技术在互联网有着广泛的应用,具有广阔的前景:
- 游戏反外挂,随着移动互联网的兴起,移动游戏市场持续爆发增长,目前市场规模已经超过1600亿。在这么巨大的市场下,安全当然至关重要。
- 防止广告注入,对于绝大多数应用,防止被别人注入大堆广告导致用户体验极度下降,都是极为重要的内容。
- 支付渠道防劫持,对于金融类或者电商类应用,其支付渠道的安全关乎生命,他们在这方面的安全技术走得更长远。
- 付费服务防破解,移动互联网存在有大量包含付费服务的应用,我们耳熟能详的就有百度云、迅雷、爱奇艺等等,这些应用的所属企业在打击破解上当然是不留余力的。
- 为国家机构护航,此处不做介绍。
移动安全加固技术的发展
据笔者的了解,目前移动安全加固技术已经发展到了第四代。因限于能力,笔者对技术细节不怎么了解,在此仅提供一些资料:
image
- 动态加载,用于保护应用的逻辑不被逆向与分析,最早普遍在恶意软件中使用,其主要基于Java虚拟机提供的动态加载技术。
- 不落地加载,对第一代加固技术,第二代加固技术在APK修改方面已经完善,能做到对开发的零干扰。开发过程中不需要对应用做特殊处理,只需要在最终发布前进行保护即可。
- 指令抽离,由于第二代加固技术仅仅对文件级别进行加密,其带来的问题是内存中的Payload是连续的,可以被攻击者轻易获取。第三代加固技术对这部分进行了改进,将保护级别降到了函数级别。
- 指令转换/VMP,第三代加固技术在函数级别的保护,使用Android虚拟机内的解释器执行代码,带来可能被记录的缺陷,第四代加固技术使用自己的解释器来避免第三代的缺陷。而自定义的解释器无法对Android系统内的其他函数进行直接调用,必须使用JAVA的JNI接口进行调用。
- 虚机源码保护,跟第四代的VMP加固技术,虚机源码保护加固是用虚机技术保护所有的代码,包括Java,Kotlin,C/C++,Objective-C,Swift等多种代码,具备极高的兼容性;使App得到更高安全级别的保护,运行更加稳定。
哪些平台提供了移动安全加固服务
国内有许许多多的安全加固平台,我所知道的有:
- 梆梆,老牌安全服务提供商
- 360加固保,360一直专注安全方面,在泛安全方面非常专业
- 腾讯乐固/腾讯御安全,其实是两个平台
- 云安全(易盾),网易家的安全平台
- 海云安,安全红客团队出身,技术过硬
推荐文章
笔者主要从以下文章中认识到安全加固
渗透测试常用方法总结
浅谈Android 混淆和加固
解析移动互联网四大App云加固平台市场和质量对比
Android App加固原理分析
APP加固技术历程及未来级别方案:虚机源码保护
网友评论