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 安全学习从何入手?相关推荐

  1. Android:学习AIDL,这一篇文章就够了(下)

    前言 上一篇博文介绍了关于AIDL是什么,为什么我们需要AIDL,AIDL的语法以及如何使用AIDL等方面的知识,这一篇博文将顺着上一篇的思路往下走,接着介绍关于AIDL的一些更加深入的知识.强烈建议 ...

  2. Android Framework学习(八)之Handler消息机制(Native层)解析

    在深入解析Android中Handler消息机制一文中,我们学习了Handler消息机制的java层代码,这次我们来学习Handler消息机制的native层代码. 在Java层的消息处理机制中,Me ...

  3. Android HIDL学习 - HelloWord入门(整理1)

    Android HIDL学习(整理1) 概述 入手准备 实例应用 1.HIDL接口文件定义 2. 生成HAL相关文件 3. 实现HAL服务端的共享库 4. Hal server端启动注册程序 5.HI ...

  4. java/android 设计模式学习笔记(1)--- 单例模式

    前段时间公司一些同事在讨论单例模式(我是最渣的一个,都插不上嘴 T__T ),这个模式使用的频率很高,也可能是很多人最熟悉的设计模式,当然单例模式也算是最简单的设计模式之一吧,简单归简单,但是在实际使 ...

  5. Android Animation学习(五) ApiDemos解析:容器布局动画 LayoutTransition

    Android Animation学习(五) ApiDemos解析:容器布局动画 LayoutTransition Property animation系统还提供了对ViewGroup中的View改变 ...

  6. android Fragment 学习资料推荐

    为什么80%的码农都做不了架构师?>>>    android   Fragment 学习资料推荐:android大神 郭霖 http://blog.csdn.net/guolin_ ...

  7. android service 学习(上)

    转载自:http://www.cnblogs.com/allin/archive/2010/05/15/1736458.html Service是android 系统中的一种组件,它跟Activity ...

  8. android service 学习(下)

    android service 学习(下) 通常每个应用程序都在它自己的进程内运行,但有时需要在进程间传递对象,你可以通过应用程序UI的方式写个运行在一个不同的进程中的service.在android ...

  9. Android Binder 学习笔记

    前言: Binder是Android给我们提供的一种跨进程通信方式.理解Binder能帮助我们更好的理解Android的系统设计,比如说四大组件,AMS,WMS等系统服务的底层通信机制就都是基于Bin ...

最新文章

  1. 【机器视觉案例】(8) AI视觉,手势控制电脑鼠标,附python完整代码
  2. 想学Python?那这套教程再适合不过了!
  3. 有人问你如何掌握隐含狄利克雷分布(LDA),把这篇文章甩给他
  4. inputAccessoryView,inputView
  5. python笔记基础-Python基础知识
  6. K8s 中使用 cert-manager 申请免费 Https 证书
  7. 一个经典实例理解继承与多态原理与优点(附源码)---面向对象继承和多态性理解得不够深刻的同学请进...
  8. Vue基础之Vue模板语法
  9. android获取子线程id,Android 开发 知晓各种id信息 获取线程ID、activityID、内核ID
  10. Nginx应用场景之负载均衡
  11. osi模型_OSI模型
  12. 小巧票据打印软件免费下载
  13. 《缠中说禅108课》99:走势结构的两重表里关系 3
  14. 红包雨架构设计---1、技术架构
  15. Linked list
  16. 小米AI魔法万花筒解密
  17. 中国互联网流行文化缔造者百度贴吧,如何拥抱新时代?
  18. 微信播放在服务器视频无法播放音乐,【bug解决】ios微信浏览器中背景音乐无法播放...
  19. 安装TextPad后无“Compile Java” 等选项的解决办法
  20. The page cannot be refreshed without resending ... 昨天遇到一个这样得问题,在弹出的子页中用:

热门文章

  1. 华为网络技术培训笔记之常用网络工具(一)
  2. 网络存储SAN网络存储术语解释
  3. CString转char*
  4. C++-十进制转二进制(matlab-dec2bin函数)
  5. android studio打测试包,AndroidStudio1.5上进行单元测试(简单)
  6. 批处理使用完文件后释放_windows 下使用批处理执行 postgresql 命令行操作
  7. 剑指offer面试题[8]-旋转数组的最小数字
  8. java打卡-day3 变量和数据类型
  9. 压力测试实践一:JMeter + JProfiler 入门
  10. 《Docker技术从入门到实践》第1,2章