信息安全综合设计.docx
- 文档编号:22827098
- 上传时间:2023-04-28
- 格式:DOCX
- 页数:43
- 大小:703.50KB
信息安全综合设计.docx
《信息安全综合设计.docx》由会员分享,可在线阅读,更多相关《信息安全综合设计.docx(43页珍藏版)》请在冰豆网上搜索。
信息安全综合设计
摘要
Android移动开发平台是Google与30多家全球移动通讯领域内的领军企业联合开发。
Android是为移动终端打造的包括操作系统、中间件、开发组件及应用软件的真正开源平台并于2008年发布了第一款智能手机。
如今移动平台逐渐成为人们上网的主要方式,并且基于Android平台的应用越来越普及,Android在人们日常生活中扮演着越来越重要的角色,导致其逐渐成为大量恶意攻击者的首选目标之一。
Android应用软件智能终端受到攻击主要原因是用户从Android第三方市场下载的软件可以不经检测就放到Android软件市场供用户下载,其代码中存在的安全漏洞是受到攻击的根源。
安全漏洞可以使攻击者以非法手段获取用户重要信息及系统的控制权,并且Android智能终端存储着用户大量隐私信息,一旦这些信息泄露或破坏,对用户造成的损失难以想象。
随着手机恶意软件愈演愈烈的增长之势,越来越多的手机恶意软件以获取用户的钱财为目的,其使用的手段也日趋复杂。
所以,对Android平台上恶意软件的检测评估迫在眉睫。
本作品主要针对Android平台下的恶意软件,对未知软件(即APK文件)进行分析、检测与评估,大致判断出该软件是否为未知软件。
例如,对某一软件,我们会对这个APK包里面的权限、签名等信息进行提取,再进行判断。
本作品的主要特性如下:
(1)与用户的交互能力强,方便操作。
用户选择了需要检测的安卓软件之后,系统会自动调用我们预设的相关的模型对软件进行处理分析,最终给出一个参考的结果;
(2)符合时代需求。
现如今智能手机应用广泛,Android系统更是用户群体庞大,对恶意软件的可靠检测迫在眉睫;
(3)预测结果可靠性强。
该作品采用了多个因素作为评估检测的评估标准,包括签名、使用权限、特征码等,相对于一些单一的标准来说,综合性更强,从而可信度更高;
(4)实用性强。
该作品的应用场景广泛,可以说是智能手机用户的日常所需。
目前,安卓手机上恶意软件引起的安全事件层出不穷,如监控手机的语音通话,并将这些信息发送到指定主机,还有一些一键root软件实则会更改系统权限盗取信息等。
本作品与用户的交互能力很强,预测结果可靠,且用户群体众多,可以应用到很多的领域,在软件应用市场、普通手机用户群体和手机软件开发测试人员群体中都有较大的应用时间。
作品概述
1.1背景分析
安卓应用软件随着移动互联网技术日新月异地高速发展,智能终端的的功能快速增多使之逐步取代传统桌面成为下一代的计算平台。
Android作为最受欢迎的智能终端系统,已经从最初的智能手机领域进入教育、医疗、军事、汽车、家居等重要行业。
由于Android允许用户自行安装各种丰富的应用程序,包括学习、办公、移动支付、手机购物、以及生活中的各种软件,使得Android的功能在不断的升级和扩充。
另外Android智能终端用户可以通过移动通讯网络随时随地进行网上办公,收发邮件,浏览网页,网上信息注册,网上购物及网上银行转账等,Android终端进行着各种信息的构建。
同时存储着SMS、联系人等重要信息,Android智能终端成为用户大量隐私办公等信息存储的设备。
在安卓软件中,恶意代码数量呈指数增长,并且出现了多种对抗分析、检测、查杀的技术;应用软件和数字内容的版权不断遭到侵害,软件破解、软件篡改、广告库修改和植入、恶意代码植入、应用内付费破解等普遍存在;应用软件本身的安全漏洞频繁出现在国内外互联网企业的产品中,数据泄露和账户被盗等潜在风险让人担忧;官方系统、第三方定制系统和预装软件的漏洞不断被发现,对系统安全与稳定产生极大的威胁;Android应用软件移动支付从概念逐步转为实践,而对通信技术的攻击、对算法和协议的攻击时常发生;移动设备正融入办公环境,但移动平台的攻击与APT攻击结合的趋势日益明显。
更糟的是,随着地下产业链的不断成熟和扩大,以及攻击技术的不断发展和改进,这些威胁和相关攻击只会来势更凶。
安卓平台上恶意App泛滥已经不是什么大新闻,但关于安卓恶意App到底泛滥到何种程度,恐怕很多人还没有一个清晰的概念。
现在,著名安全厂商赛门铁克发表了一份报告,称安卓App中有17%是恶意App——每不到6个安卓App中就存在一个恶意软件,安卓恶意App的泛滥程度可见一斑。
国内安全公司的数据也显示:
流氓推广、恶意扣费、窃取用户数据等恶意软件增长迅速,危害日益严重。
在黑色产业链中,骇客通过技术手段将非法SP提供的扣费号段植入到应用中,实现恶意吸费。
手机骇客的攻击目标正在瞄准用户的手机支付与消费行为。
为了更好地防范恶意软件和骇客带来的威胁,最好的办法是了解他们的攻击方法和工具,建立技术壁垒。
Android应用软件依靠Google媒体资源和强大开发,成为最流行的智能终端平台,也是各智能终端厂商追逐对象,在带给用户丰富多彩的用户体验外,随之而来的安全问题给社会稳定、国家安全、用户隐私带来巨大的挑战,移动应用软件安全现在是一个重要的研究课题,安全漏洞挖掘是降低网络攻击以及保障用户系统及隐私安全的有效的的途径保证软件免受攻击的重要途径,解决Android软件恶意软件泛滥是今后安全信息领域重要的研究方向。
1.2课题研究意义
1.2.1安卓市场恶意软件现状
Android移动开发平台是Google与30多家全球移动通讯领域内的领军企业联合开发。
Android是为移动终端打造的包括操作系统、中间件、开发组件及应用软件的真正开源平台并于2008年发布了第一款智能手机。
Android应用软件具有丰富的硬件选择并且完全摆脱了运营商和开发商的限制。
由于其开源性和与应用的完美结合,吸引了大量开发商和应用开发者转向Android。
Android强大的功能和丰富的应用以及优良的性能使其发展迅猛,短短几年,Android已经成为全球第一大智能手机操作系统。
如今移动平台逐渐成为人们上网的主要方式,并且基于Android平台的应用越来越普及,Android在人们日常生活中扮演着越来越重要的角色,导致其逐渐成为大量恶意攻击者的首选目标之一。
国外用户一般是从谷歌应用商店下载应用,由于谷歌自身安全检测机制的保障,其安全性不太可能出现大的问题。
但是,中国用户可能无法直接访问谷歌应用商店,大都是通过国内第三方Android市场下载应用,而谷歌无法控制第三方的应用商店。
因此,国内的Android应用安全问题更加突出,安全威胁更高。
然而,即使在安卓官方商店GooglePlay,也有大量假冒App被发现,Play商店排名前50的免费App,大部分在Play商店中有对应的假冒产品存在。
在今年年初,俄罗斯杀毒公司Dr.Web发布了关于2014年手持设备恶意软件的回顾报告。
就信息安全事件来讲,在2014年各种状况频出又丰富多彩。
新型安卓恶意应用程序不断涌现。
具体来讲,银行木马无数的修改版本攻击了许多位于不同国家的设备且它的数量仍在不断增长。
此外,互联网安全技术全球领导厂商赛门铁克在最新公布的《互联网安全威胁报告》中发出警告,所有Android应用中,有17%(约100万个)实际上是恶意软件伪装的。
而在2013年报告中,这种内含病毒的应用约为70万个。
三分之一Android应用被赛门铁克称为“灰色软件”(Greyware或Grayware),这些移动软件主要是利用大量广告“轰炸”你。
赛门铁克还发现首款移动加密勒索恶意软件,这种软件可加密你的数据,以其为“人质”向你勒索赎金。
1.2.2安卓恶意软件检测评估的必要性
Android应用软件智能终端受到攻击主要原因是用户从Android第三方市场下载的软件可以不经检测就放到Android软件市场供用户下载,其代码中存在的安全漏洞是受到攻击的根源。
安全漏洞可以使攻击者以非法手段获取用户重要信息及系统的控制权,并且Android智能终端存储着用户大量隐私信息,一旦这些信息泄露或破坏,对用户造成的损失难以想象。
随着手机恶意软件愈演愈烈的增长之势,越来越多的手机恶意软件以获取用户的钱财为目的,其使用的手段也日趋复杂。
为了实现钓鱼攻击、窃取银行卡信息和银行账户钱财,手机恶意软件变种数量增长了近20倍。
在众多手机恶意软件类型之中,银行木马对用户造成的危害最为巨大。
在检测到的银行木马中,某些银行木马甚至能够直接从银行账号实施钱财窃取。
这种恶意软件已经从以往直接扣除受害者手机账户话费的老套骗术中得到“升级”。
因此,其所造成的潜在损失也在显著增加。
而网络罪犯似乎也认准了这种获利手段。
相较之猛增的“量”变,更让人感到忧心的是,手机恶意程序同时也出现了“质”的飞跃。
网络罪犯开始越来越多地使用代码混淆技术,即故意制造复杂的代码,这为恶意软件的分析工作增加了很大的难度。
恶意软件使用的代码混淆越复杂,反病毒解决方案检测和清除其所花费的时间也越长,从而让网络罪犯有时间窃取到更多的钱财。
网络罪犯会使用安卓漏洞增强恶意程序的权限,大幅增加恶意程序的功能,并且使清除恶意程序变得更为困难。
1.3相关工作
1.3.1安卓恶意软件检测的现状
1.3.1.1主流检测方案
当前主流恶意软件检测方案主要包括,以特征代码(signature-based)为基准的检测方案和以行为(behavior-based)为基准的检测方案。
以特征代码(signature-based)为基准的检测方案在不同的文献中的定义不同,特征方案分为字节码特征(byte-codesignature)还是行为特征(behavioralsignature),但本质上都是通过分析待检测文件是否包含已知恶意软件的特征代码(通常是从一段病毒代码中提取的代码和字符常量)来判断其是否具备恶意行为。
而基于行为的检测方案则依靠监视程序的行为(如,修改内存控制块和总量、盗用截流系统中断、病毒程序与宿主程序切换、对可执行文件做写入操作、搜索API函数地址)来作为判断的基准,由此判断文件是否是恶意文件。
(1)以特征码为基准的恶意软件检测方案
本论文中以特征代码为基准的检测(signature-based)采用基于字节码特征的检测(byte-code-based)方案。
并对其定义如下:
从恶意软件的恶意代码中提取出连续不含空格的字符串作为该恶意软件的特征,保存在病毒库中,并依靠由此构建的病毒库来检测恶意软件。
因此,病毒库须频繁升级以应对病毒的反检测和新变种。
同时,基于特征代码的检测方案具有滞后性,无法识别未知的恶意软件。
(2)以行为为基准的恶意软件检测方案
以行为(behavior-based)为基准的检测方法又可以实现方式分为白名单模型和黑名单模型,黑名单模型对恶意行为进行建模,但和基于特征代码的检测(signature-based)一样,无法检测未知恶意程序。
基于白名单的的模型和黑名单模型相反,主要对合法行为进行建模,可以有效的检测未知恶意软件,但在实际应用中,由于合法行为占据了较大比例,要对其进行充分的抽象具有极大的挑战,从而引起误报。
1.3.1.2相关安全公司检测情况
(1)所选取的安全软件
供应商
产品
包名
版本
AVG
小红伞
com.antivirus
3.1
Symantec
诺顿手机安全软件
com.symantec.mobilesecurity
3.3.0.892
Lookout
手机保护
com.lookout
8.7.1-EDC6DFS
ESET
ESET移动安全
com.eset.ems
1.1.995.1221
Dr.Web
大蜘蛛反病毒软件
com.drweb
7.00.3
Kaspersky
卡巴斯基手机安全软件
com.kms
9.36.28
Trendmicro
移动安全个人版。
com.trendmicro.tmmspersonal
2.6.2
ESTSoft
ALYacAndroid
com.estsoft.alyac
1.3.5.2
Zoner
Zoner安全防护
com.zoner.Android.antivirus
1.7.2
Webroot
Webroot安全和防病毒
com.webroot.security
3.1.0.4547
(2)恶意软件采取技术
代码
技术
P
改装
一
分解及组装
RP
包重命名
EE
加密本地利用或有效载荷
RI
重命名标识符
RF
重命名文件
ED
编码字符串和数组数据
CR
代码重排序
CI
间接调用
JN
插入垃圾代码
AVG
Symantec
Lookout
ESET
Dr.Web
Kaspersky
TrendM
ESTSoft
Zoner
Webroot
P
一
X
RP
X
X
X
EE
X
X
RI
X
X
X
ED
X
CR
X
CI
X
JN
X
RI+EE
X
X
X
X
X
EE+ED
X
X
X
EE+RF
X
X
X
EE+CI
X
X
X
RP+RI+EE+ED+RF+CI
X
X
X
X
X
X
X
X
X
X
(3)部分检测结果
注:
上表中的“X”表示未检测出
1.3.2安卓恶意软件评估相关内容
1.3.2.1签名机制
与其他一些智能手机平台一样,Android也设计了自己的签名机制。
不过和其他平台又有所不同的是,Android应用程序签名标明了APK的发布者,同时可以对程序的完整性和可靠性作为保证。
只要黑客试图对APK的内部进行了变动,就必须对APK文件进行重新签名。
而签名信息,除非原作者的私钥泄露,被黑客获取,一般情况下不可能和原签名信息一致。
同时,签名机制在Android应用程序更新时也能起到保护作用。
如果用户在更新应用程序时,两者的签名信息不一致,系统将会禁止此次更新。
如果一个应用程序需要使用System权限,应用程序的签名更需要和Framework的签名保持一致。
由此可见,在Android的应用程序和应用程序框架层中,签名机制起到了十分重要作用,进一步保护了系统的安全。
签名机制主要是在Android安装或更新应用程序时生效,是一种检测APK包完整性和发布机构唯一性的机制。
它基于每个APK包中签名文件具有的唯一性,使得单纯的对APK文件解压后替换文件的篡改行为无法奏效,因此一定程度上实现对保护了系统的安全。
1.3.2.2应用程序权限控制机制
权限控制机制是Android系统在应用程序框架层最核心的机制。
它用于限制应用程序的访问系统的API和资源。
应用程序必须在权限以内运行,而不能访问权限外的任何资源。
Android的PackageManager在程序安装时经用户同意给应用程序安装包赋予权限,而在执行时由应用程序框架层验证权限,如果应用程序未经申请使用了受限的资源,应用程序会自动关闭。
Android定义了上百种系统权限,所涉及的功能包括:
拍照,访问网络,地理位置定位等。
这些权限可以被分为普通级、危险级、签名级和系统级。
1.4特色描述
本作品着眼于安卓恶意软件的检测。
对软件的检测,它不局限于单一标准,而是综合评估与计算。
另外,本作品利用机器学习和权限加权,大大提高了检测结果的准确度。
同时利用svm工具,根据机器学习来构造检测系统。
1.5应用前景分析
目前,安卓手机上恶意软件引起的安全事件层出不穷,如监控手机的语音通话,并将这些信息发送到指定主机,还有一些一键root软件实则会更改系统权限盗取信息等。
本作品应用市场有:
(1)软件应用市场:
可以通过本产品对于市场上要上架的软件进行检测,作为审核上架的一道工序,以便更好地为用户提供一个下载安全好用的软件的地方。
同时在用户下载的时候,也可以根据本作品的检测结果向用户提供一些建议。
(2)普通安卓手机用户:
对于不可信来源下载来的APK利用本软件进行检测,参考一下是否可以放心使用该软件。
(3)软件测试及开发人员:
利用本作品对于自身的开发测试工作进行参考。
作品设计与实现
2.1系统方案
在本系统中,对于Android恶意软件检测与评估的方案并不是一蹴而就的。
为此,我们一开始采用了较为直观简洁的检测方案,随后不断尝试对方案进行改进、丰富、提效。
在系统设计的过程中,改变方案的方向不一定是正确的,因此,在制定不同方案的同时,将不同阶段的方案随时进行效果对比,分析不同方案的优劣,以寻找出一个或者几个相对最优的方案。
下面介绍了本系统设计中Android恶意软件检测与评估的不同方案。
2.1.1方案一
对软件的Android所有95个不同权限的使用情况进行机器学习分析,得到基于大量权限特征的Model进行预测。
使用Google提供的apktool对Android软件权限进行提取,分析Manifest.xml中的所有权限信息(“users-permissions”),对大量样本的所有权限使用情况进行机器学习运算,利用libsvm工具箱得出预测model,进而用model对Android软件是否为恶意软件进行检测。
2.1.2方案二
在Android所有95个不同权限中进行基于安全相关性的筛选与加权,试图提高SVMmodel的准确率。
由于apktool的反编译过程较慢,方案二采用了更为高效的AXMLPrinter作为XML分析手段。
为了进一步提高系统的分析效率,并不将所有的Android权限标签作为SVM测试集的特征项,而是从中选择了一部分,并且根据人为判断的重要性给予一定的权值。
而为了提高预测准确率,加入了特征码检测过程,该过程可以以很高的准确率识别出恶意软件。
方案二实现的过程中,我们不断对Android权限的筛选和加权情况进行优化和修改,直到使Model的准确率达到难以继续提高的数值。
2.1.3方案三
结合方案一和方案二。
在对权限进行筛选、加权的同时,依然对所有权限进行分类统计、分级统计的操作,统计出各类、各级权限的个数,并且根据设定的阈值将逻辑判断结果作为测试集特征的一部分。
方案二采用更少的特征和具有高准确性的特征码检测,而方案一的大量特征则为SVM提供了更大的样本空间。
方案三在执行类似方案二的过程同时,对95个权限标签进行统计上的分类和分级。
其中对权限的分类基于权限的不同功能,而权限的分级则是根据影响手机系统安全、用户利益的威胁大小进行。
对于不同级别、组别的软件,将根据其特征设定合适的权限个数阈值,判断此项是否超过阈值的逻辑结果作为特征附加到测试集的特征中。
2.2实现原理
2.2.1检测原理
本系统对Android恶意软件的检测主要分为基于特征代码的检测和基于权限统计分析的检测。
2.2.1.1基于特征代码的检测
特征代码检测是一种使用特征库的检测方法,本系统中的特征代码检测定义如下:
从恶意软件张提取出若干段具有唯一性、固定性的字节码(如,一段特殊代码或字符串作为该恶意软件的特征,由上述方法构建特征库,通过对未知是否恶意的软件进行字节码的特征库匹配,检测其是否为恶意软件。
基于特征代码的检测方案是现代病毒检测的核心技术之一。
但其存在以下缺点:
1)具有滞后性,无法识别未知的恶意软件
2)字节码特征容易通过加密和混淆的方式被改变,导致特征库需要频繁更新。
由于基于特征代码检测的上述特性,本系统辅以基于权限统计分析的检测方案。
2.2.1.2基于权限统计分析的检测
权限控制机制是Android系统在应用程序框架层最核心的机制。
它用于限制应用程序的访问系统的API和资源。
应用程序必须在权限以内运行,而不能访问权限外的任何资源。
Android的PackageManager在程序安装时经用户同意给应用程序安装包赋予权限,而在执行时由应用程序框架层验证权限,如果应用程序未经申请使用了受限的资源,应用程序会自动关闭。
Android定义了上百种系统权限,所涉及的功能包括:
拍照,访问网络,地理位置定位等。
这些权限可以被分为普通级、危险级、签名级和系统级。
由与Android软件所申请的权限与其软件的功能有着极大的相关性,使得对权限进行分析判断Android软件是否恶意软件成为可能。
而Android软件数以百万、千万级的庞大数量,则为使用机器学习算法对进行权限分析、建立模型提供了有利的条件。
通过对权限特征的量化,即可以使用SVM(支持向量机)分类器对大量的Android恶意软件、非恶意软件的样本的权限信息进行统计和建模,生成一个用于预测Android软件是否为恶意软件的Model。
2.2.2Android系统原理
2.2.2.1Android系统结构
Android系统架构为四层结构,从上层到下层分别是应用程序层、应用程序框架层、系统运行库层以及Linux内核层。
下图为Android系统架构图:
(1)应用程序层
Android平台不仅仅是操作系统,也包含了许多应用程序,诸如SMS短信客户端程序、电话拨号程序、图片浏览器、Web浏览器等应用程序。
这些应用程序都是用Java语言编写的,并且这些应用程序都是可以被开发人员开发的其他应用程序所替换,这点不同于其他手机操作系统固化在系统内部的系统软件,更加灵活和个性化。
(2)应用程序框架层
该层是Android应用开发的基础,开发人员大部分情况是在和她打交道。
应用程序框架层包括活动管理器、窗口管理器、内容提供者、视图系统、包管理器、电话管理器、资源管理器、位置管理器、通知管理器和XMPP服务十个部分。
在Android平台上,开发人员可以完全访问核心应用程序所使用的API框架。
并且,任何一个应用程序都可以发布自身的功能模块,而其他应用程序则可以使用这些已发布的功能模块。
基于这样的重用机制,用户就可以方便地替换平台本身的各种应用程序组件。
(3)系统库和Android运行库
系统库包括九个子系统,分别是图层管理、媒体库、SQLite、OpenGLEState、FreeType、WebKit、SGL、SSL和libc。
Android运行库包括核心库和Dalvik虚拟机,前者既兼容了大多数Java语言所需要调用的功能函数,又包括了Android的核心库,比如Android.os、A、Android.media等等。
后者是一种基于寄存器的java虚拟机,Dalvik虚拟机主要是完成对生命周期的管理、堆栈的管理、线程的管理、安全和异常的管理以及垃圾回收等重要功能。
(4)Linux内核
Android核心系统服务依赖于Linux2.6内核,如安全性、内存管理、进程管理、网络协议栈和驱动模型。
Linux内核也是作为硬件与软件栈的抽象层。
驱动:
显示驱动、摄像头驱动、键盘驱动、WiFi驱动、Audio驱动、flash内存驱动、Binder(IPC)驱动、电源管理等。
2.2.2.2APK文件及其结构
apk文件,即Androidapplicationpackage文件。
每个要安装到OPhone平台的应用都要被编译打包为一个单独的文件,后缀名为.apk,其中包含了应用的二进制代码、资源、配置文件等。
apk文件实际是一个zip压缩包,可以通
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 信息 安全 综合 设计
![提示](https://static.bdocx.com/images/bang_tan.gif)