首页 > 其他分享 > APP安全加固怎么做?加固技术、加固方法、加固方案

APP安全加固怎么做?加固技术、加固方法、加固方案

时间:2023-11-17 17:48:58浏览次数:22  
标签:方案 保护 检测 APP 安全 加固 一些 App

 

前面的文章中我们为大家介绍了移动应用安全检测的测试依据、测试方法、和测试内容,本文我们着重分享App安全加固的相关内容。

 

 

 

 

 

(安全检测内容)

通过前面的文章我们知道了app安全检测要去检测哪些内容,发现问题后我们如何去修复?如何避免安全问题?首先我们先来讲一下Android安全加固技术。

源码加固

Java源码加固-dex文件加壳保护、dex函数抽取加密;

SO库加固-SO文件加壳保护、高级深度混淆、ELF数据隐藏;

Html加固;

资源文件加固-音视频加密、配置文件和数据库加密;

运行环境加固

完整性保护-签名、防二次打包;

防调试保护-双向ptrace保护、反IDAPro调试;

防篡改保护-防数据破解分析、防数据劫持;

反编译保护-反apktool、反ApkIDE、反jd-gui;

模拟器识别;

ROOT检测;

业务场景加固

密钥保护;

安全键盘;

防界面劫持;

反外挂;

清场;

通信协议加密;

iOS加固技术

高级混淆

字符串加密

指令多样化

基本块分裂

控制流引入

跳转指令插入

控制流扁平化控制流间接化

安全防护SDK

越狱检测

重签名检测

Cydia Substrate框架检测

逆向工具检测

代码注入框架检测调试器检测

安全键盘SDK

键盘字符混排

输入无回显

 

通过分析Android和ios两大主流平台的加固技术,这里给大家推荐了一个App整体的安全加固方案。通过静态层面、动态层面以及数据层面,多个层面全方位立体式地去进行加固防护。

静态层面,有防逆向,如DEX文件的保护、SO文件的保护、SDK的保护以及JS、H5、HTML等文件的保护,利用一些加固技术去做防逆向的保护。静态层面还有签名保护,主要是防篡改,一个是代码防篡改,一个是资源文件防篡改。将防篡改技术加入进来,嵌入之后,就能实现静态层面的防篡改。

动态层面主要是防调试,一般是通过动态调试来查看你这个平台的逻辑是什么样的,要有防动态调试的技术。还要放进程调试、防内存DUMP、防模拟器、防HOCK攻击等。

数据层面要有数据的防泄漏,像针对内存数据的保护,内存中的数据有没有加密?使用完后有没有及时释放?日志数据,有没有存储一些关键的数据?有没有存储一些敏感数据?以及在数据传输的过程中的一些加固技术要加入进来。

针对页面数据的保护,有应用防截屏、应用防劫持、安全键盘等。

 

 

 

App的加固是保障App安全的一个方法。

介绍一个c/c++代码混淆工具,Ipa Guard是一款功能强大的ipa混淆工具,不需要ios app源码,直接对ipa文件进行混淆加密。可对IOS ipa 文件的代码,代码库,资源文件等进行混淆保护。 可以根据设置对函数名、变量名、类名等关键代码进行重命名和混淆处理,降低代码的可读性,增加ipa破解反编译难度。可以对图片,资源,配置等进行修改名称,修改md5。只要是ipa都可以,不限制OC,Swift,Flutter,React Native,H5类app。。LLVM不仅仅提供混淆实现,通过多重Optimize(优化器),实现多种效果,例如代码控制流扁平化、虚假控制流、字符串加密、符号混淆、指令替换等。

 

 

 

需求阶段一直到交付阶段都要进行一些任务明确。比如说需求阶段我们要明确移动安全需求,针对安全需求进行评审,针对安全需求,安全开发也可以在这个阶段进行一些咨询、了解、调查、培训。这是需求阶段可以提前做的一些事情。

设计阶段,我们可以采用一些安全的SDK,甚至一些安全模型,并对安全设计进行评审,对安全开发环境和安全编译环境进行统一,用一些正规的编译环境和编译器。

实现阶段,主要是进行安全编码的培训。编码完成,功能出来之后还要进行一些移动安全的检测,包括移动安全方面的漏扫检测以及移动App的渗透测试,手动去查找一些主流的安全问题,模拟黑客攻击的一些方法,一些手段,提前发现一些安全问题,对暴露的安全问题进行及时的整改。

在这个阶段还可以做一些代码测试,我们可以去找一些代码审查的一些工具去做一些相关的检测,针对发现的问题进行加固。(Fortify SCA静态代码扫描工具,自2009年被Gartner魔力象限评为第一象限,连续十余年在安全测试领域占据领导地位,扫描文章底部二维码,可申请试用)

最后是交付阶段,要做好渠道监测,比如说你的App发布到哪个应用市场,就要去监测下在App市场我的App有没有被破解掉。有没有被其他人恶意发布?或者被更改掉以后又重新打包发布?再就是威胁感知,这个可以借助一些威胁感知平台。再就是安全响应,针对可能出现的一些安全事件,提前做好应急计划。

 

标签:方案,保护,检测,APP,安全,加固,一些,App
From: https://www.cnblogs.com/sdges/p/17839339.html

相关文章

  • .NET处理线程安全的方法、类和解决方案
    使用锁机制:Monitor类:提供了Enter和Exit方法,可以使用Monitor.Enter(obj)锁定一个对象,使用Monitor.Exit(obj)释放锁。lock关键字:C#中的lock关键字会自动创建一个Monitor锁,确保在同一时间只有一个线程可以进入被lock包裹的代码块。使用互斥体(Mutex):Mutex类:提供了WaitOne......
  • 【虹科干货】Oracle与Redis Enterprise协同,作为企业缓存解决方案
    单独使用Oracle作为企业缓存数据库时,会出现哪些问题呢?使用RedisEnterprise与Oracle共同用作企业级缓存或副本数据库,会出现哪些喜人的提升呢?Orcle配合使用RedisEnterprise,为什么能够打造更快、更高效、更具成本效益的现代企业数据库呢?  文章速览: Oracle为什么需要Redis......
  • 软件测试/人工智能|如何使用ChatGPT写出满意的测试方案
    简介上文我们介绍了如何使用ChatGPT写一份漂亮的测试计划,那么有了测试计划之后,我们的测试方案自然也不能随便敷衍了事,我们要借助ChatGPT来帮我们写一份让大家都满意的测试方案。本文就来给大家介绍一下如何使用ChatGPT来输出一份测试方案。什么是测试方案测试方案是指描述需要......
  • 【虹科干货】Oracle与Redis Enterprise协同,作为企业缓存解决方案
    单独使用Oracle作为企业缓存数据库时,会出现哪些问题呢?使用RedisEnterprise与Oracle共同用作企业级缓存或副本数据库,会出现哪些喜人的提升呢?Orcle配合使用RedisEnterprise,为什么能够打造更快、更高效、更具成本效益的现代企业数据库呢?文章速览:Oracle为什么需要RedisEnterpriseRed......
  • Dapper NetCore 分区实战
    在上一篇中介绍了基于Dapper的NetCore分表,本篇旨在介绍基于Dapper的NetCore分区,废话不多说开搞吧!模拟业务场景:基于公司所在地区对表建立分区设计公司表结构,其中TableAttribute标识表名,PartitionAttribute标识当前表是分区结构,Property代表按照某个属性分区publicabstractc......
  • android studio 编译出指定 app 名称
    找到App工程目录中的"build.gradle"配置文件。在"build.gradle"中添加如下的代码。 //指定文件名的apk  //**************************************************************************  android.applicationVariants.all{    variant->variant.outputs.......
  • 关于 Angular SSR 应用 index.html 中的 serverApp-state script 元素
    首先,我们需要了解AngularSSR(Server-SideRendering)以及SSRTransferState。AngularSSR是Angular应用程序的服务端渲染技术,它允许Angular应用程序在服务器上渲染其组件,并生成静态HTML页面,再发送给客户端。这种方法可以提高首次加载速度,提升SEO效果。而SSRTransfe......
  • 短视频app源码,图形和短信验证码的自动识别获取
    短视频app源码,图形和短信验证码的自动识别获取图形验证码识别   driver.save_screenshot('v_code.png') #先把整个页面截图下来  element=driver.find_element_by_id('sccImg') #定位验证码元素  print("验证码元素位置:",element.location)  print(......
  • Dapper QueryMultiple throws "No columns were selected"
    调试存储过程发现某字段NULL,拼成的SQL最后啥也没有了。。。原因是存储过程没有执行到查询SQL语句QueryAsyncthrows"Nocolumnswereselected"whenstoredprocdoesn'tperformaselectstatement #591Closed  toannguyen83 openedthisissue onAug27,20......
  • 无法安装ensp ?各种报错解决方案(virtualbox无法运行,启动AR失败,错误代码40等)
    安装eNSP。发现软件中路由器无法启动。VirtualBox是华为eNSP使用的必须运行环境,它提供虚拟网卡设备作为服务器为软件提供运行环境。1.提示出现VirtualBoxOracle无法在此项目运行。我根据百度上的方法,重新还原系统。无果。之前计算机中安装VirtualBox版本为6.0,重新下载了5.3版本的......