一种彩信协议漏洞挖掘方法及其系统的制作方法

文档序号:7927409阅读:102来源:国知局
专利名称:一种彩信协议漏洞挖掘方法及其系统的制作方法
技术领域
本发明涉及一种协议漏洞挖掘方法及其系统,尤其涉及一种彩信协议漏洞挖掘方法及 其系统,属于软件工程技术领域。
背景技术
智能手机已成为现代朴会普及的个人电子用品,根据研究预测,智能手机市场将在今 后的几年里继续保持增长势头,全球出货量将从2006年的8050万部增长到2009年的1.25 亿部,届时智能手机将增长至占全球手机市场份额的16%;另一方面,智能手机功能逐步 增强,现在已能进行上网、视频点播、股票交易、电子会议及文档处理等复杂应用。然而 与之而来的是手机安全问题日趋严重。目前手机恶意代码数量己经达到1000多种,特别 是近两年来手机病毒的增长速度几乎是PC病毒的10倍。尤为严重的是,越来越多的手机 病毒开始利用手机平台漏洞进行攻击,造成了更大的破坏和影响。目前大部分用户对于手 机安全问题并不敏感,许多厂商对于手机的安全防护问题也较为忽视,这些都为恶意攻击 者提供了便利。由于手机的特殊性,安装漏洞补丁升级困难, 一旦某个安全漏洞被非法利 用,面对如此巨大的用户群,造成的经济损失无法估计。
鉴于手机安全漏洞威胁的严重性,越来越多的安全研究机构开始针对智能手机平台进 行漏洞挖掘。然而智能手机平台与PC平台有着很多不同,这也给漏洞挖掘技术提出了很 多限制。特别是在针对智能手机平台的彩信服务进行测试的过程中,安全研究人员会遇到 许多问题,这都给彩信漏洞挖掘技术的实现提出了更高要求。
首先,智能手机的硬件处理能力远远逊于PC,这对运行在手机平台上的软件提出了更 高的要求。基于同样时间复杂度的算法,在PC上可能可以很快完成运算,而在手机平台 上却需要很长时间才能得到执行结果。因此许多PC平台下的漏洞挖掘分析工具很难移植 到手机平台下,例如IDAPro等,这也对漏洞挖掘技术提出了很多限制。
其次,虽然智能手机操作系统的开放性不断得到增强,然而还是与计算机平台有很大 差距。受到传统手机平台封闭性的影响,目前多种智能手机操作系统平台下的相关开发工 具以及技术支持文档都还处于授权保护状态,只有通过安全授权的手机软件开发厂商或研 究机构才能得到完整的技术资料和更全功能的开发平台。因此,安全测试人员无法了解彩信服务的具体实现细节,这也增大了智能手机彩信安全研究的难度。
另外,PC平台一般运行在开放的TCP/IP网络上,十分便于进行安全漏洞测试,而智 能手机的彩信服务网络主要是基于移动的通信系统,这是一个封闭的网络系统,彩信服务 网关、彩信服务器均位于运营商的内部网络中,无法用来进行测试,无法通过该网络搭建 手机平台下的测试环境。最后,实际发送彩信的价格较为高昂,在进行彩信漏洞挖掘的过 程中往往难以承担彩信发送的费用,在经济上不划算。

发明内容
本发明的目的是设计一种实际有效的彩信协议漏洞挖掘技术,搭建一套模拟的彩信收 发环境,解决目前在采用彩信协议的目标设备上进行安全脆弱性分析的难点和问题,从而 对采用彩信协议的目标设备下的彩信服务进行漏洞挖掘,尤其是智能手机平台的彩信协议 的漏洞测试和挖掘。
本发明的技术方案为
一种彩信协议漏洞挖掘方法,其步骤为-
1) 根据彩信消息的待测脆弱点构造畸形数据包;
2) 将所构造的畸形数据包发送到采用彩信协议的目标设备;
3) 判断所发送的畸形数据包是否引起该目标设备出现异常响应;
4) 根据引发该目标设备出现异常响应的畸形数据包确定该目标设备的彩信协议漏洞。
所述彩信消息包括彩信通知消息和彩信内容消息;所述彩信通知消息的待测脆弱点包 括X-Mms-Transaction-ID、 X-Mms-Content-Location、 From、 Subject;所述彩信内容消息 的待测脆弱点包括X-Mms-Transaction-ID 、 X-Mms-Content-Location 、 From、 Subject 、 Content-Type 、 To、 Cc、 Bcc、 Message陽ID、 Content-ID 、 ContentLocation。
所述彩信消息中字段的数据类型包括整数类型和字符串类型。
所述畸形数据包包括但不限于下列数据包的一种或几种类型整数溢出类型畸形数据 包、超长字符串溢出类型畸形数据包、特殊字符异常类型畸形数据包、格式化字符串类型 畸形数据包。
所述方法中,对于所述彩信通知消息,将所构造的畸形数据包发送到所述目标设备的 方法为模拟短消息服务中心利用彩信通知消息Fuzzing测试工具向该目标设备发送彩信 通知,该目标设备的tmail.exe通过SMS监听彩信通知消息,同时在UDP的2948端口监听彩信通知消息。
所述方法中,对于所述彩信内容消息,将所构造的畸形数据包发送到所述目标设备的 方法为
1 )将所述畸形数据包保存到模拟多媒体信息中心的指定目录中;
2) 模拟短消息中心构造相应的彩信通知消息,通过UDP/ WAP PUSH将彩信通知发 送给所述目标设备;
3) 该目标设备根据彩信通知中的彩信内容所在服务器地址构造相应的WSP/WTP GET请求,并发送到所设定模拟WAP网关中;
4 )模拟WAP网关将WSP/WTP GET请求转换成HTTP GET请求,并发送到其中所
指定的模拟多媒体信息服务中心; 5)模拟多媒体信息服务中心根据该GET请求,将所述畸形彩信内容发送回该目标设备。
所述异常响应包括发送新的彩信通知消息时因得不到目标设备的应答而超时、目标设 备屏幕上显示出错信息或目标设备无法响应用户的操作;所述确定该目标设备的彩信协议 漏洞包括确定该目标设备的彩信协议漏洞类型、位置、成因和严重程度。
一种彩信协议漏洞挖掘系统,包括WAP网关、模拟多媒体信息服务中心、MMS消息 产生器、釆用彩信协议的目标设备、模拟短消息服务中心;其连接关系为所述模拟多媒 体信息中心通过局域网与所述WAP网关连接;所述采用彩信协议的目标设备通过局域网 与所述模拟多媒体信息中心、WAP网关以及模拟短信息服务中心连接;
所述WAP网关负责将采用彩信协议的目标设备的WAP请求转换成HTTP请求,并将 该请求发送到其中指定的模拟多媒体信息服务中心;
所述模拟多媒体信息服务中心用于模拟真实的彩信服务网络中多媒体消息服务器功
能;
所述MMS消息产生器用来产生用于彩信内容消息测试的畸形数据包,并将测试数据包 发送到所述模拟多媒体信息中心上运行的HTTP服务器的指定目录;
所述采用彩信协议的目标设备配置彩信收发设置,将WAP网关设置为测试环境中的模 拟WAP网关地址,同时将服务器地址也设置为测试环境中的模拟多媒体信息服务中心的地址;
所述模拟短消息服务中心用于产生彩信通知消息测试中使用的畸形数据包或彩信通知 消息。
所述模拟多媒体信息服务中心所在的服务器为Apache HTTP服务器,其中所述Apache HTTP服务器添加有MIME类型,用于支持mms扩展名的类型文件;所述MMS消息产生 器为基于MMSLib实现的MMS消息产生器。
所述畸形数据包包括但不限于下列数据包的一种或几种类型整数溢出类型畸形数据 包、超长字符串溢出类型畸形数据包、特殊字符异常类型畸形数据包、格式化字符串类型 畸形数据包。
针对智能手机平台下的彩信服务的源代码的不透明性,本发明主要采取基于Fuzzing 测试的漏洞挖掘技术手段来予以解决。Fuzzing技术是一种自动化的安全漏洞挖掘技术,它 不需要了解被测试对象的具体实现细节,只需构造大量半有效的数据或者文件作为输入, 便能够根据相应的响应,发现测试对象所存在的安全漏洞。
针对实际彩信服务所处的运行环境为封闭的移动运营网络的限制,本发明搭建了一套 模拟的彩信收发平台,对彩信服务实际运行环境中的WAP网关、多媒体消息服务器、短 消息服务器均进行了模拟,并采用开放的TCP/IP局域网络代替无线GPRS网络传输彩信 消息。整套系统经济实用,可行性高,和Fuzzing测试技术相结合,为智能手机平台下的 彩信服务漏洞挖掘提供了一种切实有效的解决方案。
本发明的积极效果为-
本发明首次提出了在智能手机平台下使用Fuzzing技术对彩信协议进行漏洞挖掘的技 术方案,并在工程上完整地实现了一套彩信协议漏洞挖掘系统,该系统通过运行TCP/IP 协议的局域网对电信运营商的专有彩信服务网络进行了全面的模拟,在此基础上利用前述 技术方案对彩信协议实施漏洞挖掘。在使用该系统对当前彩信协议进行漏洞挖掘之后,共 发现2个整数溢出漏洞和8个超长字符串漏洞,其中包括5个未公布漏洞,为首次发现。 这充分说明了该漏洞挖掘方法及其系统的有效性,同时本发明的技术方案可以应用于其它 采用彩信协议的目标设备进行漏洞测试和挖掘。


图1是Fuzzing测试的具体实施流程图; 图2是彩信通知消息的脆弱测试点;图3是彩信内容消息的脆弱测试点;
图4是彩信通知消息的模拟运行环境图5是针对彩信通知消息的Fuzzing测试工具运行界面;
图6是针对彩信内容消息测试的模拟运行环境图7是本发明的系统连接图,其中实线箭头为使用运行TCP/IP协议的有线局域网互 连,虚线箭头为使用无线局域网互连。
具体实施例方式
下面结合附图详细描述本发明的具体实施方式
。 1. Fuzzing测试的具体实施流程
图1给出了针对彩信服务进行漏洞挖掘时所采用的Fuzzing测试实施流程。首先必须详 细分析彩信协议,了解彩信消息的种类,各消息中字段的组成及含义。有关彩信协议格式 的详细说明请参见Open Mobile Alliance (OMA)提供的技术文档Multimedia Messaging Service Encapsulation Specification,此处不再赘述。其次便是确定测试所要针对的脆弱点, 并根据脆弱点进行畸形数据构造,畸形数据被设计成为合法的彩信协议数据包,与正常的 数据包区别在于,畸形数据中的一个或者多个指定字段被特别构造,这些被特别构造了的 字段被认为是可能激发安全漏洞的脆弱点。得到所构造的畸形的彩信消息后,便可以发送 构造的彩信数据包,针对彩信服务进行漏洞挖掘。
在智能手机平台下进行彩信服务测试,主要是针对本地的智能手机终端进行测试。因 此,所测试的彩信消息主要为发送给终端手机的彩信通知消息(M-Notification.ind)和彩信内 容消息(M-Retrieve.conf)。根据彩信通知消息和彩信内容消息的字段定义,可以确定它们存 在如图2和图3所示的脆弱测试点。
根据不同的数据类型的脆弱测试点字段,可以按照以下的规则构造测试数据
(1) 字段类型为整数可以通过设置不同的特殊数值构造整数溢出类型畸形数据包, 即非常小的数字,例如-l, 0, 1, 2, 10, 20, 30等;非常大的数字,例如0xffif, 0x7fff, 0xffifffff等;该字段取值范围附近的数值,例如28, 28-l, 28+l, 216, 224或者231等。
(2) 字段类型为字符串构造超长字符串溢出类型畸形数据包,即构造超长字符串检 验是否存在缓冲区溢出漏洞;构造特殊字符异常类型畸形数据包,即混入特殊字符检验是 否存在异常处理失败漏洞;构造格式化字符串类型畸形数据包,即添加"c/。n"等类似子串 以测试是否存在格式化字符串漏洞;如果该字段表示文件名,还可以添加"../"以判断是否存在目录跨越漏洞。
(3)还需考虑结合多个字段进行测试。例如有两个字段分别表示文件名和目录名,那 么可以考虑构造数据使得"文件名"和"目录名"的长度之和非常之大,以测试是否存在 异常处理失败漏洞等。
2.彩信通知消息的测试环境搭建
实际运行中的彩信服务体系中,彩信通知消息是由短消息服务中心通过SMS发送WAP PUSH消息予以实现。图4是本发明所搭建的本地彩信通知消息发送模拟运行环境。
该模拟运行环境中,以无线局域网代替移动运营商的GSM网络,利用PC模拟短消息 服务中心向智能手机终端发送所构造的畸形彩信通知消息,其运行流程如下所示,
(1) 智能手机终端支持无线局域网功能,图4中所搭建的模拟环境中使用的是多普达 818 pro。智能手机终端通过无线路由器连接无线局域网,并实现与PC端模拟短消息服务 中心的UDP协议通信。智能手机终端的tmail.exe不仅通过SMS监听彩信通知消息,也在 UDP的2948端口监听彩信通知消息。
(2) 利用普通PC模拟短消息服务中心。模拟短消息服务中心通过连接局域网与智能手 机互连。利用彩信通知消息Fuzzing测试工具,通过UDP/ WAP PUSH向智能手机发送构 造的畸形彩信通知。畸形彩信通知消息的具体构造方式如下对于图2中列出的脆弱测试 点之外的其它域,使用正常有效的数据进行填充;对于属于脆弱测试点的域,在每一次测 试中分别使用以下各种方式或各种方式的组合进行填充
*将表示字符串长度的字节设置为特殊整数值,包括0x0、 0x7f、 Oxff等。 *若域中含有字符串,对于一般类型的字符串,则填充以随机生成的超长字符串; 对于表示文件名、URL地址等不允许出现特殊字符的字符串,则在串中随机混入 特殊字符;对于格式化字符串,则在串中随机添加"^n"等类似子串;对于表示 文件名的字符串,则在串中随机添加"../"。 在每次测试中,可以选择测试单个脆弱测试点,也可以测试某些脆弱测试点的组合。
(3) 如果智能手机在接收该通知消息之后失去响应(发送新的彩信通知消息时因得不 到应答而超时,手机屏幕上显示出错信息或根本无法响应用户的操作),则可以判断出刚 刚发送的通知消息触发了智能手机彩信协议栈的某个漏洞,从而完成彩信通知消息测试, 如图5所示。漏洞研究者可以根据触发漏洞的彩信通知消息内容来重现该漏洞,并据此进 一步探察漏洞的成因、严重程度和利用方式等。3.彩信内容消息的测试环境搭建
彩信内容消息的测试环境搭建如图6所示。其中各关键参与角色的职能描述如下
(1) WAP网关。实际使用的WAP网关价格都十分高昂,为了便于测试,本发明利用了 免费开源的WAP网关软件Kannel,它负责将智能手机的WAP请求转换成HTTP请求;
(2) 模拟多媒体信息服务中心。它采用Apache HTTP服务器搭建,用于模拟多媒体消 息服务器功能。在这里,本发明对该服务器进行了扩展,添加了新的MIME类型,使得它 能够支持mms扩展名的类型文件;
(3) MMS消息产生器。该模块基于MMSLib实现,i要用来产生用于测试的彩信数据 包,并将测试数据包发送到HTTP服务器的指定目录,从而使得智能手机客户端能够获取 得到以便于进行漏洞挖掘;
(4) 智能手机终端。配置智能手机终端的彩信收发设置,将WAP网关设置为测试环境 中的WAP网关地址,同时将服务器地址也设置为测试环境中的模拟多媒体信息服务中心 的地址。这样,接收彩信的测试环境就搭建完毕了。
智能手机终端和各模拟PC终端通过局域网络进行互连,从而实现不同彩信消息类型 的发送与接收。进行彩信内容的Fuzzing测试过程如下所示
(1) 利用MMS消息产生器根据Fuzzing测试数据构造规则,生成畸形的测试彩信,并 将彩信保存在模拟多媒体信息中心的指定目录中。畸形测试彩信的具体构造方式如下对 于图3中列出的脆弱测试点之外的其它域,使用正常有效的数据进行填充;对于属于脆弱
测试点的域,在每一次测试中分别使用以下各种方式或各种方式的组合进行填充
*将域中表示字符串长度的字节设置为特殊整数值,包括0x0、 0x7f、 0xff等。 *若域中含有字符串,对于一般类型的字符串,则填充以随机生成的超长字符串; 对于表示文件名、URL地址等不允许出现特殊字符的字符串,则在串中随机混入 特殊字符;对于格式化字符串,则在串中随机添加"。/。n"等类似子串;对于表示 文件名的字符串,则在串中随机添加"../"。
在每次测试中,可以选择测试单个脆弱测试点,也可以测试某些脆弱测试点的组合。
(2) 模拟短消息中心构造相应的彩信通知消息,通过UDP/WAPPUSH将彩信通知发
送给智能手机终端;
(3) 智能手机终端根据彩信通知中的彩信内容所在服务器地址构造相应的WSP/WTP GET请求,并发送到所设定模拟WAP网关中;(4) 模拟WAP网关将WSP/WTP GET请求转换成HTTP GET请求,并发送到其中所 指定的模拟多媒体信息服务中心;
(5) 模拟多媒体信息服务中心根据该GET请求,将所构造的畸形彩信内容发送回手机 终端,从而可以使得安全研究人员对智能手机终端的响应进行分析,并判断是否存在安全 漏洞。记录出现漏洞的类型和位置等信息并重复上述步骤进行下一轮的漏洞挖掘,直到 Fuzzing工具不再报告新的漏洞为止。
权利要求
1. 一种彩信协议漏洞挖掘方法,其步骤为1)根据彩信消息的待测脆弱点构造畸形数据包;2)将所构造的畸形数据包发送到采用彩信协议的目标设备;3)判断所发送的畸形数据包是否引起该目标设备出现异常响应;4)根据引发该目标设备出现异常响应的畸形数据包确定该目标设备的彩信协议漏洞。
2. 如权利要求1所述的方法,其特征在于所述彩信消息包括彩信通知消息和彩信内容消 息;所述彩信通知消息的待测脆弱点包括X-Mms-Transaction-ID 、 X-Mms-Content-Location、 From、 Subject;所述彩信内容消息的待测脆弱点包括 X-Mms-Transaction-ID、 X-Mms-Content-Location、 From、 Subject、 Content-Type、 To、 Cc、 Bcc、 Message-ID 、 Content-ID 、 ContentLocation。
3. 如权利要求2所述的方法,其特征在于所述彩信消息中字段的数据类型包括整数类型和字符串类型。
4. 如权利要求3所述的方法,其特征在于所述畸形数据包包括但不限于下列数据包的一种或几种类型整数溢出类型畸形数据包、超长字符串溢出类型畸形数据包、特殊字符异常类型畸形数据包、格式化字符串类型畸形数据包。
5. 如权利要求2所述的方法,其特征在于对于所述彩信通知消息,将所构造的畸形数据 包发送到所述目标设备的方法为模拟短消息服务中心利用彩信通知消息Fuzzing测试 工具向该目标设备发送彩信通知,该目标设备的tmail.exe通过SMS监听彩信通知消息, 同时在UDP的2948端口监听彩信通知消息。
6. 如权利要求2所述的方法,其特征在于对于所述彩信内容消息,将所构造的畸形数据 包发送到所述目标设备的方法为1) 将所述畸形数据包保存到模拟多媒体信息中心的指定目录中;2) 模拟短消息中心构造相应的彩信通知消息,通过UDP/WAP PUSH将彩信通知发送 给所述目标设备;3) 该目标设备根据彩信通知中的彩信内容所在服务器地址构造相应的WSP/WTP GET 请求,并发送到所设定模拟WAP网关中;4) 模拟WAP网关将WSP/WTP GET请求转换成HTTP GET请求,并发送到其中所指定的模拟多媒体信息服务中心;5)模拟多媒体信息服务中心根据该GET请求,将所述畸形彩信内容发送回该目标设 备。
7. 如权利要求1所述的方法,其特征在于所述异常响应包括发送新的彩信通知消息时因 得不到目标设备的应答而超时、目标设备屏幕上显示出错信息或目标设备无法响应用 户的操作;所述确定该目标设备的彩信协议漏洞包括确定该目标设备的彩信协议漏洞 类型、位置、成因和严重程度。
8. —种彩信协议漏洞挖掘系统,包括WAP网关、模拟多媒体信息服务中心、MMS消息 产生器、采用彩信协议的目标设备、模拟短消息服务中心;其连接关系为所述模拟 多媒体信息中心通过局域网与所述WAP网关连接;所述采用彩信协议的目标设备通过 局域网与所述模拟多媒体信息中心、WAP网关以及模拟短信息服务中心连接;所述WAP网关负责将采用彩信协议的目标设备的WAP请求转换成HTTP请求,并将 该请求发送到其中指定的模拟多媒体信息服务中心;所述模拟多媒体信息服务中心用于模拟真实的彩信服务网络中多媒体消息服务器功能;所述MMS消息产生器用来产生用于彩信内容消息测试的畸形数据包,并将测试数据包 发送到所述模拟多媒体信息中心上运行的HTTP服务器的指定目录;所述采用彩信协议的目标设备配置彩信收发设置,将WAP网关设置为测试环境中的模 拟WAP网关地址,同时将服务器地址也设置为测试环境中的模拟多媒体信息服务中心的 地址;所述模拟短消息服务中心用于产生彩信通知消息测试中使用的畸形数据包或彩信通知 消息。
9. 如权利要求8所述的系统,其特征在于所述模拟多媒体信息服务中心所在的服务器为 Apache HTTP服务器,其中所述Apache HTTP服务器添加有MME类型,用于支持 mms扩展名的类型文件;所述MMS消息产生器为基于MMSLib实现的MMS消息产生器。
10.如权利要求8所述的系统,其特征在于所述畸形数据包包括但不限于下列数据包的一 种或几种类型整数溢出类型畸形数据包、超长字符串溢出类型畸形数据包、特殊字符 异常类型畸形数据包、格式化字符串类型畸形数据包。
全文摘要
本发明公开了一种彩信协议漏洞挖掘方法及其系统,属于软件工程技术领域。本发明的方法为首先根据彩信消息的待测脆弱点构造畸形数据包,然后将所构造的畸形数据包发送到采用彩信协议的目标设备,判断所发送的畸形数据包是否引起该目标设备出现异常响应,根据引发该目标设备出现异常响应的畸形数据包确定该目标设备的彩信协议漏洞;本发明的系统包括WAP网关、模拟多媒体信息服务中心、MMS消息产生器、采用彩信协议的目标设备、模拟短消息服务中心。本发明可以对彩信协议的漏洞进行快速、有效的挖掘,尤其适用于智能手机平台。
文档编号H04W4/06GK101459876SQ20081022495
公开日2009年6月17日 申请日期2008年10月28日 优先权日2008年10月28日
发明者杨 宋, 张玉清, 鹏 徐, 杨丁宁, 晖 肖 申请人:中国科学院研究生院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1