android 安全学习从何入手?
android安全到底如何入手呢?看看一个培训机构的课程介绍,也许给我们一些启发。
里面的每个小节都值得去分析一下。
Overview
- Overview of Android (optional)
- Overview of Android Building Blocks (optional)
- Overview of Android OS
Android Stack from the Security Perspective
- Android Linux Kernel Layer android和linux内核到底啥区别?要想深入研究android安全,看看android源代码,了解linux是必要的的!
- Overview
- Binder
- Ashmem
- Pmem
- Wakelock
- Early Suspend
- Alarm
- Low Memory Killer
- Logger
- Alarm
- Paranoid Network Security 这个比较特殊,对linux网络进行了改造,导致一些网络的权限通过Group ID来映射!实现了DAC。
- Other Kernel Changes
- Android User-Space Native Layer 研究native ,大部分的系统漏洞都是从这儿爆发的,这儿也有不少程序是root iD。了解尤其是native Daemons结合android系统启动,帮助我们了解android的系统机制。
- Overview
- Bionic (libc)
- User-space Hardware Abstraction Layer (HAL)
- Native Daemons: ueventd, servicemanager, vold, netd, rild, mediaserver, keystore, racoon, zygote, system_server, adbd, surfaceflinger, etc.
- Function libraries: libwebcore (Web Kit), V8, SQLite, libssl (OpenSSL), etc.
- Android Runtime / Dalvik Virtual Machine
- Android Application Framework Layer 框架层也需要深入了解,比如包管理器负责软件安装,AMS负责组件交互认证。总之很多内容啊!
- Overview
- Managers and Services
- Activity Manager Service
- Package Manager Service
- Power and Alarm Manager Services
- Notification Manager Service
- Keyguard Manager Service
- Location Manager Service
- Sensor Manager Service
- Search Manager Service
- Vibrator Manager Service
- Connectivity, Telephony, and Wifi Manager Services
- Input Method and UI Mode Manager Services
- Download and Storage Manager Services
- Audio Manager Service
- Window Manager Service
- Additional Manager Services
- Android Applications Layer
- Overview
- Android Built-in Applications
- Android Built-in Content Providers
- Android Built-in Input Methods
- Android Built-in Wallpapers
Android Startup from the Security Perspective
- Bootloading the Kernel
- Android’s init Startup
- Startup of daemons
- Zygote Startup
- System Server Startup
- Startup of system services
- Startup of applications
Android Security
建议看看这个文献https://source.android.com/tech/security/,后续有机会翻译一下,是最基础的安全介绍。
- Android Security Architecture
- Application Signing 代码签名,很傻很天真!主要就是用于shareuid和程序升级。
- User IDs
- File Access 一个漏洞监测点,程序猿容易设置全局读。
- Using Permissions android权限机制核心
- Not-using permissions: using Intents instead 这才是王道,不开放直接发短信的接口,你调用系统的task即可,浓重推介!
- Permission Enforcement IPC交互中的权限认证,系统支持,程序猿也可以自定义。
- Declaring Custom Permissions 自己定义权限,除了系统的权限列表。
- Custom Permissions by Example
- Lab: Custom Permissions
- ContentProvider URI Permissions 精细化的权限管理
- Public vs. Private Components 灰常重要,如果public了,就等于想被别人***了。虽然可以设置权限控制,推介sign level的权限控制,而不是dangerous的
- Intent Broadcast Permissions 定义谁可以接受广播。
- Pending Intents (Optional)
- Data protection and Encryption
- SSL and HTTPS ssl之个大问题,有很多的MITM
- JCE with BouncyCastle 扩展开源库。怎么没看到keystore,非常关键啊。
- Whole Disk Encryption 全盘加密,目前主要是/data.内核级存储加密
- Dangers
- Lab: Encryption (Optional)
- Rooting
- How to get root: exploits root。。。。
- Keeping root
- Dangers
- Security of Memory 一直在努力!
- ASLR
- NX
- ProPolice
- Valginrd
- Other protections
- Tap-Jacking on Android 这只是其中最简单的一种,还有很多。
- Android Device Administration MDM的终端实现
- Overview
- Policies
- Device Administration by Example
- Lab: Device Administration
- Malware 如何杀毒?
- The state of malware on Android
- Prevention
- Detection
- Removal
- Lab: Anti-malware
- SE Android / SE-Linux on Android MAC有价值吗?
- Discretionary Access Control (DAC) vs. Mandatory Access Control (MAC)
- Goals of SE Android
- What SE Android can/cannot do
- Challenges
- Other Security Concerns
android 安全学习从何入手?相关推荐
- Android:学习AIDL,这一篇文章就够了(下)
前言 上一篇博文介绍了关于AIDL是什么,为什么我们需要AIDL,AIDL的语法以及如何使用AIDL等方面的知识,这一篇博文将顺着上一篇的思路往下走,接着介绍关于AIDL的一些更加深入的知识.强烈建议 ...
- Android Framework学习(八)之Handler消息机制(Native层)解析
在深入解析Android中Handler消息机制一文中,我们学习了Handler消息机制的java层代码,这次我们来学习Handler消息机制的native层代码. 在Java层的消息处理机制中,Me ...
- Android HIDL学习 - HelloWord入门(整理1)
Android HIDL学习(整理1) 概述 入手准备 实例应用 1.HIDL接口文件定义 2. 生成HAL相关文件 3. 实现HAL服务端的共享库 4. Hal server端启动注册程序 5.HI ...
- java/android 设计模式学习笔记(1)--- 单例模式
前段时间公司一些同事在讨论单例模式(我是最渣的一个,都插不上嘴 T__T ),这个模式使用的频率很高,也可能是很多人最熟悉的设计模式,当然单例模式也算是最简单的设计模式之一吧,简单归简单,但是在实际使 ...
- Android Animation学习(五) ApiDemos解析:容器布局动画 LayoutTransition
Android Animation学习(五) ApiDemos解析:容器布局动画 LayoutTransition Property animation系统还提供了对ViewGroup中的View改变 ...
- android Fragment 学习资料推荐
为什么80%的码农都做不了架构师?>>> android Fragment 学习资料推荐:android大神 郭霖 http://blog.csdn.net/guolin_ ...
- android service 学习(上)
转载自:http://www.cnblogs.com/allin/archive/2010/05/15/1736458.html Service是android 系统中的一种组件,它跟Activity ...
- android service 学习(下)
android service 学习(下) 通常每个应用程序都在它自己的进程内运行,但有时需要在进程间传递对象,你可以通过应用程序UI的方式写个运行在一个不同的进程中的service.在android ...
- Android Binder 学习笔记
前言: Binder是Android给我们提供的一种跨进程通信方式.理解Binder能帮助我们更好的理解Android的系统设计,比如说四大组件,AMS,WMS等系统服务的底层通信机制就都是基于Bin ...
最新文章
- 【机器视觉案例】(8) AI视觉,手势控制电脑鼠标,附python完整代码
- 想学Python?那这套教程再适合不过了!
- 有人问你如何掌握隐含狄利克雷分布(LDA),把这篇文章甩给他
- inputAccessoryView,inputView
- python笔记基础-Python基础知识
- K8s 中使用 cert-manager 申请免费 Https 证书
- 一个经典实例理解继承与多态原理与优点(附源码)---面向对象继承和多态性理解得不够深刻的同学请进...
- Vue基础之Vue模板语法
- android获取子线程id,Android 开发 知晓各种id信息 获取线程ID、activityID、内核ID
- Nginx应用场景之负载均衡
- osi模型_OSI模型
- 小巧票据打印软件免费下载
- 《缠中说禅108课》99:走势结构的两重表里关系 3
- 红包雨架构设计---1、技术架构
- Linked list
- 小米AI魔法万花筒解密
- 中国互联网流行文化缔造者百度贴吧,如何拥抱新时代?
- 微信播放在服务器视频无法播放音乐,【bug解决】ios微信浏览器中背景音乐无法播放...
- 安装TextPad后无“Compile Java” 等选项的解决办法
- The page cannot be refreshed without resending ... 昨天遇到一个这样得问题,在弹出的子页中用:
热门文章
- 华为网络技术培训笔记之常用网络工具(一)
- 网络存储SAN网络存储术语解释
- CString转char*
- C++-十进制转二进制(matlab-dec2bin函数)
- android studio打测试包,AndroidStudio1.5上进行单元测试(简单)
- 批处理使用完文件后释放_windows 下使用批处理执行 postgresql 命令行操作
- 剑指offer面试题[8]-旋转数组的最小数字
- java打卡-day3 变量和数据类型
- 压力测试实践一:JMeter + JProfiler 入门
- 《Docker技术从入门到实践》第1,2章