没有合适的资源?快使用搜索试试~ 我知道了~
SoftwareX 8(2018)21原始软件出版物SIP网络实时仿真与监控系统aa土耳其伊斯坦布尔Bebek 34342 Bogazici大学计算机工程系b土耳其伊斯坦布尔Bebek 34342 Bogazici大学电气和电子工程系ar t i cl e i nf o文章历史记录:2016年12月27日收到2017年11月13日接受保留字:SIP网络网络仿真DDoS攻击检测a b st ra ct在这项工作中,我们提出了一个实时SIP网络仿真和监控系统。SIP网络模拟器基于概率生成模型,该模型模拟VoIP用户在随机时间相互呼叫的社交网络安装在SIP服务器上的监控系统提供实时收集网络数据和服务器统计数据的该系统提供了一个强大的框架,用于开发SIP网络应用程序,如安全监视器。©2017由Elsevier B.V.这是一篇CC BY-NC-ND许可下的开放获取文章(http://creativecommons.org/licenses/by-nc-nd/4.0/)的网站上进行了介绍。代码元数据当前代码版本v1.0用于此代码版本的代码/存储库的永久链接https://github.com/ElsevierSoftwareX/SOFTX-D-17-00001法律代码许可证GPL v2.0许可证使用git的代码版本控制系统使用Python的软件代码语言、工具和服务编译要求、操作环境依赖性建议使用提供的虚拟机。可选择地,python2.7、pjsip、scipy、numpy、dpkt、psutil、matplotlib、pylibpcap、scikit-learn安装的Linux或Mac OS X环境都可以使用。如果有开发人员文档/手册的链接,请访问https://github.com/cagatayyildiz/boun-sim/blob/master/boun-sim-documentation.pdf问题支持电子邮件gmail.com,bariskurt@gmail.com1. 动机和意义互联网协议语音(VoIP)技术已经成为公共交换电话网络(PSTN)的强有力的替代方案,主要是因为VoIP服务除了语音之外还允许文本和视频通信,并且提供了从PSTN迁移的手段从PSTN到VoIP的过渡导致了会话发起协议(SIP)的普及[1]。SIP被认为是建立、修改和终止VoIP会话的标准协议之一然而,由于SIP是一个标准化的基于文本的协议,SIP代理之间的通信是通过互联网,代理和服务器都是基于网络的攻击的开放目标。其中,拒绝服务(DoS)攻击是最臭名昭著的网络威胁之一,通常旨在阻止合法的网络攻击。原文DOI:http://dx.doi.org/10.1016/j.dsp.2017.10.009。通讯作者。电子邮件地址:boun.edu.tr(电子邮件地址:Yıldız)。https://doi.org/10.1016/j.softx.2017.11.0032352-7110/©2017由Elsevier B. V.发布用户接受服务。当由多个主机执行时,此类攻击称为分布式拒绝服务(DDoS)攻击。在过去的十年中,已经提出了各种DDoS防御机制除了基于规则和离群值检测方法外,机器学习算法(从隐半马尔可夫模型[2]到神经网络[3]-[4],自回归模型[5]到变点模型[6])已被应用于检测DDoS攻击。然而,许多机器学习算法缺乏隐私保障,甚至可能在额外信息的帮助下从匿名数据集中发现个人信息[7]。因此,为了训练机器学习解决方案,必须极其小心地收集真实世界的SIP流量,以免泄露敏感信息,因此,没有多少数据集是公开可用的。为了解决这个问题,我们构建了一个概率SIP网络流量生成器和一个网络监控模块,在本文的其余部分中分别称为模拟器和监控器这是一篇CC BY-NC-ND许可下的开放获取文章(http://creativecommons.org/licenses/by-nc-nd/4.0/)的网站上进行了介绍。可在ScienceDirect上获得目录列表SoftwareX期刊主页:www.elsevier.com/locate/softx*22恰。Yıldız等人/SoftwareX 8(2018)21模拟器是网络流量的主要来源它与SIP服务器交互,并实时在SIP客户端之间发起呼叫虽然Simulator是一个独立的程序,但我们的Monitor有两个组件:Monitor Server和Monitor Client,它们分别在要保护的SIP服务器和客户端运行。由于攻击检测任务本质上是在线的,因此Monitor Server旨在实时提取并向MonitorClient实例提供功能。然后,如果发生攻击,Monitor Client将处理数据并发出信号。该设置的自然补充对于我们的模拟,我们使用了一个基于Asterisk的免费专用交换机(PBX)软件,名为Trixbox,用作SIP服务器[8]。论文的其余部分组织如下:我们提出了我们的软件的架构和功能在第2节。下一节将介绍该工具的示例用法然后,我们将研究该软件如何影响当前的研究,并在第4节中提出新的研究问题。最后,我们总结并讨论了未来的研究方向。2. 软件描述2.1. 软件构架图 1说明了软件体系结构。图中的三个主要单元是SIP服务器、客户端应用程序和模拟器。不强制在同一台机器上运行所有设备,但是,它们必须通过网络连接。Server–Client Handshake: 任何从服务器请求数据的客户端程序都通过Monitor Client模块向同一端口发送网络消息。除了客户端的IP地址和端口信息外,该消息还收到消息后,MonitorServer将启动一个Monitor实例以及所请求的一组功能收集器。服务器和客户端模块:图1中的另外两个模块是功能收集器和消息收集器,它们分别运行在服务器端和客户每个功能收集器单元负责收集一个功能类别(在下一节中详细介绍)。可以将多个收集器注册到单个Monitor实例,然后该实例将累积所有数据向量。同样,在客户端,多个消息处理程序可以连接到一个监视器客户端。每个消息队列都被指定用于不同的任务这可能需要不同的特征集。模拟器:最后一个组件是模拟器,它是一个独立的程序,通过与服务器交换SIP数据包来生成网络流量,并独立于实现的其余模块运行。 SIP数据包生成任务由PJSUA [9]执行,PJSUA是一个实现SIP和许多其他协议的开源库。这使我们能够专注于模拟本身,而不是低层次的网络细节。为了解决PJSUA这种分布式架构还允许多台计算机参与单个仿真。我们的库是免费软件,并在GPL v2.0许可证下发布图1中的所有模块都是在Python2.7中实现的,除了PJSUA之外,还依赖于另外八个Python2.7包(您可以在Code元数据表中找到包列表)。我们已经在Linux和Mac OS X平台上测试了模拟器Monitor仅在CentOS 5.5上运行的Trixbox虚拟机上测试2.2. 软件功能收集各种特性:不同的客户端应用程序自然需要处理不同的特性集。因此,我们的监控系统根据应用程序的需求激活不同的功能收集器当前版本的Monitor能够计算SIP请求和响应数据包,收集操作系统统计信息,跟踪进程的资源使用情况,并从Trixbox日志文件中提取功能。此外,监视器的设计加快了新的特征收集器的实现消息处理:我们将消息处理程序的实现与除监视客户端之外的所有模块区分开来,因为它将数据分发给消息处理程序。一个很好的消息转发示例是用于DDoS攻击检测的贝叶斯变点模型[10]。我们进一步实现了一个图表,illustratively活跃的电话呼叫和一个可视化单元的每个功能收集器。可重复实验:在开发客户端/服务器应用程序时,可能需要使用相同的数据集进行实验,例如,比较不同的DDoS防御机制。因此,除了监听实时以太网和无线接口外,我们的监视器还可以读取数据包捕获(pcap)和日志文件。前者是最著名的跟踪格式之一,可以由各种库处理,而日志文件是由另一个名为Logger的消息处理器生成参数模拟:SIP网络模拟是一个离散的事件序列,其中每个事件对应于一个用户操作,如拨打,接受,拒绝呼叫。模拟中的用户操作由概率生成模型控制(模型参数列表见表1)。因此,模型参数的小修改产生具有不同特征的数据集例如,用户的性质可以通过调整表中的最后六个参数来改变在更高的水平上,可以通过调整用户数量或呼叫速率来设计业务强度社交网络:用户之间的社交网络由随机块模型生成;因此,用户喜欢组内通信,并且在此设置中生成的数据集也适用于社区检测任务。此外,当一小群用户的行为偏离其他人很多,产生的数据集可能适合组异常检测任务。攻击生成:模拟器的一个有用的功能是DoS洪水攻击生成。泛洪攻击被归类为SIP网络上三种不同类型的DoS攻击之一[11]。这些攻击利用目标计算机无论攻击的目标是哪个单元,攻击背后的主 要 我 们 的 模 拟 器 目 前 能 够 泛 洪 REGISTER 、 INVITE 和SUBSCRIBE包。2.3. 示例代码段分析下面的代码是一个Message Client类的主体,它注册了几个Message Handlers。正如它们的名字所暗示的,每个MessageHandlers都负责一个不同的任务,我们将在第3节中解释。你可以很容易地扩展我们的MessageArray类,并用一行代码附加自己的MessageArrayMC =监控客户端(地址,接口,port=监控客户端。DEFAULT_PORT)mc. r e g i s te r(CallGraph())MC. r e g is te r(PacketHistogramGraph())mc. r e g is te r(CpuMemberageGraph())mc.r e g i s ter(OsStatsCountsGraph())mc. r e g i s ter(Logger(logfile_name))恰。Yıldız等人/SoftwareX 8(2018)2123表1系统参数。参数详细默认值N用户数量8K社会团体4α甲乙丙,ρ,φ组分布参数电话簿形状参数初始未注册的时间形状参数重新配准期形状参数【一、一】2、0.4二,十三十,十k,θδmin,δmaxamin,amax呼叫率形状参数平均通话时间的上限和下限接听电话二十,十两万两百0.8,1Fig. 1. 软件架构。图二. 调用的可视化,其中每个节点代表一个用户。(For对于图中颜色的解释,请读者参考本文的网络版本。)MC. r e g i s te r(YourOwningureCollectorChild Object())mc. run_forever()3. 说明性实例图2可视化了注册到SIP服务器的用户之间正在进行的呼叫。调用图中的蓝点表示注册用户,每个正在进行的调用由两个节点之间绘制的红线表示我们通过深度数据包检测来确定呼叫的状态,从而确定用户的状态。通过完成INVITE-200-ACK数据包序列来检测接受的呼叫,其中所有数据包具有相同的呼叫ID。每当观察到BYE数据包时,呼叫终止,相应的红线从图中删除示例代码中接下来的三个消息处理程序分别显示了数据包直方图、CPU内存使用百分比和操作系统统计信息。我们在图3中合并了所有示例图。可以看出,当DDoS攻击开始时,一些特征偏离了它们的稳定模式。示例代码中的最后一个消息记录器是Logger,它负责累积和记录到达的数据。Monitor的设计允许它连接到以前由Logger生成的日志文件(而不是SIP服务器)。这样,同样的实验可以多次实现。此外,Logger将所有累积的数据保存为一个二维数组,然后可以在批处理实现中使用。4. 影响随着VoIP服务的普及,SIP在实践中的应用越来越多。反过来,SIP网络的研究已经成为一个活跃的研究课题,与业界有着密切的联系。然而,研究人员往往缺乏对SIP网络数据集的访问。在这方面,我们提出了一个数据发生器,可能有相当大的影响SIP网络的研究此外,我们还建立了一个监测系统,为数据收集和处理提供Simulator的强大功能来自其底层概率模型的丰富参数空间配置模型参数的能力允许用户为各种雇佣产生数据集例如,服务提供商可以通过创建大量流量来对SIP服务器执行压力测试模拟器的特性还导致涉及不同用户行为的数据集,然后可以用于网络分析。此外,它可以与网络安全研究小组在测试床中的漏洞工具除了模拟器,我们实现了一个监控系统,从SIP服务器收集数据和提取统计信息。该软件还包含与监控系统通信的应用程序,以处理SIP服务器上收集的数据和统计信息。除了这些应用之外,由于软件的可扩展设计,新的方法可以考虑到上述数据的多样性和软件设计,所提出的工具可能会在研究中发挥至关重要的作用5. 结论在这项工作中,我们提出了一个实时的概率SIP模拟器,产生随机SIP会话之间的一组用户。此外,我们还描述了一个监控框架24恰。Yıldız等人/SoftwareX 8(2018)21图三. 功能可视化工具。实时收集SIP网络和服务器统计数据。该框架旨在提供从SIP服务器到客户端应用程序的数据管道,允许研究人员实现自己的客户端应用程序。我们已经有效地使用这个框架来开发我们的基于贝叶斯变化模型的DDoS检测算法[10]。致谢本 研 究 是 Bogazici 大 学 -NETAS Nova V-Gate 合 作 项 目 , 由TUBITAK TEYDEB-3140701项目“通过学习系统架构、质量改进、高速率服务可用性实现异常检测和预防”和丰富的服务在VoIP防火墙引用[1] [10] 李 文 , 李 文 . RFC 3261 : SIP : 会 话 发 起 协 议 。 IETF;2002 年 。 www.ietf.org/rfc/rfc3261.txt。[2] 谢毅,余世智。一种用于用户浏览行为异常检测的大规模隐半马尔可夫模型。IEEE/ACM Trans Netw2009;17(1):54-65.[3] Gavrilis D,Dermatas E.基于RBF网络和统计特征的分布式拒绝服务攻击实时检测。Comput Netw2005;48(2):235-45.[4] Siaterlis C,Maglaris B.使用多层感知器分类器检测DDoS攻击,2004年3月。恰。Yıldız等人/SoftwareX 8(2018)2125[5] Cabrera JB , Lewis L , Qin X, Lee W , Prasanth RK , Ravichandran B ,Mehra RK. 利用流量变数主动侦测分散式拒绝服务攻击可行性研究。见:综合网络管理进展,2001年IEEE/IFIP国际研讨会。IEEE;2001年。p. 609-22[6] 王宏,张丹,申KG.用于检测DoS攻击的变化点监控。IEEE跨部门安全计算2004;1:2004。[7] NarayananA,Shmatikov V.大型稀疏数据集的鲁棒去匿名化2008年IEEE安全与隐私研讨会,SP 2008。IEEE;2008年。 p. 111比25[8] Trixbox,2016.http://www.fonality.com/trixbox网站。在线;[访问2016年4月29日[9] PJSUA,2016. http://www.pjsip.org/pjsua.htm网站。在线; [2016年9月7日访问]。[10] Kurt B,Ceritli YT,Yıldız,Sankur B,Cemgi AT.基于字典学习的网络流量数据异常检测方法。数字信号处理2017.[11] 杨伟杰,李晓梅,李晓梅.网络安全系统综述以 对抗基于SIP的拒绝服务攻击。Comput Secur2010;29(2):225-43.
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 5
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 高清艺术文字图标资源,PNG和ICO格式免费下载
- mui框架HTML5应用界面组件使用示例教程
- Vue.js开发利器:chrome-vue-devtools插件解析
- 掌握ElectronBrowserJS:打造跨平台电子应用
- 前端导师教程:构建与部署社交证明页面
- Java多线程与线程安全在断点续传中的实现
- 免Root一键卸载安卓预装应用教程
- 易语言实现高级表格滚动条完美控制技巧
- 超声波测距尺的源码实现
- 数据可视化与交互:构建易用的数据界面
- 实现Discourse外聘回复自动标记的简易插件
- 链表的头插法与尾插法实现及长度计算
- Playwright与Typescript及Mocha集成:自动化UI测试实践指南
- 128x128像素线性工具图标下载集合
- 易语言安装包程序增强版:智能导入与重复库过滤
- 利用AJAX与Spotify API在Google地图中探索世界音乐排行榜
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功