移动终端安全关键技术与应用分析知识点汇总.docx
《移动终端安全关键技术与应用分析知识点汇总.docx》由会员分享,可在线阅读,更多相关《移动终端安全关键技术与应用分析知识点汇总.docx(36页珍藏版)》请在冰豆网上搜索。
移动终端安全关键技术与应用分析知识点汇总
背景移动终端具有隐私性、智能性、便携性、网络连通性
移动互联网行业中,与传统行业区别较大的一点就是应用商店。
应用商店是作为用户进入移动互联网的重要入口之一。
苹果AppStore首创移动应用商店模式(2008年7月)iOS系统
谷歌的应用商店AndroidMarket(后更名GooglePlay)Android系统
微软的应用商店WindowsMarketplace(后更名WindowsPhoneStore)WindowsPhone系统诺基亚的应用商店OviStoreSymbian系统
移动终端的智能性体现在四个方面:
1具备开放的操作系统平台,支持应用程序的灵活开发、安装和运行;
2具备PC级的处理能力,支持桌面互联网应用的移动化迁移;
3具备高速数据网络接入能力;
4具备丰富的人机交互界面,即在3D等未来显示技术和语音识别、图像识别等多模态交互技术的发展下,以人为
核心的更智能的交互方式。
恶意程序的传播途径:
APP下载、恶意网站访问、垃圾邮件、诱骗短信、含毒广告、彩信、外围接口等
从恶意程序的行为特征上看,恶意扣费类恶意程序数量排名第一,其次为资费消耗类、系统破坏类和隐私窃取类。
安全基础知识身份认证分为用户与主机、主机与主机之间的认证两种方式用户与主机之间的认证因素:
1用户所知道的东西
2用户拥有的东西
3用户具有的生物特征
:
密码、口令
:
USBKey印章、智能卡(信用卡)
:
指纹、声音、视网膜、签字、笔迹用户身份认证的4中主要方式:
1静态密码
2动态密码:
短信密码、动态口令牌、手机令牌
3智能卡
4数字证书静态密码的缺点
1安全性低,容易受到各种攻击
2易用性和安全性互相排斥,两者不能兼顾
3用户使用维护不方便
4风险成本高,一旦泄密可能造成非常大的损失
学习必备欢迎下载
手机令牌具有高安全性、零成本、无需携带、易于获取以及无物流等优势。
常见的数字证书有:
1服务器证书(SSL证书)
2电子邮件证书
3客户端证书
访问控制涉及的基本要素:
发起访问的主体、接受访问的客体、访问授权规则
访问控制策略的基本因素:
①访问者、②目标、③动作、④权限信任源、⑤访问规则一般的访问控制策略有3种:
1自主访问控制(DAC);
2强制访问控制(MAC);
3基于角色的访问控制(RBAC)。
Linux系统中的两种自主访问控制策略:
19位权限码(User-Group-Other);
2访问控制列表(ACL
多级安全(MultiLevelSecure,MLS)是一种强制访问控制策略。
加密是最常用的安全保密手段,两个基本要素是算法和密钥,从使用密钥策略商,可分为对称密码体制和非对称密
码体制。
对称密码体制包括分组密码和序列密码,典型加密算法有DES3DESAESIDEARC4A5和SEAL等
对称密码体制的优点:
对称密码体制的缺点:
1加密和解密速度都比较快①密钥分发需要安全通道
2对称密码体制中使用的密码相对较短②密钥量大,难以管理
3密文长度往往与明文长度相同③难以解决不可否认的问题
非对称密码体制是为了解决对称密码体制的缺陷而提出的:
密钥分发管理、不可否认。
典型的非对称密码体制有RSAECCRabin、Elgamal、NTRU。
非对称密码体制的优点:
非对称密码体制的缺点:
1密钥分发相对容易①同对称密码体制比,加/解密速度较慢
2密钥管理简单②同等安全强度下,非对称密码体制的密钥位数较多
3可以有效地实现数字签名③密文的长度往往大于明文的长度
软件分析技术
1静态分析技术:
词法分析、语法分析、抽象语法树分析、语义分析、控制流分析、数据流分析、污点分析
2动态分析技术:
动态执行监控、符号执行、动态污点传播分析、Fuzz分析方法、沙箱技术
静态分析的特点:
1不实际执行程序
2执行速度快、效率高
3误报率较高
动态分析的特点
1程序必须运行
2人工干预
3准确率高但效率较低
软件保护技术
1代码混淆技术:
(1)词法转换
(2)流程转换
(3)数据转换:
静态数据动态生成、数组结构转换、类继承转换、数据存储空间转换
2软件加壳:
压缩壳、保护壳;加壳技术:
花指令、代码混淆、加密与压缩
3反破解技术:
(1)对抗反编译
(2)对抗静态分析:
混淆、加壳(3)对抗动态调试:
动态调试检测(4)防止重编译:
检查签名、校验保护
移动终端安全体系架构
硬件体系结构
1945年,冯*诺依曼首先提出了“存储程序”概念和二进制原理,后来人们把利用这种概念和原理设计的电子计算机系统统称为“冯*诺依曼结构”也称为“普林斯顿结构”
X86、ARM7、MIPS处理器都采用了“冯*诺依曼结构”
PC端X86处理器使用了复杂指令集;ARM处理器使用了精简指令集。
ARMTrustZone是ARM针对消费电子设备安全所提出的一种架构,是保证手机安全的基础,支持SIM锁、DRM(数
字版权保护)和支付安全服务。
操作系统体系结构
从做系统从结构上都可以分为用户模式和内核模式,一般进程是处于用户态(UserMode)
一个标准的智能终端操作系统需要具备的功能:
1进程管理(ProcessingManagement
2内存管理(MemoryManagement)
3文件系统(FileSystem)
4网络通信(Networking)
5安全机制(Security)
6用户界面(UserInterface)
7驱动程序(DeviceDrivers)
操作系统信息安全机制两大理念:
1操作系统提供外界直接或间接访问数种资源的管道;
2操作系统有能力认证资源访问的请求:
内部来源的请求和外部来源的请求。
移动终端的安全特性
Android操作系统的安全特性,采用安全沙箱模型隔离每个应用程序和资源。
Android的Linux内核控制包括安全、存储管理器、程序管理器、网络堆栈、驱动程序模型等。
Android的安全特性
1继承自Linux的安全机制:
(1)用户ID(UID)
(2)Root权限
2Android特有的安全特性:
(1)沙箱技术。
沙箱中使用DVM运行由JAVA语言编译生成的Dalvik指令;
(2)Androi内核层安全机制:
强制访问控制、自主访问控制
(3)Android的权限检查机制:
应用程序以XML文件形式申请对受限资源的使用。
(4)Android的数字签名机制
(5)内核通信机制
Android权限机制的缺陷
1权限一经授予应用程序,则在该应用程序生命期间都将有效,用户无法剥夺权限。
2权限机制缺乏灵活性,要么全部批准应用程序的全部权限申请,要么拒绝程序安装;
3权限机制安全性不够,不能阻止恶意软件通过JNI技术直接调用C库,从而获取系统服务。
Android不会安装一个没有数字证书的应用程序。
Binder提供了轻量级的Android远程方法调用机制。
Android系统中的4中组件
1Activity(活动),一个界面,保持独立的界面。
2Service(服务),运行在后台的功能模块。
3ContentProvider(内容提供者),应用程序间数据共享的一种标准接口,以类似URI的方式来表示数据。
4BroadcastReceived广播接收器),专注于接收系统或其他应用程序的广播通知信息,并做出对应处理的组件。
广播接收器没有用户界面,可以启动一个Activity来响应他们接收到的信息,或者用NotificationManager来通
知用户。
广播接收器提供了一种把Intent作为一个消息广播出去,由所有对其感兴趣的程序对其作出反应的机制。
Intent是一个对动作和行为的抽象描述,负责组件之间程序之间进行消息传递。
Android中进程间通信的终点称为通信端点。
按照IPC的通信端点划分,Service运行在后台,提供了调用Binder的接口,调用者可以绑定服务,并通过服务暴露出的方法使用Serviceo内容提供者为设备中应用提供数据内容,广播
接收器处理其他组件或是系统发出的广播消息,Activity是个可视组件,可以被自己或其他应用调用。
iOS操作系统的安全特性
1系统可信启动:
iOS的核心安全是基于它的启动;目前大部分"越狱"技术都是以这条启动链为攻击目标,最致命
的是对Bootrom的攻击。
Bootrom是这条启动信任链的根,对它成功攻击将导致后续的安全机制失效。
2沙箱技术:
iOS通过沙箱来实现访问控制。
沙箱由用于初始化和配置沙箱的用户控件库函数、服务器和内核扩展构成。
3地址空间布局随机化策略(ALSR:
一种针对缓冲区溢出的安全保护技术。
4数据保护机制:
(1)硬件加密、
(2)软件加密、(3)程序签名机制、(4)密钥链和数据保护
加密手机的通信加密技术是搭载了加密算法的手机终端。
CDMA技术在安全保密方面的三道屏障:
①扩频技术、②伪随机码技术、③快速功率控制专用技术手机卡与芯片安全
SIM(客户识别模块)卡是带有微处理器的智能芯片卡,在GSM中,SIM作为唯一确认用户身份的设备。
SIM一般由CPUROM、RAM、EPROM/E2PROM(数据存储器)、串行通信单元等模块组成。
ROM用于存放系统程序,用户不可操作;RAM用于存放系统临时信息,用户不可操作;
2
EPROM/EPROM用于存放号码短信等数据和程序,可擦写。
SIM卡最早由IC卡发展而来。
标准SIM卡的尺寸为25X15mm,容量1~3kB;MicroSIM卡的尺寸为12X15mm;Nano
SIM卡的尺寸为12X9mm。
学习必备欢迎下载
SIM卡是一个软件和硬件组合的产品,软件上遵循GSM11.11、GSM11.14标准,硬件上遵循ISO/IEC7816等标准。
SIM卡具有系统、文件、业务三层结构。
SIM卡的关键数据:
1ICCID:
集成电路卡识别码,固化在SIM卡中,是IC卡的唯一识别号码,由20位数字组成;
2IMSI:
国际移动用户识别号,区别移动用户的标识,总长度不超过15位;
3Ki:
用户鉴权密钥,相当于SIM卡登录网络的密码,随机生成,加密存储;
4PIN:
个人身份码,SIM开的个人识别密码,4到8位十进制数字组成,缺省为关闭状态;
5PUK:
PIN码解锁码,8位十进制随机数,客户不可自行修改。
SIM卡的安全功能主要有:
鉴权和密钥生成、数据加密、文件访问控制:
1SIM卡访问控制:
PIN输入错误3次后,SIM卡自动锁定;PUK码输入输入10次错误后,SIM卡自动销毁失效。
2SIM入网认证鉴权:
IMSI和Ki会在生产过程中写入SIM卡,并送入GSM网络单元AuC鉴权中心。
鉴权过程:
AuC发出随机数给SIM卡计算响应数,并将SIM计算的响应数与自己计算的响应参数比对,判断SIM卡是否合法。
3用户数据加密:
防止窃听,使用A5算法和密钥Kc来加密传输的数据。
GSM网络登录步骤
1.手机开机;
2.从SIM卡中读取IMSI(15个数字)和TMSI(4字节);
3.手机登录网络时,将会IMSI(首次发送)或TMSI发给网络;
4.网络判断到该IMSI或TMSI有效,要生成一个128bit的RAND,然后发给手机;
5.手机收到RAND后,将RAND发给SIM卡;
6.SIM以里面的KI为密钥对RAND进行A3、A8运算,生成(SRES+K;
7.手机读取(SRES+Kc)(32bit+64bit)并将SRES发给网络;
8.
网络自己进行一次A3、A8运算,如果结果与手机返回的SRE湘同,则认为该用户合法。
手机终端的安全风险
1垃圾短信、骚扰电话
2隐私数据泄密和SIM卡信息的复制
3手机病毒
SIM卡复制卡的一个很重要安全风险是短信和来电劫持,两张相同的SIM卡同时使用,电话和短信会流入先和基站
建立连接的那张卡的手机。
攻击者复制SIM卡是通过一定手段获取SIM卡关键机密信息Ki、IMSI和ICCID,然后写入一张空白卡。
SIM卡复制的危害:
卡主可能面临通话被窃听、短信被截获、电话被盗打、被利用散播广告或开展电话诈骗等。
SIM卡的防复制原理:
依据攻击随机数的关联性,设计鉴权随机数分析方法,实现SIM卡防复制功能
1第一代SIM卡防复制技术:
基于内置随机因子的鉴权随机数检测方案;
SIM单独开辟存储空间,存储50个鉴权随机数,将接收的随机数依次比对,有5个
或5个以上对应字节相同则认为是攻击;如果16位全部相同,则认为是网络侧数据
重发,而非攻击。
安全性:
(1)攻击者需要每次至少变化6个字节的随机数,增大了攻击难度;
(2)随机数加扰,无法获知选取方式使得攻击者无法绕开存储的随机数检测。
2第二代SIM开防复制技术:
(1)具备依据鉴权随机数性质,判断攻击模式;
(2)能执行防攻击流程,输出错误结果抵抗攻击;
(3)对攻击次数进行记录,并累计一定次数后锁定SIM卡;
(4)锁定SIM卡后不能执行正确鉴权,必须解锁后才能正常使用。
(5)优点:
支持在GSM、TD网络等移动终端上使用,处理时间要求小于1000ms
能在255次攻击性鉴权内有效识别攻击,并执行锁定。
SIM卡复制的综合防治方案
1卡片生产环节:
敏感数据的安全管理,杜绝人为泄密;
2卡片(数据)运输环节:
实体SIM卡通过物流公司运送,SIM卡数据通过运营商专业系统提交。
3发卡放号环节:
采用新技术防止新技术发卡渠道发生数据泄密;
4SIM卡使用环节:
引导用户使用SIM卡开机密码、培养良好的手机使用习惯,
5SIM卡复制后的监控
三种加强SIM卡防复制能力的办法
1在现有Comp128V1的算法和鉴权机制上通过增加更复杂的逻辑进行防御,改动小,成本低,仍有风险;
2从根本上对2G的SIM卡鉴权算法进行升级,可采用Comp128V2、MillenageFor2G;
3增加后台系统支撑技术进行共同防御。
SIM卡的安全机制
SIM卡的安全机制分为内部存储数据的加密方式、用户入网鉴权方式等。
SIM卡的数据加密:
SIM卡通过数据加密保护用户的个人数据和认证鉴权密钥等关键数据。
SIM卡内保存的数据可以归纳为以下五种类型:
(1)由SIM卡生产厂商存入永久无法更改的系统原始数据。
存放在根目录。
(2)由GSM网络运营部门或者其他经营部门在将卡发放给用户时注入的网络参数和用户数据。
包括:
*鉴权和加密信息Ki(Kc算法输入参数之一:
密匙号);
*国际移动用户号(IMSI);
*A3:
IMSI认证算法;
*A5:
加密密匙生成算法;
*A8:
密匙(Kc)生成前,用户密匙(Kc)生成算法;
(3)由用户自己存入的数据。
比如短消息、固定拨号,缩位拨号,性能参数,话费记数等。
(4)用户在用卡过程中自动存入和更新的网络接续和用户信息类数据。
包括最近一次位置登记时的手机所在位置
区识别号(LAI),设置的周期性位置更新间隔时间,临时移动用户号(TMSI)等。
(5)相关的业务代码,如个人识别码(PIN)、解锁码(PUK)等。
学习必备欢迎下载
SIM卡上的每种数据都存在各自的目录里,每个目录和文件都有自己的ID,叫做FID。
手机上的“计费”功能需要PIN2码的支持。
A3、A8算法是在生产SIM卡的同时写入的。
SIM卡通过身份鉴权保护网络,用户的网络鉴权是通过鉴权中心AuC完成的。
GSM系统中的通信加密也只是指无线路径上的加密,指基站收发台BTS和移动台MS之间交换客户信息和客户参数时不被非法个人或团体所得或监听。
是否加密有系统决定,产生加密码的算法称为A5算法,利用64bit的Kc和22位的帧号码生成114位的加密序列来和114位的数据信息为进行异或操作,从而达到传输信息的加密。
SIM卡的安全芯片
安全芯片的优点是数据存储采取只能输入不能输出的存储方式。
智能卡芯片的安全特性主要由3部分保证:
硬件、操作系统和应用。
智能芯片支持应用的安全机制包括数据的机密性、完整性和数据鉴权,同时还要借助非密码技术的流程保护、如密
钥管理、程序测试与验证等,以确保卡片各方面的安全性。
安全性偏操作系统(COS的安全模块分散在COS的各模块中,包括最底层的加密算法实现、COS安全服务和上层应用安全操作等。
安全策略器+对象管理器+终端
COS的安全措施
1身份认证:
内部认证,终端对智能卡,失败不改变COS安全状态;外部认证,智能卡对终端,失败计数减1,归
零锁定密钥。
2安全报文传输:
对明文信息加密保证信息的机密性,用消息认证码来保证信息的完整性与实体的有效性;
3用户鉴别:
使用PIN或CHV(持卡人认证)来辨别合法的持卡人;
4数据存储条件机制与多应用管理:
COS内部文件文件描述块(文件头)包含文件安全属性,含有文件被操作前后
的安全特征。
5密钥管理:
密钥的产生、分发、存储、备份更新、销毁全过程管理
USIM卡的安全机制
USIM,通用用户识别模块,用于UMTS3G网络,是驻留在集成电路卡(UICC中的应用。
USIM卡中的文件系统安全
USIM卡中的文件主要包括MF、EF、DF,文件结构与SIM卡的最大区别是引入了ADF(文件分区)概念。
为了实现对卡内应用文件的保护,使用了两种安全措施:
1PIN码管理:
USIM卡内每个ADF下有8个应用PIN和通用密钥索引;
PIN码的管理状态:
PIN输入状态、PIN未输入或输入错误状态、PIN锁住状态
两个计数器:
PIN计数器、解锁计数器
2访问控制:
文件访问条件被定义成5个等级:
(1)ALW(总是),无限制访问
(2)PIN1(个人鉴别码1),只有提供了有效的PIN1才能访问
(3)PIN2(个人鉴别码2),只有提供了有效的PIN2才能访问
(4)ADM(可管理的),有适当的管理部门决定访问权限
学习必备欢迎下载
(5)NEV(永不),文件禁止访问。
在USIM卡中除了SELECT选择文件)、STATUS(获取目录相关信息)、GETRESPONSE获取相应数据)夕卜,其它访问文件指令都需要授权。
USIM卡的双向认证和密钥协商
认证和密钥协商(AKA)是电信智能卡最重要的功能。
1
基于USIM卡的AKA协议
VerifyMAC!
=^MAC
Venfythat9QNisuiilie
USIM卡鉴权五元组:
RANDCKIK、XRESAUTN
②认证和密钥算法:
AKA算法为非标算法,可自定义;3GPP参考fl、f1*、f2、f3、f4、f5、f5*算法。
Java卡的安全机制
1防火墙机制和对象共享机制
2垃圾回收机制
3事务管理机制:
保持操作原子性
4Java卡安全性的其它方面:
(1)编译时间检查、
(2)类文件的证实和子集检查、(3)CAP文件和输出文件验证
(4)安装检查、(5)使用密码加强信任链、(6)密码支持
目前基于EAP认证协议的EAP-SIM卡广泛应用于2GGSM卡用户接入WLAN网络。
EAP-SIM使用的认证数据来源与其它认证协议不同,使用了SINM卡中存储的用户数据和原始认证信息来认证用户。
EAP-AKA适用于3G网络USIM的认证;EAP-SIM适用于2GGSM网络SIM的认证。
EAP-SIM认证标准是RFC4186;EAP-AKA认证标准是RFC418Z
802.1X是一种基于端口的访问控制协议,能够实现对局域网设备的安全认证和授权。
IEEE802.1X的体系结构包括:
客户端(请求者)、认证系统(认证者)、认证服务器。
802.1X用EAP协议来完成认证,EAP本身是一个通用架构用来传输实际的认证协议。
终端可信计算芯片集成了可信计算模块(TPM)。
TPM是可信计算技术的核心,以TPM为信任根,TCG的信任机制是通过可信度量(TM)、可信报告(TR)、和可信存储(TS)来实现的。
终端可信计算芯片内置算法引擎包括:
RSAAESSHA-1;ECCSHA256将在后续版本支持。
可信计算终端与传统保护方案的区别
1传统安全保护基本上以软件为基础并附于密钥技术,并不可靠;
2可信计算在底层进行更高级别的防护,通过可信赖的硬件对软件层进行保护;
3在硬件层执行保护能够获得独立于软件环境的安全防护;
4通过系统硬件执行相对基础和底层的安全功能,可以保证软件层的非法访问和恶意操作无法完成。
可信计算的实际应用
1信息加密保护:
IBM第一个利用可信计算,嵌入式安全子系统;
2操作系统安全:
Vista安全启动特性是Windows系统所应用的第一个基于硬件的解决方案;
3网络保护:
3COM集成了嵌入式防火墙的网卡产品,硬件VPN功能;
4安全管理:
intel主动管理技术(AMT)
移动终端操作系统安全
Android权限机制缺陷
1安装权限申请不能动态修改。
要么全部接受,要么拒绝安装;
2权限描述不清楚。
3可以不显示权限申请界面。
通过adbinstall命令安装,或者从GooglePlay下载的应用安装。
操作系统的定制开发隐患
1手机厂商在定制过程中对基础系统的本身的漏洞修补能力参差不齐;
2定制过程中由于技术能力的差别,可能引入新的安全隐患或者在利益驱使下集成预装恶意软件移动终端系统的越狱问题智能终端操作系统的Root权限被滥用问题是智能终端安全的最大问题。
iOS越狱后可实现的功能:
自启动运行、获取联系人、获取短信和通话记录、破解邮件和网络密码、无需授权GPS
后台追踪、通话和短信拦截、后台录音。
根据来源的不同,Android系统的应用软件可以分为内置应用和第三方应用。
由于Android系统的机制,所有应用程序均运行在虚拟机中,除了必备的功能集成在操作系统中之外,所有应用都
运行在一个独立的虚拟机中。
即使是系统应用也运行在一个虚拟机中,只是应用声明的权限不同。
内置应用通常指手机出厂时就固化在操作系统ROM中的应用,一般为手机必备功能,如通话、照相、时钟、网页
浏览、系统设置等。
开发者利用SDK开发Android应用软件。
安卓市场的排名指标:
总安装/总下载、评分/5、留存安装/总安装。
安卓市场的审核机制:
1软件运行:
经实测可正常运行,不带恶意行为,必须基于平台原生开发;
2软件功能及内容:
基本功能及常规设置正常,不得违反法律法规和平台市场规则的软件;
3软件名称:
项目名称与软件名称一致,不得包含无关热门词语及过长的宣传语;
4软件描述:
准确描述软件相关信息及功能,不得包含无关内容和宣传广告;
5软件其它信息:
语言类别和分类信息应与实际相符合;
6软件截图:
截图不少于三张,个别小部件允许两张,无界面程序允许无截图;超过5M的游戏提供3到5张截图;
至少一张展示程序运行的画面;截图不得带竞品工具标识。
7批量上传:
不允许同一款应用批量上传。
Android的安全机制