一、 移动端常用技术术语

1.1 逆向分析与反编译

逆向分析
简称逆向,是一种方法论。采用逆向思维,利用反编译等工具,对目标程序进行分析,进而了解和熟悉其行为,技术原理,程序执行流程,源代码。
几个要素:

  1. 分析对象:目标程序。例如c/c++的可执行文件或.o文件;java的.class文件。
  2. 分析过程:通常需要进行反编译,以及借助一些工具进行分析。
  3. 分析目的:程序的行为,技术原理,执行流程,源代码等等。
  4. 分析方法:静态分析和动态分析。

静态分析
程序静态分析(Program Static Analysis,PSA)指在不运行代码的方式下,通过词法分析、语法分析、控制流、数据流分析等技术对程序代码进行扫描,验证代码是否满足规范性、安全性、可靠性、可维护性等指标的一种代码分析技术。通常,为了有效进行分析,首先需要将目标程序进行反编译。

动态分析
在软件运行过程中,观察,记录和分析其行为和动态,从而了解程序执行流程,技术原理。虚拟机和沙箱被广泛地用于这种类型的分析。通过模拟一个用户主机系统,在运行中使用调试器按步骤观察软件对处理器和内存,以及系统数据产生的变化,软件分析人员可以了解到软件的意图和可能对系统造成的伤害。

编译:对源代码通过编译工具,生成目标文件或可执行程序的过程。
反编译:将目标程序还原为源代码的过程;
回编译:将反编译后的内容,再重新编译为目标程序的过程。

1.2 App签名验证

为什么要签名

  1. 发送者的身份认证

由于开发商可能通过使用相同的Package Name来混淆替换已经安装的程序,以此保证签名不同的包不被替换

  1. 保证信息传输的完整性

签名对于包中的每个文件进行处理,以此确保包中内容不被替换

  1. 防止交易中的抵赖发生,Market对软件的要求

签名的说明

  1. 所有的应用程序都必须有数字证书,Android系统不会安装一个没有数字证书的应用程序

  2. Android程序包使用的数字证书可以是自签名的,不需要一个权威的数字证书机构签名认证

  3. 如果要正式发布一个Android应用,必须使用一个合适的私钥生成的数字证书来给程序签名,而不能使用adt插件或者ant工具生成的调试证书来发布

  4. 数字证书都是有有效期的,Android只是在应用程序安装的时候才会检查证书的有效期。如果程序已经安装在系统中,即使证书过期也不会影响程序的正常功能

  5. 签名后需使用zipalign优化程序

  6. Android将数字证书用来标识应用程序的作者和在应用程序之间建立信任关系,而不是用来决定最终用户可以安装哪些应用程序

1.3 App重打包,加固,破解

App重打包
指原有apk文件进行逆向分析,并修改,插入代码,重新打包成新的apk文件,发布到应用市场。也称App篡改。

App加固
App加固是通过加密等方式,防止App被篡改的一种技术手段。是目前保护移动应用程序的最有效的手段。
国内著名公司举例:梆梆安全,爱加密,360加固。

App破解
App破解指非App开发者对App进行反编译或逆向分析,从而获取源代码的行为。

1.4 代码注入,热更新,进程保活

代码注入
代码注入(Code Injection,CI),攻击者用来将代码植入到目标程序(或进程),以改变程序的运行进程或目的的行为,代码注入攻击的结果可以是灾难性的。

热更新
热更新指动态下发客户端代码、So 库以及资源,使应用能在不需要重新安装的情况下实现更新;提供自动下载补丁包、合成、并应用补丁的功能,并支持通过管理后台对每个版本补丁进行管理。
腾讯,阿里,美团,都开源了一些热更新方案。

进程保活
进程保活指采用各种方法延长 Android App 进程在后台的运行时长,包括避免 App 进程被系统关闭以及当被系统关闭后能在较短的时间内重新启动,以提升用户访问体验以及用户活跃度。

1.5 设备指纹

用于唯一标识出该设备的特征或者独特的设备标识。例如,Android设备中,通常可以用imei作为设备的设备指纹。

二、 测试相关术语

2.1 白盒测试,黑盒测试,灰盒测试,回归测试,渗透测试

白盒测试
白盒测试(White-Box Testing)又称透明盒测试(Glass-Box Testing)、结构测试(Structural Testing),也称逻辑驱动测试或基于程序本身的测试,是软件测试的主要方法之一。测试应用程序的内部结构或运作,而不是测试应用程序的功能(即黑盒测试)。在白盒测试时,以编程语言的角度来设计测试案例。测试者输入数据验证数据流在程序中的流动路径,并确定适当的输出,类似测试电路中的节点。测试者了解待测试程序的内部结构、算法等信息,这是从程序设计者的角度对程序进行的测试。

黑盒测试
也称功能测试,它是通过测试来检测每个功能是否都能正常使用。在测试中,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。

灰盒测试
灰盒测试(Grey-Box Testing)是介于白盒测试与黑盒测试之间的一种测试,灰盒测试多用于集成测试阶段,不仅关注输出、输入的正确性,同时也关注程序内部的情况。灰盒测试不像白盒那样详细、完整,但又比黑盒测试更关注程序的内部逻辑,常常是通过一些表征性的现象、事件、标志来判断内部的运行状态。

回归测试
回归测试是软件测试的一种,旨在检验软件原有功能在修改后是否保持完整。

渗透测试
在没有提供的源代码的情况下,对应用程序(Android/iOS)进行全面的安全检测与扫描,模拟攻击者的手法,切近实战,人工检查APP存在的漏洞,最后评估生成安全报告的测试方法。

三、企业业务

3.1 管理

EMM企业移动管理
企业移动管理服务(Enterprise Mobility Management,EMM)移动化安全管理解决方案,使企业单位可以根据自身需求,集中管理、配置和保护终端设备、应用程序及移动数据,提高政企单位IT管理效率,保障移动环境安全。

MDM移动设备管理
移动设备管理(Mobile Device Management,MDM)指从设备注册、激活、使用、淘汰各个环节进行完整的移动设备全生命周期管理。

移动身份管理
移动身份管理(Mobile Identity Management,MIM)指通过提供统一的身份管理服务,实现应用身份的安全管理和单点登录。

移动网络加速
移动网络加速(Mobile Network Acceleration),为用户提供端到端专属性能保障的通信业务体验,支持三大运营商的4G/5G网络,保障用户在移动网络下的传输时延,并满足传输速率的需求,广泛适用于网络游戏、在线会议、在线教育、点播直播等场景。

移动威胁防御
移动威胁防御(Mobile Threat Defense,MTD)指通过检测移动设备上存在的威胁并评估相关风险,创建应用保护策略。

移动应用管理
移动应用管理(Mobile Application Management,MAM)指通过云端对移动设备的各种应用属性进行自主管控。

3.2 风险检测和监测

风险检测
风险检测指通过扫描器、端口扫描、流量识别及策略检查等方式,获取应用层、主机层、网络层以及产品层的安全或配置风险,是一种主动触发的安全检测行为。

风险监测
风险监测指通过接入各类安全事件源,对事件告警进行持续监控,通过预置监测策略,发现高风险级别事件,进而按照事件对应处置流程进行响应风险处置。

威胁情报
威胁情报(Threat Intelligence,TI)是基于证据的知识, 包括针对攻击者的背景、机制、指标、影响力的描述,和可采取的防护措施的建议。它可以是描述已存在的或者是刚出现的,能对资产产生威胁或危害的相关信息, 相关主体可参考这些信息,做出具体应对举措。

四、 密码算法相关

对称算法
单钥密码系统的加密方法,同一个密钥可以同时用作信息的加密和解密,这种加密方法称为对称加密。例如SM4、AES-128、AES-256、3DES-112、3DES-168等对称算法。

非对称加密
非对称加密算法(Asymmetric encryption)需要两个密钥:公开密钥(publickey,简称公钥)和私有密钥(privatekey,简称私钥)。公钥与私钥是一对密钥,如果用公钥对数据进行加密,只有用对应的私钥才能进行解密。加密和解密使用的是两个不同的密钥,因此该算法称为非对称加密算法。

非对称算法
非对称加密算法需要两个密钥来进行加密和解密,这两个密钥分别是公钥(public key)和私钥(private key)。例如SM2、RSA、ECC-secp256k1 等非对称算法。

公钥和私钥
公钥(Public Key)和私钥(Private Key)
是通过一种算法得到的一个密钥对(即一个公钥和一个私钥),公钥是密钥对中公开的部分,私钥则是非公开的部分。

商用密码算法
是指能够实现商用密码算法的加密、解密和认证等功能的技术,也包括密码算法编程技术和密码算法芯片、加密卡等的实现技术。

国密算法
常用的 SM2、SM3、SM4 ,分别对应于非对称算法、哈希算法、对称算法。

SM2椭圆曲线公钥密码算法:
SM2:椭圆曲线公钥密码算法是国家密码管理局制定的一种基于椭圆曲线的非对称算法。

信封加密
信封加密(Envelope Encryption)是一种应对海量数据的高性能加解密方案,加解密业务数据时使用数据密钥,并采取性能较高的对称加密方法,再通过密钥管理服务来保证数据密钥的使用安全,特点是在保证数据安全的同时保持较高的数据读写性能。

硬件安全模块
硬件安全模块(Hardware Security Module,HSM)是以硬件形式提供安全加密服务的服务模块,例如银行常用的Ukey。

结语

切不可大意,尤其是在这个互联网,万物互联的时代。

移动安全常用技术相关术语总结相关推荐

  1. WebService常用技术及术语

    一.Web Service是什么? 1. 基于Web的服务:服务器端整出一些资源让客户端应用访问(获取数据) 2. 一个跨语言.跨平台的规范(抽象) 3. 多个跨平台.跨语言的应用间通信整合的方案(实 ...

  2. 云存储相关技术及术语的探讨

    摘 要 在经历计算浪潮和网络浪潮之后,数据存储技术已经发展成为信息领域的三大支撑技术之一.随着云计算.等信息技术的发展,异构数据源越来越多,数据量飞速增长,这就使得社会对数据存储的需求逐日攀升.同时, ...

  3. 计算机网络常用相关术语大全

    计算机网络 computer networks 网络结构:物理层.数据链路层.网络层.传输层.(会话层.表示层.)应用层 协议的三要素:Syntax(语法).Semantics(语义).Timing( ...

  4. NLP:自然语言处理技术之词语级别相关术语解释(如上位词/WordNet)、基于词汇层面的词法分析六大任务(分词/词性标注/词干提取-词形还原/新词发现/形态分析/拼写校正)的简介及其应用

    NLP:自然语言处理技术之词语级别相关术语解释(如上位词/WordNet).基于词汇层面的词法分析(Lexical Analysis)六大任务(分词/词性标注/词干提取-词形还原/新词发现/形态分析/ ...

  5. 动态代理——》AOP —— Spring 中的 AOP||AOP 相关术语||学习 spring 中的 AOP 要明确的事

    AOP 概述 什么是 AOP       AOP:全称是 Aspect Oriented Programming 即:面向切面编程 AOP 的作用及优势 作用: 在程序运行期间,不修改源码对已有方法进 ...

  6. 100个数据分析常用指标和术语

    大家好,我是辰哥~ 有个朋友是金融行业产品经理,最近在对已有的站内用户做分层与标签分类,需要对用户进行聚类分析.一般从事数据分析行业的朋友对这类词并不陌生,但是像市场运营人员就会把这类些名词概念搞混, ...

  7. 深度盘点:一文详解数据分析中100个常用指标和术语

    大家好,有个朋友是金融行业产品经理,最近在对已有的站内用户做分层与标签分类,需要对用户进行聚类分析.一般从事数据分析行业的朋友对这类词并不陌生,但是像市场运营人员就会把这类些名词概念搞混,导致结果不准 ...

  8. 推荐收藏 | 100个数据分析常用指标和术语

    点击上方"AI派",选择"设为星标" 最新分享,第一时间送达! ☞[加薪必备]全套零基础学AI资料免费领! 来源:DataHunter 有个朋友是金融行业产品经 ...

  9. 数据挖掘技术的来源、历史、研究内容及常用技术

    数据挖掘技术的来源.历史.研究内容及常用技术 1 数据挖掘技术的由来 1.1网络之后的下一个技术热点 我们现在已经生活在一个网络化的时代,通信.计算机和网络技术正改变着整个人类和社会.如果用芯片集成度 ...

最新文章

  1. 组合求解器 + 深度学习 =?这篇ICLR 2020论文告诉你答案
  2. Java中的几种引用类型_Java中的几种引用类型(转载)
  3. 公共闪存接口CFI在Flash Memory程序设计中的应用
  4. 自研海外PCDN系统技术架构与演进
  5. Spring事务管理详解_基本原理_事务管理方式
  6. MYSQL--三种锁
  7. Android Studio支持Java1.8的解决方案
  8. mysql索引和事务_mysql的索引和事务详细解读
  9. JxBrowser 7 Crack 申请试用教程
  10. RRRR_wys' Blog 3.0 准备上线啦!
  11. 周五送码 | MS08067实验室攻防平台
  12. seo关键词布局,网页头部优化(TDK),网站优化(古志强网络营销师)
  13. 猿辅导 iOS 精准测试实践 - Objective-C 与 Swift 混编工程精准测试探索
  14. wireshark执行XDG问题
  15. 在线对数函数计算机,对数函数计算器
  16. 官方通报:kissreiko博文因涉嫌诈骗广告 将永久封号
  17. STM32寄存器配置USART1串口及USART->BRR值的计算
  18. Mysql insert 多种使用方式(insert into/insert ignore /replace into/on deplicate key update)
  19. 在iview中使用ref主要事项:
  20. 他在BAT等大厂研发10年,总结了12条开发经验给你

热门文章

  1. 20P41 Premiere预设450+Luts现代时尚经典黑白VHS复古电影迷幻冷酷热色彩调色预设集合
  2. PHP快速入门(一)
  3. 2022-2028全球与中国儿童注意力缺陷和多动障碍市场现状及未来发展趋势
  4. python三维图视角旋转_在python-matplotlib-Jupyter Noteb中交互式旋转三维绘图
  5. SerialPort-4.0.+ 使用说明(Kotlin版本)
  6. 关于SAP的用户出口 SAP的用户功能增强
  7. “我会对你负责的。”
  8. DFT插零FFT算法理解
  9. 学习Mathematica(四)——函数与绘图
  10. ZOJ2604-DP