有人说加固会明显拖慢启动速度,同时造成运行卡顿,严重降低用户体验,而且加固是完全可以脱壳的,只需要pc配合进行断点调试就能抓到解密后的dex文件,加固并没有所说的那么安全。 但是为什么还有一大批开发者喜欢加固apk呢?

 

因为工信部对移动App应用安全过检要求日益增多,不加固大都达不到工信部的要求,同时开发者加固App大都是为了防止以下10个检测项出现问题,影响App上架。

1.程序代码安全

“很多人可能认为这一项技术含量并不大,其实这项在App上线时,检测方是有一些要求的”,网易资深安全开发工程师朱星星认为,在App上线时,开发者最好准备相关的《法律声明及隐私政策》、申请用户权限的调用系统说明,以及标注使用怎么样的SDK收集用户数据及收集用户数据的用途,这些都是硬性要求。

2.程序代码防护

程序代码防护是检测方判断代码保护基本强度的项目之一,这也是判断App开发者是否有安全开发意识的标准之一。业界最常见的程序代码防护有以下几种——客户端App采用代码混淆技术,增加能够防止第三方逆向工具进行逆向反编译,使用加固、防篡改机制、防二次打包等技术。

3.密码与安全策略

这一问题在金融类App非常常见,开发者往往需要考虑的是用户在输入账号密码时会不会被第三方记录截屏。“我们在帮助客户解决这一个问题时,建议客户一定要有一个防键盘记录SDK,这样用户每次打开键盘字幕排序是不一样的,App也能更安全更容易过检”,朱星星说。

4.权限与界面安全

在移动互联网时代,黑客的攻击方式越来越多样化,伪造用户登录页面窃取用户信息就是其中一种。在App过检测试时,检测方会有提供同样的虚假的登录页面来检测App是否有防范意识,这就需要开发者适当的在App中给用户一些警示信息,提示登录或关键界面已被覆盖的警示信息。

5.动态调试

动态调试技术在软件逆向工程领域也是一个很热门的概念,它是指破解者利用调试器跟踪软件的运行,寻求破解的途径。朱星星表示:“面对破解者的动态调试,我们可以采取对App进行加固的方案,防止App被动态调试”。

6.SO注入

SO注入也是比较常见的黑客入侵手段,在安卓App过检中是必测项。据朱星星介绍,一般来说有三个方案可以解决这一问题——修改linker中的dlopen函数,防止第三方SO加载;定时检测应用加载的第三方so库,如果发现是被注入的SO,则卸载加载的SO;对被测系统进行加固,防止被测系统被动态注入第三方SO。

7.内存数据保护

如何保护自己的程序不被其他程序读取或改写内存一直是技术开发者们需要解决的重要问题。在朱星星的分享中,他提到防内存被第三方程序读写。“我们监控/proc/pid/mem、/proc/tid/mem等文件的读写操作,当这些文件被第三方程序访问时,触发设置的回调函数,并配合防注入、防调试等方法,最终实现防内存修改。”

8.隐私与储存数据

技术开发者的代码文档如果使用明文存储,很容易出问题。“事实上,不管App有无其他问题,检测方如果检测到App里有明文存储,则一定会被打回来”,朱星星在解释该问题重要性时告诫开发者,在开发阶段一定要注意xml、db文件是否存在明文存储的问题。

9.日志信息泄露

在移动App的开发过程中,日志信息的安全是非常值得关注的问题。日志信息泄露,主要是防止打印的log容易被破解者作为分析的切入点,分析到App的执行逻辑等。除了静态代码不能出现log的调用之外,动态运行时也不能输出日志信息。

10.通信与数据安全

在全球新一轮新技术革命的冲击下,用户的生活方式越来越依赖于线上应用,以致于通信数据正呈爆发式的增长。但令人担忧的是,线上数据的大量聚集增加了数据泄密的可能,导致信息安全面临威胁。为解决这一威胁,朱星星建议的做法是对敏感数据进行加密传输,增加加密信道的安全性检测(包含中间人攻击检测等)HTTPS 通信协议等。

更多详情请见:《网易云易盾朱星星:最容易被驳回的10大App过检项》

相关阅读:大公司怎么做Android代码混淆的?

Android App的破解技术有哪些?如何防止反编译?

关于网易易盾的加固保护

当前安卓App加固到底该如何做到防篡改?

网易云易盾提供Android 应用加固解决方案,感兴趣的朋友可以点击这里免费试用

IOS应用加固免费试用可点击这里

一文读懂加固apk的开发者是怎么想的的更多相关文章

  1. 一文读懂高性能网络编程中的I/O模型

    1.前言 随着互联网的发展,面对海量用户高并发业务,传统的阻塞式的服务端架构模式已经无能为力.本文(和下篇<高性能网络编程(六):一文读懂高性能网络编程中的线程模型>)旨在为大家提供有用的 ...

  2. 从HTTP/0.9到HTTP/2:一文读懂HTTP协议的历史演变和设计思路

    本文原作者阮一峰,作者博客:ruanyifeng.com. 1.引言 HTTP 协议是最重要的互联网基础协议之一,它从最初的仅为浏览网页的目的进化到现在,已经是短连接通信的事实工业标准,最新版本 HT ...

  3. [转帖]从HTTP/0.9到HTTP/2:一文读懂HTTP协议的历史演变和设计思路

    从HTTP/0.9到HTTP/2:一文读懂HTTP协议的历史演变和设计思路   http://www.52im.net/thread-1709-1-2.html     本文原作者阮一峰,作者博客:r ...

  4. 即时通讯新手入门:一文读懂什么是Nginx?它能否实现IM的负载均衡?

    本文引用了“蔷薇Nina”的“Nginx 相关介绍(Nginx是什么?能干嘛?)”一文部分内容,感谢作者的无私分享. 1.引言   Nginx(及其衍生产品)是目前被大量使用的服务端反向代理和负载均衡 ...

  5. 【FIORI系列】SAP 一文读懂SAP Fiori是什么

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[FIORI系列]SAP 一文读懂SAP Fio ...

  6. kubernetes基础——一文读懂k8s

    容器 容器与虚拟机对比图(左边为容器.右边为虚拟机)   容器技术是虚拟化技术的一种,以Docker为例,Docker利用Linux的LXC(LinuX Containers)技术.CGroup(Co ...

  7. 大数据篇:一文读懂@数据仓库(PPT文字版)

    大数据篇:一文读懂@数据仓库 1 网络词汇总结 1.1 数据中台 数据中台是聚合和治理跨域数据,将数据抽象封装成服务,提供给前台以业务价值的逻辑概念. 数据中台是一套可持续"让企业的数据用起 ...

  8. 一文读懂HTTP/2及HTTP/3特性

    摘要: 学习 HTTP/2 与 HTTP/3. 前言 HTTP/2 相比于 HTTP/1,可以说是大幅度提高了网页的性能,只需要升级到该协议就可以减少很多之前需要做的性能优化工作,当然兼容问题以及如何 ...

  9. 一文读懂AI简史:当年各国烧钱许下的愿,有些至今仍未实现

    一文读懂AI简史:当年各国烧钱许下的愿,有些至今仍未实现 导读:近日,马云.马化腾.李彦宏等互联网大佬纷纷亮相2018世界人工智能大会,并登台演讲.关于人工智能的现状与未来,他们提出了各自的观点,也引 ...

随机推荐

  1. GitHub个人使用入门

    今天突然想起来了github 于是开始了入门之旅 如果你用过svn 那么你用起来感觉入门比较快的(至少我是这么感觉的)和在svn服务器上建项目的流程很像 每次修改代码之后提交的过程是: add, co ...

  2. 最流行的JavaScript代码规范

    什么是最佳的JavaScript代码编程规范?这可能是一个众口难调的问题.那么,不妨换个问题,什么代码规范最流行? sideeffect.kr通过分析GitHub上托管的开源代码,得出了一些有趣的结果 ...

  3. java使用POI写Excel文件

    参考地址:http://www.cnblogs.com/xwdreamer/archive/2011/07/20/2296975.html 1 jar包 网上下载 2 源代码 package zjr. ...

  4. glTexGen

    [glTexGen] Rather than having to explicitly provide a texture coordinate for each vertex, we can use ...

  5. Android开发实战之补间动画和属性动画

    说起动画,其实一点也不陌生,在使用一款app的时候为了优化用户体验,多多少少的,都会加入动画. 安卓中的动画,分为两大类:补间动画和属性动画.本篇博文会详细介绍总结这两大动画,希望本篇博文对你的学习和 ...

  6. JLRoute 使用

    http://zhoulingyu.com/2016/01/03/iOS%E2%80%94%E2%80%94Scheme%E6%98%AF%E4%BB%80%E4%B9%88%E3%80%81%E6% ...

  7. 一些好用的 Oracle 批处理和语句

    # 备份脚本 backup.bat @ECHO OFF COLOR 0A SET DaysAgo=1 SET Today=%date:~0,4%%date:~5,2%%date:~8,2% EXP u ...

  8. 关于《Spark快速大数据分析》运行例子遇到的报错及解决

    一.描述 在书中第二章,有一个例子,构建完之后,运行: ${SPARK_HOME}/bin/spark-submit --class com.oreilly.learningsparkexamples ...

  9. cacti-不出图形,cacti.log中出“ERROR: SQL Assoc Failed!

    [root@CactiEZ log]# tail cacti.log 2016年04月06日 14:53:16 PM - CMDPHP: Poller[0] ERROR: SQL Cell Faile ...

  10. BS4爬虫实例应用-CISP

    爬取目前在官网可查询的CISP证书编号以及有效期并入库 也算是暴力破解,burp使用grep功能呢也可以实现. 下面是python的代码 #coding=utf-8 import requests i ...