基于WAP PUSH的OTA系统研究

 2021-12-06 17:26:45

论文总字数:39095字

摘 要

WAP(Wireless Application Protocol,无线应用协议)是一系列向移动终端提供互联网内容以及增值服务的协议标准,即简化了的无线互联网协议。WAP提供pull(拉)和push(推)两种访问方式,其中push是由服务器主动将内容发往客户端的技术。WAP PUSH消息,即推送消息,是一种特殊格式的短信,被广泛应用于智能手机中。同时,随着智能手机的普及,越来越多的漏洞被发现,基于WAP PUSH技术的手机安全问题也开始引起广泛关注。

本文的主要工作如下:

1. 研究了相关理论知识,包括WAP的概念、WAP PUSH架构、GSM协议栈、短信的发送流程、PDU编码规范以及SQL注入的概念,学习了OpenBTS开源软件。

2. 设计并实现了基于WAP PUSH的智能手机安全性检测系统,系统主要包括两个子模块:(1)数据注入模块:该模块利用软件无线电平台和OpenBTS开源软件,在真实的GSM网络环境下实现了基站侧的功能;它从网络上接收PDU数据包并以短消息承载的方式通过空中链路发往待测设备。(2)WAP PUSH PDU生成模块:根据GSM无线链路协议标准,构造出基于短消息服务的PDU测试用例;根据WAP PUSH协议及其数据编码规范,构造WAP PUSH PDU,其组成为“SMS头部 WDP头部 WSP头部 WBXML”。

3. 利用该系统进行测试,发现了待测手机均支持接收与解析WAP PUSH消息的功能,然而不同型号的手机对WAP PUSH消息的解析不尽相同,所以手机展示出的交互效果也略有差异。

4. 验证了Android 的源代码WapPushManager.java中存在SQL注入漏洞。攻击者可以通过构造恶意SQL语句,将其嵌入到WAP PUSH PDU中,发往智能手机,最终可以达到启动指定的Activity或者Service的效果。此漏洞的影响范围包括所有低于Android 4.2.0版本的系统。

关键词:WAP协议,WAP PUSH架构,OpenBTS,SMS PDU,SQL注入

A SMARTPHONE SECURITY DETECTION SYSTEM BASED ON WAP PUSH

ABSTRACT

WAP (Wireless Application Protocol) is a series of protocols and standards which provides Internet content and value-added services to mobile terminals. It acts like a simplified wireless Internet protocol. There are two access methods in WAP: PULL and PUSH. PULL is originated by the client while PUSH is initiated by the server. WAP PUSH message, a specified short message, is widely applied in smartphones. Meanwhile, with the popularity of the smartphones, there are more and more vulnerabilities being detected and the security problems of smartphones based on WAP PUSH has aroused wide concern.

The main work of this paper is as follows:

1. Study the related theoretical knowledge which includes the concept of WAP, the architecture of WAP PUSH, GSM protocol stacks, the process of sending short messages, coding criterion of PDU and the concept of SQL injection.

2. Design and implement the smartphone security detection system based on WAP PUSH. The system consists of two main modules: (1) Data injection module. Utilizing the software radio platform and OpenBTS open source software, this module is able to realize the function of the base station in real GSM environment. It receives PDU packets from the Internet and sends them to the smartphones over the air based on GSM-SMS bear. (2) WAP PUSH PDU creation module. The SMS PDU is created according to GSM wireless link protocols and standards. Besides, the WAP PUSH PDU is created according to WAP PUSH protocols and data coding rules. The WAP PUSH PDU is constituted as follows: SMS header WDP header WSP header WBXML.

3. Utilize the system, and find that all these smartphones are able to receive and parse the WAP PUSH message. Meanwhile, the interactivity with users is different as there exists a difference during the process of parsing the message.

4. Verify the existence of the SQL injection vulnerability in WapPushManager.java, Android system. The attacker can activate the specified Activity or Service in Android smartphones remotely by sending the WAP PUSH PDU, which contains the malicious SQL command. The smartphones under the Android OS 4.2.0 are affected by the vulnerability.

Key words: WAP protocol, WAP PUSH architecture, OpenBTS, SMS PDU, SQL injection

目录

摘 要 I

ABSTRACT III

目录 V

第一章 绪论 1

1.1 引言 1

1.2 发展与现状 1

1.3 本文工作 2

1.4 论文结构 3

第二章 相关理论和协议概述 5

2.1 WAP技术 5

2.1.1 WAP协议栈 5

2.1.2 WAP系统模型 6

2.2 WAP PUSH概念及架构 6

2.2.1 WAP PUSH基本概念 7

2.2.2 WAP PUSH架构 7

2.2.3 服务指示和服务加载 9

2.2.4 WAP PUSH的实现方式 9

2.3 OpenBTS开源项目 10

2.4 SQL注入 10

2.4.1 SQL注入概念 10

2.4.2 注入过程 11

2.4.3 实现方式 11

2.4.4 手机中的SQL注入现状 11

第三章 基于WAP PUSH的安全性检测系统的设计 13

3.1 总体设计 13

3.1.1 设计目标 13

3.1.2 系统架构 13

3.1.3 系统环境 14

3.2 数据注入模块 14

3.2.1 硬件平台-软件无线电平台 15

3.2.2 软件平台-基站协议栈软件模块 16

3.3 WAP PUSH PDU生成模块 19

3.3.1 SMS PDU 19

3.3.2 WAP PUSH PDU 23

第四章 系统测试及漏洞发现 29

4.1 测试概述 29

4.1.1 测试环境 29

4.1.2 待测设备 30

4.1.3 测试内容 31

4.2 SMS测试 31

4.3 WAP PUSH测试 32

4.2.1 SI(服务指示) 32

4.3.2 SL(服务加载) 33

4.3.3 分析和总结 35

4.4 SQL注入测试 36

4.4.1 畸形PDU的构造 36

4.4.2 测试结果 36

4.4.3 漏洞分析 37

第五章 总结与展望 41

参考文献 43

致谢 45

第一章 绪论

1.1 引言

随着移动通信技术的迅猛发展,智能移动终端如智能手机、平板电脑等产品普及率越来越高,这些产品为我们带来越来越多便捷和快乐的同时,由于其本身的开放性、灵活性,以及广泛应用,安全问题也日益凸显。在360互联网安全中心发布的《2013年中国手机安全状况报告》中[1],研究团队针对较为流行的9个品牌18款典型型号的手机进行漏洞测试,结果显示,国产手机漏洞数量通常介于10个到20个之间,少数国际品牌的某些手机型号中,检测出存在20个至30个安全漏洞。后台消息、签名漏洞、短信欺诈和后台电话这四类漏洞几乎存在于所有手机中,其中后台消息和短信欺诈漏洞的检出数量分别高达70个和57个。不同于个人电脑上的安全漏洞,手机的安全漏洞存在普遍化、定制化和修复周期长等特点。如今,手机系统的安全漏洞已经成为手机安全的最大威胁。

对于出现频率极高的短信诈骗漏洞,我们注意到诈骗短信中存在一种特殊的短信:推送消息,即WAP PUSH消息,这种消息现今仍被广泛使用,例如各大企业利用发送这种推送消息来进行针对性的促销、广告宣传,强制性用户接收,其中不乏大量的垃圾信息和诈骗信息。即使如此,绝大多数智能手机却一直保留着接收和解析WAP PUSH消息的功能。

而近年来,陆续发现了很多关于WAP PUSH消息的漏洞,如CVE-2006-4132[2]、CVE-2007-5493[3]、CVE-2009-0396[4]、CVE-2009-2999[5]以及CVE-2014-8507[6]等。

由此可见,WAP PUSH消息的安全问题面临着很大的挑战。本文针对上述问题,设计了一套基于WAP PUSH的测试系统,向智能手机发送不同的消息进行检测分析,发现了SQL注入漏洞,帮助我们认识到手机安全所存在的问题,对于接下来提高智能手机的安全性有着重大意义。

1.2 发展与现状

WAP技术出现在1997年。它的产生融合了当时飞速发展的两种网络技术:无线数据传输技术和Internet技术。随着无线数据和Internet业务的迅速增长,新用户不断增多,新兴信息业务不断发展。然而,当时为了开发Internet应用而出现的绝大多数技术都只适用于PC端,即基于可靠的数据网络,采用中等以上的带宽。相比而言,市场规模巨大的手持无线设备受到内存小、屏幕小、功耗小等限制,而且无线网络与有线网络相比又具有带宽窄、延迟高、稳定性差等特点,它们的应用环境了受到较多的限制。为了解决移动终端的上网需求,以Motorola、Nokia、Ericsson和Phone.com等公司联合成立的WAP论坛(现在名叫OMA-Open Mobile Alliance[7])提出了WAP技术,提供了一个全球性的开放的技术规范,以便开发出适用于各种无线通信网络的应用程序及业务。

其中,WAP PUSH技术是一种基于C/S机制(客户服务器机制),由服务器主动地将信息发往客户端的技术。相比于传统的拉技术(PULL),两者最为主要的区别在于前者是不需要客户端进行任何操作而由服务器主动发送信息,而后者则需要由客户机主动请求信息。WAP PUSH消息将某个链接发送到手机上并以短信的形式与用户交互,用户只需要阅读该短信(推送消息),打开其中的链接。该技术既有服务端主动发送的特点,又可使用户及时接收信息,有着良好的应用前景;省去了用户在手机上输入网址的不方便,直接指引用户到指定的网页;适合用来做针对性的促销、广告宣传,强制性用户接收。

然而,推送技术同时也存在着一些亟待解决的问题,如:垃圾短信与短信诈骗的避免、信息的鉴权与认证以及信息的准确性问题等,因此,解决好这些问题将是推送技术成功的关键[8]

国内从2009年起,运营商们开始逐渐限制各个SP商的PUSH信息群发,但仍有部分地区可以通过短信网关发送WAP PUSH消息,并且如今绝大多数智能手机仍然保留着对WAP PUSH消息的解析功能。因此,出现了越来越多的利用安卓手机解析WAP PUSH消息的相关代码的漏洞。

1.3 本文工作

本文以WAP PUSH为切入点,研究了WAP协议族、WAP PUSH相关概念、SMS PDU编码规范以及OpenBTS开源项目,利用实验室已有的软件无线电平台,设计了基于WAP PUSH的智能手机安全性检测系统,并对系统进行测试,构造多种PDU数据包发送至向不同型号的手机以检测其安全性。通过测试,验证了安卓手机中关于解析WAP PUSH消息的相关代码存在SQL注入漏洞。本文主要工作包括:

1. 学习和研究相关理论知识,包括WAP协议族、WAP PUSH架构、GSM协议下短信的发送、软件无线电平台、基站端软件实现方式以及SQL注入的概念等。

剩余内容已隐藏,请支付后下载全文,论文总字数:39095字

相关图片展示:

您需要先支付 80元 才能查看全部内容!立即支付

该课题毕业论文、开题报告、外文翻译、程序设计、图纸设计等资料可联系客服协助查找;