zoukankan      html  css  js  c++  java
  • 20165320 毕业设计 第一周总结

    20165320 毕业设计 第一周总结

    任务及完成情况

    周一 周二 周三 周四 周五 周六 周天
    Android运行及分析环境的搭建
    学习Android系统
    查阅Android系统安全相关文献
    研究Android系统常见攻击与防护措施
    根据现有资料制定学习计划
    文献翻译、总结知识点
    撰写总结博客
    已完成
    已完成
    已完成
    已完成
    已完成
    已完成
    已完成

    内容总结

    一、环境搭建

    二、Android系统安全基础

    1、Android系统分为四层结构(从上往下):
    • 应用层:负责与用户进行交互,即应用程序(QQ、微信啥的)。

    • 应用程序框架层:提供程序开发所会用到的各种API,包含四大组件,各组件之间通过Intent传递消息。

      • Activity(活动):与用户进行交互的界面。

      • Service(服务):处理一些后台任务,比如下载。

      • Broadcast Receiver(广播):接受并处理来自系统或应用的通知。

      • Content Provider(内容提供器):可以理解为各应用程序之间共享的数据库,比如通讯录。

    • 核心库和Dalvik虚拟机层:负责运行Android程序并将Dalvik虚拟机执行代码转换为Linux层能执行的C代码。

    • Linux内核层:负责管理硬件驱动。

    2、各层对应的安全机制:
    • 应用层:权限控制。APP在安装使用时,只有经过用户授权,才会被赋予其申请的相应权限。

    • 应用程序框架层:签名机制。APP再打包成为APK之前,需要经过签名,通过签名可以实现对APP的身份验证与更新等功能。

    • 核心库和Dalvik虚拟机层:沙箱机制。每个APP运行时,使用的虚拟机是独立的。

    • Linux内核层:Android和Linux一样,都含有文件权限机制,不同点在于Android系统中每个APP就是一个用户,拥有独立的资源。

    3、Android root:和Linux系统中的root用户一样,获取Android系统中超级用户权限的过程被成为root。主要有以下两种思路:
    • 找具有root权限的进程的漏洞进行提权。
    • 刷机。
    4、APK的组成及生成过程
    • 组成如下:

      • assets:资源目录

      • lib:存放so库,由NDK编译得到。

      • META-INF:存放签名信息。

      • res:资源目录(与assets目录有一定区别)。

      • AndroidManifest.xml:配置属性文件。里面包含许多应用程序的关键信息。

      • classes.dex:Dalvik虚拟机的可执行文件。

      • resources.arsc:res目录下的资源索引文件。

      • PS:APK实质上就是一个zip格式的压缩包,其中有许多重要的文件,在之后学逆向的时候会用到,所以在下周会好好学一下一部分。

    • 生成过程如下:

      • 打包res目录下的资源文件,生成R.java。
      • 处理aidl文件(没听说过这个....暂时放这吧)
      • 编译项目,生成class文件。
      • 将class文件转换为Dalvik虚拟机可以执行的dex文件。
      • 最后就是打包、签名、对齐。

    • 参考资料:网络安全攻防技术:移动安全篇

    三、Android系统安全现状

    • 现状:目前,Android系统经过一次又一次的版本更新,本身存在的许多系统安全漏洞已经被修复,但是由于其开源的特性,用户信息安全意识普遍缺乏,以及逆向技术的发展,导致安全形势仍不容乐观。(其中以破解版软件最常见)

    • 防护措施:用户提高自身信息安全意识、没事不要root自己手机、Android软件开发人员在开发过程中加入相应的保护手段(反打包、加壳等)。

    • 参考资料:

      • Android 系统安全现状分析
        高 度 昆明学院 云南 昆明 650214

      • Android 应用安全问题与对策思考研究
        郝晓东 孙二鑫 藏丹丹 李潇潇 天津卡达克数据有限公司
        300000

      • Android 系统存在的主要安全隐患及对策研究
        邓基亮 李镇均 王达浩 蔡敏

    四:接下来的学习计划

    • 根据任务书以及导师的要求,以及自身实际情况,初步制定了以下学习计划:

      • 继续Android系统安全基础的学习

      • 实现一个简单的Android系统漏洞

      • 现有Android软件保护技术

      • 学习Dalvik指令与arm反汇编基础

      • Android程序的静动态分析

      • Android原生程序逆向分析、动态调试(先写上吧,学不会再说......)

      • 数据存储与数据通信安全

    待解决的问题&下周的计划

    • 目前最大的问题还是关于Android系统的知识与理解不够深入,还需要大量的知识储备支撑后期的逆向学习。

    • 下周主要任务是在老师的指导下明确毕设方向,梳理好思路,写好开题报告,同时增加理论知识储备,为之后的实践做准备。

  • 相关阅读:
    python_深浅拷贝
    Python_三级菜单
    python 字符串
    python_字典
    初识Python
    C# ADO.NET面向对象想法
    C# ADO.NET
    C# ADO.NET 面向对象
    C# 数据库连接增删改查
    C# 面向对象多态的抽象性&接口 object&is as类型转换运算符
  • 原文地址:https://www.cnblogs.com/Gst-Paul/p/12393105.html
Copyright © 2011-2022 走看看