Android APP安全入门概述_第1页
Android APP安全入门概述_第2页
Android APP安全入门概述_第3页
Android APP安全入门概述_第4页
Android APP安全入门概述_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、ANDROID APP安全入门概述技术创新,变革未来目录APP安全初探1APP安全学习路径2一点体会3Part1APP安全初探APP 安全现状数据来源:工业和信息化部,华经产业研究院数据来源:2019金融行业移动APP安全观测报告APP安全风险M1-平台使用 不当M2-不安全的 数据存储M3-不安全的 通信M4-不安全的 身份验证M5-加密不足M6-不安全的 授权M7-客户端代 码质量问题M8-代码篡改M9-逆向工程M10-无关的 功能OWASP MOBILE TOP 10 2016ANDROID应用安全风险2018年Android应用安全白皮书安全标准及规范YD/T 1438-2006 数字

2、移动台应用层软件功能要求和测试方法YD/T 2307-2011 数字移动通信终端通用功能技术要求和测试方法JR/T 0092-2012中国金融移动支付客户端技术规范JR/T 0095-2012中国金融移动支付应用安全规范NIST SP800-163 Vetting the Security of Mobile ApplicationsOWASP移动安全测试指南APP安全人才需求Part2APP安全学习路径APP安全学习路线图开发基 础基础安 全机制安全工 具箱逆向分 析开发基础:开发环境构建开发基础:语言基础开发基础:项目文件结构开发基础:APK文件格式基础安全机制:ANDROID系统架构基础

3、安全机制:ANDROID安全机制应用层(代码安全、接入权限)应用框架(数字证书)SSL(网络安全)SQLite(数据库安全)虚拟机(安全沙箱)Linux Kernel(文件访问控制)基础安全机制:四大组件安全基础安全机制:AndroidManifest.xml安全工具箱:SDK工具toolsplatform-toolsbuild-tools反编译资源文件到原始 格式(包括 resources.arsc, classes.dex,9.png以 及XML等);将资源文件打包回二进 制APK / JAR;组织和处理依赖于框架 资源的APK;安全工具箱:APKTOOL/Shakaapktoolhttp

4、s:/ibotpeaches.github.io/Apktool/ /shakaapktool安全工具箱:smali/baksmali/JesusFreke/smali/安全工具箱: dex2jar/enjarify/pxb1988/dex2jar/Storyyeller/enjarify安全工具箱: JD-GUIhttp:/java-decompiler.github.io/安全工具箱:JADX/skylot/jadx/安全工具箱: JEBhttps:/ Android Killer安全工具箱: smalidea/Android Studio安全工具箱: IDA Pro安全工具箱: Xpos

5、ed/安全工具箱:/Demo地址:/zencodex/cydia-android-hook官方教程:/id/20cf4700-6379-4a14-9bc2-853fde8cc9d1SDK下载地址:/zips/cydia_substrate-r2.zip安全工具箱: FRIDAhttps:/www.frida.re/安全工具箱: DROZER/tools/drozer/逆向分析:DVMvs JVM逆向分析:四种文件格式的关系.java.class.smali.dexjavacsmalibaksmalidxsmali2java逆向分析:smali语言简介v命名 法p命名 法寄存器含义v0v0第一个

6、局部变量寄 存器中间的局部变量寄 存器vM-Np0第一个参数寄存器(通常为调用对象)中间的参数寄存器vM-1pN-1第N个参数寄存器逆向分析:JNI NATIVE开发逆向分析:JNI Native开发逆向分析:arm简介ARM核心概念寄存器地址异常和中断逆向分析:arm寄存器工作状态ARM状态Thumb状态工作模式用户模式(USR)系统模式(SYS)快中断模式(FIQ)中断模式(IRQ)管理模式(SVC)中止模式(ABT)未定义模式(UND)逆向分析:IDA动态调试前期准备拷贝IDA目录下dbgsrv/android_server至终端运行转发端口:adb forward tcp:pc_por

7、t tcp:mobile_port逆向分析:IDA动态调试3、程序启动adb shell am start D n PackageName/ActivityName 4、IDA挂接、选择Debugger-Attachto Process逆向分析:二进制插桩技术动态二进制插桩框架都有三种执行模式: 解释模式( Interpretation mode)、探测模 式(probe mode)和JIT模式(just-in-time mode)通过动态二进制插桩框架控制了程序的执行, 就能够将插桩添加到执行程序中。我们可以 在代码块之前和之后插入想要的代码,甚至 也可以完全替换它们。Java.perfor

8、m(function()var getString = undefined;exports = Module.enumerateExportsSync(libtest.so);for(i=0; iexports.length; i+)if( = Java_com_example_hooktest_MainActivity_getString) getString = exports.address;send(getInt is at + getString); break;逆向分析:Frida实战device = frida.get_usb_device()device

9、.on(spawn-added,spawn_added)def spawn_added(spawn):if spawn.identifier.startswith(com.shtec.test): print(spawn_added:, spawn)hook(device,spawn.pid,hook.js) device.resume(spawn.pid)if(Java.available) Java.perform(function()var application = Java.use(android.app.Application); application.attach.overlo

10、ad(android.content.Context).implementation = function(context) var result = this.attach(context);var classloader = context.getClassLoader(); / get classloader Java.classFactory.loader = classloader;hook(); /hook 实 现return result;);Java.perform(function x()var AMapLocation = Java.use(com.amap.api.location.AMapLocation); AMapLocation.getLatitude.implementation = function()result = this.getLat

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论