Android平台安全防护系统的设计与实现
基于Android系统的手机防火墙的设计与实现
摘要:来电防火墙主要基于黑白名单的电话和短信过滤功能,再结合数据库的使用,达到来电或者信息屏蔽黑名单的作用。
黑名单连接到数据库,可以进行简单的添加、修改、删除等操作。
来电或者收到信息之后,手机自动搜索黑名单,将来电号码与黑名单中的号码进行比较,如果有改号码在黑名单中,则手机直接将该电话或者短信屏蔽掉。
此外还有基于GPS的手机防盗功能;电话录音和留言功能;隐私空间。
系统的界面使用Photoshop的按钮控件、XML语言界面设计使操作更简单。
系统使用SQLite数据库,Eclipse开发工具,Android SDK开发环境,利用Google Android API、java语言来实现。
最后,对系统采用模拟器预览效果,并对系统进行了部署和真实的体验测试。
关键词:Android;智能手机;防火墙 中图分类号:TN929.53;TP393.08 目前随着移动设备越来越普及以及移动设备的硬件的提升,移动设备的功能越来越完善。
移动设备的系统平台也日渐火热起来。
3G时代的到来也是助推移动设备的火热发展的一个大因素。
目前国内最常见的移动开发平台有Symbian,iPhone,Windows Phone以及当下正在逐步兴起的Android。
目前为止国内已经有很多Android系统用户[1]。
1 需求分析 1.1 黑/白名单的电话和短信过滤功能分析 1.1.1 黑名单可选择模式 黑名单的有三种拦截模式:只拦截电话,只拦截短信,两者都拦截。
在黑名单表中有姓名、电话、拦截模式等字段。
实现原理:软件启动后有一个服务)service)在后台运行,在服务中注册有一个监听器,监听电话的状态,当有电话来时,状态会变成响铃状态,在这里可以取得来电的号码。
这时遍历表中的黑名单,看是否有号码和来电号码匹配,如果匹配就是该拦截的号码,这里就把电话结束掉,并写入拦截表中,弹出通知告知有电话被拦截[2]。
短信的拦截和电话拦截不一样,有两种实现方法: (1)接收系统短信广播:当收到短信时,Android系统会发出一个广播,通知收到短信,拦截短信基于Android中的广播机制。
Android开放平台应用程序的安全检测系统设计与实现
安全技术12 Android 开放平台应用程序的安全检测系统设计与实现◆高 瑞 朱 荣1 Android 动态测试系统的设计与实现1.1系统功能架构Android 动态测试系统主要采用Java 语言,一般情况下,其功能主要可以分为预处理、界面解析、脚本生成、运行测试以及报告生成。
将其进行分类,不难看出预处理和界面解析以及脚本生成都属于测试项目,从某种意义上来看,运行测试处于较为核心的关键地位,其他模块都是服务于该模块,能够保证程序的安装、测试以及卸载。
运行测试模块一般情况下都在PC 端运行,通过数据线和Android 手机进行通信,通过动态的测试系统能够对一些恶意程序进行监控。
1.2模块执行流程Android 系统的执行流程主要有:预处理、安装、启动测试以及卸载等。
预处理流程中主要是为了获取手机连接信息,并对一些配置文件进行解析。
其具体的流程如下:通过安卓设备中的adb 来获取出手机的端口、状态等信息,并对测试的正常性进行考虑。
如果设备得以正常连接,那么就说预处理部分基本成功,程序将进入到下一步,否则的话本次测试将结束。
2 系统模块(1)预处理预处理模块主要是为了对连接信息进行获取,并对程序名进行提取,同时可以将相关的程序传递到设备文件中。
在预处理中,必须要保证的一点是设备必须要处于USB 调试状态下,操作类型主要有显示设备信息、上传以及下载文件等。
(2)界面解析界面解析模块主要是为了获取当前界面的窗口列表以及相关的布局元素属性信息。
设备信息其实在预处理中就已经获得了,其可以用Idevice 对象来进行表示。
程序通过向设备发送命令,设备就会将窗口列表的数据流得以返回。
在数据流中我们可以看到,每一行都能够有效的代表一个固定的窗口,在这个表示范围内数据流以DONE 字符串来结尾,并将基本上所有的窗口通过数组的形式加以存储。
(3)脚本生成脚本生成模块主要包括了触摸脚本、启动、截图、卸载和返回脚本,在这些脚本中触摸脚本是核心成分,其通过对空间的坐标值进行解析,来进一步的模拟用户,向设备发送事件。
基于Android系统的手机防火墙的设计与实现_王生阳
3 设计与实现 Android 系统,提供了一个名为 SQLiteOpenHelper 的抽象类,必须继承 它才能使用,它是通过对数据库版本进行管理来实现前面提出的需求。 为了实现对数据库版本进行管理,SQLiteOpenHelper 类提供了两个重 要的方法,分别是 onCreate(SQLiteDatabase db)和 onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion),前者用于初次使用软件时生成数据库 表,后者用于升级软件时更新数据库表结构。当调用 SQLiteOpenHelper 的 getWritableDatabase()或者 getReadableDatabase()方法获取用于操作数据库的 SQLiteDatabase 实例的时候,如果数据库不存在,Android 系统会自动生成 一个数据库,接着调用 onCreate()方法,onCreate()方法在初次生成数据库时 才会被调用,在 onCreate()方法里可以生成数据库表结构及添加一些应用 使用到的初始化数据。onUpgrade()方法在数据库的版本发生变化时会被调 用,一般在软件升级时才需改变版本号。 getWritableDatabase()和 getReadableDatabase()方法都可以获取一个用于 操作数据库的 SQLiteDatabase 实例。但 getWritableDatabase() 方法以读写方 式打开数据库,一旦数据库的磁盘空间满了,数据库就只能读而不能写, 倘若使用的是 getWritableDatabase() 方法就会出错。getReadableDatabase()方 法先以读写方式打开数据库,如果数据库的磁盘空间满了,就会打开失 败,当打开失败后会继续尝试以只读方式打开数据库。下边表 3- 1、表 3- 2、表 3- 3 分别是黑名单表、白名单表、关键字表的结构。
基于Android平台的安全检测与防护设计
2020年第19卷第15期20201915Industrial &Science Tribune 基于Android 平台的安全检测与防护设计□李旭宏朱厚峰李欣【内容摘要】随着Android 移动终端在市场的占有率不断提高,Android 移动终端内存储着用户的大量隐私信息,这也使得用户对Android 移动终端的防护要求越来越高,为此研究开发了基于Android 平台的安全检测与防护软件。
系统初步实现了对Android 移动终端的恶意软件、恶意二维码、系统漏洞的安全检测与防护。
【关键词】Android ;安全性检测;相似度算法【基金项目】本文为2019年度枣庄学院校级SRT 项目“萌盾手机安全防护设计与实现”研究成果。
【作者简介】李旭宏(1971.2 ),男,山东济宁人,枣庄学院信息科学与工程学院副教授,硕士;研究方向:计算机网络与信息安全朱厚峰,李欣;枣庄学院信息科学与工程学院信息安全是当代社会不可避免的一个话题。
在数据爆炸的大背景下,人们或许也曾经历过收到骚扰短信、恶意网址以及恶意二维码的侵害。
怎样保护人们的隐私,维护信息安全成为了重中之重。
只有信息不被泄露人们才能够更安逸的工作和生活。
基于此,安全检测与防护软件的研究才是解决社会主要问题的办法。
一、概述基于Android 平台的安全检测与防护设计软件共分为五个模块:病毒查杀模块、漏洞防御模块、二维码检测、版本和设置。
通过主界面实现对各个功能的操作,点击病毒查杀按钮进入病毒查杀模块,实现对手机内各软件的全面扫描,检测是否含有恶意软件并对检测结果及时处理;点击漏洞防御按钮进入漏洞扫描模块,开始进行系统漏洞检测,并将检测结果反馈给用户,提醒用户进行漏洞修复;点击二维码检测按钮进入二维码检测模块,通过扫描外部二维码,检测该二维码是否为钓鱼网址;最后,通过设置模块,用户可以对本款软件进行了解,并进行意见反馈。
二、相关技术(一)权限特征提取。
基于Android的手机防护系统设计与实现
基于Android的手机防护系统设计与实现作者:于加娟韩水玲王宏韬颜延庚康晓凤来源:《软件导刊》2014年第03期摘要:智能手机给人们的生活方式带来了革命性的变化,但是各种手机安全问题也随之而来,为了解决这些问题,在充分研究Android手机安全防护技术原理的基础上,综合利用Android和SQLite技术开发了一套手机防护系统,主要解决目前智能手机上存在的垃圾短信、骚扰电话、手机病毒、恶意程序上网、文件泄密及抗抵赖等问题。
关键词:Android安全;加密;电子签名;监控中图分类号:TP309文献标识码:A 文章编号:1672-7800(2014)003-0137-030 引言智能手机在给我们的生活带来便利的同时,其安全问题也日益凸显。
手机里一般存储着重要的个人信息,这些信息一旦丢失,对个人或企业会造成很大的损失。
特别是近年来出现的手机电话骚扰、垃圾短信、手机病毒、恶意程序上网、文件泄密及用户抵赖等问题,极大地影响了手机用户的信息安全、财产安全甚至人身安全[1]。
基于Android的手机防护系统正是在这种背景下提出综合利用Android和SQLite技术进行设计开发的[2]。
本系统主要包括5大模块,分别是拦截子系统、扫描子系统、监控子系统、隐私子系统及防盗子系统。
本系统实现了对GPRS流量和WiFi流量的日、周、月监控;恶意程序无形上网的监控;垃圾短信与匿名电话的有效拦截;传送文件的加密与解密;用户的数字签名与认证;应用程序的锁定;可疑文件的全盘扫描及手机防盗等功能,全方位解决了智能手机的安全问题。
本系统可以很好地解决以下问题:①手机网络应用中存在的文件泄露、用户抵赖和手机病毒等;②手机恶意程序无形上网;③私有手机程序锁定;④手机垃圾短信和骚扰电话的拦截;⑤手机丢失或被盗时快速找回手机。
本系统的开发紧跟市场需求,可以进行大面积的应用和推广。
1 系统整体设计方案在充分研究Android手机的安全防护技术原理的基础上,综合利用Android和SQLite技术开发了一套手机防护系统[3-4],实现了通过定义规则对垃圾短信进行处理及区分黑白名单对骚扰电话进行拦截;对手机进行全盘扫描,扫描病毒及可疑文件;对每日、每周、每月的GPRS 流量及WiFi流量分别进行监控,并对各个程序进行监控,有效发现是否有恶意程序在暗中上网,消耗流量;针对文件的泄密与抵赖进行设计,有效地对手机上任意文件进行DES加密与解密,对需要传送的文件进行数字签名与验证,保证文件在通信传输过程中的安全性;实现保护隐私应用程序的功能,用户可自行对所有安装的应用程序进行选择性锁定应用,有效地防止他人在使用用户手机时,盗取用户的一些隐私信息;当用户手机被盗或丢失后,用户可以通过设置的防盗安全手机号码,在对方换卡后自动向用户设置的安全号码发送一条包含换卡人个人信息及具体位置的短信。
基于Android的手机安全软件设计与实现
本课题的目的是开发一款实用的手机安全软件,对手机的安全进行管理,非
常有益于保障人们生活少受干扰,并且能在一定程度上保护人们的隐私,让用户能放心地使用手机。同时,该软件的设计与实现也是对Android应用程序开发知识的综合应用,可在设计和实现的过程中学习掌握Android应用开发的基础知识和开发技术,锻炼自主学习能力,积累开发经验,增强发现问题、解决问题的能力。
(1)软件系统流程图,如图3-1所示。
图3-1系统流程图
(2)软件系统用例图,如图3-2所示。
图3-2系统用例图
(3)软件模块顺序图
1)软件管理模块顺序图,如图3-3所示。
2)手机杀毒模块顺序图:如图3-4所示。
图3-3软件管理模块顺序图
图3-4手机杀毒模块顺序图
(4)活动图
1)软件管理模块活动图:如图3-5所示。
本应用软件采用安卓开源系统技术,利用利用java语言和eclipse工具进行代码编写和设计,通过搭建开发环境、需求分析以及详细的系统设计,展示了本应用的六大主要功能模块:手机防盗、软件管理、任务管理、流量管理、手机杀毒、系统优化。最后集成各个模块运行,总体运行正常。
本文第一章是绪论,简要地概括课题研究的背景、目的及其意义,简述Android的发展情况以及所需的软硬件环境。第二章介绍Android系统架构,主要阐述该架构的操作系统层、各种库和运行环境、应用程序框架和应用程序层。第三章是软件系统分析,介绍需求分析、可行性分析,还有一些UML图。第四章是软件系统设计与实现,包括布局设计实现和功能设计实现。第五章是软件测试,主要包括测试结果截图及其分析。最后是对本文的总结。
基于安卓平台的手机安全卫士的设计与实现毕业设计
毕业设计 [论文]题目:手机安全卫士学院:计算机科学与工程学院专业:信息管理与信息系统姓名:学号:指导老师:完成时间:xx学院本科毕业设计(论文)摘要摘要伴随智能手机的不断普及,移动互联网的快速发展,伴随着3G时代的到来,智能手机的广泛应用,安卓成为活跃用户量最大的移动终端操作系统,并且安卓操作系统是开放源代码的,所以每个人都可以开发出一个安卓应用,导致安卓的应用数不胜数。
由于安卓的开源,导致每个人可以对安卓端的软件进行编写,而有些开发者在应用中加入一些非法的代码,窃取用户的隐私,使得手机的安全问题日益明显,手机安全问题关注度日益提高。
本系统正是针对那些恶意应用的,详细的阐述了手机安全卫士的开发流程,包括手机防盗、通讯卫士、软件管理、进程管理、手机杀毒、系统优化、高级工具、设置中心等功能模块。
整体项目采用MVC框架,是对安卓知识点的综合应用,用到的技术有(活动,服务,广播接收者,内容提供这,唤醒机制,数据库,自定义标题,自定义控件,小部件,进程间通讯等)。
本项目是通过xml文件对页面进行布局,后台使用java代码实现每一个业务逻辑流程,完成页面中的每一个需求。
本系统采用安卓作为开发平台,使用安卓开发工具作为开发环境,后台使用sqlite数据库进行数据的存储和传输,来实现手机卫士之的数据共享和业务逻辑的交互。
关键词:手机卫士,安卓开发平台,MVC框架,数据库AbstractWith the growing popularity of smart phones and the rapid development of mobile Internet, With the extensive application of the 3G era, smart phones, Android became the largest active users of mobile operating systems,And the Android operating system is open source, so everyone can develop an Android application, resulting in numerous Android applications.Because Android is open source, leading everyone can develop Android terminal software for DIY,and some developers to develop some illegal code in the application, to steal the user's privacy, making phone security problems have become increasingly apparent, and the phone security problems has caused many people’s concern.The system is aimed at those malicious applications and thorough describes the development process of mobile security guards,including mobile security, communications guards, software management, process management, mobile antivirus, system optimization, advanced tools, set up centers and other functional modules.The whole project using MVC framework, is a comprehensive application of Android knowledge,Techniques used including activity, service, broadcast, content provider, Notification, Database, custom title, custom controls, widget, aidl process communication and so on. This project is carried out by xml file layout on the page, background using java code to implement business logic processes and complete page demand. The system uses Android as the development platform, using ADT (Android Development Tools) as the development environment. Background using sqlite database for data storage and transmission, and in this way it can implement data sharing and business logic of the mobile security guards.Key words: Mobile security guards, Android Development Platform, MVC framework, sqlite database目录1 绪论 (1)1.1 选题背景 (1)1.2系统开发环境 (2)1.3 本章小结 (2)2 需求分析 (3)2.1 可行性分析 (3)2.2 项目需求分析 (3)2.2.1 项目的具体功能分析 (4)2.2.2 项目框架简介 (5)2.2.3项目的目录空间结构 (5)2.2.4项目代码的组织结构 (6)2.3 本章小结 (6)3 相关技术简介 (7)3.1 Java技术综述 (7)3.2 Android技术 (7)3.3 SQLite数据库 (9)3.4 本章小结 (10)4 项目设计 (12)4.1 项目设计目标及原则 (12)4.2 项目的模块流程图 (12)4.3 本章小结 (19)5 数据库设计 (20)5.1 数据库设计过程描述 (20)5.2 数据库概念结构设计 (21)5.3 数据库的逻辑结构设计 (22)5.4 数据库物理结构设计 (24)5.5 数据库实施 (25)5.6 本章小结 (26)6 项目详细设计与实现 (27)6.1 项目的具体功能模块设计及界面 (27)6.1.1 用户体验界面的设计 (27)6.1.2 手机防盗功能模块的设计 (29)6.1.3 手机侦测与设置功能的设计 (34)6.1.4 用户隐私功能的设计 (38)6.2 项目设计遇到问题的处理方式 (41)6.3 本章小结 (41)7 项目测试 (43)7.1 项目测试结果 (43)7.2 本章小结 (45)结束语 (46)致谢 (47)参考文献 (48)附录 (49)1 绪论1.1 选题背景Android移动终端操作系统由谷歌公司于2007年11月05日推出, Android 操作系统是建立于Linux操作系统之上,该平台有操作系统、中间件、用户界面和应用软件层组成。
基于Android平台的智能安防系统设计与实现
基于Android平台的智能安防系统设计与实现近年来,随着科技的发展与进步,智能安防系统在社会中得到广泛的应用,它不仅能提高人们的生活品质,还能提供更为安全的保证。
而基于Android平台的智能安防系统具有全面覆盖、智能化、高效性等优点,它可以为人们带来更为便利的使用体验。
本文将探讨一个基于Android平台的智能安防系统设计与实现。
一、概述基于Android平台的智能安防系统能够实现对室内和室外的监控与防范,保护家庭和办公场所的安全。
其主要功能包括视频监控、智能报警、远程控制等,可实现对于不同区域的实时监控和远程管理。
这一系统的实现需要的硬件设备包括智能摄像头、基于Android系统的摄像头控制器、视频显示器和通讯模块等。
二、系统设计1.系统架构智能安防系统的设计采用客户端/服务器的模式,以服务器端为核心,客户端作为从属节点,实现系统的分布式管理和数据交互等功能。
整个系统结构分为三层,包括应用层、中间层和底层。
应用层包括安防客户端程序和用户后台管理系统,是整个安防系统的前台。
它的主要作用是向用户提供安全防护服务。
中间层是一个具有通用性和可扩展性的系统调度和资源管理层,负责设备的管理、控制和协调,包括对系统资源的分配和使用。
底层主要由若干个智能设备组成,包括摄像头、控制单元、终端器等,以集群方式为系统提供基本的数据采集和处理能力,为整个系统的运行提供支撑和保障。
2.系统模块系统模块分为两个部分,即客户端和服务端。
具体如下:客户端模块包括:1)视频监控模块:用于实现视频的实时监控,可以通过客户端手机智能摄像头实现监测。
2)智能报警模块:通过视频图像分析技术对区域内异常情况进行检测并报警。
3)远程控制模块:通过网络实现远程控制和数据传输。
服务端模块包括:1)摄像头控制模块:接受客户端的指令,控制摄像头进行拍摄。
2)视频数据处理模块:将摄像头采集到的视频数据进行处理,提取并分析视频图像特征。
3)存储管理模块:用于存储监控视频数据,实现视频的回放和管理。
基于Android的手机安全卫士的设计与实现 (4)
本科生毕业论文(设计)题目:基于Android的手机安全卫士的设计与实现学院:计算机信息工程学院专业:计算机科学与技术(网络方向)姓名:韩莹学号: 2015220240106指导老师:赵志瑛(副教授)2019年06月05日毕业论文(设计)学术承诺本人郑重承诺,所呈交的毕业论文(设计)是我个人在导师指导下进行的研究工作及取得的研究成果。
除了文中特别加以标注和致谢的地方外,论文中不存在抄袭情况,论文中不包含其他人已经发表的研究情况,也不包含他人或其他教学机构取得研究成果。
作者签名: 日期:关于毕业论文(设计)使用授权的声明本人在指导老师指导下所完成的论文(设计)及相关资料(包括图纸、试验记录、原始数据、实物照片、图片、摄像录像、设计手稿等),知识产权归属山西工商学院。
本人授权山西工商学院可以将本毕业论文(设计)的全部或部分内容编入有关数据库进行检索,可以采用任何复制手段保存和汇编本毕业论文(设计)。
如果发表相关成果,一定征得指导老师同意,且第一署名单位为山西工商学院。
本人离校后使用毕业论文(设计)或与该论文(设计)直接相关的学术论文或成果时,第一署名单位仍然为山西工商学院。
作者签名:指导老师签名:日期:日期:摘要计算机技术的快速发展使得智能手机、无线网络、移动设备以及移动互联网络速度得到了快速的发展,从而也推动了手机app的广泛应用。
目前国内的一些大型生产商都开始研发和使用移动app业务,并在市场上取得了良好的效果。
随着我国人民的收入增长和生活水平的提高,手机支付业务迅速发展起来,越来越多的人们把资金存到手机上,来实现手机支付,方便日常生活,手机的信息安全变得尤为重要,手机安全防护系统成为手机中不可缺少的应用软件,手机安全防护系统主要包括防盗,通讯卫士,查杀,进程管理,软件,缓存清理,流量统计,工具等功能。
本文为了保证用户与手机系统进行友好的交互,满足用户手机信息安全,开发工具选用java语言,有效保证了手机安全卫士数据的完整性及安全性。
Android手机安全防护系统的设计与实现毕业设计
Android手机安全防护系统的设计与实现毕业设计目录摘要 (I)Abstract (II)第1章绪论 (1)1.1 研究背景 (1)1.2 研究意义 (1)1.3 研究现状 (2)1.4 研究容 (2)1.5 组织结构 (3)第2章相关技术 (5)2.1 Android系统 (5)2.1.1 Android简介 (5)2.1.2 Android程序框架 (7)2.2 Android权限机制 (10)2.3 Android AIDL IPC机制 (11)2.4 Android数字签名 (11)2.5 SQLite数据库 (12)2.6 MVC设计模式 (13)2.7 本章小结 (14)第3章系统分析 (15)3.1 可行性分析 (15)3.1.1 经济可行性 (15)3.1.2 技术可行性 (15)3.1.3 操作可行性 (15)3.2 用户需求分析 (15)3.2.1 简单易学 (16)3.2.2 运行稳定 (16)3.2.3 操作简单 (16)3.3 功能需求分析 (16)3.4 系统运行环境与开发环境 (20)3.4.1 运行环境 (20)3.4.2 开发环境 (20)3.5本章小结 (21)第4章系统设计 (23)4.1设计目标 (23)4.2设计原则 (23)4.2.1 实用性原则 (23)4.2.2 安全性原则 (23)4.2.3 易用性原则 (23)4.2.4 扩展性原则 (24)4.3系统设计 (24)4.3.1 总体设计 (24)4.3.2 手机防盗模块设计 (24)4.3.3 进程管理模块设计 (25)4.3.4 通信过滤模块设计 (26)4.3.5 流量统计模块设计 (26)4.3.6 软件管理模块设计 (27)4.3.7 手机杀毒模块设计 (27)4.3.8 缓存清理模块设计 (28)4.3.9 高级工具模块设计 (28)4.3.10 设置中心模块设计 (29)4.3.11 关机屏蔽模块设计 (30)4.4 数据库设计 (30)4.4.1 数据库需求分析设计 (30)4.4.2 数据库概念设计 (31)4.4.3 数据库逻辑设计 (32)4.4.4 数据库物理设计 (33)4.6 本章小结 (35)第5章系统实现 (37)5.1 欢迎界面实现 (37)5.2 手机防盗模块实现 (39)5.3 流量统计模块实现 (42)5.4 软件管理模块实现 (43)5.5 进程管理模块实现 (45)5.6 缓存清理模块实现 (46)5.7 手机杀毒模块实现 (48)5.8 通信过滤模块实现 (49)5.9 高级工具模块实现 (52)5.10 设置中心模块实现 (56)5.11 关机屏蔽模块实现 (58)5.12 本章小结 (59)第6章系统测试 (61)6.1 欢迎界面及主界面测试 (61)6.2 手机防盗模块测试 (61)6.3 软件管理模块测试 (63)6.4 通信过滤模块测试 (64)6.5 手机杀毒模块测试 (64)6.6 高级工具模块测试 (65)6.7 设置中心模块测试 (66)6.8 流量统计模块测试 (66)6.9 进程管理模块测试 (67)6.10 缓存清理模块测试 (67)6.11 关机屏蔽模块测试 (68)6.12 测试结论 (68)第7章总结及展望 (69)参考文献 (71)致谢 (73)第1章绪论1.1 研究背景Android是一种基于Linux的开源操作系统,由操作系统、中间件、用户界面和应用软件组成。
基于Android系统JNI机制的安全防护的研究与实现
基于Android系统JNI机制的安全防护的研究与实现摘要Android是由Google公司开发的基于Linux的开源操作系统。
开源意味着Android系统面临盗版,代码植入,病毒攻击等安全问题。
本文仅提出对SO库加固的方案,使SO库运用趋于安全,防止他人恶意篡改及调用。
从而提高App的安全性。
关键词Android系统;安全防护;SO加固引言互联网发展至今,据工信部统计,全球移动应用设备已达上千万部。
中国网民使用Android操作系统比例高达83.02%。
由此可见,移动已成为重要业务领域的主流服务渠道,其中金融行业尤为重要。
2017年移动互联网恶意程序主要针对Android平台,占99.9%以上,位居第一。
这些恶意的攻击大部分都是利用Android系统的漏洞实现的。
它们对市场上的应用进行代码层面的反编译,对其中的某些功能代码进行修改进而打包重新上传应用市场,利用用户下载来传播。
由于国内各大应用市场的监管力度较弱,恶意应用依然可以成功上架,使得应用真假难辨,导致用户的隐私被窃取甚至财产损失。
为了杜绝这种行为的发生,提高Android应用代码的安全性就显得格外重要。
常见的一些安全措施是对应用加固,Android应用可以通过JNI调用C/C++编写生成的类库,这是因为Java编译生产的Dex代码破解难度较低,通过世面是很多反编译软件都可以查看到源码,并且大多数文献建议开发者把关键代码通过C/C++语言编写的SO库来实现。
然而市面上仍然存在不通过so库的源码对其中的方法进行调用,并且SO库的破解工具和方法不断进行着更新换代。
基于对Android系统JNI机制的探索,提出一种保护本地so库的可行方案。
本文利用基于JNI机制的so库的section加固和so库中的函数加固两种加固方法,有效防止了so库被恶意破解[1]。
1 so文件的格式1.1 so文件简介so文件属于ELF文件,ELF文件全部是程序的二进制表示,目的是直接在某种处理器上执行,它包括以下三种文件格式:(1)可重定位文件(Relocatable File)包含适合于与其他目标文件链接来创建可执行文件或者共享目标文件的代码和数据。
安全防护系统设计与实现
安全防护系统设计与实现随着科技的不断发展和应用,我们在日常生活中使用各种智能设备和网络,网络安全和数据隐私成为了人们越来越关注的问题。
在这样的背景下,安全防护系统的设计和实现变得越来越重要。
本文将从理论和实践两个方面,介绍安全防护系统的设计和实现。
一、理论部分1、安全防护系统的基本架构安全防护系统是指为了保障电子设备和网络系统的安全而设计的,包括硬件和软件两个方面。
其基本架构包括三个层次,分别是网络层、信息层和物理层。
网络层:主要包括路由器、交换机、防火墙等。
其主要作用是保障网络的连通性和安全性。
路由器负责网络地址转换和数据路由,交换机则负责数据包交换和流控制,防火墙则是保障网络安全的第一道防线,防止非法入侵和网络攻击。
信息层:主要包括身份认证系统、加密系统和访问控制系统。
其中身份认证系统用于识别和验证网络用户身份,加密系统则负责对数据进行保密处理和加密传输,访问控制系统则是对用户访问网络资源进行授权和限制。
物理层:主要包括监控系统、报警系统和电力保护系统。
其中监控系统用于监控设备工作状态和异常数据,报警系统则是对网络异常事件进行及时警示和响应,电力保护系统则可以保护设备和数据不受电源干扰和意外电压波动。
2、安全防护系统的安全保障机制安全防护系统的安全保障机制包括防火墙、加密和数字签名等。
防火墙:防火墙是安全防护系统中最基本的安全保障机制。
它可以检测网络流量,筛选掉危险的流量,保护网络和系统免受非法入侵和网络攻击。
加密:加密是对数据进行保密处理的一个过程。
它将明文数据转换为密文数据并进行传输,在接收端再将密文数据转换回明文数据。
这样做可以避免信息被窃取和篡改。
数字签名:数字签名是一种安全的认证方法,它可以防止数据被篡改和伪造。
数字签名通过使用私钥对数据进行签名,当接收方收到数据后,使用公钥进行验证,确保数据的完整性和真实性。
二、实践部分1、安全防护系统的实现安全防护系统的实现包括硬件和软件两个方面。
安全防护系统设计与实现
安全防护系统设计与实现近年来,随着信息技术的飞速发展,网络空间的安全问题日益凸显。
为了应对不断增长的网络威胁和安全风险,安全防护系统成为了企业和组织必备的重要设施。
本文将着重介绍安全防护系统的设计与实现,以提供一种全面、高效、可靠的网络安全保障机制。
一、安全需求分析在设计和实施安全防护系统之前,首先要进行安全需求分析,确定系统的安全目标和保护范围。
安全需求分析主要包括以下几个方面:1. 机密性保护:确保信息和数据在传输和存储过程中不被未授权人员获取。
2. 完整性保护:防止未经授权的篡改和数据损坏。
3. 可用性保障:保证系统在遭受攻击或异常情况下,仍能够正常运行,提供可靠的服务。
4. 认证与授权:确保用户的身份合法,并给予其相应的权限。
5. 抗拒绝服务攻击:保证系统不会因为恶意攻击而无法正常对外提供服务。
二、安全防护系统设计基于安全需求分析的结果,我们可以开始进行安全防护系统的设计。
设计过程主要包括以下几个关键环节:1. 周密的边界防御:在网络安全体系中,边界是企业网络与外部环境之间的接口,也是最容易受到攻击的地方。
因此,建立一套周密的边界防御机制是至关重要的。
这可通过防火墙、入侵检测系统(IDS)和入侵防御系统(IPS)等技术手段来实现。
2. 强化网络设备安全:安全防护系统设计中,网络设备的安全性必须得到充分重视。
管理员应定期升级设备固件和操作系统,设置强密码,并采取访问控制措施,限制对关键设备的物理和逻辑访问。
3. 安全访问控制:对于企业网络来说,构建有效的安全访问控制机制是保护机密性和完整性的关键。
该机制可以基于用户身份、角色、权限等因素来限制对敏感资源和数据的访问。
另外,还可以通过审计日志记录、流量监控等手段实时监测和检测异常行为。
4. 数据加密与安全传输:为了保护网络中传输的数据免受窃听和篡改的威胁,必须采用适当的数据加密和安全传输技术。
常见的方法包括SSL/TLS协议、IPSec虚拟专用网络(VPN)等,它们能够确保数据在传输过程中的机密性和完整性。
一种基于Android系统的安全防护方法
一种基于Android系统的安全防护方法专利名称:一种基于Android系统的安全防护方法技术领域:本发明涉及计算机操作系统,具体的说,是涉及一种基于Android系统的安全防护方法。
背景技术:Android移动操作系统是Google公司在2007年11月研发完成了基于Linux 的移动操作系统,它是ー个真正意义上的开放的移动设备开发平台。
正是由于其开源性,使得在第三方软件开发商的门槛降低了很多,也使得Android从刚刚推出时就受到了很多开发者的关注。
通过其特有的Dalvik虚拟机使得程序在手机上运行的效率更高。
更是由于其免费与开源性,让Android能够不仅仅局限于手机上,而是更广阔的平板电脑或者其他智能设备之上。
所以Android 的应用与开发的前景无法限量。
但是随着用户通过Android智能終端访问网络的需求日益増加,Android智能終端网络通信的安全性也就成为智能終端安全研究的首要任务。
发明内容本发明所要解决的技术问题是提出一种基于Android系统的安全防护方法,有效防护基于Android系统的智能终端远离外部网络攻击。
本发明解决上述技术问题所采用的技术方案是一种基于Android系统的安全防护方法,包括以下步骤a.按照Android的Linux2. 6内核编写底层模块,并预留接ロ共JNI函数调用;b.按照JNI的规范编写JNI函数,并且根据需要调用底层模块的功能函数对其进行封装;c.利用Android自带的编译器将其编译成模块形式;d.使用调试工具将编译好的模块加载到Android系统中;e.编写前台UI及用户处理程序,并调用加载好的模块所提供的接ロ。
进ー步,步骤d中,使用Android自带的调试工具adb将编译好的模块加载到Android系统中。
进ー步,步骤e中,按照Android SDK的规范编写前台UI及用户处理程序。
本发明的有益效果是通过对Android底层组件开发与底层数据包控制的研究,应用基于多叉树规则检测算法,实现了一个底层包过滤的安全机制,从而有效防护了基于Android 系统的智能终端远离外部网络攻击。
基于Android系统的个化防火墙设计与实现设计
目录第一章引言 (1)1.1 Android系统背景介绍 (1)1.2国内外研究现状 (1)1.2.1 国内外手机系统现状 (1)1.2.2 国内外手机应用现状 (3)第二章Android系统基本介绍 (5)2.1 Android简介 (5)2.2 Android结构 (6)2.3 Android应用程序结构解析 (7)2.3.1 Android的API (7)2.3.2 Android应用程序结构剖析 (9)第三章开发环境的搭建 (13)3.1 jdk的安装及配置 (13)3.2 Eclipse安装 (13)3.3 Android SDK安装 (13)3.4 使用Ec1ipse下载ADT(Android开发插件) (14)3.5 使用Ec1ipse开发Android应用 (15)第四章个性化手机防火墙的概要设计 (16)4.1 黑名单电话和短信过滤功能的实现 (16)4.1.1 黑名单选择模式 (16)4.1.2 两种方式添加黑名单 (17)4.2 基于关键字的短信过滤功能的实现 (17)4.3隐私空间的实现 (18)4.4 数据库设计 (18)4.4.1 Android数据库存储简介 (18)4.4.2 数据库设计概述 (19)4.4.3 数据库详细设计 (20)第五章个性化手机防火墙的详细设计 (23)5.1 基于黑名单电话和短信过滤功能设计 (23)5.1.1 设计思路 (23)5.1.2 关键代码及解释 (23)5.2 两种添加名单功能的设计 (26)5.3基于关键字的短信过滤功能的设计 (29)5.4 隐私空间的设计 (29)5.5 项目文件夹设计 (29)5.5.1 项目文件夹设计 (29)5.5.2 项目包和类说明 (31)第六章防火墙的运行及性能测试 (32)6.1 系统运行测试 (32)6.2 黑名单管理模块测试 (33)6.2.1 两种方式添加名单测试 (33)6.2.2 测试结果和分析 (34)6.3 基于黑名单的拦截测试 (34)6.3.1 基于黑名单的电话和短信拦截测试 (34)6.3.2 测试结果和分析 (35)结果分析及展望 (37)致谢 (38)参考文献 (39)基于Android系统的个性化防火墙设计与实现赵彪,数学计算机科学学院摘要:随着当今信息化的社会快速发展,智能手机已成为人们生活中不可缺少的一部分。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Android平台安全防护系统的设计与实现作者:张楠滕英岩来源:《软件工程师》2015年第07期摘要:研究基于Android平台的安全防护软件,使用Android SDK和Java Web技术实现了Android平台安全防护系统的各项功能。
系统支持手机防盗找回、骚扰拦截、缓存清理、病毒扫描等功能,实现了对恶意程序和骚扰程序有效地拦截,后台服务器使用Servlet编写部署在百度云平台,拥有快速的响应和稳定等特点,给后期的维护工作带来的极大的便捷。
关键词:Android平台安全防护系统;恶意程序;百度云平台中图分类号:TP391 文献标识码:A1 引言(Introduction)近年来,Android平台安全防护系统是目前市面上安卓平台广泛应用的软件系统,然而信息安全领域在移动与嵌入式安全研究开发上的行动在过去几年里过于缓慢),以至于移动安全在某种程度上仍然被认为是前沿研究,因为移动设备的消费者与用户最近才开始察觉并理解日常使用移动设备所面临的安全威胁。
这些威胁也随之为移动安全研究与安全产品创造了市场前景[1]。
本文研究的安全防护系统采用最新的Android SDK开发,本着精简高效的原则,对市面上流行的安全软件的功能进行包含和实现,由于占用内存资源少,本系统兼容安装Android 2.3.3到目前最新Android 4.2.2的所有智能手机。
2 关键技术介绍(The introduction of keytechnology)2.1 Android系统平台简介Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发。
尚未有统一中文名称,中国大陆地区较多人使用“安卓”或“安致”。
Android操作系统最初由Andy Rubin开发,主要支持手机。
2005年8月由Google收购注资。
2007年11月,Google与84家硬件制造商、软件开发商及电信营运商组建开放手机联盟共同研发改良Android系统。
随后Google以Apache开源许可证的授权方式,发布了Android的源代码。
第一部Android智能手机发布于2008年10月。
Android逐渐扩展到平板电脑及其他领域上,如电视、数码相机、游戏机等。
2011年第一季度,Android在全球的市场份额首次超过塞班系统,跃居全球第一。
2013年的第四季度,Android平台手机的全球市场份额已经达到78.1%。
2013年09月24日谷歌开发的操作系统Android在迎来了5岁生日,全世界采用这款系统的设备数量已经达到10亿台[2]。
2.2 手机恶意软件手机恶意软件,一般是指在用户不完全知情和认可(它包括未经用户许可、强迫引导用户许可或隐瞒关键信息等)的情况下强行安装到用户手机中,或者一旦安装就无法正常卸载和删除,但又具备一定正常功能的软件程序。
恶意软件是介于病毒和正常软件之间的软件,它与病毒的区别是:通常还具备一定的正常功能。
相比于正常软件,判定是否是恶意软件的两个标准:(1)是否被安装到了用户手机中。
(2)对于用户而言,是否具有不可控制性:即用户不完全知情和认可,或者是安装后无法让用户用正常的手段卸载和删除。
符合以下任意即可定义为恶意软件:(1)没有任何提示,暗地里发短信、联网、扣费,轻微的发一次,严重的重复发。
(2)虽然有提示,但提示很不显眼,很容易让新手用户摁错,误导新手,导致发送短信、联网、扣费。
(3)虽然有提示,但提示是虚假的,比如明明是CMNET,却提示是CMWAP。
(4)没有提示或者误导用户,暗地里收集用户个人资料的。
(5)不经用户同意,捆绑了快捷键、书签等可恢复性内容。
(6)安装很容易,删除不简单。
2.3 MD5算法简介MD5算法为计算机安全领域广泛使用的一种散列函数,用以提供消息的完整性保护。
MD5的作用是让大容量信息在用数字签名软件签署私人密钥前被“压缩”成一种保密的格式(就是把一个任意长度的字节串变换成一定长的十六进制数字串)。
MD5就可以为任何文件(不管其大小、格式、数量)产生一个同样独一无二的MD5“数字指纹”,如果任何人对文件做了任何改动,其MD5值也就是对应的“数字指纹”都会发生变化。
加密流程如图1所示[3]。
图1 MD5加密算法流程图Fig.1 Process of MD5 encryption algorithm2.4 Android安全权限机制Android本身是一个权限分立的操作系统。
在这类操作系统中,每个应用都以唯一的一个系统识别身份运行(Linux用户ID与群组ID)。
系统的各部分也分别使用各自独立的识别方式。
Linux就是这样将应用与应用,应用与系统隔离开。
系统更多的安全功能通过权限机制提供。
权限可以限制某个特定进程的特定操作,也可以限制每个URI权限对特定数据段的访问。
Android安全架构的核心设计思想是,在默认设置下,所有应用都没有权限对其他应用、系统或用户进行较大影响的操作。
这其中包括读写用户隐私数据(联系人或电子邮件),读写其他应用文件,访问网络或阻止设备待机等。
安装应用时,在检查程序签名提及的权限,且经过用户确认后,软件包安装器会给予应用权限。
从用户角度看,一款Android应用通常会要求如下的权限:拨打电话、发送短信或彩信、修改/删除SD卡上的内容、读取联系人的信息、读取日程信的息,写入日程数据、读取电话状态或识别码、精确的(基于GPS)地理位置、模糊的(基于网络获取)地理位置、创建蓝牙连接、对互联网的完全访问、查看网络状态,查看WiFi状态、避免手机待机、修改系统全局设置、读取同步设定、开机自启动、重启其他应用、终止运行中的应用、设定偏好应用、震动控制、拍摄图片等。
一款应用应该根据自身提供的功能,要求合理的权限。
用户也可以分析一款应用所需权限,从而简单判定这款应用是否安全。
如一款应用是不带广告的单机版,也没有任何附加的内容需要下载,那么它要求访问网络的权限就比较可疑。
3 系统设计(System design)3.1 系统结构Android平台安全防护系统采用Android原生SDK进行开发,客户端主要由手机防盗、通讯卫士、软件管理、进程管理、流量统计、病毒扫描、缓存清理、高级工具、设置中心这几大模块构成,系统结构如图2所示。
图2 系统结构图Fig.2 System architecture diagram程序中各个模块都有自己独立的服务和广播接收器为之提供支持,客户端利用JSON数据格式和后台服务器之间做数据交换,每个功能模块之间相互独立,但是由主页面切换进入。
以手机防盗功能模块为例,一共有四个页面对数据进行记录,分别是设置密码,绑定SIM卡,绑定安全号码,启动管理员模式,当数据记录完毕后,后台会有相应的服务和广播接收器启动,来记录安全号码发入目标手机的指令,从而可以启动相关功能对目标手机执行一系列的操作。
3.2 数据库设计数据库密码列采用MD5加密算法存储密码,这样可以避免明文密码的泄露。
数据库设计表如表1所示。
表1 数据库表设计Tab.1 Design of database table表名类型约束备注UserID Verchar(30)唯一用户唯一的ID号UserPass Varchar(30)非空用户密码4 系统实现(System implementation)本文着重对Android平台安全防护系统子系统进行剖析,阐释系统的运行原理。
安全防护子系统主要包括手机防盗和病毒扫描模块两部分。
4.1 手机防盗模块手机防盗功能中包含手机定位、手机报警、手机锁屏和手机数据清理功能。
本模块利用手机长驻后台服务监听短信内容,根据短信执行相关操作[4]。
定位功能是程在序中加入了百度地图定位功能,当用户绑定了SIM卡和安全号码后,如果手机丢失,用安全号码手机直接编辑短信指令+密码发送到丢失手机上,可以让手机执行定位操作并回复短信当前手机所在坐标位置。
以下是部分定位功能的实现代码段。
public void initOption() {LocationClientOption option=new LocationClientOption();option.setLocationMode(LocationMode.Hight_Accuracy);//设置定位模式option.setCoorType("bd09ll");//返回的定位结果叠加地图使用bd09ll模式option.setScanSpan(2000);//设置发起定位请求的间隔时间为5000msoption.setIsNeedAddress(true);//返回的定位结果包含地址信息option.setNeedDeviceDirect(true);//返回的定位结果包含手机机头的方向option.setOpenGps(true);locClient.setLocOption(option);}public void TraceStart() {locClient.start();}public void TraceStop() {locClient.stop();}锁屏功能是使用安全手机发送锁屏指令,然后目标手机会自动执行锁屏指令。
手机报警功能是收到安全号码发来的指令后以最大声音播放报警音乐。
手机数据清理功能是接收到数据清理指令后在后台执行数据清理功能。
触发这些功能都是在后台让偷盗者无法察觉的情况下完成的。
4.2 病毒扫描模块病毒扫描模块主要利用MD5特征匹配筛选安全程序和病毒程序,进入扫描进程后程序会在后台将计算出每个程序的MD5值,然后利用云端同步的病毒特征库进行比对,利用折半查找法加速了程序扫描大样本数据库的对比算法。
当病毒程序被扫描出,程序会提示用户是否清理,如果用户点击清理按钮程序会强制卸载目标程序,扫描过程结束。
病毒扫描过程部分核心代码段如下:private void scanVirus() {pm=getPackageManager();tv_scan_status.setText("正在初始杀毒引擎......");new Thread(){@Overridepublic void run() {List infos= pm.getInstalledPackages(0);pb.setMax(infos.size());int progress=0;for(PackageInfo info:infos) {//info.applicationInfo.dataDir; //数据文件保存地址String apkPath=info.applicationInfo.sourceDir; //APK安装包路径 String md5=FileToMD5.GetFileMd5(apkPath);//准备保存数据传出让UI线程更新ScanInfo scanInfo=new ScanInfo();=info.applicationInfo.loadLabel(pm).toString(); scanInfo.packName=info.packageName;if(AntivirusTools.isVirus(md5)) {//发现病毒scanInfo.isVirus=true;}else{//扫描安全scanInfo.isVirus=false;}//定义消息,把消息发到UI线程更新界面Message msg=Message.obtain();msg.obj=scanInfo;msg.what=520;handler.sendMessage(msg);progress++;pb.setProgress(progress);}Message msg=Message.obtain();msg.what=0;handler.sendMessage(msg);}}.start();}5 关键问题(Core question)5.1 实现了病毒库自动更新程序在运行过程中,固定的时间会向服务器拉取一个XML配置文件,里面是用JSON格式记录的病毒库版本和病毒库下载地址。