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系统的知识与理解不够深入,还需要大量的知识储备支撑后期的逆向学习。
  • 下周主要任务是在老师的指导下明确毕设方向,梳理好思路,写好开题报告,同时增加理论知识储备,为之后的实践做准备。

原文地址:https://www.cnblogs.com/Gst-Paul/p/12393105.html

时间: 2024-07-29 12:49:47

20165320 毕业设计 第一周总结的相关文章

毕业设计第一周任务计划

毕业设计第一周任务计划 项目需求分析 完善项目的业务流程,详细分析系统应该实现的功能,确定系统核心业务流程,搭建项目框架结构,确定项目总体计划. 任务计划 搭建项目环境,配置区块链基本环境需求 确定前台系统采用的UI 构建系统框架,确定系统模块,大概确定子功能模块 构建数据库表,确定数据字典等数据项 完成前台业务的最基本功能(前台数据操作,暂不使用区块链网络) 完成用户管理,商品分类,商家类别,数据字典等基础数据的管理 原文地址:https://www.cnblogs.com/liuxining

2019-2020-2 20165325 李东骏 毕业设计 第一周总结

2019-2020-2 20165325 李东骏 毕业设计 第一周总结 目录 本周任务&每日完成情况 任务进展&已经解决的问题 待解决的问题&下周计划 代码托管情况 本周任务&每日完成情况 返回目录 table th { width: 14%; } 周一 周二 周三 周四 周五 周六 周天 搭建应用环境 查找操作系统日志资料 查找mysql日志相关资料 查找web日志相关资料 翻译部分论文 找老师答疑编写代码托管代码 总结撰写博客 任务进展&已经解决的问题 返回目录

20155336 2016-2017-2《JAVA程序设计》第一周学习总结

# 20155336  2016-2017-2<JAVA程序设计>第1周学习总结 ## 教材学习内容总结 开学的第一周,带着些许的欣喜和好奇,听完了老师的第一堂课.说心里话学习JAVA仿佛观看一部英文影视作品一样头疼, 因为总会有许许多多相似的名字让你记得晕头转向.JAVA也是一样,什么JVM啊JRE啊JDK啊 (/(ㄒoㄒ)/~~)  等等一系列 的英文缩写,让人心神意乱~~但总体上对JAVA有了一个初步的了解.通过课上老师的介绍以及课下对JAVA书第一章的浏览, 我简单的了解了JAVA艰辛

20145216 史婧瑶《信息安全系统设计基础》第一周学习总结

20145216 <信息安全系统设计基础>第一周学习总结 教材学习内容总结 Linux基础 1.ls命令 ls或ls .显示是当前目录的内容,这里“.”就是参数,表示当前目录,是缺省的可以省略.我们可以用ls -a .显示当前目录中的所有内容,包括隐藏文件和目录.其中“-a” 就是选项,改变了显示的内容.如图所示: 2.man命令 man命令可以查看帮助文档,如 man man : 若在shell中输入 man+数字+命令/函数 即可以查到相关的命令和函数:若不加数字,那man命令默认从数字较

第一周例行报告

PSP 内容 类别 预计时长 开始时间 结束时间 中断时间 实际花费时间 第一周作业一 写作 1h 2017-9-7  19:25 2017-9-7  20:18  回复微信消息5min 48min 看<构建之法> 阅读 一周,每天1h30min 2017-9-7  21:35 2017-9-10   每天抽空看一些 没有具体时间 采访记录 写作 1h 2017-9-9   20:46 2017-9-9 22:04  一边写一边吃火龙果  1h左右 构建之法读后感 写作 1h 2017-9-1

《嵌入式设计》第一周学习总结

<嵌入式设计>第一周学习总结 学习时遇到的主要问题 1.运行环境未及时安装 2.命令不熟练 3.上课状态不好 解决方法 1.及时安装环境并熟悉运行 2.参考Linux操作系统实用教程并百度一些问题的解决办法 3.及时调整自己状态 主要学习内容 Linux一些简单基本的操作, 用.c文件输出hello word 用vi test.c 创建.c文件 #include <stdio.h> int main(){ printf("hello word\n"); } 并用

20145311 《信息安全系统设计基础》第一周学习总结

20145311 <信息安全系统设计基础>第一周学习总结 教材学习内容总结 常用的部分命令 CTRL+SHIFT+T:新建标签页,编程时有重要应用: ALT+数字N:终端中切换到第N个标签页,编程时有重要应用: Tab:终端中命令补全,当输入某个命令的开头的一部分后,按下Tab键就可以得到提示或者帮助完成: CTRL+C:中断程序运行 Ctrl+D:键盘输入结束或退出终端 Ctrl+S: 暂定当前程序,暂停后按下任意键恢复运行 Ctrl+A: 将光标移至输入行头,相当于Home键 Ctrl+E

2016-7第一周工作总结

姓名 王奈 时间 第一周工作总结 学习内容 经过了一周的开发与改进,我们的easy工大已经初见成果.这一周,我们完成了:界面的重新设计,数据获取正确性修改,以及吐槽墙功能的实现等等.我的工作就是文档记录,在这过程中,我能够记录我们项目进步的点点滴滴,记录它是如何一步一步走到现在的样子,就像看到了软件的成长过程一样. 除此之外,我还完成了一个嵌入式开发项目的初步实现,学习了嵌入式编程的原则以及优化方法.如同软工所要求的一样,我在嵌入式开发的过程中也使用了文档记录的方法来管理我们的项目进度,这样一来

JS第一周总结1

JS第一周总结 这周我学习了JS的基础部分,大致分为了: a.基础变量及数据类型 b.特殊数据类型 c.JS基础语句类型 d.BOM操作 e.DOM操作 ###基础变量###     1.首先给变量取名,取名规范有3点:         1.变量首字符必须是字母或者美元符号$.下划线_ 三者之一.         2.变量名字中不能包括特殊符号,比如空格.加减号等符号.         3.变量中不能包括JS中的关键字,比如var之类的. 2.取好名字之后,我们需要将这个变量定义出来,并且赋值给