- 1 -
中国科技论文在线
基于图灵测试的 SPIT防范机制
魏虎林1,辛阳2,杨义先2*
作者简介:魏虎林(1987-),男,硕士研究生,研究方向:网络安全管理技术
通信联系人:杨义先(1961-),男,教授、博导,北京邮电大学信息安全中心主任、灾备技术国家工程实
验室主任
(1. 北京交通大学计算机与信息技术学院,北京 100044;
2. 北京邮电大学信息安全中心,北京 100876) 5
摘要:互联网业务在最近几年日新月异,在许多技术与应用不断推陈出新的情况下,网络逐
渐成为人与人沟通的重要方式。随着 VoIP技术的完善,网络电话将逐渐普及,SPIT的防治
也成为未来的一个重要议题。SPIT 是通过播放实时媒体信息向被叫进行商品推销、商业广
告推广或者恶意呼叫,对正常用户生活和工作造成严重困扰,使公共服务部门无法向公众提
供及时有效的服务,造成网络资源的严重浪费的攻击行为。SPIT 分为机器发送和人工发送10
两种。本文给出了一种防御机器发送型 SPIT的新方法,该方法基于图灵测试和 oSIP协议栈,
实现了一种新的 SIP信令流程,能够很好的阻止 SPIT的传播。
关键词:SPIT;SIP;图灵测试
中图分类号:TP393
15
The Prevention Mechanism Of SPIT Based On Turing Test
WEI Hulin1, XINYang2, YANG Yixian2
(1. Institute of Computer Science and Technology,Beijing Jiaotong University,Beijing 100044;
2. Information Security Center, Beijing University of Posts and Telecommunications ,Beijing
100876) 20
Abstract: In recent years, the services on the Internet develop quickly. With it, plenty of technologies
and applications change fast. The network becomes a significant way for people's communications.
With the improvement of VoIP technology, Internet Phone will be universal . In the future, the
prevention of SPIT will be an important security (Spam over IP Telephony) is an attack
through the multimedia information to do the recipient merchandising, commercial advertising or 25
malicious calls. It causes serious problems to the normal users' life and work, also that Public service
are unable to provide the timely and effective services. That will cause a serious network resources
waste is divided into two kinds,one is machine-triggered,the other is manual-triggered.
This paper presents a new method of machine-triggered SPIT prevention. Based on Turing test and
oSIP, this method implements a new signaling process of SIP and works well to prevent SPIT.(10 30
Points, Times New Roman)
Key words: SPIT; SIP; Turing test
0 引言
随着 SIP协议的发展,一种新的基于 IP网络的垃圾攻击将应运而生——SPIT(Spam Over 35
Internet Telephony),也有人称之为垃圾电话(CALL SPAM)[1]。对于用户而言,SPIT使得用
户接听许多无用的电话或者语音信箱里面充斥大量无用的语音留言,而对于 VoIP提供商而
言,这种垃圾电话加重了网络的负荷。如果现有的传统电话诈骗手法与 VoIP相结合,势必
会对社会治安与网络安全造成更大的影响。
SPIT的发送方式分为两种[2]:机器发送和人工发送。如果 VoIP的恶意使用者参照垃圾40
邮件僵尸网络(Spam Zombie)的技术发展出 SPIT Zombie网络,并利用这些网络进行 SPIT的
机器发送,从而以一传十、十传百的方式滥打网络电话,或者有意针对企业 VoIP和 VoIP
- 2 -
中国科技论文在线
服务提供者进行 DOS攻击,这将会造成网络的严重负荷及 VoIP服务瘫痪。
目前的 SPIT防范技术多是借鉴反垃圾邮件的研究成果[1],包括内容过滤、黑名单、白
名单、基于内容的通信、名誉系统。但是,这些方法对于机器发送型 SPIT的效果不是很好。45
因此,本文提出了一种专门针对机器发送型 SPIT的新方法。
1 背景知识
图灵测试
图灵测试是图灵提出的一个关于机器人的著名判断原则。一种测试机器是不是具备人类
智能的方法。它给出了一个客观的智能概念,也就是根据对一系列特定问题的反应来确定是50
否是智能体的行为[3]。
目前还没有一台机器能够通过图录测试,对此,诺贝尔奖获得者赫伯特·西蒙(Herbert
Simon)认为,生物体行为所显示的创造性和变化性大多应该归功于生物体所处环境的丰富
性而不是它们自身内部程序的复杂性[3]。本文也正是利用这一点,所以采用了一种验证码加
上智能问答模式的图灵测试方法来识别机器发送型的 SPIT。 55
SIP协议
SIP[4](会话发起协议) 作为应用层的控制协议,是在诸如 SMTP(简单邮件传输协议) 和
HTTP(超文本传输协议) 的基础上发展起来的,主要完成会话的建立、修改、以及终止,可以
应用于多媒体会议、远程学习和 Internet 通话等场合。
SIP中呼叫的建立 60
SIP是一种双通道的信令协议,控制信令和媒体数据的传输分别占用两个不同的信道,
一般通过 RTP(Real-time Transport Protocol)来传输媒体数据。
SIP呼叫的建立[5]类似于 TCP协议中的“三次握手”过程,刚开始的这三次信令交互是下
一步双方进行媒体会话的基础,用于完成双方的媒体协商,即定义双方的数据的传输形式、
接收地址、端口、支持的数据编码格式等,数据传输形式即上述的第二个通道中数据的封装65
格式,一般是 RTP封装。
SIP中的呼叫转移和重定向
为了实现会话传递的功能,SIP定义了 REFER方法,该请求机制的基本思路[6]是:由
一个 SIP实体提示另一个实体向第三方的 SIP地址发起一个请求。REFER方法一般涉及三
个 SIP实体,其功能是:正在通话中的一方请求对方向第三方发起呼叫,即呼叫转移。图 170
是呼叫转移的信令交互过程。
- 3 -
中国科技论文在线
图 1 呼叫转移
Fig. 1 Session REFER
在一个域内,重定向服务器可以处理进入的邀请,它提供了本域内用户的一组位置信息,75
并且具有优先排序的能力。图 2是重定向的交互过程。
图 2 SIP中的重定向
Fig. 2 SIP redirect server
80
呼叫转移和重定向功能为 SIP增加了很大的灵活性,为其它功能的实现提供了信令基
础。
2 SPIT安全问题简介
SPIT的概念
SPIT 广义上定义为网络垃圾电话,即下一代网络中基于语音、视频或者其它形式的垃85
圾信息。
SPIT分类
从表现形式看,SPTT分为三种:ADSPIT, SALESSPTT和恶意呼叫这三种[7]。
1. ADSPIT
根据客户的需求,实现录制好一段商业广告,无论是以音频、视频或者是即时信息等其90
他类型的媒体形式存在。然后向已经收集到的大量 SIP 或 TEL地址发起呼叫,一旦被叫同
意建立会话,则通过多媒体通道向其播放广告内容。这类 SPIT 攻击形式称为 ADSPIT,即
广告型垃圾电话。
2. SALESSPIT
会话建立以后,员工通过与被叫进行对话完成产品的推销任务。这类 SPIT攻击形式可95
以成为 SALESSPIT,即销售型垃圾电话。
3. 恶意呼叫
通过持续不断的发起呼叫,使被叫用户由于网络资源、计算资源或者存储资源耗尽而无
法同其他用户建立会话的恶意呼叫。
按发送方式,SPIT分为两种[2]:机器型和人工型。 100
1. 发起这种类型的垃圾电话,垃圾电话发起者不需要雇佣员工,只需要购买几台终端
PC安装上基于 SIP协议的 VoIP通信软件,就可以实现 24小时不停歇地将商业广告传播给
大量的 VoIP或者其他互通网络中的合法用户。
- 4 -
中国科技论文在线
2. 采用一人一机(( SIP终端)的模式,由雇佣的员工手动发起呼叫。
现有的防范技术 105
表 1 技术方案
Tab. 1 technical scheme
名称 介绍
黑白名单 黑名单是 Spam过滤器维护一个辩识垃圾电话发起者身份的地址列表的方法。这些地址
包含了用户名和域名。白名单与黑名单正相反,它列出了用于愿意接受其 SIP URI的合
法用户名单。不像黑名单,垃圾电话发起者不可能改变身份进入白名单
信誉值系统 信誉值系统也与黑名单联合使用,用户 A不在用户 B的白名单,用户 A试图联系用户
B。如果基于应答的系统被使用,用户 B在收到用户 A试图通信的请求的同时,一个用
户 A信誉值也会提供给用户 B
眼球反垃圾电话
技术
基于一个动态的呼叫等级限制来完成对呼叫的控制,这个等级限制类似于一种黑白名单
的机制,它是根据统计用户的以往的行为,为用户建立一个行为模型,并通过特定的算
法计算其等级值来进行实时更新[8]
行为模型检测系
统
本垃圾电话检测基于用户的主动呼叫,被呼叫,主动持断,被挂断四种行为,通过对用
户的这四种行为进行统计再经由特定的算法进行计算得出该用户为 SPIT的发送方的概
率[9]
3 基于图灵测试的防范机制设计
设计原理 110
发送带有验证码、结合智能问答的图片,或者语音格式的图灵智能问答题,人可以很容
易答对。但是对机器来讲,做出正确回答几乎是不可能的。
本文在 SIP原有的呼叫流程基础上进行更改,加入图灵测试模块,实现对 SPIT的防御。
图 3描述了 SIP中用户的呼叫过程。
115
图 3 SIP中的呼叫过程
Fig. 3 SIP session establishment
呼叫建立具体过程如下:
1)首先,呼叫方向被叫方发送一个 INVITE请求消息,该消息请求被叫方加入一个会120
话——此次发出的呼叫。INVITE请求的消息体中包含有会话描述符,该会话描述符一般通
过会话描述协议(SDP)描述会话。
2)呼叫接收方收到对方的 INVITE请求消息,并返回“200 OK”应答消息。
3)收到呼叫接收方的“200 OK”回复后,呼叫发起方回应 ACK消息确认。
加入图灵测试后,这个信令流程将会改变,本文会通过 oSIP协议栈实现。 125
- 5 -
中国科技论文在线
机制流程
图 4 图灵测试流程
Fig. 4 Turing test process 、
(1)呼叫方向受保护用户发起呼叫。 130
(2)服务器接收到呼叫信息之后,随机生成如图所示的包含验证码以及智能问题的图
片,发送到呼叫方。
图 5 图灵测试问题示例
Fig. 5 Example with question of Turing test 135
(3)呼叫方根据验证码的数字回答智能问题,通过一次按键的方式把答案反馈回服务
器。
(4)服务器判断呼叫方的答案是否符合图灵测试的标准,是,则放行通过;否,则阻
止本次通话。 140
其中,(2)(3)步也可如下执行:
(2)服务器接收到呼叫信息之后,随机生成一段语音格式的图灵智能问答题,例如“商
店有三筐水果,又进了两筐,现在总共有多少筐?”,发送到呼叫方。
(3)呼叫方根据所听到的内容回答智能问题,通过一次按键的方式把答案反馈回服务
器。 145
4 机制实现
实现机制
本文基于 oSIP协议栈,实现 SIP呼叫过程中运用图灵测试防范机器发送型 SPIT的机制。
oSIP是按照 RFC3261(SIP)和 RFC2327(SDP)标准[10],并使用标准 C编写的一个 SIP协
议栈。它是一个公开源码的免费协议栈。它主要提供一些解析 SIP/SDP消息 API(Application 150
Programming Interface)和事务处理的状态机。
在交互过程中,SIP消息的发送和响应是一个事务,消息的发送要靠事务状态机来控制,
事务处理和状态机状态的改变就要执行如下所示的四个状态机执行函数:
osip_ict_execute(m_pstSIPCore);
osip_nict_execute(m_pstSIPCore); 155
osip_ist_execute(m_pstSIPCore);
osip_nist_execute(m_pstSIPCore);
这四个函数分别用来遍历四个不同的事务,其中每个事务都是一个 FIFO,然后取出事
务,再依次取出事务 FIFO上对应的事件,调用 osip_transaction_execute依次执行。
- 6 -
中国科技论文在线
实现结果 160
在 oSIP的基础上,完成了如下新的信令流程:
图 6 图灵测试信令交互过程 165
Fig. 6 Signaling process of Turing test
用户 A向代理服务器 Proxy发送 INVITE消息,Proxy响应一个 302重定向消息,之后
用户 A向图灵测试模块发出 INVITE消息,图灵测试模块响应 200 OK,用户 A回复 ACK
- 7 -
中国科技论文在线
进行确认。然后图灵测试模块发送问题给用户 A,用户 A成功应答后,将能够和用户 B交170
互。
5 结论
图灵测试能够通过向未知方发送具有人工智能的问题,根据未知方的答案正确与否判断
未知方是否是机器,在本文中被有效地用于判断机器发送型 SPIT的存在。下面是几种方案
的比较: 175
表 2 方案比较
Tab. 2 Comparison of technical scheme
方案 优势 不足
黑白名单 概念简单,管理方便 如何首次接触一个用户,决定它是否可以
被引入的名单
信誉值系统 在系统中,首先提供了一个相对有效的身
份认证。其次提供了一个管理信誉值的单
一空间
负信誉值有效发挥作用的结果就是使其进
入黑名单,但用户会获取一个新的身份
眼球反垃圾电话
技术
在一定程度上分析该电话与垃圾电话的相
似程度,能够对垃圾电话的判别给出相关
的参考
不能实时对垃圾电话进行阻止
行为模型检测系
统
仅依赖于服务提供商或企业的保护其语音
网络的本地策略,计算开销不大
SPIT的判别条件的完备性有待进一步提
高,正确的计算是以足够的样本为基础的
基于图灵测试的
技术
解决了“首次接触问题”,对机器型 SPIT检
测准确实时
对于人工型的 SPIT作用不大
如果基于图灵测试的技术方案能够与其他方案相结合,对防御 SPIT安全问题的效果将
会更加显著。 180
比如,与黑白名单和名誉值技术结合,对于不在黑白名单中的呼叫方,需要对其进行图
灵测试:图灵测试子模块将选择随机问题,问题生成后会传送给发起呼叫的用户,图灵测试
子模块等待呼叫方返回的答案,接收后与正确答案相比较,如果答案正确,加入白名单,名
誉值改为白名单的阈值。如果回答错误,减掉一定值。
185
[参考文献] (References)
[1] , . RFC5039-January 2008. The Session Initiation Protocol(SIP) and Spam[S].
[2] 赵凯,朱罡华,杨义先等. 一种新的 SPIT检测和阻止方法[J]. 计算机工程,2007,33(12):163-165.
[3] George F. Luger.人工智能复杂问题求解的结构和策略(6版)[M].郭茂祖,刘扬,玄萍等. 北京:机械工
业出版社,2010. 190
[4] J. Rosenberg, H. Schulzrinne, G. Camarillo, etc, RFC3261-June 2002. SIP: Session Initiation Protocol[S].
[5] 余浩. SIP协议栈研究与开发[D].陕西:西安电子科技大学,2007
[6] 张智江,张云勇,刘韵洁. SIP协议及其应用[M]. 北京:电子工业出版社,2005
[7] 徐婧. 反垃圾网络电话关键技术研究[D]. 北京:北京邮电大学,2008
[8] Eyeball Network Inc. Eyeball Networks AntiSPIT Technology[R]. Canada:Eyeball Network Inc,2005 195
[9] Blocking spam in Enterprise IP telephone networks[N].Alcatel Telecommunications 2006.
[10] Aymeric Moizard, User Manual[S].GNU Free Documention